L'elettronica di comando e controllo 1.1 Progettazione dei circuiti I circuiti che sono stati realizzati sono 5: il circuito di funzionamento del microprocessore; l'interfaccia RS232; l'interfaccia per i servomotori; il circuito di alimentazione; il circuito generale. Ognuno di questi circuiti è stato progettato utilizzando il software Proteus 6 che permette il disegno degli schemi elettrici, la simulazione ed il disegno delle piste da incidere sul rame. 1.1.1 Il cuore: circuito di funzionamento del microprocessore Il circuito di funzionamento del microprocessore PIC16F876A (figura 1.1) serve, oltre a fornire l'alimentazione (non disegnata nella figura 1.1), nel fornire un clock esterno tramite un quarzo (X1), nel collegare i pin utilizzabili per l'I\O a dei connettori (Ra, Rb, Rc) e nel fornire un sistema di reset asincrono del processore (costituito dal pulsante). Figura .1: Schema modulo PIC Il PIC per il suo funzionamento necessita di una tensione stabilizzata a 5V che, nel caso specifico, andrà fornita al pin 20 (Vdd, positivo) e ai pin 19 e 8 (Vss, massa). È necessario fornire al microprocessore anche un clock per temporizzare le operazioni del chip. Da questa frequenza dipende la quasi totalità delle operazioni interne ed in particolare la velocità con cui il PICmicro esegue le istruzioni del programma. Il clock in questo caso è fornito da una circuiteria esterna composta da un quarzo e due condensatori collegati ai pin 9 (OSC1/CLKIN) e 10 (OSC2/CLKOUT) a loro volta collegati internamente al circuito di generazione della frequenza di clock (che tratteremo più avanti). Il pin 1 (MCLR) serve ad effettuare il reset del PICmicro. Normalmente viene mantenuto a 5 volt tramite la resistenza di pull up R1 e messo a zero quando si desidera resettarlo. Grazie alla circuiteria interna di reset di cui è dotato, non è necessario collegare al pin MCLR pulsanti o circuiti RC per ottenere il reset all'accensione; durante il funzionamento, per effettuare il reset sarà sufficiente premere il pulsante riportato in figura 1.1. Tutti i pin che possono essere utilizzati (come input o output) sono stati collegati a dei connettori maschio. La funzione del diodo D1 è quella di evitare che durante la pressione del tasto di reset o durante la programmazione (nella quale è richiesta una tensione aggiuntiva Vpp) sul pin 1 ci sia una tensione sbagliata (in pratica fa una mutua esclusione tra il ramo di reset e quello di Vpp e tra il ramo di Vdd e quello di Vpp. Il ramo di reset e Vpp non saranno mai in conduzione contemporaneamente). Il condensatore C3 serve esclusivamente a filtrare e stabilizzare la tensione di alimentazione del microprocessore. Questo evita eventuali rischi di reset durante piccoli sbalzi di tensione. 1.1.2 L'interfaccia RS232 Per permettere la comunicazione tra il PICmicro ed il PC è stato necessario realizzare un'interfaccia che convertisse i livelli logici dello standard RS232 (-/+12Volt) in livelli logici TTL gestibili dal PIC (0/5Volt). Figura .2: Schema interfaccia RS232 Per questa interfaccia è stato utilizzato l'integrato DS275 della Maxim come convertitore di livelli logici, preferito al più conosciuto MAX232 (sempre della Maxim) che necessita di componenti esterni (almeno 4 condensatori) e quindi risulta molto più ingombrante. C'è da dire però che il DS275 è molto meno efficiente del MAX232 su cavi seriali abbastanza lunghi (qualche metro), ma questo non implica problemi nel nostro caso. Il diodo D1 ha la funzione di evitare danneggiamenti dovuti all'inversione dell'alimentazione. Il fatto che come alimentazione dell'integrato ci siano 5,7V (anziché i normali 5V) dipende dalla presenza del diodo di protezione D1 che crea una caduta di tensione di circa 0,7V. 1.1.3 L'interfaccia per i servomotori Questo circuito ha il solo compito di indirizzare i vari segnali e le tensioni ai tre servomotori. Anche qui come alimentazione per ogni servo è prevista una tensione di 6,7V sempre a causa della caduta sui diodi di protezione (D1, D2, D3). Figura .3: Schema interfaccia per i servomotori 1.1.4 L'interfaccia di alimentazione Figura .4: Schema interfaccia di alimentazione Questo circuito ha il compito di alimentare tutta la parte elettronica attraverso sei linee. Queste sono praticamente identiche tranne che nelle prime tre sono presenti dei regolatori di tensione a 6V (7806) mentre nelle restanti dei regolatori di tensione a 5V (7805). Oltre a questa differenza abbiamo che nelle prime cinque linee è presente un diodo tra la massa del regolatore e quella del circuito mentre nell'ultima no. L'inserimento di questo è dovuta al fatto che le prime cinque linee sono adibite all'alimentazione di circuiti aventi un diodo di protezione (e quindi una caduta di tensione di ~0.7V sull'alimentazione). I diodi inseriti tra il pin GND e la massa hanno il compito di "abbassare" la tensione di riferimento (la massa) dei regolatori di ~0.7V permettendo di avere una tensione di uscita pari a: V V V out reg d dove Vout è la tensione di uscita della linea, Vreg è la tensione standard di uscita del regolatore (7805-> 5V; 7806->6V) e Vd è la caduta di tensione sul diodo. I condensatori agli ingressi e alle uscite dei regolatori hanno il compito di filtrare la tensione stabilizzandola. Anche qui è stato inserito un diodo di protezione D7 sulla linea di alimentazione generale. Il voltaggio massimo di ingresso è dovuto alla capacità di lavoro dei regolatori. Le caratteristiche di questi integrati variano da costruttore a costruttore ma, in generale, hanno come tensione massima di ingresso 15V e permettono il passaggio di circa 1~1.5A. Questo circuito può essere alimentato direttamente dalla linea del diodo D7 con l'utilizzo di un particolare connettore da inserire in J1 (collegamento del pin 2 di J1 con i pin 1,3,5,7,9 e 13) oppure lasciando disconnessa la linea di D7 connettendo J1 tramite un apposito cavetto con il pannello generale, che tratteremo nel paragrafo successivo. 1.1.5 Il pannello generale Figura .5: Schema pannello generale Questo circuito serve per il controllo dell’alimentazione. Il connettore J2 deve essere collegato al connettore J1 del circuito di alimentazione. Mediante lo switch SW1 del pannello generale, composto da singoli commutatori, abbiamo la possibilità di togliere l'alimentazione generale (interruttore 1 di SW1) o semplicemente disattivare ciascuna linea dell'interfaccia di alimentazione (interruttori 2-7 di SW1). I led D1…D7 hanno l'utilità di indicare la presenza di alimentazione o meno sulla rispettiva linea. Le resistenze R1…R7 (250 Ω) invece servono per limitare il più possibile il passaggio di corrente nei led. Il fusibile ha il compito di prevenire danni da sovracorrente dovuti al maggior assorbimento dei servomotori. Nel pannello sono stati inseriti anche dei connettori (collegati alla scheda del PIC e non riportati in figura 1.5) per permettere la programmazione, il reset asincrono del microcontrollore e la selezione dei valori da caricare al boot (quelli default o quelli salvati nella eeprom). Figura .6: Pannello generale