Sommario:

Braccio robotico basato su microcontrollore PIC: 6 passaggi (con immagini)
Braccio robotico basato su microcontrollore PIC: 6 passaggi (con immagini)

Video: Braccio robotico basato su microcontrollore PIC: 6 passaggi (con immagini)

Video: Braccio robotico basato su microcontrollore PIC: 6 passaggi (con immagini)
Video: Simple Robot Arm you can build yourself 2024, Novembre
Anonim
Braccio robotico basato su microcontrollore PIC
Braccio robotico basato su microcontrollore PIC

Dalla catena di montaggio delle industrie manifatturiere automobilistiche ai robot per la telechirurgia nello spazio, i bracci robotici si trovano ovunque. I meccanismi di questi robot sono simili a quelli di un essere umano che può essere programmato per funzioni simili e maggiori capacità. Possono essere utilizzati per eseguire azioni ripetute in modo più rapido e preciso rispetto agli umani o possono essere utilizzati in ambienti difficili senza rischiare la vita umana. Abbiamo già costruito un braccio robotico Record and Play usando Arduino che potrebbe essere addestrato per svolgere un compito particolare e fatto ripetere all'infinito.

In questo tutorial, utilizzeremo il microcontrollore a 8 bit PIC16F877A standard del settore per controllare lo stesso braccio robotico con potenziometri. La sfida con questo progetto è che PIC16F877A ha solo due pin compatibili con PWN, ma dobbiamo controllare circa 5 servomotori per il nostro robot che richiede 5 pin PWM individuali. Quindi dobbiamo utilizzare i pin GPIO e generare segnali PWM sui pin PIC GPIO usando gli interrupt del timer. Ora, ovviamente, potremmo passare a un microcontrollore migliore o utilizzare un IC de-multiplexer per rendere le cose molto più semplici qui. Tuttavia, vale la pena provare questo progetto per l'esperienza di apprendimento.

La struttura meccanica del braccio robotico che sto utilizzando in questo progetto è stata completamente stampata in 3D per il mio progetto precedente; puoi trovare i file di progettazione completi e la procedura di assemblaggio qui. In alternativa, se non possiedi una stampante 3D puoi anche costruire un semplice Braccio Robotico utilizzando dei cartoni come mostrato nel link. Supponendo che tu abbia in qualche modo ottenuto il tuo braccio robotico, procediamo nel progetto.

Passaggio 1: Schema del circuito

Schema elettrico
Schema elettrico

Lo schema circuitale completo per questo braccio robotico basato su microcontrollore PIC è mostrato di seguito. Lo schema è stato disegnato utilizzando EasyEDA.

Lo schema del circuito è piuttosto semplice; il progetto completo è alimentato dall'adattatore 12V. Questo 12V viene quindi convertito in +5V utilizzando due regolatori di tensione 7805. Uno è etichettato come +5V e l'altro è etichettato come +5V(2). La ragione per avere due regolatori è che quando il servo ruota assorbe molta corrente che crea una caduta di tensione. Questa caduta di tensione costringe il PIC a riavviarsi da solo, quindi non possiamo far funzionare sia il PIC che i servomotori sullo stesso binario +5V. Quindi quello etichettato come +5V viene utilizzato per alimentare il microcontrollore PIC, LCD e potenziometri e un'uscita del regolatore separata etichettata come +5V(2) viene utilizzata per alimentare i servomotori.

I cinque pin di uscita dei potenziometri che forniscono una tensione variabile da 0V a 5V sono collegati ai pin analogici da An0 a AN4 del PIC. Poiché stiamo pianificando di utilizzare timer per generare PWM, i servomotori possono essere collegati a qualsiasi pin GPIO. Ho selezionato i pin da RD2 a RD6 per i servomotori, ma può essere qualsiasi GPIO di tua scelta.

Dato che il programma prevede molte operazioni di debug, un display LCD 16x2 è anche interfacciato alla porta B del PIC. Questo visualizzerà il ciclo di lavoro dei servomotori che vengono controllati. Oltre a questo ho anche esteso le connessioni per tutti i pin GPIO e analogici, nel caso in cui in futuro fosse necessario interfacciare dei sensori. Infine ho anche collegato il pin del programmatore H1 per programmare direttamente il PIC con pickit3 utilizzando l'opzione di programmazione ICSP.

Passaggio 2: generazione di segnali PWM sul pin GPIO per il controllo del servomotore

"caricamento="pigro">

Consigliato: