Sommario:

Raspberry Pi, Python e un driver per motore passo-passo TB6600: 9 passaggi
Raspberry Pi, Python e un driver per motore passo-passo TB6600: 9 passaggi

Video: Raspberry Pi, Python e un driver per motore passo-passo TB6600: 9 passaggi

Video: Raspberry Pi, Python e un driver per motore passo-passo TB6600: 9 passaggi
Video: Optimise Your Motors with This Stepper Motor Analyser - Setup Guide 2024, Novembre
Anonim
Raspberry Pi, Python e un driver per motore passo-passo TB6600
Raspberry Pi, Python e un driver per motore passo-passo TB6600

Questo Instructable segue i passaggi che ho seguito per collegare un Raspberry Pi 3b a un controller del motore passo-passo TB6600, un alimentatore da 24 V CC e un motore passo-passo a 6 fili.

Probabilmente sono come molti di voi e mi capita di avere una "borsa" di pezzi avanzati da molti vecchi progetti. Nella mia collezione avevo un motore passo-passo a 6 fili e ho deciso che era ora di imparare un po' di più su come potrei interfacciarlo con un modello Raspberry Pi 3B.

Come un po' di disclaimer, non ho inventato la ruota qui, ho semplicemente messo insieme un mucchio di informazioni prontamente disponibili sul Web, ho aggiunto la mia piccola inclinazione e ho cercato di farlo funzionare

L'intento qui era davvero solo quello di mettere insieme alcune cose (a un costo minimo), scrivere del codice Python per il mio Raspberry Pi e far girare il motore. Questo è esattamente ciò che sono riuscito a realizzare.

Quindi iniziamo…

Passaggio 1: il Raspberry Pi

Il Raspberry Pi
Il Raspberry Pi

Per quanto riguarda il Raspberry Pi, ho usato tre pin GPIO standard, quindi dovrebbe funzionare (non l'ho testato) con qualsiasi scheda Pi, Orange, Tinker o cloni disponibili. Puoi (e dovresti) esaminare il mio codice Python eccessivamente commentato e selezionare diversi pin GPIO se stai utilizzando un processore diverso o vuoi semplicemente cambiare un po' le cose.

Si prega di notare che sto collegando direttamente ai pin GPIO sull'RPI, quindi sto limitando la tensione che i pin GPIO vedono a 3,3 volt.

Passaggio 2: driver / controller del motore passo-passo TB6600

Driver / controller per motore passo-passo TB6600
Driver / controller per motore passo-passo TB6600

Come ho notato in precedenza, ho scelto di utilizzare un driver / controller per motore passo-passo TB6600.

Questo controllore è:

  • Facilmente disponibile (cerca eBay, Amazon, Ali Express o molti altri).
  • Molto configurabile con interruttori di facile accesso.
  • I dettagli di configurazione e cablaggio sono serigrafati sulla custodia.
  • Intervallo di tensione in ingresso da 9 VDC a 40 VDC
  • Capace di uscita motore fino a 4 amp.
  • Ha una ventola di raffreddamento interna e un discreto dissipatore di calore.
  • È dotato di 3 connettori rimovibili.
  • Ha un ingombro ridotto,
  • Facile da montare.

Ma il basso costo di acquisto è davvero ciò che ha sigillato l'accordo su questo.

Passaggio 3: il motore passo-passo…

Il motore passo-passo…
Il motore passo-passo…

Il motore passo-passo che ho usato è un po' sconosciuto… Ce l'ho da molti anni e non ricordo la storia di come l'ho acquistato o quale fosse l'uso precedente.

In questo Instructable non descriverò in dettaglio come capire le sue capacità: non ne ho un uso nella vita reale (a parte quello sperimentale), quindi lo salterò.

Ho usato un motore passo-passo abbastanza generico. Ho trascorso un po' di tempo su YouTube e qui su Instructables per cercare di decifrare i fili che ne derivano.

Il mio motore ha in realtà 6 fili su di esso… In questa applicazione, ho lasciato i due fili "Center Tap" isolati e non collegati.

Se hai un motore passo-passo di tipo "generico" simile, sono certo che con un Ohm Meter e un po' di tempo anche tu potresti capire il cablaggio e farlo funzionare in questo modo. Ci sono molti video di YouTube che ti guideranno a sistemare facilmente il tuo motore.

Passaggio 4: alimentazione e alimentatori

Alimentazione e alimentatori
Alimentazione e alimentatori

Bisogna fare attenzione qui…

A seconda della build, potrebbe essere necessario connettersi alle tensioni di linea (alimentazione domestica). Assicurati di utilizzare tutte le precauzioni di sicurezza appropriate:

  • NON tentare di effettuare collegamenti elettrici a fonti di alimentazione attive.
  • UTILIZZARE fusibili e interruttori automatici di dimensioni adeguate
  • UTILIZZARE un interruttore di alimentazione per alimentare l'alimentatore (questo renderà più facile isolare l'alimentatore dalle tensioni di linea in tensione).
  • FARE terminare correttamente tutti i cavi e realizzare collegamenti robusti. Non utilizzare clip, fili sfilacciati o connettori non adatti.
  • NON utilizzare nastro da elettricista come isolante

Ho usato un alimentatore da 24 VDC (5 Amp) per alimentare il controller del driver del motore passo-passo. Ho anche usato l'uscita di questo stesso alimentatore per pilotare un DC to DC Buck PSU al fine di generare 3,3 volt da utilizzare come sorgente per i segnali ENA, PUL e DIR (vedi lo schema elettrico)

NON tentare di utilizzare l'RPi per assorbire la corrente da una sorgente da 5,0 V CC.

NON consiglio di provare a generare i lati " + " dei segnali PUL, DIR e ENA con 3,3 VDC dall'RPI.

Passaggio 5: protezione del circuito…

Si noti che nello schema elettrico che segue, non menziono come collegare l'alimentatore a "Alimentazione CA" o elencare un interruttore automatico per esso. Se sei intenzionato a costruire un sistema di test simile a questo, dovrai dedicare del tempo a specificare un interruttore automatico e un fusibile che corrispondano all'alimentatore o agli alimentatori che utilizzerai. La maggior parte degli alimentatori moderni ha le specifiche di tensione e corrente elencate su di essi. Questi devono essere seguiti e adeguate protezioni del circuito installate.

Per favore… Non saltare questo passaggio importante.

Passaggio 6: lo schema elettrico

Lo schema elettrico
Lo schema elettrico

Riserve energetiche

L'uscita dell'alimentatore 24 VDC è protetta da un fusibile da 5 Amp e quindi indirizzata a:

  • Pin "VCC" del driver / controller del motore passo-passo TB6600 (filo ROSSO nello schema).
  • Viene anche indirizzato all'ingresso del "Convertitore da CC a CC" da 3,3 V CC (di nuovo un filo ROSSO nel diagramma).

L'uscita del "convertitore da CC a CC" da 3,3 V CC è indirizzata ai pin "2", "4" e "6" del driver / controller del motore passo-passo TB6600 (filo BLU nel diagramma).

NOTA: il controller stesso contrassegna questi pin come "5 V". Funzionerà se a quei pin fossero forniti 5 V, ma poiché i valori di tensione dei pin GPIO sull'RPI, ho scelto di limitare la tensione a 3,3 V CC.

NOTA - NON consiglio di provare a generare i lati " + " dei segnali PUL, DIR e ENA con 3,3 VDC dall'RPI.

Mappatura GPIO

Mappatura GPIO GPIO 17 PUL Filo ROSA nello schema GPIO27 DIR Filo ARANCIO nello schema GPIO22 ENA Filo VERDE nello schema

Passaggio 7: operazione

operazione
operazione

Fondamentalmente, l'hardware Raspberry Pi controlla tre segnali:

Mappatura GPIO GPIO 17 PUL GPIO27 DIR GPIO22 ENA

GPIO22 - ENA - Abilita o disabilita la funzionalità del Driver/Controller del motore passo-passo.

Quando LOW, il controller è DISABILITATO. Ciò significa che se questa linea è ALTA o NON collegata, il TB6600 è ABILITATO e, se vengono applicati i segnali appropriati, il motore girerà.

GPIO27 - DIR - Imposta la direzione di rotazione del motore.

Quando è ALTO o non connesso, il motore girerà in una direzione. In questa modalità, se il motore non gira nella direzione desiderata, è possibile scambiare i due fili del motore A tra loro o i due fili del motore B tra loro. Eseguire questa operazione sui connettori verdi del TB6600.

Quando questo pin diventa LOW, il TB6600 commuterà i transistor interni e la direzione del motore cambierà.

GPIO10 - PUL - Impulsi dall'RPI che indicano al driver / controller del motore passo-passo TB6600 la velocità di rotazione.

Fare riferimento alle immagini allegate per l'impostazione delle posizioni dell'interruttore del driver / controller del motore passo-passo che ho usato.

Passaggio 8: codice Python

In allegato è il mio codice eccessivamente commentato.

Sentiti libero di usarlo e modificarlo come desideri. Ho trovato parti di esso sul web e l'ho aggiunto a scopo di test e valutazione.

== == ==

Fase 9: Sinossi

Ha funzionato… c'è molto spazio per miglioramenti e il codice potrebbe essere ripulito, ma va bene.

Apprezzerei sentire i tuoi suggerimenti di pensieri e di eventuali modifiche / aggiornamenti apportati.

Grazie.

Consigliato: