lunedì 25 aprile 2011

Kod*k ZD710 battery pack (parte 0)

Mi sono messo in testa di costruirmi un add-on per la mia fotocamera Kod*k. Nonostante la bassa considerazione dell'azienda produttrice, cultrice dei formati chiusi e proprietari, sono riuscito ad accaparrarmela a prezzo di saldo da un negozio impestato da commessi stronzi, maleducati e ladri, costringendoli a recuperarla dal magazzino dov'era stata nascosta in attesa di poter farla sparire. Ho già raccontato la vicenda, inutile tornarci su. L'altro giorno dovevo fare delle foto e mi sono recato al supermercato di zona per acquistare 4 batterie AA Dur*cell, sperando che la marca e la "serietà" dell'azienda (di m*rda) mi garantissero una discreta autonomia di alimentazione, superiore a quella di certe batterie ricaricabili NiMh cinesi da 1,2 volts acquistate tempo fa. Tempo tre foto senza flash e la fotocamera si spegne automaticamente per insufficienza di alimentazione. Cambio le prime due con altre due nuove e faccio in tempo a fare altre tre foto poi stop. Vaffanculo! Urge una soluzione. Mi voglio costruire un contenitore da attaccare sotto la fotocamera, sfruttando l'attacco filettato del cavalletto ed una presa a tre volts laterale prevista per l'alimentazione esterna. In commercio esistono già degli adattatori di rete per questo modello di fotocamera, ma prevedono l'alimentazione a 230volts. E se me ne vado in campagna che faccio, mi porto dietro un pannello solare collegato ad uno zaino moddato? No, voglio realizzare un pacco batterie, leggero e trasportabile senza difficoltà, ovviamente ricaricabili. Ho optato per due batterie in serie, marca Ultrafire modello BRC18650 3000mAh 3,7 volts li-ion. Perchè due in serie? Ok. La fotocamera accetta 3 volts e non dovrebbe accadere nulla se alimento a 3,7, aspettandomi un regolatore interno. Ma a causa di qualche ingegnere imbecille e qualche progettista in vena di rispetto sacrale per le specifiche, preferisco non rischiare e realizzare un regolatore esterno basato sul classico LM317. Per la stabilizzazione a 3 volts, occorre alimentare il regolatore con una tensione superiore, ovvero in base alla formula Vin=Vout+0,6V+2,5V. 
3,7 volts non verrebbero stabilizzati (figurarsi poi se la batteria si scarica un pò), per cui meglio prevederne due in serie e contare su un autonomia superiore. La capacità di 3000mA/h è più che sufficiente per garantire un buon periodo di alimentazione (dovrò fare delle misure per essere più preciso). Ma per il contenitore?? Scarti di legno multistrato! Si, assemblati in fogli incollati sino a raggiungere lo spessore desiderato e seguire la forma dell'impugnatura (sto aspettando che la colla asciughi). Poi con delle punte di adeguato diametro si scavano i vani per le batterie e per l'elettronica di regolazione. Lo spinotto di alimentazione l'ho già recuperato da una serie di adattatori di un vecchio alimentatore. Dovrebbe funzionare, anche se sono alla ricerca di un sistema per fare gli sportellini di ricambio batterie e le molle per i contatti elettrici... ci penserò. Questa è l'idea di un aggeggio che non sembra essere in commercio ma che anche ci fosse non lo comprerei di sicuro. Già, oltre allo sciopero della spesa da me indetto ad oltranza, non credo esista al mondo un commerciante in grado di vendermi la soddisfazione di fare da me, di divertirmi e di metterlo in quel posto alle multinazionali. Alla prossima. (Segue nella parte 1)

P.S. Gli scarafaggi neri amano sporco, buio e umidità. Ripeto: Gli scarafaggi neri amano sporco, buio e umidità.

giovedì 21 aprile 2011

Orologio II°

Un altro "ovovogio" fine '900 che non funziona è un altro rifiuto tossico destinato alla discarica. Viene da un omaggio di chissà quale promozione commerciale. Già, credo che nessuno si sognerebbe mai di comprarlo. Spiace però vedere che non funziona, per cui bisogna aprirlo e vedere cos'ha. In realtà mi interessava il sensore di umidità ed il sensore di temperatura, ma dopo aver visto l'interno e capito il problema, ho preferito riparare e ripristinare le funzionalità. L'orologio ha una doppia sorgente di alimentazione. Due AAA 1,5V e 2 pile a bottone G13 da 1,55Volts, quest'ultime credo previste come batterie tampone per tenere l'orario anche in caso di sostituzione delle altre due dedicate al display LCD, alla suoneria ed ai led di retroilluminazione. 
Le due pile a bottone non fanno contatto quando si richiude lo sportellino a vite. Dato che la tensione tampone è pressochè uguale a quella delle due stilo, decido di collegare il filo positivo dell'alimentazione tampone al positivo dell'alimentazione a stilo ed il gioco è fatto. L'orologio torna come nuovo. Il sensore di umidità è nient'altro che una piastrina su cui è disegnata una pista di rame ciascuna per uno dei due terminali saldati al circuito ed isolati fra loro. L'umidità varia la resistenza fra i due terminali ed un processore fa il resto. Stessa cosa per il sensore di temperatura, composto da un "volgarissimo" termistore. Niente di speciale, niente cannibalizzazione stavolta. Prossimno modding sarà la sostituzione dei tre led verdi di retroilluminazione con tre led blu, giusto per dare un tocco un pò geek. La cosa che mi piace di questa semplicissima e banale modifica è data dal fatto che non occorre più cambiare anche le pile a bottone ma solo quelle a stilo. Così si risparmia e si inquina di meno, dato che le G13 sono ad ossido di mercurio ed una volta depositate all'ecocentro non c'è alcuna garanzia che vengano smaltite correttamente...meglio produrre meno rifiuti che costruire nuove discariche, no?? Alla prossima.

P.S. Il carro è davanti ai buoi. Ripeto: Il carro è davanti ai buoi.

sabato 16 aprile 2011

DIY Hot air rework (VI° new one)

Il dissaldatore ad aria calda realizzato tempo fa ha smesso di funzionare. Mi è caduto a terra, la punta è rientrata nel corpo metallico e la resistenza a filo che avevo realizzato è andata. Di ripararlo, purtroppo neanche a parlarne. Il silicone per caminetti che avevo usato per l'isolamento termico è diventato duro e consistente come il cemento e non riesco più ad aprire il tutto per la sostituzione. Così, complice un buco di tempo libero, provo a recuperare la resistenza ceramica di un vecchio saldatore e realizzare un nuovo manico....di legno! Brucerà? Boh, vale la pena di provare. Il dissaldatore mi serve assolutamente. Quello di prima funzionava sin troppo bene e l'alimentatore con ventola termo-regolata faceva il suo dovere.
Tempo un oretta di fresa, trapano ed altri attrezzi ed ecco l'ultimo nato. Il tubo di metallo è della misura giusta per il cappuccio che porta la punta cava che sputa l'aria calda. L'interno è scavato in modo da alloggiare i collegamenti elettrici a 220V e lasciare un pò di posto per far defluire l'aria verso la punta. 4 viti da legno per fissare le due metà del manico e tenere l'aria ed il gioco è fatto. In prossimità del tubo, ho steso un sottile strato di silicone resistente alle alte temperature e le rondelle metalliche servono per dissipare un pò di calore in prossimità del manico e prevenire eccessivi surriscaldamenti. Il problema è però l'elemento ceramico riscaldante...scalda troppo poco e la temperatura dell'aria in uscita non supera i 145 gradi, troppo pochi per fondere lo stagno. Mi si ripresenta pertanto il problema dei materiali per isolare una resistenza a filo, già realizzata in precedenza, dal tubo metallico che regge l'ugello di uscita. Se solo avessi un tubicino di ceramica della lunghezza e diametro giusto sarebbe un gioco da ragazzi. Purtroppo non ho idea di dove recuperarne uno e di acquistare un altro stagnatore da sacrificare non se ne parla nemmeno (la cassa è a secco. Ripeto: la cassa è a secco). Vedrò di inventarmi qualcosa, al limite aspetto di mettere da parte qualche euro. Ci sarà anche da verificare se la scelta del materiale di supporto (il legno) è fattibile. Il legno è un ottimo isolante per il calore ma ha la tendenza a carbonizzare. Gli esperimenti continuano. Alla prossima.

Aggiornamento: sono riuscito a recuperare la resistenza a filo con i supporti ceramici. I due terminali li ho inseriti da una parte  in un tubicino di alluminio e dall'altra ho infilato i due conduttori dell'alimentazione. Così dovrei isolare il calore lontano dalla guaina plastica ed evitare che si fondi. Ora aspetto che asciughi il silicone per caminetti e poi provo a dare alimentazione. Deve funzionare. Ciao.

P.S. pipistrelli all'orizzonte da nord. Ripeto: pipistrelli all'orizzonte da nord. 

domenica 10 aprile 2011

CCD sensore di scansione a linee (parte 2)

C'è un "cinese" a cui devo un favore. Non è stato per nulla facile, ma alla fine ho trovato degli appunti, mai pubblicati in rete, su come tentare di far lavorare il sensore di immagini a contatto (Toshiba CIPS218CF600 - CIS Contact Image Sensor). Alcuni dati li avevo "indovinati" con dei ragionamenti logici, altri invece sono specifici. 

Procediamo con ordine partendo dalla piedinatura del connettore e poi vediamo i segnali da applicare. 
  1. OS Tensione analogica di uscita
  2. Mode (300/600dpi switch)
  3. GND
  4. VOD Power supply
  5. GND
  6. TR (impulso di start)
  7. M (clock)
  8. LEDCA (anodo comune dei tre led RGB)
  9. Led blu
  10. Led verde
  11. Led rosso
  12. GND
Alcune caratteristiche dei segnali da applicare:
La tensione di uscita OS è di 800 mV (tipico) e 1,2 - 1,5V al massimo in condizioni di saturazione non lineare. Il VO tipico è misurato su un foglio bianco riflettente dall'80 al 90% con corrente per ogni led a 20mA e tempo di esposizione di 5mS. In condizioni di nero, il VO è di 40mV.
La modalità 300-600 dpi si ottiene applicando rispettivamente tensione o massa al piedino 2. Se il piedino 2 è a massa la risoluzione selezionata è 600 dpi. Per controllare l'esposizione, basta applicare un PWM ai tre diodi RGB sui quali non dovrà scorrere una corrente superiore ai 20mA.
L'alimentazione tipica del CIS è di 5V (minimo 4,5V massimo 5,5V) con un consumo di 60mA (max 100mA).
La frequenza del clock e del data rate in uscita è minimo 0,1 Mhz e massimo 2.5Mhz. Raccomandato 1Mhz. con ampiezza pari alla tensione di alimentazione. 
Per la lettura di una linea occorre applicare un impulso di start ed aspettare 5 impulsi di clock, trascurare le letture dei successivi 17 impulsi  di clock e successivamente leggere OS ad ogni impulso di clock per 5152 volte (i pixel dell'immagine vera e propria). Quindi per una lettura di una singola riga, occorreranno 5173 impulsi di clock. Si converte la lettura analogica OS in un valore binario e quello sarà il valore dell'intensità luminosa riflessa. Questo ciclo andrà ripetuto tre volte, per la stessa linea di lettura, accendendo alternativamente i led rosso blu e verde se si effettua una scansione a colori. Se si desidera una lettura in BN allora si accendono tutti e tre i led contemporaneamente (luce "bianca") e si legge per un solo ciclo ad ogni riga di lettura. Poi si avanza di una riga e si legge la successiva. E' chiaro che lo step di avanzamento andrà sincronizzato. Si può quindi predisporre un motore passo passo (stepper) o usare un encoder per rilevare il movimento del sensore se si vuole trascinare il CIS a mano. Un encoder di un mouse potrebbe andare bene, anche se va verificata la sensibilità in funzione della necessità di spostamento del sensore rapportata alla risoluzione adottata.
Bene, ce n'è abbastanza per cominciare a fare degli esperimenti e sbattere la testa con un problema mai trattato ad oggi nella pratica. Per pilotare il CIS ho a disposizone la Fox board 832 GNU-linux embedded system. Per generare un clock di 1Mhz dovrò creare un modulo apposito e lavorare a livello di kernel space...mai fatto prima d'ora, per cui mi servirà parecchio tempo per studiare e procedere per tentativi (e non è detto che ci riesca). Al limite proverò alla frequenza più bassa a livello di user space, dove dovrei raggiungere una frequenza di circa 130Khz (sufficienti). Sebbene si trovi della documentazione, devo dire che questa è a volte inutile in quanto imprecisa e poco dettagliata, come questo mio diario del resto. Ma preferisco così, non mi è mai piaciuta la pappa pronta così come odio pigiare bottoni senza sapere cosa sto facendo e cosa succede.
Per la conversione da analogico a digitale, mi sa che dovrò tribolare un pò. Non ne ho "di recupero" per le mani (sembrano abbastanza rari nelle apparecchiature che tratto) e vige l'obbligo di recuperarli da qualche parte, giusto per onorare lo sciopero della spesa e dato che a casa mia vige da anni l'auto embargo volontario. Ne ho trovato un paio in una scheda di un vecchissimo hard disk ma la tensione di alimentazione è a 12 volts e mi sa che è troppo "lento". Pensavo anche di usare un convertitore AD preso da una mother board di un paio di PC. Sono i chip codec audio (AC97) ma credo che siano troppo lenti anche questi in quanto progettati per le frequenze audio e noi siamo un pò oltre la gamma delle frequenze udibili. Vedrò cosa inventarmi, devo indagare. Un alternativa (un ripiego) potrebbe essere la seguente. Chissenenfrega di voler ricostruire uno scanner professionale. Se applico il segnale analogico (opportunamente amplificato) direttamente su una porta logica di input (3,3volts tolerant), quest'ultima interpreterà il valore binario in base alle soglie dichiarate nel datasheet. O zero o uno, o bianco o nero e basta. In caso di uso come sensore lineare generico potrebbe andare bene. Immaginiamo, per assurdo, un sensore che mi deve dire a che livello è posizionata una tapparella, oppure per indicare i gradi di apertura di un varco (un cancello ad esempio), o il posizionamento di un carrello o, ancora, il livello di un liquido con precisione "millimetrica"... in questi casi mi basta lo zero o l'uno ed i toni di grigio che vadano a farsi f*ttere, tanto alla fine quelli che se ne stanno un pò di quà ed un pò di là non mi sono mai piaciuti tanto, maledetti opportunisti. Alla prossima.

P.S. La gallina ha fatto l'uovo nero. Ripeto: La gallina ha fatto l'uovo nero.