PIC16F876 |
|
Controllo di 14 servomotori via seriale con PIC.
Grazie
allo studio degli articoli di fisertek ho potuto capire e
riprogettare una variante del controllo servomotori.
Questa scheda è munita di porta seriale
per il controllo diretto di 14 servomotori installabili direttamente alla porta
B (otto) e alla porta C (6 perchè due pin sono impegnati per la programmazione
ICSP). La ICSP peremette la programmazione via seriale del PIC
direttamente sul circuito ICSP in circuit serial programming. Il sistema è
predisposto per acquisire direttamente al port A i cinque segnali analogici
necessari per il progetto RobotHand2 che sta per essere sviluppato in questo
sito. Il circuito parte dalla base della scheda demoboard per
PIC16F876 presentato sempre in questo sito.
download file FidoCad scheda controllo 14 servomotori, comunicazione seriale e ingressi analogici
scheda multi esemplare e amplificatori audio 3+3 watt
Nella foto possiamo vedere un esemplare della scheda di controllo dei 14 servomotori (si tratta in realtà di una variante della scheda demoboard presentata in questo sito). Per evitare la presenza di troppi cavi di connessione sono stati allacciati solo due servo, il primo verso il basso si trova alla porta PORT C e precisamnte a RC1, mentre il secondo più in alto alla porta PORT B e precisamente al PORT B2. I LED che nella foto risultano collegati alla PORT A ai segnali A0 e A1 sono presenti solo per eseguire un test della comunicazione seriale. Questo test avviene tramite l'inserimento di un piccolo programma sviluppato dall'amico Emanuele Secchi di Roma che ha la seguente funzionalità: Se il PIC si è avviato regolarmente (e quindi la scheda non ha problemi hardware e il pic sta facendo girare il suo programma correttamente) risulta acceso, ma inviado tramite la seriale la stringa @P123 ret il led si spegne. Ho successivamente modificato il programma di Emanuele per riaccendere il LED tramite la stringa @Q123 ret , dato che il comando di riaccensione che inizialmente mi aveva fornito risultava in conflitto logico con l'abilitazione del servo numero 9. (in origine infatti questa scheda avrebbe dovuto pilotare solo 8 servomotori). L'esemplare in figura ha montatao un quarzo da 4 Mhz anzi che 20Mhz ma ha una buonissima velocità in risposta.
Come è ben visibile nella foto, il filo di controllo ovvero quello blu è innestato nei pin dalla parte più vicina al processore, è bene fare attenzione a non invertire l'innesto perchè si potrebbe danneggiare il PIC.