![]() |
Electronics |
Ho sempre avuto la passione per l'elettronica, fin da piccolo. Però è stato solo all'università che ho finalmente capito come va affrontata tale disciplina. Prima dell'università mi sono sempre affidato alle tante riviste di elettronica "fai da te" che vengono pubblicate nelle edicole. Purtroppo queste non aiutano a comprendere i principi di funzionamento e, se cercano di insegnare qualcosa, lo fanno in maniera talmente semplificata da rendere di nuovo incomprensibili i meccanismi di base. Quelle poche volte che ho cercato dei libri ho avuto la terribile sfortuna di imbattermi in avanzati manuali di elettronica dello stato solido che mi avevano fatto rinunciare alla speranza di capirci qualcosa. Quindi in questo periodo non sono riuscito a fare molto di più di semplici contatori, oscillatori basati sul famoso LM555 e piccoli esperimenti con i led.
All'università ho finalmente avuto "l'illuminazione". Tutto è apparso molto più semplice e finalmente ho cominciato a sperimentare con circuiti completamente partoriti dalla mia mente. Tuttavia, nonostante la spinta della passione, mi sono dovuto alla fine arrendere di fronte ai due principali problemi che incontra ogni hobbista di elettronica: la difficoltà nel realizzare circuiti stampati ed il costo inavvicinabile degli indispensabili strumenti di misura.
Ho cercato quasi subito di risolvere il primo problema costruendomi un bromografo. Il secondo problema invece non è mai stato superato. Di seguito presento qualcuno dei progetti che ho fatto. Molti altri sono stati fatti su breadboard e poi smontati e quindi non hanno lasciato traccia. Un esempio di questi è uno scaccia-gatti con tweeter piezoelettrico che non è mai riuscito a scacciare nemmeno il più innocuo dei micietti :)
Quest'apparecchio consente di realizzare i circuiti stampati tramite la fotoincisione. La sua progettazione, acquisizione dei materiali e realizzazione ha richiesto in pratica molti mesi di lavoro. Ecco cosa è uscito fuori:
![]() |
![]() |
|
Bromografo |
Trasformatori e starter per le lampade UV |
![]() |
Circuiti stampati del timer |
![]() |
Vista dell'alimentatore |
Come si può vedere il circuito del timer è piuttosto grande. Questo è dovuto al fatto che è stato realizzato completamente con integrati MSI come contatori, divisori di frequenza, piloti dei display a 7 segmenti e porte logiche varie. Il timer permette di programmare un tempo qualsiasi compreso fra 1 e 999 secondi, permette di avviare l'esposizione del circuito, di metterla in pausa, di modificare il conteggio ad esposizione iniziata e di precaricare un valore preimpostato modificabile tramite dip-switch. Tuttavia il circuito non è per nulla l'ideale in quanto un solo piccolo microcontroller come un qualsiasi PIC sarebbe stato sufficiente ad eseguire tutto questo ed avrebbe occupato una frazione dello spazio. All'epoca però ero ignaro delle possibilità offerte dai microcontroller e solo in seguito tentai di realizzare un programmatore adatto per i più comuni PIC.
Schema elettrico del timer |
Circuito stampato (PCB) del timer |
Il routing delle piste del PCB è stato completamente fatto a mano in CirCAD ed ha richiesto una notevole quantità di tempo per essere portato a termine...
Ma come si utilizza il bromografo?
Per spiegarlo prendo a prestito alcune immagini dall'ottimo sito di Harry Lythall: Harry's Homebrew Homepage.
Innanzitutto bisogna comprare una basetta, ossia un supporto in vetroresina ricoperto interamente da un sottile strato di rame.
![]() |
![]() |
![]() |
||
Figura 1a |
Figura 2a |
Figura 3a |
Si procede alla sua pulitura (figura 1a) per rimuovere ogni traccia di ossido, grasso o altro sporco. Un buon modo per farlo è quello di usare il VIM. Una volta pulita va lavata con un po' di sapone ed acqua calda usando per esempio uno spazzolino. E' di fondamentale importanza non toccare mai la superficie ricoperta di rame. Basta toccarla con un dito per lasciare una bella impronta di grasso che farà fallire tutto il successivo lavoro. In elettronica la pulizia non è un optional. Dopo averla lavata bisogna asciugarla e lasciarla in un posto caldo per una mezz'ora circa in modo da essere sicuri che sia ben asciutta.
A questo punto (figura 2a) si procede a ricoprirne la superficie con una particolare sostanza fotosensibile. Questa è reperibile presso un negozio di elettronica in forma di bottiglietta spray. La superficie di rame va spruzzata uniformemente da circa 15cm di distanza. Al termine va lasciata in orizzontale in un posto buio per almeno un giorno ad essiccare. Da questo momento la basetta non deve essere più esposta alla luce.
Intanto si può procedere alla stampa del circuito stampato (figura 3a) su acetato. Non è importante la stampante usata, è invece indispensabile che l'inchiostro non sia per niente trasparente alla luce. Una volta stampato l'acetato provate a guardare attraverso le parti nere, se vedete attraverso di esse allora la stampa non è buona. Trovare una stampante che risponda a questo requisito è la cosa più difficile, tanto che io non ne ho mai trovata una... il che ha reso in pratica il mio bromografo inservibile :(
![]() |
![]() |
![]() |
||
Figura 4a |
Figura 5a |
Figura 6a |
Prima di prendere la basetta bisogna porsi al buio, è possibile tuttavia usare una luce rossa, di quelle che usano i fotografi nella camera di sviluppo. Sono luci facilmente reperibili e costano pochissimo.
A questo punto (figura 4a) si fa aderire alla perfezione il foglio d'acetato alla basetta sul lato verniciato e si pone il tutto nel bromografo con il lato rame rivolto alle lampade UV. Attenzione a porre l'acetato nel verso giusto! Il tempo d'esposizione dipende da diversi fattori: dallo strato di copertura della sostanza fotosensibile, dalla potenza delle lampade UV e dallo spessore del vetro su cui viene appoggiata la basetta. In pratica questo vuol dire che bisogna fare delle prove per determinare il tempo d'esposizione giusto.
Finita l'esposizione bisogna passare allo sviluppo (figura 5a), proprio come farebbe un fotografo con una fotografia. La basetta va immersa in una soluzione di acqua e soda caustica (reperibile presso un ferramenta) nel rapporto di una parte di soda caustica per 40 parti d'acqua. Lentamente dovrebbe apparire il disegno del circuito stampato.
Finito lo sviluppo si può tornare all'illuminazione normale. Procedere al lavaggio accurato della basetta (figura 6a). A questo punto è bene controllare visivamente il risultato ed apportare eventualmente piccoli ritocchi con un pennarello per circuiti stampati, un pennarello a vernice o con dei trasferibili.
![]() |
![]() |
![]() |
||
Figura 7a |
Figura 8a |
Figura 9a |
Si passa ora all'incisione tramite acido che provvede a rimuovere il rame non coperto dal disegno (figura 7a). Tipicamente nei negozi di elettronica viene venduto il cloruro ferrico, però io consiglio di farsi il proprio acido da soli. Sono sufficienti dell'acido cloridrico (muriatico) e acqua ossigenata concentrata (almeno 100 volumi), entrambi reperibili presso il ferramenta. Vanno diluite una parte di acido cloridrico ed una parte di acqua ossigenata in 4 parti d'acqua. Fatto l'acido bisogna immergervi la basetta ed aspettare che tutti il rame non coperto dal disegno venga corroso. E' consigliabile agitare ogni tanto la basetta e controllarne periodicamente lo stato. Non dovrebbero volerci più di 5 minuti. Al termine l'acido dev'essere gettato via, non può essere conservato. Però fate molta attenzione perchè è molto corrosivo, non gettatelo così com'è! Ora io non conosco i modi migliori (o legali) per smaltire queste sostanze quindi non posso darvi consigli. Documentatevi o chiedete a qualche chimico!
Finalmente abbiamo finito. La basetta è pronta (figura 8a) e non ci resta altro da fare che forarla (figura 9a). Si consiglia di lasciare la vernice sul rame fino a quando non si dovranno fare le saldature in modo da proteggerlo da agenti atmosferici. La vernice può essere tolta con un qualunque solvente.
Come si può notare il processo è piuttosto lungo e laborioso, però i risultati ottenuti sono di qualità industriale, praticamente perfetti!
I microcontroller sono minuscoli dispositivi programmabili estremamente versatili. I più conosciuti sono i PIC della Microchip, ma è abbastanza noto anche l'ST6 della ST Microelectronics. I PIC sono disponibili in un'ampia gamma di modelli per meglio adattarsi alle esigenze di progetto specifiche, differenziandosi per numero di linee di I/O e per dotazione di dispositivi. Si parte dai modelli più piccoli identificati dalla sigla PIC12C5xx dotati di soli 8 pin, fino ad arrivare ai modelli più grandi con sigla PIC17Cxx dotati di 40 pin. Sul sito della Microchip si possono trovare tutte le informazioni riguardanti ogni PIC.
Scritto un programma per uno di questi microcontroller è necessario trasferirlo all'interno della memoria del chip stesso. A questo scopo si usano i programmatori. Ce ne sono moltissimi in circolazione, per una spesa che può variare da pochi euro a centinaia di euro! Io mi sono orientato verso il programmatore JDM perchè è il più economico e semplice da realizzare da un hobbista.
![]() |
||||
Schema elettrico del programmatore |
PCB più componenti |
PCB |
Il routing l'ho fatto ancora una volta manualmente in CirCAD, quindi non è detto che non ci possano essere soluzioni più ottimizzate e senza ponticelli.
Per usare il programmatore è necessario inserire il PIC da programmare nello zoccolo nella posizione indicata nello schema elettrico oppure dalla guida di Paolo Gentili. A questo punto si collega il cavo seriale al PC, si carica il programma realizzato in un software di programmazione come l'ICprog e si procede alla programmazione.
ICprog è gratuito, ecco i files necessari:
Un'ottima introduzione sui PIC completamente in italiano è il corso PIC by example di Sergio Tanzilli.
La seguente scheda è stata fatta per azionare i 4 motori di un robot cingolato sperimentale del laboratorio SIED dell'università di Roma "La Sapienza".
![]() |
![]() |
![]() |
||
Robot cingolato operato via W-Lan |
PCB della scheda motori (singola faccia) |
Scheda quasi completata (si notano numerosi fili che realizzano i collegamenti dell'upper layer) |
La scheda viene comandata da un modulo gumstix con processore XScale che riceve i comandi dell'operatore via connessione wireless. L'attivazione dei motori viene fatta da relè. Questi provvedono anche ad effettuare un'azione di frenata quando il motore viene disattivato. Sebbene il controllo non sia PWM la scheda permette di aggiungere 4 transistor di potenza che lavorano in congiunzione con i relè per operare in PWM (con l'uso di soli 4 transistor invece che 16). Viene effettuato un current sensing sulla corrente assorbita dai motori che vengono disattivati in caso di sovraccarico (la soglia è impostabile tramite trimmer). Il valore monitorato viene messo a disposizione del convertitore A/D della gumstix. L'alimentazione della scheda avviene con 12V ed un PMOS protegge la scheda in caso di polarità invertita (cosa che succede spesso con connettori custom fatti in laboratorio). I circuiti della scheda operano a 5V, voltaggio generato da un mini alimentatore switching. Due pulsanti permettono di bloccare/riattivare a mano i motori e numerosi led mostrano lo stato operativo della scheda in modo da avere un feedback visivo immediato che facilita il debugging del software della gumstix.
La scheda è stata progettata con OrCAD, simulata con Micro-Cap e realizzata completamente a mano.
Attualmente si possono comprare batterie ricaricabili ad alta capacità per pochi euro. Lo stesso vale per i caricabatterie, ne esistono molte versioni ed i più automatizzati non costano più di 30 euro. Allora, mi chiedo io, perchè la gente continua a comprare le normali batterie usa e getta? Sono davvero stanco delle molte pubblicità che si vedono in TV che affermano che un certo tipo di batterie dura molto più a lungo delle normali zinco-carbone... bella scoperta!! E' come dire che un'automobile moderna ha prestazioni migliori rispetto ad una di vent'anni fa :) Eppure non si vedono pubblicità che usano questo termine di paragone con le auto, perchè? Ma perchè di auto la gente s'intende molto di più che di batterie! Se non è possibile ingannarla parlando di auto, è fin troppo facile farlo in altri ambiti come quelli delle batterie appunto, dell'elettronica di consumo, di amplificatori, casse acustiche, software per computer ecc...
Lasciando ora da parte queste considerazioni personali vediamo un po' meglio che cosa sono le batterie ricaricabili. Come dice la parola stessa sono batterie che, una volta esaurite, possono essere ricaricate. In commercio ne esistono in pratica di 3 tipi diversi: al piombo, NiCd e NiMH. Ancora non vengono vendute batterie ricaricabili Li-ion d'uso generale.Le batterie al piombo vengono usate solo in particolari applicazioni: si trovano all'interno dei veicoli, nelle lampade d'emergenza, nei gruppi di continuità, in apparecchiature medicali ed in tutti quegli ambiti dove è richiesta una particolare efficienza, ossia bassa autoscarica, alte correnti di scarica, alte tensioni, basso costo e facilità di riciclaggio. Le pile NiCd o NiMH sono pensate per lo più per rimpiazzare le normali batterie non ricaricabili e possono quindi essere usate tranquillamente al loro posto. Fino a poco tempo fa venivano impiegate anche nei dispositivi portatili come i cellulari, ma attualmente sono state quasi del tutto rimpiazzate della più efficienti (e costose) Li-ion.
Il principale vantaggio di questo tipo di pile è che sono ricaricabili. Sembra banale, ma se lo fosse davvero la gente le comprerebbe al posto delle normali pile alkaline, quindi presumo che sia un concetto difficile da assimilare. Una volta comprate possono durare per anni facendo risparmiare migliaia di euro! E non solo, aiutano l'ambiente facendo diminuire enormemente i rifiuti tossici causati dal cattivo smaltimento delle batterie esaurite. In altri paesi questo è mitigato dalla presenza di punti di raccolta in diversi negozi ed in quasi ogni supermercato, ma qui in Italia la situazione è molto meno rosea...
Ma che differenza c'è fra le pile NiCd e NiMH? Facciamo un confronto:
| NiCd |
|
||
| NiMH |
|
Sebbene queste pile abbiano un tensione nominale di 1.2V, al contrario delle alkaline da 1.5V, bisogna sapere che questi valori non sono fissi ma cambiano durante l'utilizzo. Infatti una pila NiCd o NiMH completamente carica offre una tensione di 1.4V. Durante l'utilizzo questa si abbassa sugli 1.2V per poi rimanere quasi costante fino all'esaurimento. Una pila alkalina invece raggiunge gli 1.2V quando è per metà scarica e la tensione continua a scendere ulteriormente con l'uso. Bisogna soprattutto tener conto che le alkaline non sono state pensate per alte correnti di scarica ed è questo uno dei motivi per cui durano così poco se utilizzate per esempio in una macchina fotografica digitale. La figura 1b mostra l'andamento tipico della scarica di una pila NiMH. I valori 0.2C, 1C ecc... si riferiscono alla corrente di scarica utilizzata che è proporzionale alla capacità della pila: per una pila da 2000mAh 1C significa 2A di scarica, 0.2C invece è pari a 400mA.
![]() |
![]() |
|
Figura 1b: Scarica di una pila NiMH a 20°C |
Figura 2b: Perdita di capacità in funzione del numero di cicli di carica/scarica |
La figura 2b mostra come diminuisce la capacità di queste pile man mano che vengono caricate e scaricate. Il numero di cicli carica/scarica sostenibili varia molto a seconda degli utilizzi e delle tecniche di carica e può variare da qualche centinaio a quasi un migliaio. Comunque, qualunque sia l'uso che se ne fa, rimangono sempre molto più convenienti delle pile alkaline.
Per un confronto fra i diversi tipi di batterie ricaricabili esistenti sul mercato vi consiglio il sito Imaging Resource.
Ma come si ricaricano? Il metodo più semplice consiste nel comprare un caricabatterie. Mi raccomando solo di comprarne uno "intelligente", che sia in grado di capire quando una pila è carica. Tipicamente questo tipo di caricabatterie riporta sulla confezione: "con microprocessore". Per non sbagliarsi consiglierei i modelli a carica veloce che devono per forza di cose implementare un metodo di controllo per non rovinare la batteria.
Ovviamente ho provato a costruirne qualcuno e devo dire che la cosa più difficile è capire quando una pila è completamente carica. Un tipico grafico di carica è il seguente:
![]() |
Figura 3b: Andamento della tensione in funzione della capacità e della corrente di carica a 20°C |
Un buon caricabatterie non utilizza mai un solo metodo per determinare lo stato di carica ma ne combina diversi. Quelli tipicamente usati sono:
Il primo tentativo che feci doveva caricare pile NiCd e misurava la sola tensione, per cui non è che fosse molto intelligente, però almeno era semplice:
![]() |
![]() |
Al secondo tentativo ho cercato un parametro un po' più significativo, la variazione di temperatura, che mi permettesse di caricare pile NiMH, anche di capacità diverse (ma non troppo):
![]() |
![]() |
Il circuito è ancora estremamente semplice e quindi non permette di ottenere risultati professionali. Però ho usato questo caricabatterie, montato su breadboard, per diversi anni senza problemi. Inizialmente era previsto un generatore di corrente switching, ma poi il tutto è stato semplificato in modo da renderlo operativo nel minor tempo possibile.
Il terzo tentativo doveva essere quello definitivo. Lo schema elettrico, disegnato a mano, è il seguente:
Il circuito è stato ispirato dal kit LX.1159 di Nuova Elettronica presentato nella rivista n.171 del maggio 1994. Sono state applicate diverse modifiche in modo da accomodare anche una carica lenta oltre a quella rapida. Si può notare finalmente la presenza di un integrato specifico che mi avrebbe permesse di avvantaggiarmi di molteplici tecniche di controllo della carica. E' anche presente il tanto ambito generatore di corrente switching che avrebbe fatto aumentare drasticamente l'efficienza complessiva.
Parlo al condizionale perchè alla fine, purtroppo, non ho mai avuto modo di realizzare il circuito per via della difficoltà nel creare lo stampato. Infatti non ho mai trovato il modo di stampare maschere trasparenti adeguate da usare con il bromografo e questo circuito avrebbe richiesto persino 2 strati di rame (uno principalmente di massa). E poi, valutato il costo, è risultato che sarebbe stato molto più conveniente comprarne uno già fatto...
Per finire vorrei giusto dare una veloce spiegazione sui generatori switching (che possono essere di tensione o di corrente).
![]() |
Ecco qui in figura il più semplice generatore di corrente switching (senza feedback). Nei grafici di destra è riportata la simulazione del transiente d'accensione del circuito. Il nome lo prende dal fatto che vi è un interruttore (switch) che si apre e si chiude ad una certa frequenza. In un generatore lineare si pone una resistenza in serie al carico per determinare la corrente erogata. Il problema di questa soluzione è che la resistenza serie dissipa tutta l'energia che non si vuole trasferire al carico. Invece la soluzione switching è frutto di una brillante idea: ma perchè non immagazzinare l'energia in eccesso e rilasciarla in seguito? Quindi l'interruttore, quando è chiuso, provvede ad alimentare il carico attraverso un induttore che ha la proprietà di immagazzinare energia. Quando la corrente supera un valore di soglia stabilito l'interruttore viene aperto staccando l'alimentazione. Ciò viene fatto dal circuito di feedback, non inserito in figura per semplicità.. Cosa succede allora? L'induttore rilascia l'energia immagazzinata facendo fluire corrente dal diodo al carico. Ovviamente l'energia viene man mano consumata e la corrente diminuisce, fino a che non si raggiunge un altro livello di soglia inferiore che richiude l'interruttore. L'induttore agisce come una molla che viene compressa dall'alimentatore e poi viene rilasciata, il tutto generalmente ad una frequenza variabile dai kilohertz alle decine di kilohertz. In questo modo si realizza un generatore di corrente switching il cui concetto di funzionamento, come si è visto, è molto semplice. Il suo vantaggio è che l'energia viene trasferita tutta al carico e non ci sono dissipazioni inutili. Idealmente avrebbe un'efficienza del 100%, in pratica può andare dall'80% al 98%, più o meno.
Il VHDL è un linguaggio nato per descrivere e sintetizzare sistemi elettronici digitali. Può essere usato a vari livelli d'astrazione, dalla descrizione strutturale di un progetto alla descrizione comportamentale di una specifica. Si possono distinguere 2 modi di usare il VHDL:
Ho avuto modo di fare qualche piccolo esperimento con il VHDL usando l'Accolade PeakVHDL light edition, che è gratuito. Tra i vari esperimenti ho fatto un adder Carry Select a 32 bit, una semplice macchina a stati descritta a livello RTL, ed un banale shifter a 32 bit. Non ho fatto molto altro perchè il PeakVHDL light è davvero ridotto all'osso e permette a malapena di fare la simulazione (se ben ricordo, è passato molto tempo da quando l'ho usato).