Inhoudsopgave:

Raspberry Pi, Python en een TB6600 stappenmotorstuurprogramma - Ajarnpa
Raspberry Pi, Python en een TB6600 stappenmotorstuurprogramma - Ajarnpa

Video: Raspberry Pi, Python en een TB6600 stappenmotorstuurprogramma - Ajarnpa

Video: Raspberry Pi, Python en een TB6600 stappenmotorstuurprogramma - Ajarnpa
Video: Laurence_2_Stappenmotor_Deadline_20-10-2019 2024, Juni-
Anonim
Raspberry Pi, Python en een TB6600 stappenmotorstuurprogramma
Raspberry Pi, Python en een TB6600 stappenmotorstuurprogramma

Deze Instructable volgt de stappen die ik heb genomen om een Raspberry Pi 3b aan te sluiten op een TB6600 stappenmotorcontroller, een 24 VDC-voeding en een 6-draads stappenmotor.

Ik ben waarschijnlijk zoals velen van jullie en heb toevallig een "grab bag" met overgebleven onderdelen van menig oud project.. In mijn verzameling had ik een 6-draads stappenmotor en besloot dat het tijd was om een beetje te leren meer over hoe ik dit kon koppelen aan een Raspberry Pi-model 3B.

Als een beetje een disclaimer, ik heb het wiel hier niet uitgevonden, ik heb gewoon een heleboel informatie verzameld die direct beschikbaar is op het web, er mijn kleine inslag aan toegevoegd en geprobeerd het te laten werken

De bedoeling hier was eigenlijk om een paar dingen samen te brengen (tegen minimale kosten), wat Python-code voor mijn Raspberry Pi te schrijven en de motor te laten draaien. Dit is precies wat ik heb kunnen bereiken.

Dus laten we beginnen…

Stap 1: De Raspberry Pi

De Raspberry Pi
De Raspberry Pi

Wat betreft de Raspberry Pi, ik heb drie standaard GPIO-pinnen gebruikt, dus dit zou moeten werken (ik heb het niet getest) met elk Pi- of Orange-bord, Tinker-bord of klonen die beschikbaar zijn. Je mag (en moet) mijn overdreven becommentarieerde Python-code doorzoeken en verschillende GPIO-pinnen selecteren als je een andere processor gebruikt, of gewoon dingen een beetje wilt veranderen.

Houd er rekening mee dat ik rechtstreeks verbinding maak met de GPIO-pinnen op de RPi, dus ik beperk de spanning die de GPIO-pinnen zien tot 3,3 volt.

Stap 2: TB6600 stappenmotorstuurprogramma / controller

TB6600 Stappenmotor Driver / Controller
TB6600 Stappenmotor Driver / Controller

Zoals ik eerder opmerkte, heb ik ervoor gekozen om een TB6600 stappenmotorstuurprogramma / controller te gebruiken.

Deze regelaar is:

  • Gemakkelijk beschikbaar (zoek op eBay, Amazon, Ali Express of vele anderen).
  • Zeer configureerbaar met gemakkelijke toegangsschakelaars.
  • Configuratie- en bedradingsdetails zijn gezeefdrukt op de behuizing.
  • Ingangsspanningsbereik van 9 VDC tot 40 VDC
  • Geschikt tot 4 ampère motoraandrijfuitgang.
  • Heeft een interne koelventilator en een degelijk koellichaam.
  • Is voorzien van 3 verwijderbare connectoren.
  • Heeft een kleine voetafdruk,
  • Eenvoudig te monteren.

Maar de lage aanschafkosten zijn echt wat de deal op deze bezegelde.

Stap 3: De stappenmotor…

De stappenmotor…
De stappenmotor…

De stappenmotor die ik heb gebruikt, is een beetje een onbekende. Ik heb hem al vele jaren en kan me de geschiedenis niet herinneren van hoe ik hem heb verkregen of wat het vorige gebruik was.

In deze Instructable ga ik niet in detail beschrijven hoe ik erachter kan komen wat de mogelijkheden zijn - ik heb er geen echt gebruik voor (behalve experimenteel), dus ik sla dat over.

Ik gebruikte een vrij generieke stappenmotor. Ik heb wat tijd op YouTube en hier op Instructables doorgebracht om te proberen de draden die eruit komen te ontcijferen.

Mijn motor heeft eigenlijk 6 draden … In deze toepassing heb ik de twee "Center Tap" -draden geïsoleerd en niet aangesloten.

Als je een soortgelijk "generieke" type stappenmotor hebt, ben ik er zeker van dat je met een Ohm-meter en een beetje tijd ook de bedrading kunt achterhalen en het op deze manier kunt laten werken. Er zijn tal van YouTube-video's die u zullen begeleiden om uw eigen motor eenvoudig te regelen.

Stap 4: Stroom en voedingen

Stroom en voedingen
Stroom en voedingen

Hier is voorzichtigheid geboden…

Afhankelijk van uw build, moet u mogelijk verbinding maken met lijnspanningen (huisstroom). Zorg ervoor dat u alle passende veiligheidsmaatregelen neemt:

  • Probeer GEEN elektrische verbindingen te maken met stroombronnen die onder spanning staan.
  • Gebruik zekeringen en stroomonderbrekers van de juiste grootte
  • Gebruik een aan/uit-schakelaar om uw PSU van stroom te voorzien (dit maakt het gemakkelijk om de voeding te isoleren van onder spanning staande lijnspanningen).
  • Sluit alle draden op de juiste manier af en maak stevige verbindingen. Gebruik geen clips, of gerafelde draden, of slecht passende connectoren.
  • GEBRUIK GEEN Elektricienstape als isolator

Ik heb een 24 VDC (5 Amp) voeding gebruikt om de Stepper Motor Driver Controller van stroom te voorzien. Ik heb ook de uitgang van dezelfde voeding gebruikt om een DC naar DC Buck PSU aan te sturen om 3,3 volt te genereren om te gebruiken als bron voor de ENA-, PUL- en DIR-signalen (zie het bedradingsschema)

Probeer de RPi NIET te gebruiken om stroom van een 5,0 VDC-bron af te voeren.

Ik raad NIET aan om te proberen de " + "-kanten van de PUL-, de DIR- en de ENA-signalen met 3,3 VDC van de RPI te ontvangen.

Stap 5: Circuitbeveiliging…

Merk op dat ik in het volgende bedradingsschema niet vermeld hoe de voeding op "AC Power" moet worden aangesloten, of dat ik er een stroomonderbreker voor vermeld. Als u van plan bent een vergelijkbaar testsysteem te bouwen, moet u de tijd nemen om een stroomonderbreker en zekering te specificeren die passen bij de voeding(en) die u gaat gebruiken. Op de meeste moderne voedingen staan de spannings- en stroomspecificaties vermeld. Deze moeten worden gevolgd en de juiste circuitbeveiligingen moeten worden geïnstalleerd.

Alsjeblieft… Sla deze belangrijke stap niet over.

Stap 6: Het bedradingsschema

Het bedradingsschema
Het bedradingsschema

Voedingen

De uitgang van de 24 VDC voeding is gezekerd met een 5 Ampère zekering en vervolgens omgeleid naar:

  • TB6600 Stappenmotor Driver / Controller "VCC" pin (RODE draad in het diagram).
  • Het wordt ook naar de ingang van de 3,3 VDC "DC naar DC Converter" geleid (opnieuw een RODE draad in het schema).

De uitgang van de 3,3 VDC "DC naar DC-omzetter" wordt doorgestuurd naar pinnen "2", "4" en "6" van de TB6600 stappenmotorstuurprogramma / controller (BLAUWE draad in het diagram).

OPMERKING - de controller zelf markeert deze pinnen als "5V". Het zal werken als 5V aan die pinnen zou worden geleverd, maar vanwege de spanningswaarden van de GPIO-pinnen op de RPI, heb ik ervoor gekozen om de spanning te beperken tot 3,3 VDC.

OPMERKING - Ik raad NIET aan om te proberen de " + "-kanten van de PUL-, de DIR- en de ENA-signalen te voeden met 3,3 VDC van de RPI.

GPIO-toewijzing

GPIO Mapping GPIO 17 PUL ROZE draad in diagram GPIO27 DIR ORANJE draad in diagram GPIO22 ENA GROENE draad in diagram

Stap 7: Bediening

Operatie
Operatie

In principe bestuurt de Raspberry Pi-hardware drie signalen:

GPIO-toewijzing GPIO 17 PUL GPIO27 DIR GPIO22 ENA

GPIO22 - ENA - Schakelt de functionaliteit van de stappenmotorstuurprogramma / controller in of uit.

Wanneer LAAG is, is de controller UITGESCHAKELD. Dit betekent dat als deze lijn HOOG of NIET is aangesloten, de TB6600 INGESCHAKELD is en als de juiste signalen worden toegepast, de motor zal draaien.

GPIO27 - DIR - Stelt de draairichting van de motor in.

Wanneer HOOG of Niet aangesloten, zal de motor in één richting draaien. Als de motor in deze modus niet in de gewenste richting draait, kunt u de twee A-motordraden met elkaar of de twee B-motordraden met elkaar verwisselen. Doe dit op de groene connectoren op de TB6600.

Wanneer deze pin LAAG wordt, zal de TB6600 interne transistoren schakelen en zal de motorrichting veranderen.

GPIO10 - PUL - Pulsen van de RPI die de TB6600 Stepper Motor Driver / Controller vertellen hoe snel hij moet draaien.

Raadpleeg de bijgevoegde afbeeldingen voor de instelling van de schakelposities van de stappenmotorstuurprogramma / controller die ik heb gebruikt.

Stap 8: Python-code

Bijgevoegd is mijn overdreven becommentarieerde code.

Voel je vrij om dit te gebruiken en te bewerken zoals je wilt. Ik heb delen ervan op internet gevonden en toegevoegd voor test- en evaluatiedoeleinden.

== == ==

Stap 9: Synopsis

Het werkte.. er is veel ruimte voor verbetering en de code kan worden opgeschoond, maar oké.

Ik zou het op prijs stellen uw mening te horen, suggesties en eventuele wijzigingen/updates die u aanbrengt.

Bedankt.

Aanbevolen: