Taula de continguts:

Raspberry Pi, Python i un controlador de motor pas a pas TB6600: 9 passos
Raspberry Pi, Python i un controlador de motor pas a pas TB6600: 9 passos

Vídeo: Raspberry Pi, Python i un controlador de motor pas a pas TB6600: 9 passos

Vídeo: Raspberry Pi, Python i un controlador de motor pas a pas TB6600: 9 passos
Vídeo: TB6600 Stepper Motor Driver with Arduino 2024, Juny
Anonim
Raspberry Pi, Python i un controlador de motor pas a pas TB6600
Raspberry Pi, Python i un controlador de motor pas a pas TB6600

Aquesta instrucció segueix els passos que vaig fer per connectar un Raspberry Pi 3b a un controlador de motor pas a pas TB6600, una font d'alimentació de 24 V CC i un motor pas a pas de 6 fils.

Probablement sóc com molts de vosaltres i tinc una "bossa de recollida" de peces sobrants d'un projecte antic. A la meva col·lecció tenia un motor pas a pas de 6 fils i vaig decidir que era hora d'aprendre una mica més informació sobre com podria relacionar-ho amb un model 3B de Raspberry Pi.

Com a descàrrec de responsabilitat, no vaig inventar la roda aquí, simplement vaig reunir un munt d'informació fàcilment disponible al web, hi vaig afegir el meu petit vessant i vaig intentar que funcionés

La intenció aquí era realment només reunir algunes coses (a un cost mínim), escriure algun codi Python per al meu Raspberry Pi i fer girar el motor. Això és exactament el que he aconseguit.

Comencem doncs …

Pas 1: el Raspberry Pi

El Raspberry Pi
El Raspberry Pi

Pel que fa al Raspberry Pi, he utilitzat tres pins GPIO estàndard, de manera que hauria de funcionar (no ho he provat) amb cap placa Pi, taronja, placa Tinker o clons disponibles. Podeu (i hauríeu) de pentinar-me amb el meu codi Python massa comentat i seleccionar diferents pins GPIO si utilitzeu un processador diferent o simplement voleu canviar una mica les coses.

Tingueu en compte que estic connectant directament als pins GPIO del RPi, de manera que limito la tensió que veuen els pins GPIO a 3,3 volts.

Pas 2: controlador / controlador del motor pas a pas TB6600

Controlador / controlador del motor pas a pas TB6600
Controlador / controlador del motor pas a pas TB6600

Com he comentat anteriorment, vaig optar per utilitzar un controlador / controlador de motor pas a pas TB6600.

Aquest controlador és:

  • Fàcilment disponible (cerqueu a eBay, Amazon, Ali Express o molts altres).
  • Molt configurable amb commutadors de fàcil accés.
  • Els detalls de configuració i cablejat estan serigrafiats a la caixa.
  • Rang de tensió d'entrada de 9 VDC a 40 VDC
  • Capacitat de sortida de motor de fins a 4 amperis.
  • Té un ventilador de refrigeració intern i un dissipador de calor decent.
  • Està equipat amb 3 connectors extraïbles.
  • Té una petita petjada,
  • Fàcil de muntar.

Però el baix cost de compra és realment el que va segellar l’acord d’aquest.

Pas 3: el motor pas a pas …

El motor pas a pas …
El motor pas a pas …

El motor pas a pas que he utilitzat és una mica desconegut. El tinc des de fa molts anys i no recordo la història de com el vaig adquirir ni el seu ús anterior.

En aquest instructiu no detallaré com esbrinar les seves capacitats; no en tinc cap ús real (excepte l'experimental), així que ho saltaré.

He utilitzat un motor pas a pas bastant genèric. Vaig passar una mica de temps a YouTube i aquí a Instructables per intentar desxifrar els cables que en sortien.

En realitat, el meu motor té 6 cables … En aquesta aplicació, he deixat els dos cables del "Tap central" aïllats i desconnectats.

Si teniu un tipus de motor pas a pas "genèric" similar, estic segur que amb un Ohm Meter i una mica de temps també podríeu esbrinar el cablejat i fer-lo funcionar d'aquesta manera. Hi ha molts vídeos de YouTube que us guiaran a ordenar fàcilment el vostre propi motor.

Pas 4: fonts d'alimentació

Alimentació i fonts d'alimentació
Alimentació i fonts d'alimentació

Cal tenir precaució aquí …

Segons la vostra construcció, és possible que hàgiu de connectar-vos a voltatges de línia (alimentació domèstica). Assegureu-vos d’utilitzar totes les precaucions de seguretat adequades:

  • NO intenteu fer connexions elèctriques a fonts d’energia activa.
  • Utilitzeu fusibles i interruptors automàtics de mida adequada
  • Feu servir un interruptor d’alimentació per alimentar la vostra alimentació (això facilitarà aïllar la font d’alimentació de les tensions de la línia de corrent).
  • ACABEU correctament tots els cables i feu connexions robustes. No utilitzeu clips, ni cables desgastats ni connectors mal ajustats.
  • NO utilitzeu la cinta d’electricista com a aïllant

Vaig utilitzar una font d’alimentació de 24 V CC (5 amperis) per alimentar el controlador del controlador del motor pas a pas. També he utilitzat la sortida d'aquesta mateixa font d'alimentació per conduir una alimentació de CC a CC Buck per tal de generar 3,3 volts per utilitzar com a font dels senyals ENA, PUL i DIR (vegeu el diagrama de cablejat)

NO intenteu utilitzar l'RPi per enfonsar el corrent d'una font de 5,0 VDC.

NO recomano provar d'origenar els costats "+" dels senyals PUL, DIR i ENA amb 3,3 VDC des del RPI.

Pas 5: Protecció de circuits …

Tingueu en compte que, a l'esquema de cablejat següent, no menciono la manera de connectar la font d'alimentació a "CA Power", ni enumero un interruptor automàtic. Si teniu la intenció de construir un sistema de prova similar a aquest, haureu de dedicar-vos el temps per especificar un interruptor i un fusible que coincideixin amb la (s) font (es) d’alimentació que utilitzeu. La majoria de les fonts d’alimentació modernes contenen especificacions de corrent i tensió. Cal seguir-les i instal·lar les proteccions de circuit adequades.

Si us plau … No ometeu aquest pas important.

Pas 6: el diagrama de cablejat

El diagrama de cablejat
El diagrama de cablejat

Fonts d'alimentació

La sortida de la font d’alimentació de 24 V CC es fusiona amb un fusible de 5 Amp i es dirigeix a:

  • Pin "VCC" del controlador / controlador del motor pas a pas TB6600 (fil vermell al diagrama).
  • També es dirigeix a l'entrada del convertidor de CC a CC de 3,3 VDC (de nou un cable VERMELL al diagrama).

La sortida del "convertidor de CC a CC" de 3,3 VCC s'encamina als pins "2", "4" i "6" del controlador / controlador del motor pas a pas TB6600 (fil blau al diagrama).

NOTA: el propi controlador marca aquests pins com a "5V". Funcionarà si se'ls subministren 5V, però a causa de la tensió nominal dels pins GPIO a l'RPI, vaig optar per limitar el voltatge a 3,3 VDC.

NOTA: NO recomano provar d'origenar els costats "+" dels senyals PUL, DIR i ENA amb 3,3 V CC de l'RPI.

Cartografia GPIO

Mapatge GPIO Filferro GPIO 17 PUL PINK al diagrama Filferro DIRIO TARONJA al diagrama GPIO22 Filferro VERD ENA al diagrama

Pas 7: operació

Operació
Operació

Bàsicament, el maquinari Raspberry Pi controla tres senyals:

Mapatge GPIO GPIO 17 PUL GPIO27 DIR GPIO22 ENA

GPIO22 - ENA: activa o desactiva la funcionalitat del controlador / controlador del motor pas a pas.

Quan és BAIX, el controlador està DESACTIVAT. Això significa que si aquesta línia és ALTA o NO està connectada, el TB6600 està HABILITAT i, si s'apliquen senyals adequats, el motor girarà.

GPIO27 - DIR: estableix la direcció de gir del motor.

Si és ALT o no està connectat, el motor gira en una direcció. En aquest mode, si el motor no gira en la direcció que desitgeu, podeu canviar els dos cables del motor A entre si o els dos cables del motor B entre si. Feu-ho als connectors verds del TB6600.

Quan aquest pin baixi, el TB6600 canviarà els transistors interns i la direcció del motor canviarà.

GPIO10 - PUL: impulsos del RPI que indiquen al controlador / controlador del motor pas a pas TB6600 la velocitat de gir.

Consulteu les imatges adjuntes per conèixer la configuració de les posicions dels interruptors del controlador / controlador del motor pas a pas que he utilitzat.

Pas 8: codi Python

S'adjunta el meu codi massa comentat.

No dubteu a utilitzar-lo i editar-lo com vulgueu. Vaig trobar-ne parts al web i el vaig afegir amb finalitats de prova i avaluació.

== == ==

Pas 9: sinopsi

Va funcionar … hi ha molt marge de millora i es podria netejar el codi, però bé.

Agrairia escoltar els vostres suggeriments i qualsevol canvi / actualització que feu.

Gràcies.

Recomanat: