Innholdsfortegnelse:

Stepper Driver Final Project Module: 5 trinn
Stepper Driver Final Project Module: 5 trinn

Video: Stepper Driver Final Project Module: 5 trinn

Video: Stepper Driver Final Project Module: 5 trinn
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 og Peter Moe-Lange

Trinn 1: Introduksjon

I dette prosjektet brukte vi en stepperdriver for å styre en trinnmotor for å snurre. Denne trinnmotoren er i stand til å bevege seg med svært presise intervaller og med forskjellige hastigheter. Vi brukte et Basys 3 FPGA -bord for å sende et signal til stepperdriveren og motoren over et brødbrettmedium.

Ekstra funksjonalitet introduseres med brytere som tilsvarer innganger på trinndriveren. Når vi fungerer som de skal, vil våre motorbevegelsesintervaller være basert på statens maskin implementert ved bruk av HDL -kode og trådinnganger, fra full 1/1 trinnbevegelse til så presis som 1/16 trinnbevegelse. Tilbakestillingen vår er ganske enkelt en "feilsikker"; det vil si hvis noe uønsket skjer i statsmaskinen, vil driveren som standard sette motoren til den høyeste bevegelsesintervallinnstillingen.

Trinn 2: Materialer

Materialer
Materialer
Materialer
Materialer
Materialer
Materialer
Materialer
Materialer

Her er materialene du trenger for å sette opp:

Stepper driver for A4988

Nema 17 trinnmotor (Vi brukte en 4-leder-modell, en 6-leder-modell vil kreve flere innganger og kode for variabel effekt/dreiemomentfunksjonalitet)

Enhver standard brødbrett

Standard jumper ledninger

Variabel strømforsyning (For dette prosjektet er effektområdene noe spesifikke og følsomme for optimal ytelse)

Tape (eller et slags flagg for å se motortrinn tydeligere)

Alligatorklemmer (For å koble kortet til strømforsyningen, selv om dette selvfølgelig kan gjøres på flere måter)

Trinn 3: Skjemaer, kode og blokkdesign

Kodekobling:

Denne koden er en implementering av en PWM -modul; en som tar digitale klokke- og pliktinnganger og utganger en "på" og "av" syklus som simulerer analoge innganger. Stepper driverkomponenten vår tar deretter denne utgangen som en inngang og bruker den til å drive motoren i trinn.

Ansvarsfraskrivelse: Selv om vi i utgangspunktet brukte den gitte klokke -VHDL -koden og endret den litt for å kjøre på vår stepper, hadde den ikke den fulle funksjonaliteten vi trengte for å bruke intervaller. Koden som finnes i "kilde" -delen av filen viser organisasjonen og forfatteren ved navn Scott Larson; men vi la til i tilstandsmaskinen vi opprettet på slutten (i den samme pwm -filen) som modulerer klokken på og av sykluser.

Trinn 4: Montering

montering
montering

1. Koble de to PMOD -utgangene til brødbrettet ved å bruke 2 hoppetråder. Disse er for pwm_out -signalet og ditt retningsignal som vil koble til trinndriveren indirekte.

2. Bruk 3 jumper -ledninger og fortrinnsvis de samme PMOD -kolonnene for enkelhetens skyld, koble dine "presisjon" -utganger til brødbrettet. Disse ledningene er for å definere hvilken trinnstatus som blir utløst ved å bruke inngangene på trinndriveren igjen

3. Bruk en 4-krympekontakt til å koble 4-leder motoren til brødbrettet. Sørg for at ordren er den samme som gitt i prøveoppsettet; Dette er viktig, ellers kan du blåse ut brikken.

4. Koble den første til den andre med en 4-krympekontakt.

5. Forutsatt at du bruker en dobbel utgang (2 separate spennings-/forsterkernivåer) strømforsyning, kobler du brettets VCC -utgang til brødbrettet som vist. MERK: Sørg for at brettet (og deretter stepperdriveren) får strøm før motoren i neste trinn, da du kan ødelegge brikkens indre med overspenning.

6. Til slutt, ved hjelp av krokodilleklippene eller andre ledninger, kobler du den andre utgangsspenningen til motoren I SERIE. Kontroller igjen at dette bruker riktig utgang på trinndriveren.

Trinn 5: Konklusjon

Og der har du det, en løpende trinnmotor som varierer trinnene basert på trådinngangen til trinndriveren. På grunn av vår begrensede tid var vi ikke i stand til, men ønsket å bruke Python til å oversette G-kode til klokkesykluser som deretter kan brukes i forbindelse med flere motorer for å lage en flerakset modul. Vi klarte heller ikke å få den siste 1/16 stepper -modusen (den mest presise) til å kjøre konsekvent. Dette var sannsynligvis på grunn av at vår statsmaskin ble fanget eller automatisk tilbakestilt før du traff dette stadiet, selv når bryterinngangene våre var sanne.

Her er den siste videolinken:

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

Anbefalt: