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.

 

  Pagina precedente