Tips & Tricks - PIC

 


Interfacce per microcontroller


Come interfacciare i pin del microcontroller con l' esterno

I microcontroller embedded si prestano per loro natura ad essere interfacciati quanto più direttamente possibile con l' ambiente che devo controllare o da cui devo ricavare informazioni. 
Molta parte della letteratura disponibile riguarda la programmazione, mentre sui metodi e sulle problematiche dei sistemi di acquisizione e controllo non c'è altrettanto. 

Iniziamo qui una serie di pagine relative a circuiti di interfaccia tra i pin del microcontroller e l' ambiente esterno. Lo scopo di queste pagine è quello di tratteggiare alcuni sistemi per interfacciare il microcontroller con segnali digitali ed analogici e con attuatori o segnalazioni.
Si presuppone che il lettore abbia una minima conoscenza di base dell' elettronica, anche se si cercherà di procedere quanto più semplicemente possibile.
 
La progettazione di circuiti di interfaccia può richiede una certa quantità di matematica per calcolare i valori dei componenti, ma è stata ridotta al minimo possibile e i riferimenti sono per la maggior parte alla legge di Ohm, anche se chi volesse procedere allo studio di interfacce complesse può necessitare di una conoscenza maggiore.

Il riferimento specifico è ai PIC di Microchip, ma quanto detto ha valore per qualsiasi embedded come AVR, Cypress, 8051 o board come Arduino e simili. E non ci sono riferimenti a particolari linguaggi, dato che le interfacce riguardano essenzialmente l' hardware.

Si tratta, quindi, di una serie di idee, circuiti e consigli su come comandare dal microcontroller carichi esterni e su come ricevere segnali dall' esterno. Non c'è un particolare ordine di presentazione dei suggerimenti, ma possiamo dividere le azioni sui pin di I/O del microcontroller in:

  • Uscite digitali : comando di carichi (relè, LED, display, motori, solenoidi, ecc.) attraverso le variazioni di livello dei pin configurati come uscite.
      

  • Ingressi digitali: ricezione dall' esterno di eventi ( contatti, pulsanti, selettori, fine corsa, ecc.)come livelli logici.
     

  • Uscite analogiche: ottenere una tensione analogica attraverso i pin configurati come uscita.
     

  • Ingressi analogici: come adeguare i segnali analogici in ingresso per misurarne il valore attraverso il modulo ADC integrato.

Può essere utile consultare anche le seguenti pagine:


Output digitali

I microcontroller dispongono essenzialmente di pin gestibili come uscite digitali.
Lo scopo di queste uscite è comandare elementi esterni che trasformano le istruzioni del programma in azioni di regolazione, visualizzazione, accensione e spegnimento necessari ai processi controllati.

l pin dei microcontroller PIC di Microchip possono erogare solitamente fino a 25 mA. E, analogamente, anche altri microcontroller hanno capacità di uscita simili.


25 mA sono sufficienti a comandare piccoli carichi direttamente dal pin del microcontroller .

LED, display a sette segmenti, relè reed, SSR, piccoli relè, cicalini e buzzer, micro altoparlanti, micromotori, servo comandi e, comunque, carichi con resistenza da 180 ohm in su potranno essere connessi direttamente al pin (ricordare la necessità di un diodo in parallelo ai carichi induttivi e di una resistenza per limitare la corrente in LED e display).

E' importante ricordare che 25 mA è un valore massimo e per di più va inteso come compreso nel limite massimo di corrente complessiva che il microcontroller può erogare. Questo massimo rende impossibile a più di qualche pin di far circolare contemporaneamente i 25 mA. Pertanto si potranno azionare uscite solo entro questo limite. Inoltre la corrente emessa (source) o assorbita (sink) dal pin passa attraverso il chip del microcontroller e contribuisce al suo riscaldamento: minore è, minore sarà lo stress per il silicio (e maggiore la durata della vita del componente) e minori saranno le possibilità di ingresso di disturbi nell' esecuzione del programma.

Nel caso in cui il carico superi questa corrente occorrerà un buffer; e ugualmente occorrerà il buffer se il carico è alimentato a più della Vdd. Ma buffer serviranno anche nel caso in cui il carico complessivo superi la massima corrente che può attraversare il chip o anche quando si desidera lavorare in piena sicurezza, minimizzando la corrente assorbita dal chip.


Quindi, LED ad alta corrente, grossi display, motori, motori a passi, relè, solenoidi, lampadine a incandescenza, riscaldatori, carichi a tensioni più elevate della Vdd o in corrente alternata, non sono gestibili direttamente dai pin del microcontroller e richiedono una interfaccia.

Richiederanno interfacce e adattamenti anche le linee di comunicazione (RS-232, RS485, ecc.), dato che funzionano con segnali non gestibili direttamente dai pin del microcontroller. 

Vediamo allora alcune modalità di interfaccia tra microcontroller e carico.


Input digitali

I microcontroller dispongono di varie modalità di ingresso programmabili sui pin per fornire al programma i dati di ingresso delle elaborazioni.
A questo scopo è stata ideata una vastissima gamma di sensori che trasformano in segnale elettrico posizione, velocità, fine corsa, prossimità, temperatura, ecc.
E anche per permettere all' utente di interagire con il processo attraverso tasti, pulsanti o il semplice tocco.

Vediamo alcune soluzioni comuni.

 


Input analogici

I microcontroller che dispongono di ingressi digitali (ADC, comparatori, rilevatori di livello della tensione, ecc) consentono di effettuare acquisizione dei valori di tensione, corrente, potenza, calore, pressione, peso, accelerazione, luminosità, suono, ecc.
Il limite degli ingressi analogici è la loro possibilità di operare in un campo di tensione ristretto tra la Vss e la Vdd. Occorre spesso inserire dei circuiti di adattamento tra i segnali che arrivano dall' esterno e il microcontroller.

Vediamo alcune soluzioni per situazioni comuni.

 


Output analogici

Alcuni microcontroller dispongono di uscite analogiche comandate da DAC integrati, ma è sempre possibile generare tensioni analogiche a partire da segnali digitali, attraverso reti resistive o con il PWM o componenti esterni.

Vediamo alcune soluzioni per situazioni comuni.

  • in costruzione

 


 

 

Copyright © afg . Tutti i diritti riservati.
Aggiornato il 04/09/12 .