eurocardPLC
Link Articolo Originale: http://www.grix.it/viewer.php?page=10779
Buongiorno a tutta la comunità, è la mia prima pubblicazione e vorrei condividere con voi questo piccolo progetto .
Si tratta della realizzazione di una scheda formato eurocard (10x16cm.) con microcontrollore pic16f628 utilizzata in sostituzione di un piccolo plc commerciale andato in avaria.
Schema elettrico
Prima di procedere nella spiegazione dello schema elettrico vorrei far capire ai meno esperti cosa sia un plc. Il termine PLC non è nient'altro che l'abbreviazione di: Programmable Logic Contoller. In pratica è un computer programmato per controllare il funzionamento di una macchina.
Il compito di un plc consiste nell'acquisire segnali provenienti dai sensori disposti sul macchinario (pulsanti, microswitch, fotocellule) tramite i morsetti di ingresso del PLC ed in base al programma di esecuzione fornire altri segnali ai morstti d'uscita per controllare degli attuatori (motori, valvole, pistoni). Il programma che gestisce la logica di funzionamento del controllore viene sviluppato su PC tramite appositi software e poi caricato nella memoria interna del PLC.
Questi apparecchi sono apparsi ormai da più di una ventina di anni nei quadri elettrici industriali per sostituire la logica cablata a relè. Gli apparecchi moderni hanno raggiunto capacità impressionanti e sono in continua evoluzione.
Il mio prototipo non è un vero e proprio PLC, tuttavia può compiere tranquillamente dei piccoli compiti di automazione.
Passiamo ora allo schema elettrico:
clicca per ingrandire |
Dal disegno riportato sopra, si possono fondamentalmente notare quattro blocchi.
1) La sezione di alimentazione in alto a centro pagina.
2) La sezione degli ingressi digitali sul lato sinistro della pagina.
3) Il microcontrollore e il connettore (jprogram) per la programmazione, in cento pagina.
4) La sezione delle uscite digitali sul lato destro dello schema.
Partendo dall'alimentatore:
clicca per ingrandire |
da sinistra ci sono i morsetti per prelevare i 24 volt forniti dal secondario di un trasformatore, la tensione raddrizzata dal ponte di diodi e filtrata da C1 a circa 32v. può essere subito utilizzata per alimentare i relè. Proseguendo si trova il blocco formato da R9,Q9,DZ1 che è uno stabilizzatore con transistor in serie al carico. La tensione di uscita sull'emettitore di Q9 vale: Vuq9=Vdz-Vbe, dove Vdz è la tensione del diodo zener e Vbe è la tensione di polarizzazione base-emettitore di Q9
Il principio della regolazione stà nella variazione della tensione base-emettitore.
Dalla formula precedente si ricava che:Vbe=Vdz-Vuq9. Sapendo che la tensione sul diodo zener non varia, ogni minima
variazione di Vuq9 si riperquote inversamente sulla Vbe.
Se per esempio la tensione sul carico tende a diminuire per un aumento di consumo di corrente; la tensione sulla giunzione base-emettitore tende ad aumentare, come pure la corrente di base e di collettore, ripristinando la tensione d'uscita. (per i più attenti devo far notare che il blocco di riduzione a 12v. è stato copiato da altri progetti presenti sul sito, ritendolo un buon compromesso)
Segue il classico stabilizzatore di tensione per arrivare ai 5volt utilizzati dal microcontrollore e i fotoaccoppiatori degli ingressi digitali.
Veniamo ora a dare uno sguardo al circuito degli ingressi.
clicca per ingrandire |
Si nota subito che il circuito é ripetuto otto volte, quanto i pin della PortA. Prendiamo in esame il blocco piú in alto a sinistra.
Nell'immagine ho simulato tramite una sorgente DC 24V e il pulsante S1 il segnale proveniente da un sensore e applicato ai morsetti x1-1 e x1-9. Se il polo positivo é applicato a x1-1 la corrente circola nella maglia formata da R1, LED1, OK1 mandando in conduzione il diodo emettitore; il fascio luminoso generato manda in conduzione il fototransistor interno a OK1 cortocircuitando la tensione fornita da RN1 al pin. del microcontrollore.
In caso di inversione di polarizzazione la corrente attraversa D2 e R1 limitando la caduta di tensione sul diodo emettitore di OK1 che verrebbe velocemente danneggiato non sopportando una così alta tensione inversa.
Il circuito è regolato per accettare segnali a 24v., ma si puo adattare a diverse tensioni d'ingresso semplicemente sostituendo R1. Per calcolarne il valore si puo utilizzare questa formula: R1=(Vinput - Vled -Vde) / Ide.
Dove: Vled= 2V. è la caduta di tensione sul led1, Vde= 1,2V. è la caduta di tensione sul diodo emettitore, Ide=5-10mA. è la corrente del diodo emettitore.
Vorrei far notare che in assenza di segnale in ingresso (stato logico 0), il fototransistor è in interdizione (non coduce) per cui la tensione sul pin5 di OK1 sarà prossima ai 5v. (stato logico1). Quindi gli ingressi del microcontrollore operano in logica negata.
Passo ora a dare qualche notizia sul microcontrollore.
clicca per ingrandire |
Questo microcontrollore PIC16F628 è un modello abbastanza semplice, dispone di 18 pin, due utilizzati per l'alimentazione (+5V e GND) e i restanti per le due PortA e PortB. Il microcontrollore è predisposto per essere collegato ad un oscillatore esterno tramite gli ingressi OSC2 e OSC1. Tuttavia, esso dispone di un clock interno (che va abilitato in fase di programmazione). In questo modo possiamo liberare i pin per poterli utilizzare come ingressi da collegare ai nostri sensori. Anche il pin "MCLR" può essere sfruttato come ingresso digitale previo settaggio. Sul circuito è disposto anche il connettore utilizzato per la programmazione del chip.
Sezione uscite:
Anche qui nulla di nuovo: quando sul pin x della porta di uscita PortB (indicato in figura con la dicitura "Portb.x") è presente un segnale di alto livello (5V) il transistor entra in conduzione alimentando e facendo commutare il relè. Il D10 serve da protezione cortocircuitando il picco di tensione inversa generato dalla bobina del relè in seguito alla sua diseccitazione
Ci son tre particolari da notare:
1) la tensione di alimentazione (v+) vale circa 32v. e si utilizzano relè a 24v. Controllando attentamente il datasheet dei relè utilizzati si scopre che possono sopportare una tensione massima di alimentazione di 48v. e una resistenza della bobina di circa 3,3Kohm
2) il led è posto in serie all'alimentazione del relè, non c'è alcun problema data l'alta resistenza della bobina che determina una corrente tranquillamente sopportabile dal led. La corrente che circola nel led ed anche nella bobina è facilmente calcolabile con questa formuletta: Irelè=(Valimentazione - Vled - Vce) / Rrelè => (32-2-0,8)/3300 circa 9mA. Quindi utilizzando relè diversi verificate sempre il foglio dati o misurate che la corrente nel led non non sia tropo alta.
3) tra i pin del micro e R17,R18 sono presenti due jumper, vanno aperti in fase di programmazione altrimenti i segnali verrebbero degradati dal carico non riuscendo a portare a buon fine la programmazione.
4) per i meno esperti di schemi elettrici, sulla destra sono rappresentate le morsettiere con i contatti dei relè isolati galvanicamente dal resto del circuito. (lo scambio K1 viene azionato dalla bobina K1)
Circuito stampato e realizzazione
clicca per ingrandire |
Il circuito stampato è stato sviluppato con noto programma EAGLE, su basetta con un solo lato ramato. Ho utilizzato l'altrettanto famoso metodo "stira e ammira" per la realizzazione ed ecco qui il risultato a montaggio effettuato.
clicca per ingrandire |
clicca per ingrandire |
Faccio notare:
1) la presenza di fori che inizialmente avevo previsto per una resistenza tra massa e la base dei transistor dei fotoaccoppiatori, di cui non c'è traccia avendo successivamente ritoccato i disegni con EAGLE
2) il connettore a pettine in foto "ICSP" dispone dei pin da 1 a 5, nel disegno elettrico nominato "jPROGRAM" ha 6 pin, il pin 6 viene utilizzato solo con un metodo di programmazione detta "low voltage" che personalmente non utilizzo.
Il circuito stampato è sicuramente migliorabile, specialmente nella zona di collegamento tra contatti relè e morsettiere dove l'isolamento tra le piste è scarso; se utilizzato con carichi a 220v.
Metto qui a disposizione i file EAGLE utilizzati per la realizzazione.
Schema elettrico e circuito stampato formato EAGLE
Schema elettrico e circuito stampato formato PDF
Firmware
Il programma che ho caricato nel pic non vi può essere utile in quanto serve a controllare un carrello che corre su di un pendio per circa 40 metri con due pulsantiere di comando, vari controlli e azionamenti.
Non intendo dilungarmi su come caricare il software nel microcontrollore perchè ci sono varie possibilità dettate dai vari tipi di programmatori disponibili. Sostanzialmente tramite pc si tratta di caricare un file con estensione ".hex"con un software che gestisce una schedina (programmatore) collegato al connettore "ICSP". In rete è disponibile una grande quantità d'informazioni.
Metto a disposizione un semplice programma per testare il circuito. Molto semplice, sviluppato con il software "ldmicro". Praticamente alimentando un pin della porta d'ingresso si eccita il corrispondente pin sulla porta di uscita.
Resto a vostra disposizione per eventuali chiarimenti, perdonatemi se mi è sfuggito qualche errore grammaticale, ringraziandovi per la pazienza nella lettura vi saluto.
Ilvaldo.