servomotori ( 1 )
Transcript
servomotori ( 1 )
Corso di BASCOM 8051 - (Capitolo 2 5 ) Corso Teorico/Pratico di programmazione in BASCOM 8 0 5 1 . Autore: DAMINO Salvatore. SERV OMOT O RI ( 1 ) Un Servomotore è un organo meccanico di potenza, in grado di gestire un movimento, il quale può essere comandato da un segnale logico di bassa o bassisima potenza. In questo caso non ci occuperemo dei sofisticati modelli industriali ma dei più più comuni modelli per uso nel modellismo per aerei, navi, auto, robot, ecc. Stiamo parlato di quelli che, in gergo, vengono chiamati SERVOS, in Inglese, o piu semplicemenre SERVO, in Italiano, e che molti appassionati adoperano, o vorrebbero adoperare, sui propri modelini. Alcuni tipi di Servomotori o, piu comunamente detti, Servo. Il Servo è generalmente alloggiato in un contenitore ed è costituito da un motore elettrico, completo di riduzione meccanica, un sistema di feedback per la posizione dell'asse di uscita e tutta l'elettronica di controllo. Tramite un opportuno sistema di comando è possibile far ruotare l'asse di uscita del servo e posizionarlo in una specifica e precisa posizione. 127 Collegamento Elettrico di un Servo. Esistono Servo di varia potenza, ingombro, funzionalità, ecc. ma la caratteristica fondamentale è che si comandano tutti allo stesso modo. 128 Vista Interna di un tipico Servo. Qui si possono vedere le parti meccaniche del servo. Ci si può rendere conto che esso non è che una serie di ingranaggi che ha lo scopo di ridurre il numero dei giri del motore ad un valore utilizzabile dal dispositivo che deve essere comandato. Notate bene che l'albero di uscita del servo, normalmente, può ruotare soltanto di 180°. Per superare questo limite occorre adoperare dei Servo in grado di superare i 360° oppure modificare il servo. Schema a Blocchi di un tipico Servo. 129 Per gestire il Servo occorrono solo 3 fili. Due sono quelle della alimentazione che, in genere, è di 6Vdc ma, a scapito di una riduzione della potenza, è accettato anche il 5Vdc. Un terzo filo è quello del segnale di Controllo e che è tipicamente a livello TTL. Elementi Costitutivi di un tipico Servo. Approfitto dell'occasione per ribadire che, nonostante ci sia una notevole somiglianza, il segnale di controllo dei Servo NON è assolutamente un segnale PWM come molti, male informati, continuano a credere ed a predicare. La notazione corretta è PCM ovvero Pulse-Code Modulation che, letteralmente, si può tradurre come Modulazione Codificata di Impulsi. Per convincersi è sufficiente confrontare i due segnali con un normale oscilloscopio. Il funzionamento del Servo è molto semplice. Come si può osservare, dallo schema a blocchi, il segnale di Controllo arriva all'Elettronica. Questa lo confronta con il valore presente sul Potenziometro e decide se deve fare ruotare il motore ed in che direzione. Impulso di Controllo Centro. Max Costruttore Min. Hz +V Servo GND Controllo Futaba Hitech Graupner/Jr Multiplex Robbe 50 50 50 40 50 Rosso Rosso Rosso Rosso Rosso Nero Nero Marrone Nero Nero Bianco Giallo Arancio Giallo Bianco 0.9 0.9 0.8 1.05 0.65 1.5 1.5 1.5 1.6 1.3 2.1 2.1 2.2 2.15 1.95 Cavi di Collegamento Tabella Riassuntiva delle caratteristiche 130 di alcuni Servo. Per comandare un Servo occorre, tramite il filo di controllo, inviare allo stesso una serie di impulsi TTL. La durata del singolo impulso determina la posizione dell'asse di uscita. Il tempo di pausa, tra un impulso ed il successivo, può variare entro ampi limiti senza che si abbia una perdita di controllo del Servo. Dopo avere data una descrizione qualitativa cominciamo a dare delle indicazioni quantitative stabilendo dei precisi valori numerici. La durata dell'impulso può variare tra un minimo di 1mS ed un massimo di 2mS. In funzione della durata di questo impulso il Servo farà ruotare il perno di uscita, solidale con il potenziometro, fino al raggiungimento del completo equilibrio. Relazione Esistente trà Larghezza degli Impulsi e Rotazione. La durata minima e massima dell'impulso corrisponde ai due estremi dell'escursione del Servo. L'impulso della durata di 1,5ms corrisponde alla posizione centrale, o mediana, del Servo. 131 Bisogna ricordare che questo impulso deve essere continuamente rinfrescato (ripetuto) altrimenti il Servo, non essendo più governato, si porterà a riposo. Questo significa che non potrà più garantire di mantenere la posizione e l'albero potrà essere mosso dalle forze attualmente presenti del carico applicato. La durata della Pausa, tra un impulso ed il successivo, deve essere compresa tra un minimo di 10ms ed un massimo di 40ms. La durata tipica della Pausa tra gli impulsi è di 20ms che sono pari a 50Hz. Tipico Esempio di Utilizzo dei Servo. 132 Applicazione dei Servo nei Robots. Modello di Automobile. 133 Tipici Radiocomandi. Modello di Aereo Radiocomando con Motore Elettrico. 134 Esempio di Applicazione per Controllo Carrello. 135 Modello di Nave Radiocomandata. Servomotori di Tipo Industriale. 136 ESEMPI D I UT I L I Z Z O L'Esempio.041 illustra come utilizzare le Istruzioni del BASCOM 8 0 5 1 per gestire dei Servo. La gestione del Servo motore viene effettuata con le Istruzioni ad alto livello del BASCOM. Queste generano un segnale che non segue esattamente le specifiche temporali del segnale PCM di controllo del Servo, ma che comunque riesce a farlo muovere correttamente. Le Istruzioni del BASCOM usano un Interrupt periodico generato dal TIMER0, che quindi non può essere usato per altre funzioni!!! La Risoluzione (=durata) delle temporizzazioni è definita dal valore di Reload impostato con l'istruzione Config Servo... e dalla posizione settata con l'istruzione Servo..., come indicato nell'aiuto in linea del BASCOM. Questo demo imposta un tempo di reload minimo che non provoca vibrazioni del servo, pari a 50 µs, in modo da ottenere una risoluzione massima sulle posizioni. Schema Applicativo per Collegare il Servo. L'Esempio.042 è un'evoluzione del precedente. Esso infatti consente di poter pilotare il Servo tra 0 ° e 2 0 0 ° con continuità. Queste operazioni vengono effettuate utilizzando le Istruzioni ad alto livello del BASCOM con delle modalità analoghe a quelle dell'esempio precedente. Le posizioni sono decise dall'utente che inserisce direttamente il numero di R e l o a d da console. 137 Esempio.041. Servomotore. Da Console si può scegliere di muoversi a 0° a 90° oppure a 180°. Definizioni aggiunte: Nessuna Dichiarazioni aggiunte: Nessuna Istruzioni aggiunte: CONFIG SERVOS ; SERVO1 Operatori aggiunti: Nessuno Programma di Esempio.041 del corso BASCOM 8051. Il programma consente di posizionare un Servo Motore nelle posizioni di inizio corsa (0°), metà corsa (90°) e fine corsa (180°), tramite apposita scelta con menù da console. Il segnale prescelto per controllare il Servo è il P1.3 del Mini Modulo, riportato sul connettore CN4.3 della GMM TST3. Per le prove del programma è stato usato il modello Servo standard 9 0 0 - 0 0 0 0 5 prodotto dalla Parallax ma si può tranquillamente adoperare anche altri modelli di Servo come quelli, ad esempio, della Futaba od altri. Il programma si presenta ed usa una console seriale dotata di Monitor e Tastiera, con un protocollo fisico costante a 19.200 Baud, 8 Bit x chr, 1 Stop bit, Nessuna Parità. Questa Console può coincidere con un sistema in grado di gestire una comunicazione seriale in RS 2 3 2. Al fine di semplificarne l'uso si può usare un PC dotato di una linea COMx, che esegue un programma di emulazione terminale come HYPERTERMINAL o l'omonima modalità offerta dal BASCOM 8 0 5 1 (vedere Configurazioni IDE) . Il programma funziona solo se la GMM 5 1 1 5 è montata sullo zoccolo Z2 della G M M TST3!! 138 Esempio.042. Servomotore. Da Menù si può scegliere di muoversi in qualsiasi posizione compresa trà 0° e 180°. Definizioni aggiunte: Nessuna Dichiarazioni aggiunte: Nessuna Istruzioni aggiunte: Nessuna Operatori aggiunti: Nessuno Programma di Esempio.042 del corso BASCOM 8051. Il programma consente di posizionare un Servo Motore in tutte le posizioni della sua corsa (0°÷200°), tramite apposito valore inserito da Console. Il segnale prescelto per controllare il Servo è il P1.3 del Mini Modulo, riportato sul connettore CN4.3 della GMM TST3. Per le prove del programma è stato usato il modello Servo standard 9 0 0 - 0 0 0 0 5 prodotto dalla Parallax ma si può tranquillamente adoperare anche altri modelli di Servo come quelli, ad esempio, della Futaba od altri. Il programma si presenta ed usa una console seriale dotata di Monitor e Tastiera, con un protocollo fisico costante a 19.200 Baud, 8 Bit x chr, 1 Stop bit, Nessuna Parità. Questa Console può coincidere con un sistema in grado di gestire una comunicazione seriale in RS 2 3 2. Al fine di semplificarne l'uso si può usare un PC dotato di una linea COMx, che esegue un programma di emulazione terminale come HYPERTERMINAL o l'omonima modalità offerta dal BASCOM 8 0 5 1 (vedere Configurazioni IDE) . Il programma funziona solo se la GMM 5 1 1 5 è montata sullo zoccolo Z2 della GMM TST3!! 139
Documenti analoghi
Capitolo.021
Il programma si presenta su una console seriale dotata di monitor e tastiera, con
un protocollo fisico costante a 19.200 Baud, 8 Bit x chr, 1 Stop bit,
Nessuna Parità .