Innehållsförteckning:

Stepper Driver Final Project Module: 5 steg
Stepper Driver Final Project Module: 5 steg

Video: Stepper Driver Final Project Module: 5 steg

Video: Stepper Driver Final Project Module: 5 steg
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, November
Anonim
Stepper Driver Final Project Module
Stepper Driver Final Project Module

Av Marquis Smith och Peter Moe-Lange

Steg 1: Introduktion

I detta projekt använde vi en stegmotor för att styra en stegmotor för att snurra. Denna stegmotor kan röra sig med mycket exakta intervall och med olika hastigheter. Vi använde en Basys 3 FPGA -bräda för att skicka en signal till steppdrivrutinen och motorn över ett brödbräda.

Extra funktionalitet introduceras med switchar som motsvarar ingångar på stegdrivrutinen. När de fungerar korrekt skulle våra motorrörelseintervaller baseras på tillståndsmaskinen implementerad med HDL -kod och trådingångar, från full 1/1 stegrörelse till så exakt som 1/16 stegrörelse. Vår återställning är helt enkelt en "failsafe"; det vill säga om något oönskat händer inom tillståndsmaskinen, kommer föraren att förinställa motorn till dess högsta inställning för rörelseintervall.

Steg 2: Material

Material
Material
Material
Material
Material
Material
Material
Material

Här är det material du behöver för installationen:

A4988 Stepper Driver

Nema 17 Stepper Motor (Vi använde en 4-trådig modell, en 6-trådsmodell kommer att kräva fler ingångar och kod för variabel effekt/vridmomentfunktion)

Vilken vanlig brödbräda som helst

Standardbygelkablar

Variabel strömförsörjning (för detta projekt är effektområdena något specifika och känsliga för optimal prestanda)

Tejp (eller någon slags flagga för att se motorstegen tydligare)

Alligatorclips (För att ansluta kortet till strömförsörjningen, även om detta naturligtvis kan göras på flera sätt)

Steg 3: Schema, kod och blockdesign

Kodlänk:

Denna kod är en implementering av en PWM -modul; en som tar digital klocka och drift ingångar och utgångar en "på" och "av" cykel som simulerar analoga ingångar. Vår stepper driver -komponent tar sedan denna utgång som en ingång och använder den för att driva motorn i steg.

Friskrivningsklausul: Medan vi ursprungligen använde den angivna klockans VHDL -kod och ändrade den något för att köra på vår stepper, hade den inte den fulla funktionalitet vi behövde för att använda intervall. Koden som finns i "käll" -delen av filen visar organisationen och författaren med namnet Scott Larson; men vi lade till i tillståndsmaskinen vi skapade i slutet (i samma pwm -fil) som modulerar klockan på och av cykler.

Steg 4: Montering

hopsättning
hopsättning

1. Anslut dina två PMOD -utgångar till brödbrädet med hjälp av 2 bygelkablar. Dessa är för pwm_out -signalen och din riktningssignal som indirekt kommer att ansluta till stegdrivrutinen.

2. Använd tre bygeltrådar och helst samma PMOD -kolumner för enkelhetens skull, anslut dina "precision" -utgångar till brödbrädet. Dessa ledningar är för att definiera vilket stegläge som utlöses med hjälp av ingångarna på stegdrivrutinen igen

3. Anslut 4-trådsmotorn till brödbrädet med hjälp av en 4-polig kontakt. Se till att ordningen är densamma som angiven i provinställningen. detta är viktigt annars kan du blåsa ut chippet.

4. Anslut den första till den andra med hjälp av en andra 4-polig kontakt.

5. Antag att du använder en dubbel utgång (2 separata spännings-/ampernivåer) strömförsörjning, anslut kortets VCC -utgång till brödbrädet enligt bilden. OBS: Se till att kortet ges ström (och därefter stegdrivrutinen) före motorn i nästa steg, eftersom du kan förstöra chipets inre med överspänningen.

6. Slutligen, med hjälp av krokodilklämmorna eller några andra ledningar, ansluter du den andra utspänningen till motorn i serien. Kontrollera igen att detta använder rätt utmatning på stegdrivrutinen.

Steg 5: Slutsats

Och där har du det, en löpande stegmotor som varierar sina steg baserat på trådingången som ges till stegdriften. På grund av vår begränsade tid kunde vi inte men ville använda Python för att översätta G-kod till klockcykler som sedan kan användas i förbindelse med flera motorer för att skapa en fleraxlig modul. Vi kunde inte heller lyckas få det sista 1/16 stegläget (det mest exakta) att köra konsekvent. Detta berodde troligen på att vår tillståndsmaskin fastnade eller automatiskt återställdes innan vi träffade detta steg, även när våra switchingångar var sanna.

Här är den sista videolänken:

drive.google.com/open?id=1jEnI3bdv_hVR-2FiZinzCbqi8-BS3Pwe

Rekommenderad: