Chi vuole avvicinarsi al meraviglioso mondo dell'elettronica digitale e iniziare a "smanettare" con questi circuiti, se non ha le nozioni di base non riuscirà a capire come procedere. Per questo può tornare utile qualche semplice esercizio fatto in casa con pochi componenti e molta passione, per capire come funzionano e come si comportano in base ai segnali ricevuti.
Anche se abbiamo qualche nozione di base in materia di elettronica digitale, non sarà semplice riuscire a capire effettivamente il comportamento dei vari circuiti digitali finchè non vedremo in pratica il loro funzionamento. Cominciamo nel modo più semplice e procuriamoci il minimo indispensabile per fare alcuni semplici esperimenti.
Ci servirà almeno una bread-board per montaggi veloci e senza saldatura, del filo rigido ricoperto (diametro 0,7-0,8) per i vari ponticelli e collegamenti, una manciata di componenti e tanta passione. A tal proposito, qui su EOS, è stato presentato un ottimo kit per principianti a bassissimo prezzo.
Sarebbe comodo avere anche un piccolo saldatore, un multimetro, un'alimentatore e qualche schedina millefori che ci darà la possibilità di assemblare alcune piccole shield che saranno indispensabili per i nostri esperimenti. Vedremo, inoltre, come autocostruirci una semplice ma funzionale sonda logica potendola scegliere tra due modelli differenti (oppure assemblarle entrambe).
Entriamo nel vivo dei vari esperimenti iniziando con i primi due moduli di base che vediamo nello schematico seguente:
Come possiamo notare, il primo esperimento riguarda un semplice visualizzatore a led, che servirà ad indicarci lo stato dell'uscita digitale in prova, ed è conveniente averne almeno quattro, mentre il secondo è un semplice pulsante "antirimbalzo" dotato di due uscite. Possiamo, anche, definirlo "pulser" perchè in effetti è questa la sua vera funzione: mandare degli impulsi (uno positivo e uno negativo) ogni volta che viene azionato il pulsante.
Più avanti analizzeremo il suo funzionamento osservando il comportamento della porta NAND tramite la sua truth table (all'interno del 4011 vi sono 4 porte NAND due delle quali utilizzate per il pulser) che non è altro che una tabella logica molto importante da conoscere (i valori dei componenti, e quindi il loro dimensionameno, li vedremo più avanti).
Inoltre ci servirà un clock per sincronizzare alcuni integrati con funzioni particolari, ne vediamo uno semplicissimo costruito attorno al glorioso 555; come possiamo notare dallo schema che segue, occorrono solo tre componenti discreti esterni e il gioco è fatto.
Prima di tutto è doverosa una breve introduzione di teoria, tanto tediosa ma altrettanto utile. Come si può notare nello schema del pulser, l'integrato è un 4011 ed è stato, forse, uno dei più utilizzati; appartiene alla famiglia C-MOS (Complementary Metal Oxide Semiconductor) 4000 (ormai conosciutissima) che offre ottime performance grazie alle seguenti caratteristiche: basso consumo di corrente, altissima impedenza d'ingresso, medie velocità di commutazione e alta immunità al rumore.
Le stesse funzioni le troviamo anche nella famiglia dei TTL (Transistor-Transistor Logic) SN7400 (più vecchia) ma con caratteristiche inferiori: alto consumo di corrente, basse velocità di commutazione e bassa immunità al rumore.
I C-MOS accettano livelli d'ingresso così suddivisi:
- da zero volt a 1/3 di Vcc = livello logico basso;
- da 1/3 a 2/3 = condizione indefinita che non deve mai avverarsi;
- da 2/3 a 3/3 = livello logico alto.
La loro alimentazione spazia dai 3V ai 15V mentre l'impedenza d'ingresso è attorno ai 1000 GOhm.
I TTL accettano livelli d'ingresso così suddivisi:
- da zero a 0,8V = livello logico basso;
- da 0,8 a 2V = condizione indefinita che non deve mai avverarsi;
- da 2 a 5V = livello logico alto.
La loro alimentazione è di 5V mentre l'impedenza d'ingresso è molto bassa.
Nella figura precedente possiamo osservare la più semplice delle porte logiche ad un solo ingresso e una sola uscita, possiamo trovarla come driver, buffer, amplificatore (fig. 1) o come invertitore o NOT (fig. 2). La differenza tra le due è il piccolo "pallino" all'uscita che ci indica che il segnale in uscita è "invertito" rispetto all'ingresso, cioè se in ingresso abbiamo un livello logico alto, in uscita otterremo un livello logico basso e viceversa.
Iniziamo il nostro primo esperimento osservando in pratica come si comportano queste porte logiche e, per evitare di procurarci troppi circuiti integrati, costruiamo la nostra porta NOT utilizzando una delle 4 porte NAND del nostro 4011 semplicemente collegando assieme i due ingressi (Fig. 3). Inseriamo nella bread-board il 4011, il BC337, il led, le tre resistenze e seguendo lo schema elettrico in basso posizioniamo i vari ponticelli per collegare il circuito del led all'IC.
Prima di collegare l'alimentazione, ricontrolliamo con molta attenzione i vari collegamenti effettuati per essere certi di non aver commesso errori (è più facile di quanto si immagini: "l'errore di distrazione" è sempre in agguato).
Analizziamo il circuito.
Seguendo la tabella Logica della porta NOT ci accorgiamo che quando in ingresso vi è un segnale logico alto, in uscita otterremo un segnale logico basso ed è quello che il circuito in questo momento sta facendo; infatti il nostro led è attualmente spento. Se adesso pigiamo il pulsante invertiremo il segnale con la conseguente accensione del led.
Tabella Logica della porta NOT.
- IN OUT
- 0 1
- 1 0
Semplice vero? osserviamo adesso perchè la porta NAND utilizzata si comporta come porta NOT.
Tabella Logica della porta NAND.
- IN1 IN2 OUT
- 0 0 1
- 0 1 1
- 1 0 1
- 1 1 0
Dalla tabella possiamo rilevare che l'uscita è bassa solo se nei due ingressi vi è un livello logico alto. Quindi collegando assieme i due ingressi abbiamo semplicemente eliminato la seconda e terza possibilità. Forse qualcuno si chiederà perchè utilizzare in un circuito una porta NAND se alla fine il comportamento è uguale alla porta NOT. Il comportamento è "apparentemente" uguale, nel primo caso controlliamo un solo segnale mentre nel secondo possiamo controllare due o più segnali (le porte NAND possono avere più di due ingressi) e per rispondere a questa domanda farò un semplicissimo esempio: supponiamo di voler controllare due finestre e, se una delle due viene aperta, il nostro circuito dovrà mandare un segnale alla sirena d'allarme, per fare ciò possiamo inserire un deviatore ad ogni finestra e collegare i due contatti centrali ai due ingressi della porta NAND, si otterrà che, la sirena farà il suo dovere nel preciso istante in cui una o tutte e due le finestre verranno aperte.
Attenzione: non costruite un antifurto come questo se volete davvero proteggere la vostra casa, l'esempio è servito solo a dare un'idea del funzionamento di questa porta.
Per ora mi fermo qui. Nel prossimo appuntamento vedremo insieme qualche altro esperimento con logiche digitali e, in più, inizieremo ad assemblare una Sonda Logica che ci permetterà di effettuare un controllo dei vari segnali in prova.
Mi è d'obbligo specificare che questo non vuole essere un vero e proprio corso di elettronica digitale (sarei la persona meno adatta a scriverlo) ma vuole solo dare il "LA" a chi si avvicina per la prima volta a questo mondo digitale e, se ci saranno consensi, verrà approfondito per accompagnare passo passo chiunque ne abbia bisogno.
Mario Venoso
Mario,
correggimi se sbaglio ma dalla lettura di questo articolo dal carattere didattico-introduttivo colgo che (anche) tu sei di un certo avviso riguardo al modo di vivere l’elettronica da parte di chi l’ha iniziata a studiare “ieri” e chi “oggi”.
Devo dire che, senza che nessuno si senta offeso o toccato da questo, in effetti un pò di differenza la sento anch’io.
Come accade in tutti i settori dello scibile umano, anche in elettronica non si torna sempre indietro fino alla “ruota” per affrontare un dato concetto: una volta assodato il principio, quello che una volta facevi collegando un operazionale ed una manciata di componenti discreti, poi lo si è fatto programmando un microcontrollore in assembler e con circuiti appositi e, ormai, lo puoi fare attaccando una scheda Arduino (e simili) al PC tramite un cavetto USB e modificando uno sketch già pronto.
Oggi come oggi risulterebbe anacronistico ricorrere all’operazionale per fare quella stessa cosa.
Ed è un pò quello che accade al tecnico elettronico, che per ovvii motivi di tempo forse non potrà imparare in estremo dettaglio l’elettronica “dagli albori fino ai nostri giorni” quanto piuttosto si dovrà allacciare velocemente all’elettronica legata al nostro presente.
Tuttavia, se per non perdere tempo si ricorre spesso alla soluzione già pronta, per chi non vuole essere un “passivo” della disciplina sarebbe comunque bene tenere a mente cosa c’è dietro questo o quell’altro pin di Arduino che svolgono una data funzione. Ovvero non scordare mai che esistono dei principi e che se una data conoscenza si dà oggi per scontata vuol dire che prima qualcuno ci ha dovuto sbattere la testa sopra.
Sono contento che in questo blog vengano alternati articoli di teoria di base, resi accessibili nella spiegazione, ad articoli che parlano delle tecnologie attuali e “di moda”, perchè il mondo non potrebbe andare avanti nè solo conoscendo Arduino, nè senza sapere che comunque Arduino esiste ed è di fatto un progetto di successo.
In altre parole, ben vengano articoli di “revival” come questo di Mario da affiancare a quelli sulle ultime tecnologie.
Un saluto
PS: però speravo di poter leggere a fine articolo due righe in più sull’NE555, visto che all’inizio ci avevi messo la pulce nell’orecchio…. 😉
Condivido alcuni pensieri di delfino curioso, sia sul revival che sul 555. In particolare mi permetto di dire una cosa, senza offesa spero. Leggendo l’articolo ho l’impressione che molte cose vengano date per scontate, come se chi legge debba necessariamente conoscere il “555” ad esempio. Ma essendo specificato “per principianti”, ed essendo come dice delfino che spesso ora ci si avvicina all’elettronica in modo più”astratto”, credo che il livello di descrizione di alcuni concetti di cui parli sia un pò poco dettagliato. Io lo dico sopratutto da principiante, ed essendo chiamato in causa, mi sento di dover esprimermi in questo senso.
Ciao
Tiziano
I commenti li abbiamo a posta per raggiungere quel livello di approfondimento di cui abbiamo bisogno 😀
Non fossilizzatevi sul fatto che l’articolo debba essere chiaro di per sè: a domande specifiche, anche di richiesta di chiarimenti è qui che possiamo rispondere… 😀
Anche perchè troppe volte chi scrive si accorge che dire e spiegare TUTTO è poco meno che impossibile 😀
Posso suggerire allora che indichiate voi stessi quali aspetti son poco chiari e che Mario li affronti qui con commenti dedicati? 😀
Leggendo i vostri commenti e rileggendo il mio, mi sono accorto che forse ho fatto intendere altro rispetto a quello che volevo dire.
Quello che intendevo è che mi sento vicino alla posizione di Mario circa la formazione tecnica di oggi, che a mio parere focalizza maggiormente l’attenzione su come INTERCONNETTERE le varie realtà (che siano principii, dispositivi o best practices) piuttosto che scendere profondamente nei loro singoli dettagli, come si preferiva fare una volta.
Si può essere più o meno d’accordo con questo modus operandi ma è un dato di fatto che nella società di oggi, dove sembra purtroppo che manchi sempre il tempo per approfondire, le cose vadano così: e funziona in questo modo un po’ tutto, non solo nell’elettronica.
Esempio terra terra ma lampante: un adolescente di oggi tra chat, social networks, sms et al. scrive talmente tanto su una tastiera che non si preoccupa più di controllare se l’ortografia di quello che ha scritto è corretta o meno…
I “non più adolescenti”, come me e forse anche Mario, accettano tutti questi dati di fatto con un po’ di difficoltà 😉
Il mio commento voleva tuttavia essere un auto-invito a non chiudere gli occhi di fronte a queste realtà ma a continuare sempre ad analizzarle per non rimanere noi troppo indietro. Da qui l’importanza di conoscere anche fenomeni come Arduino, launchPad e quant’altro, come Mario sta già egregiamente facendo.
Sulla questione dell’NE555, nessuna critica: speravo solo di poter leggere qualcosa in più nell’articolo corrente su questo integrato visto che se non sbaglio sono più di trent’anni che viene meritatamente prodotto ed utilizzato, e di questi tempi la longevità in elettronica non è più cosa così scontata.
Ma, visto che è stato citato, immagino che Mario ne parlerà più in dettaglio in un prossimo articolo… 😉
Grazie Piero! hai espresso in poche parole il significato di questo mio primo 3D: diciamo che l’ho creato semplicemente sperando di riuscire ad aprire un dibattito tra chi inizia e chi ha qualche esperienza in più, quindi non tra me e chi inizia ma tra chi inizia e tutti quelli che vorranno contribuire.
Non essendo un docente non sono in grado e non ho neanche la presunzione di saper spiegare tutto, ma almeno vorrei provare a dare una mano a chi ne ha bisogno. Il concetto è questo: se noi ci scambiamo una mela, avremo sempre una mela a testa ma se ci scambiamo un’idea, avremo due idee a testa, se poi in questo scambio si aggiungono altre persone, le idee saranno moltiplicate proporzionalmente… è un bel traguardo, non trovate? (speriamo di riuscire a raggiungerlo).
Condivido con Tiziano che questa presentazione è scarna di informazioni ma, è solo una presentazione! la seconda e la terza parte (che sono già pronte)cercano di colmare, anche se solo in parte, questa lacuna e, se ci saranno consensi, si potrà approfondire in base alle domande che verranno poste. Quindi che sia chiaro: non mi offenderò su nessun commento, anzi spero che ne arrivino altri che mi permetteranno di approfondire.
A delfino_curioso direi che siamo in sintonia e concordo che nessuno si deve sentire offeso per aver fatto notare questa differenza tra “il vecchio e il nuovo” perchè non è assolutamente una provocazione ma un semplice espediente per far notare alcune “carenze del nuovo” che portano a risultati poco validi e spiego il perchè: leggendo in giro per il web, ho notato che molte persone sono riuscite a bruciare diversi microcontrollori semplicemente perchè non hanno tenuto conto del fan-out
degli stessi, ciò vuol dire che hanno tralasciato (e sottovalutato) le basi dell’elettronica digitale.
In tutto questo vorrei far notare che non sono contrario all’era di Arduino (lo utilizzo anch’io con piacere) ma semplicemente vorrei far capire che non si va lontano senza le basi teoriche, siamo tutti d’accordo che sono più che tediose ma altrettanto necessarie.
Ciao
Mario
La diatriba tra teoria e pratica è forse vecchia come il mondo: c’è sempre stato chi si considerava bravo a fare le cose contro chi invece cercava di capire perché certe cose funzionano. Il punto di incontro sta nel capire come “fare bene” le cose e questo lo si può fare sono se si capisce come le cose funzionano. Devo dire che io sono sempre stato un “teorico” e nelle discussioni con amici più “smanettoni” ho sempre sostenuto che non basta saper accendere un led (con arduino piuttosto che copiando uno schema da una rivista) ma capire perché è necessario quel componente ( o riga di codice). Solo allora si è padroni di modificare a piacimento uno schema o un programma senza fare “danni” ma soprattutto prevedendo il funzionamento: il risultato di una qualunque azione dovrebbe essere la verifica di quanto aspettato e non una scoperta!
Detto questo, faccio i miei complementi a Marven, che si professa un “non docente” ma secondo me ha tutte le caratteristiche, oltre che lo spirito giusto, per fare bene. L’articolo è scritto bene (senza nulla togliere agli altri autori) e veramente con un piglio da insegnante. Il metodo mi ricorda quello anglosassone: partendo dagli esempi si cerca di capire il perché del funzionamento. Forse noi Italiani pecchiamo nel cercare di fare prima tutta la teoria senza mai “vedere” un’applicazione e questo genera disaffezione negli studenti, ciononostante non ci si può accontentare di un “giocattolo” funzionante senza mostrare come si arriva a qualcosa di concreto.
Concludo con un in bocca al lupo, continua così, e magari un esempio di uso del 555 può essere lo spunto per un prossimo articolo!
Ok, dato che mi sembra di capire che per il 555 dovrò aspettare il prossimo articolo :(, proporrei di allegare il datasheet del 4011.
Che ne dici Mario?
Ciao
Tiziano
Grazie Gianluca, gentilissimo 🙂 sono pienamente d’accordo con quanto affermi e il tuo commento mi da lo spunto per completare quanto ho scritto sopra, io ho iniziato il mio “viaggio” con l’elettronica (quando ancora era in uso la clava) con l’erronea convinzione che è la pratica che fa l’esperto, poi mi sono accorto che la pratica ci rende solo più veloci ma, senza la teoria di base, serve solo a far avanzare l’esperienza a passo di lumaca, per contro, la sola teoria non ci fa diventare esperti ma ci da solo “l’impressione” di essere diventati bravi. Il connubio teoria/pratica non ci renderà sicuramente bravi ma potremo senz’altro affermare di essere abbastanza esperti fino a riuscire a sbagliare meno di tanti altri nel progettare un qualsiasi circuito elettronico, non è il mio caso, visto che ho così tanto da imparare da autodefinirmi troppo indietro nel campo dell’elettronica.
Vorrei fare un’osservazione: leggendo un libro di testo, ci rendiamo conto che è così tedioso da non riuscire a capire qual’è la soluzione anche se in realtà è spiegata fin nei minimi particolari, questo perchè è così “pesante” che alla fine preferiamo la soluzione “chiavi in mano” e, senza impazzire più di tanto utilizziamo progetti creati da altri.
EOS, grazie alla collaborazione di tutti quanti, ci da l’opportunità di evitare gli odiosi libri di testo e, contemporaneamente ci permette di crescere notevolmente, basta cogliere l’attimo… Piero non fa altro che ripetere che la possibilità di inserire un commento serve proprio a migliorare e approfondire gli argomenti trattati.
Per il 555, vista la richiesta, dedicheremo magari la quarta parte a questo dispositivo 😉 (scusami Tiziano ma la seconda e terza parte sono state già consegnate).
Non so come si posta un file nei commenti, magari inserisco il datasheet nella prossima parte.
Ciao
Mario
anche se ormai come già detto i componenti che avete preso in considerazione sono passati di moda è giusto cominciare da quella che è stata la storia passata perchè diventerà poi la base dei sistemi di oggi, che anche se miniaturizzati ed implementati i concetti base rimangono quelli passati