Progetto PLC Open di plcforum Periferica PLCF001R0 Scheda controllo di posizione con I 2 C Bus Manuale d istruzione (versione preliminare) 1. Introduzione 2. Applicazione della scheda 3. Descrizione della scheda 4. Controlli e tarature 5. Specifiche elettriche Esclusione di responsabilità L autore e PLCforum non si assumono alcuna responsabilità per danni a cose o persone derivanti dall uso di queste note. E compito esclusivo dell utilizzatore mettere in atto tutte le precauzioni ed i criteri di buona progettazione per evitare inconvenienti e danni a beni e a persone. Livio S. Orsini Manuale d istruzione controllo di posizione. Pag.1 di 6
1 Introduzione. Il progetto PLC Open è un progetto lanciato da PLCForum per la realizzazione di un dispositivo programmabile adatto a realizzare semplici automazioni, domotica, impianti anti intrusione ed altro. Il sistema è stato progettato e realizzato rispettando le normative vigenti in campo industriale, però non è stato sottoposto ai controlli previsti per il conseguimento della certificazione CE. Il campo d applicazione previsto è ristretto all uso didattico, hobbistico e dometisco. Chi vorrà applicare questi dispositivi in ambito industriale, dovrà provvedere in proprio alla certificazione CE. Il sistema si compone di un unità centrale, programmabile in ladder diagram ed in basic. L unità centrale è dotata d ingressi ed uscite digitali galvanicamente separate dal campo. E possibile espandere l unità centrale con periferiche aggiuntive locali e remote. Le espansioni remote sono collegate tramite bus su RS485, mentre le espansioni locali si collegano tramite bus I 2 C. Le espansioni locale e remote possono essere passive o attive. Le unità attive hanno micro controllori a bordo. Le unità attive sono consegnate complete di firmware. L unità centrale è corredata dalle funzioni software per colloquiare con le unità periferiche attive e passive. La scheda PLCF001R0 è una periferica attiva. Essa ha un interfaccia per encoder incrementale con segnali 24v o 5v, Dispone anche di 3 uscite a 24v, con I<=200mA, per segnali di controllo. Dispone anche di due uscite 15v @10mA che ripetono i segnali di conteggio avanti e conteggio indietro. Tutti gli ingressi e le uscite hanno separazione galvanica tramite foto accoppiatori. La scheda richiede un alimentazione esterna +5v per la logica ed un alimentazione +24v per i segnali di comando. Le due alimentazioni devono avere i comuni separati. L alimentazione +5v è protetta dalle inversioni; deve essere stabilizzata e filtrata. Un ulteriore filtro sulla scheda blocca i disturbi condotti. Livio S. Orsini Manuale d istruzione controllo di posizione. Pag.2 di 6
2 Applicazione della scheda. La scheda può essere applicata vantaggiosamente quando vi è la necessità di raggiungere una posizione. Per realizzare il sistema di controllo della posizione, oltre alla scheda ed all unità centrale, sono necessari i seguenti dispositivi: 1 trasduttore di posizione di tipo incrementale, con segnali aventi ampiezza di 24v o di 5v 1 azionamento in c.c. od in c.a. dotato di comandi avanti-indietro, lento-veloce, a- bilitazione La scheda riceve dall unità centrale, tramite bus, la quota di rallentamento e la quota di fermata. I comandi d abilitazione e di marcia sono ingressi digitali @24v. Dall unità centrale possono essere inviate coppie di quote in successione. La scheda raggiungerà le posizioni in modo sequenziale, seguendo l ordine d introduzione. La scheda è anche in grado di eseguire una misura di frequenza, fornendo la costante di conversione frequenza velocità potrà restituire direttamente la velocità lineare espressa in m per secondo. La costante di conversione è di base uguale a 1000; in altri termini, se non sarà fornita una differente costante, la scheda compie la conversione sulla base 1ms ogni 1000 impulsi misurati nell unità di tempo. L unità di tempo è pari a 0,1s. L unità rivela, tramite gli impulsi in quadratura dell encoder, la direzione dl movimento. In uscita dalla scheda sono presenti due segnali di ripetizione degli impulsi avanti e indietro. Questi impulsi sono derivati direttamente dagli emettitori di due foto accoppiatori. I collettori dei due dispositivi sono collegati assieme all ingresso comune. I due fotoaccoppiatori possono essere alimentati con tensioni fino a 24v; sono necessarie due resistenze in serie agli emettitori per limitarne la corrente a circa 10 ma. Su comando dell unità centrale la scheda esegue automaticamente la ricerca di zero macchina. Per eseguire questa sequenza è necessario avere un encoder con marca di zero e di una camma finecorsa di zero. Su comando dell unità centrale la scheda può acquisire la posizione attuale come posizione zero. Livio S. Orsini Manuale d istruzione controllo di posizione. Pag.3 di 6
3 Descrizione della scheda La figura 3.1 illustra lo schema a blocchi della scheda. Fig. 3.1 Schema a blocchi del controllo di posizione I segnali dell encoder ed i comandi sono disaccoppiati tramite foto accoppiatori. I canali A e B, dopo la separazione galvanica, sono inviati al circuito di rivelazione della direzione. Da questo circuito si ricavano due segnali di clock: clock avanti e clock indietro. Ad ogni impulso completo d encoder è generato il corrispondente segnale di clock. Si considera impulso completo quando è stato rivelato un fronte di salita di A, seguito da un fronte di salita di B, o viceversa. Se B segue A si considera clock avanti, l inverso è considerato clock indietro. Gli impulsi di clock sono inviati a due ingressi d interrupt del controllore; sono anche inviati, dopo il disaccoppiamento galvanico, all uscita per eventuali successivi utilizzi. Il microcontrollore provvederà all elaborazione e conteggio dei segnali di clock. I segnali di Zero Index (marca di zero dell encoder), Zero (camma o micro di zero), Enable e Start, dopo il disaccoppiamento galvanico sono inviati al microcontrollore. Il segnale di Enable Quando è alto abilita la periferica; Il segnale di Start sulla transizione 0 1 carica, dalla memoria, la quota della posizione da raggiungere e, se non ci sono impedimenti, comanda l azionamento impostando il senso di marcia, la velocità e comandando la marcia. Dal microcontrollore escono tre comandi per l azionamento: Run, Slow e Forward. I segnali in u- scita ed in ingresso dalla scheda sono attivi alti. Il segnale Run se è alto abilita l azionamento, altrimenti l azionamento è disabilitato. Il segnale Slow alto comanda l azionamento alla marcia in velocità normale, se basso l azionamento riceve il riferimento di velocità di marcia a velocità lenta. Il segnale Forw, se alto, comanda l azionamento in marcia avanti; quando il segnale è basso l azionamento è comandato in direzione opposta. I segnali in uscita dalla scheda sono amplificati tramite dispositivi mosfet di potenza. Sono in grado di pilotare carichi che assorbono 200 ma fino ad una tensione di 24v. Sono protetti contro i cortocircuiti e contro i sovraccarichi. Livio S. Orsini Manuale d istruzione controllo di posizione. Pag.4 di 6
3.1 Descrizione delle operazioni La periferica riceve dal processore centrale i dati via bus I2C ed i comandi operativi per mezzo di segnali on-off ; questi comandi sono descritti nel paragrafo precedente. 3.1.1 Ricerca dello zero Prima d ogni altra operazione è necessario compiere la ricerca dello zero macchina. Questa operazione si esegue combinando l attivazione dei comandi Enable e Start con l invio di una richiesta tramite bus. Al momento del riconoscimento della transizione 0 1 del comando di Start, si esegue la verifica della contemporanea presenza del comando di Enable, e l avvenuta ricezione del codice di comando per la ricerca di zero. Se sussistono queste tre condizioni verrà comandata la marcia lenta indietro; il comando avverrà alzando l uscita Run e lasciando basse le uscite Forw e Slow. Il movimento a ritroso continuerà sino all incontro della camma di zero, questo evento si riconosce dal passaggio del segnale relativo da 0 a 1. Riconosciuta questa transizione la periferica comanda la marcia lenta avanti, alzando anche l uscita Forw. Il movimento in avanti continua sino al riconoscimento della marca di zero dell encoder, al riconoscimento di questo evento si azzera immediatamente il contatore di posizione e, contemporaneamente, si toglie il comando di Run così da fermare l azionamento. 3.1.2 Ricerca della posizione Il job di posizionamento si effettua se, e solo se, si sono verificate tutte le seguenti condizioni. Presenza in memoria di almeno una quota di posizione ed una di rallentamento; presenza in memoria della soglia di errore minimo di posizione; riconoscimento della transizione 0 1 del segnale di Start. Se queste tre condizioni sono verificate, la periferica da inizio alle operazioni di posizionamento. Se la posizione attuale dell asse precede la posizione di rallentamento, sarà comandata la marcia a velocità normale, altrimenti sarà comandata la marcia lenta. Ne consegue che, se la distanza tra posizione attuale e posizione finale, è minore o uguale al doppio della distanza tra traguardo di rallentamento e posizione finale, il profilo di velocità sarà di tipo triangolare; se la distanza è maggiore il profilo di velocità sarà trapezoidale. Se la posizione attuale è minore della posizione finale, sarà comandata la marcia avanti, altrimenti la marcia indietro. Quando la posizione attuale è compresa tra la posizione finale e la soglia di minimo errore, si considera raggiunta la posizione e si abbassa il segnale di Run così da fermare l azionamento. Per iniziare un nuovo ciclo di posizionamento è indispensabile che il segnale di Start sia abbassato a 0 per almeno 50 ms e poi rialzato ad 1 in modo che la periferica possa ricaricare una nuova coppia di quote. Se sono state memorizzate due coppie di quote, è sufficiente abbassare ed alzare la linea di Start per far lavorare in continuo la macchina. Questo è il modo più semplice perché l asse si muova dalla posizione A alla posizione B e viceversa. E altresì possibile caricare una nuova coppia di quote prima di alzare la linea di Start. Livio S. Orsini Manuale d istruzione controllo di posizione. Pag.5 di 6
3.2 Descrizione dei comandi tramite bus I2C L unità centrale comunica con la periferica tramite il bus I2C alla velocità di clock pari a 100 khz. Tramite questo bus si possono inviare comandi e dati. I comandi previsti sono: scrittura dati, lettura dati, misura della velocità, lettura della velocità, diagnostica della periferica. Il formato prevede sempre: 1. 1 byte d indirizzo della periferica in formato esadecimale. 2. 1 byte con il codice di comando in formato esadecimale. 3. 4 bytes, in formato esadecimale, contenenti i dati da inviare alla periferica. Indirizzo della periferica. L indirizzo di base è 0. La periferica accetta tutti gli indirizzi pari compresi tra 0 e E. Gli indirizzi possono essere solo pari, perché il bit meno significativo indica l operazione di lettura; se è zero il master scrive nelle slave, se è uno il master legge dallo slave. Il firmware di base della scheda contiene come indirizzo 0, per modificare l indirizzo il master dovrà inviare, all indirizzo 0, il comando 1x dove x è un numero pari che assegna il nuovo indirizzo. Misura di velocità. Il comando 20 disabilita la misura della velocità. Il comando 22 abilita la misura della velocità. il comando 21 legge la velocità misurata. Richiesta effettuazione ciclo di zero. Il comando 32 richiede alla scheda l effettuazione del ciclo di zero. Il comando 33 interroga la scheda circa l avvenuta effettuazione del ciclo di zero. Se la scheda ha portato a termine con successo il ciclo di zero, dopo l ultimo power on, risponde con 31, altrimenti con 30. Invio quota di posizionamento 1. Con il comando 40 seguito da 4 bytes, s invia la prima quota di posizione da raggiungere. I 4 bytes, in formato esadecimale, contengono il valore di quota espresso in 32 bits. Invio quota di rallentamento 1. Con il comando 41 seguito da 4 bytes, s invia la prima quota di rallentamento. I 4 bytes, in formato esadecimale, contengono il valore di quota espresso in 32 bits. Invio quota di posizionamento 2. Con il comando 42 seguito da 4 bytes, s invia la seconda quota di posizione da raggiungere. I 4 bytes, in formato esadecimale, contengono il valore di quota e- spresso in 32 bits. Invio quota di rallentamento 2. Con il comando 43 seguito da 4 bytes, s invia la seconda quota di rallentamento. I 4 bytes, in formato esadecimale, contengono il valore di quota espresso in 32 bits. In appendice alcuni esempi chiariranno meglio il meccanismo. Livio S. Orsini Manuale d istruzione controllo di posizione. Pag.6 di 6