Visualizzazione post con etichetta reverse engineering. Mostra tutti i post
Visualizzazione post con etichetta reverse engineering. Mostra tutti i post

venerdì 1 aprile 2011

CCD sensore di scansione a linee (parte 1)

Allora, che cosa posso fare con le parti di un vecchio scanner? Non ho ancora deciso ma dicono che l'ispirazione può venire dalle idee più strane. La cosa certa è che devo trovare una scusa per non fare quello che dovrei ma non vorrei fare e che devo consegnare tra un pò. Così, dato che tempo fa ho sezionato delle stampanti multifunzione (HP mod V40 credo di ricordare), mi salta l'ideona di riprendere i sensori per la scansione delle immagini e capire come sono fatti all'interno. Le stampanti multifunzione sono una piccola miniera di componenti che si possono recuperare e riutilizzare...motori, sensori ottici, lampade CCFL con inverter (per le più datate) e una moltitudine di parti che con un pò di fantasia possono ancora svolgere i loro compiti senza subire l'ingloriosa sorte della rottamazione, che tanto ingrassa i profeti dell'usa e getta.  Nelle stampanti che ho sezionato, la lampada a CCFL è sostituita da una striscia luminosa apparentemente bianca ma in realtà illuminata da tre micro led rosso, blu e verde (RGB). Il tutto racchiuso dentro un contenitore a parallelepipedo che contiene anche il sensore CCD lineare vero e proprio (questo modulo è chiamato Contact Image Sensor o CIS module.). E' come una fotocamera dove però il chip invece che rettangolare è lineare. La messa a fuoco è già regolata meccanicamente all'interno, così si evitano pesanti ottiche, specchi, regolazioni e altri componenti costosi e delicati. Quello che analizzo qui è anche a colori, il che mi complicherà la vita non poco,  anche se trovo la sfida interessante e molto stimolante. La parte più dura è capire la piedinatura del connettore esterno...urge un autopsia completa, aiutata dalla disponibilità di una decina di sensori. Qualcuno lo posso anche rompere.
Credo di aver capito, leggendo alcune info sommarie usando "gògol" che un sensore a linea CCD  agisce come un registro a scorrimento analogico. 
Si alza un pin (SP) per dire al CCD di 'prendere  l'immagine', poi si avanza di un clock su un altro pin (CP). Ogni volta che il successivo impulso di clock arriva, il CCD invierà un valore analogico (Vout) che rappresenta il livello di luce che colpisce il pixel successivo. Poiché il CCD è un elemento dinamico, non è possibile abbassare il segnale di clock troppo presto e se si smette di leggere il frame, il dispositivo riparte da capo a leggere dall'inizio. Dovrebbe esserci anche un pin per regolare, con una tensione DC variabile, la sensibilità. Wow....devo assolutamente hackarlo.
Non ho mai interfacciato un microcontrollore con sensori di luce e sto pensando che sarebbe una buona scusa per rimandare di ottemperare ai miei doveri. La parte più dura è capire la corrispondenza dei pin nel pettine dove va infilato il cavo piatto flessibile. Sono 12 contatti. sicuramente avremo 2 per l'alimentazione generale, forse 4 di alimentazione per i led di illuminazione (una massa led ed uno per ogni colore RGB)... ne restano 6. Posso desumere quindi gli altri segnali presenti nella maggioranza di CIS analizzati:
  • SP - Start pulse
  • CP - clock pulse
  • Vout - Segnale analogico in uscita
Ne restano tre (forse Vout è diviso per 4 sezioni del sensore fotosensibile come in certi CIS), per cui dovrò testare se c'è qualche massa in comune o sdoppiata. L'ideale, in questi casi e per le misure, sarebbe testare con un analizzatore logico di stati il sensore durante il suo funzionamento, ma purtroppo non posso rimettere assieme l'hardware originale, per cui le cose si complicano ancora di più. Forse, potrei avere un idea seguendo le piste del sensore messo a nudo (vedi foto). All'interno si nota un chip scoperchiato (nudo, probabilmente  lo shift register / video amplificatore del fotosensore o un convertitore AD, impossibile saperlo) da cui partono dei fili d'oro ed una linea iridescente su cui sono collegati, a gruppi intervallati, sei microscopici collegamenti (sempre in oro).  Un altra difficoltà è sapere quanti impulsi di clock per leggere una linea? a quale frequenza deve lavorare il clock? la lettura si deve intendere per singolo colore per tre passaggi o viene inviata la lettura RGB intervallata per ogni punto? Ed a che risoluzione lavora il sensore????? Probabilmente occorre fare tre letture per linea illuminata alternativamente con un led alla volta e far decidere al firmware la sequenza dei colori. Il software di post processing farà il resto componendo l'immagine a colori sovrapponendone tre.
Visto che ne ho un pò, potrei tentare anche di procedere con il metodo "o la va o si spacca". 
Fornisco alcuni dati tecnici, giusto per documentazione, riportando qui le sigle sul circuito:  nella parte esterna CS600B e meno visibile Toshiba 218CS600B 3291193 Taiwan. Sempre nella parte esterna verniciata di nero ci sono in prossimità del connettore 12 piazzole dorate, sicuramente usate come test point nei macchinari che testano il prodotto finito. Nella parte interna accessibile solo dopo lo smontaggio completo: CIPS218-CS600B REV:A1 2-10-44R-041-A1
All'estremità, 4 punti di contatto, 3 per i led RGB e 1 per l'alimentazione positiva (configurazione ad anodo comune) che dovrebbe attestarsi sui  3.3 - 5 volts. Per ora basta così, che provo a documentarmi meglio ed aggiornare periodicamente questo post. Quasi dimenticavo. Se hai il pinout di questo componente o il datasheet completo...pubblicalo, per cortesia, l'ambiente e l'umanità te ne sarà grata. Grazie.  Alla prossima. 

P.S. I coleotteri neri sono in volo. Ripeto: I coleotteri neri sono in volo.

martedì 25 gennaio 2011

Ri-uso

Troppo spesso le idee che mi vengono in mente, vengono poi tradotte sul piano pratico nell'ennesimo business... per gli altri. Mi sa che c'è qualche microspia nel mio bunkerlab e la devo smettere di parlare da solo ad alta voce.  Ma del resto, le idee che ho, sono frutto dell'ovvietà che deriva dall'inevitabile conseguenza di scelte governate dall'unico disgraziato desiderio di fare profitti.
Da "Repubblica" un articolo che cita una nuova "moda". Alcune multinazionali si sono accorte che esistono su questo pianeta delle persone che riescono a rigenerare, riparare, rimettere a nuovo, ingegnarsi per non buttare e risparmiare. Ecco che allora, sempre pronte a danneggiare i più piccoli e togliere loro quello che a volte è una boccata di ossigeno, le multinazionali, i "big", hanno pensato si fare proprio quello che per i deboli è un micro business, trasformandolo egoisticamente in una fonte di guadagno. Ladri di idee, ladri di futuro, ladri e basta. Che le multinazionali siano maledette per l'eternità.
Se fino a qualche anno fa concentravano il loro sforzi per indurre le persone a consumare rapidamente e gettare in discarica con leggerezza, oggi sono concentrati a completare la loro sfera di interesse (il lucro) anche nel settore dell'usato, diventato improvvisamente prezioso...per loro ovviamente. Di noi poveri mortali che importa?
Ma... credono davvero che ce ne staremo con le mani in mano a guardare l'ennesima rapina del lavoro?. Ormai la miniaturizzazione e la tecnologia ci impedisce di produrre in proprio l'hardware (ma non è proprio vero del tutto), ma nulla ci impedisce di scrivere software. Per reagire, concentreremo i nostri sforzi nel settore IT per riscrivere "from scratch" il firmware delle loro apparecchiature tecnologiche. Vedremo quindi, presto, apparecchi "obsoleti" che funzionano meglio, più pratici, più veloci. E' già successo con GNU-linux per i PC, sta accadendo con router e modem o per le console da gioco, accadrà per i telefonini. E' solo questione di tempo. Riusciremo quindi a liberarci per sempre dalle licenze d'uso, il cancro della tecnologia, e disporre liberamente di ciò che ci appartiene di diritto, senza vincoli contrattuali....liberi! Parallelamente, in rete, senza capi e senza arruffapopolo sempre pronti a comandare, la comunità hacker penserà a boicottare certi prodotti osannati dal marketing, ma che in realtà sono delle ciabatte senza valore. La qualità di un prodotto la si verifica dai materiali, dalle scelte progettuali, dalle caratteristiche dei componenti elettronici usati. Solo aprendo, smontando, riparando si può capire se un apparecchio è ben fatto, se alla base ci sono delle buone idee e delle scelte ragionate, giustificate, condivisibili. Il più delle volte ci si accorge che alla base, come obiettivo principale, c'è la massimizzazione del profitto, e mi spiace per quei progettisti che vorrebbero fare di più ma sono costretti a certe scelte scellerate in nome del risparmio sui materiali. Anche il firmware soffre di questa visione miope del progresso. Fior di sviluppatori costretti a consegnare programmi scritti in fretta, già sottopagati ovviamente. I risultati i tecnici li percepiscono ed hanno perfettamente ragione nel modificare, migliorare, smontare e sostituire...sarà per noi ancora più facile continuare a trovare nuovi sbocchi verso nuovi mercati, sino a quando i consumatori non si sveglieranno per reagire... ma per questo non c'è pericolo visto il coma profondo in cui sono stati portati.
Buona fortuna imbecilli. 

P.S. il bagno è sporco e manca la carta. Ripeto: il bagno è sporco e manca la carta.

giovedì 2 settembre 2010

Progettazione alimentatore - autopsia ventola (parte 5)

Nel provare vari circuiti che sto realizzando per la regolazione della velocità delle ventole di raffreddamento in funzione della temperatura dei dissipatori, mi sono imbattuto in una ventola di recupero difettosa. Va a scatti ed il perno sembra indurito...fatica a girare liberamente. Ne approfitto per una pausa e dopo due secondi la ventola è già aperta per l'autopsia. 
Per aprirla, basta togliere l'etichetta, scoprendo il perno tenuto in sede da una rondella di acciaio, di quelle a molla. Per aprirle occorrerebbe una pinzetta particolare che non ho (la si usa troppo raramente per giustificarne l'acquisto). Allora, per togliere la ventola di plastica che alloggia il magnete circolare, ho preso un bulino e con un colpo di martello l'ho fatta saltare via. Stessa sorte per il blocco di supporto. La causa della durezza del perno è evidente. Polvere, molta polvere annidata nei punti più impensabili. Una morcia nera che si è depositata anche all'interno del magnete...probabilmente la ventola era usata in un ambiente per fumatori..il fumo fa male anche alle apparecchiature elettroniche.
L'interno contiene anche un circuito oscillatore che alimenta le fasi dell'avvolgimento ed un sensore ad effetto di hall, nonostante la ventola non presenti il terzo filo solitamente usato per gli impulsi in uscita (open collector), usati per contare il numero di giri al minuto e quindi la velocità. Come fa a girare la ventola? Ci sono  2 avvolgimenti, alimentati in modo sfasato l'uno dall'altro ma avvolti assieme attorno allo stesso statore che presenta all'estremità superiore ed inferiore due scalini per ognuno dei tre convogliatori di flusso elettromagnetico sfasati però (sopra e sotto) di 30 gradi. Il campo magnetico generato da un avvolgimento è influenzato dal campo magnetico generato dall'altro ed entrambi interagiscono con il campo magnetico del rotore (un magnete toroidale interno alla ventola).
reverse-engineering
La basetta riporta la seguente serigrafia: LH 02 94V-0 0610008253 8025-6/6851.1 H. Lo schema elettronico di quello che si vede, è facile da ricavare. Dato che si tratta di un circuitino a singola faccia, si può usare il metodo fotografico. Si fotografano entrambi i lati dello stampato, lato componenti e lato saldature. Poi, con Gimp per GNU-linux, si sovrappongono le due immagini, prima il lato rame e poi il lato componenti. Al lato componenti, che vanno ribaltati specularmente, si assegna un livello di opacità pari a 50 circa. In questo modo si riescono a vedere sia i componenti che le piste in rame. Il trucco consiste nel sovrapporre esattamente le due immagini (non grossolanamente come fatto nella foto).  Poi con un qualsiasi programma per il disegno di schemi elettronici, si seguono le piste di rame fra i vari componenti e si disegna il circuito (reverse engineering). Dalle sigle sui componenti si riesce a capire cosa sono risalendo ai data sheet. Qui abbiamo 3 transistor NPN (C1815 e 2N6718), tre resistenze, 2 condensatori elettrolitici ed un sensore ad effetto di Hall.
In questo caso ci manca solo il sensore ad effetto di hall che ha una sigla ma è coperta da uno schermo di supporto e non ho intenzione di toglierlo per ora (aggiornerò il post appena ce l'avrò...promesso).
Alimentando questo tipo di "motore" con il metodo PWM, altro non si fa che "accendere e spegnere"  l'oscillatore... non è come per un normale motorino in CC, qui c'è dell'elettronica. Spegnere ed accendere alternativamente un circuito....gli farà "bene"?? Non lo so. Se si guasta, di ventole ne ho una tonnellata da andare avanti per anni. Giusto per scrupolo tecnico però, terrò acceso una ventola 24/24 7/7 per una settimana in modo da verificare se il PWM può creare problemi ad un circuito elettronico di una cpu fan cooler. Anche se prevedo un uso in esercizio per non più di 15 minuti continuativi, un collaudo a fondo è il caso di farlo.
In ogni caso, il diodo di ricircolo previsto nel regolatore PWM dei post precedenti, è inutile in questa applicazione e si capisce facilmente anche perchè.
Per rispondere alla domanda dell'unico visitatore al mese che mi legge...si può invertire il senso di rotazione della ventola invertendo l'alimentazione sui fili rosso e nero?? No, mi pare evidente il perchè. L'unico modo per invertire il flusso dell'aria è girare la ventola o usarne una di un altro tipo, non certo quelle recuperate dai PC. Normalmente, a titolo di informazione, il flusso dell'aria va verso l'etichetta o è indicato con una freccia assieme al verso di rotazione delle pale. Alla prossima.

P.S. Tre cuscinetti a sfera escono dalla loro sede. Ripeto: Tre cuscinetti a sfera escono dalla loro sede.

venerdì 11 settembre 2009

LCD e VGA - pinout

Prosegue anche il lavoro di analisi ed autopsia del pannello grafico LCD recuperato dal portatile di marca sconosciuta di cui al post precedente. L'obiettivo è quello di recuperare lo schermo LCD e trovarci un qualsiasi utilizzo pratico, come secondo monitor, come un photo frame o come monitor di sorveglianza e supervisione di processi, abbinato magari ad una cam c.mos recuperata da un telefono cellulare. Una cosa importante è associare i fili che escono dal pannello ai segnali che ci devono essere applicati. Per prima cosa, si prova a googlare dopo aver preso nota del tipo di pannello LCD al fine di reperire un datasheet o qualcosa che possa essere utile. Nel 99% dei casi non si trova nulla per cui occorre aguzzare l'ingegno.
Si cercano intanto delle applications note, anche per schermi diversi per capire quali segnali ci si deve aspettare e come deve essere pilotato il pannello. Quello di cui stiamo parlando è uno schermo monocromatico LCD STN passivo da 10,5 pollici e risoluzione 640X460 sigla EG9012D-NZ-7, un pò datato ma ancora funzionante. Meglio partire con qualcosa di semplice per poi proseguire eventualmente con le cose più complesse. L'unico modo che ho trovato per numerare e classificare i fili è stato quello di seguire i collegamenti dal connettore al processore grafico, dopo aver trovato in rete il datasheet di quest'ultimo. Stiamo parlando di un processore grafico Cirrus Logic CL-GD6245 LCD VGA Controller. Per seguire la continuità connettore - pin del processore ho usato un semplice multimetro come prova diodi (la cicalina suona quando viene trovata continuità). Ho provveduto, per meglio seguire le piste, a dissaldare il connettore maschio saldato sulla mother board usando il dissaldatore ad aria calda autocostruito (che lavora egregiamente).
Per seguire invece le piste che scompaiono negli strati intermedi della mother board, dato che "sfortunatamente" il connettore si trova dal lato opposto del processore e seguirli con la mother board in piedi è estremamente scomodo, ho infilato nei fori passanti un sottilissimo filo di rame in modo da individuare i percorsi utilizzando i puntali del tester su un lato solo. I alcuni casi, per i segnali digitali, ci si sono messe di mezzo delle reti resistive da 33 ohm che non fanno suonare la cicalina del prova diodi. In questi casi basta provare a piazzare i puntali in altri punti sino a quando non si trova un capo del componente e successivamente proseguire con l'altro capo. Il risultato, in meno di un oretta, è più che ottimo.
Finalmente ho la piedinatura del connettore (vedi  foto) che entra nel pannello LCD. Ora occorre capire come organizzarsi per accenderlo e comandarlo. Sono 8 bit, 4 per la metà superiore e 4 per la metà inferiore da sincronizzare con impulso di frame e clock di riga...credo di aver compreso analizzando dei documenti reperiti in rete. Devo prima documentarmi per bene e poi procedere con la progettazione di un sistema a microprocessore per le prime prove. Obiettivo  successivo la conversione di segnali analogici in digitali per trasformare il pannello LCD in un monitor VGA... ci sarà per forza un processore dedicato, basta trovarlo. Alla prossima.
P.S. La tinta della parete nord si asciuga in fretta. ripeto