
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02

Har du noen steppemotorer fra skrivere/diskstasjoner/etc som ligger?
Noen undersøkelser med et ohmeter, etterfulgt av en enkel driverkode på mikroprosessoren din, og du vil gå i stil.
Trinn 1: Bli kjent med Steppers


I utgangspunktet må du finne ut hvor alle de små ledningene går.
Første trinn er å finne ut om det er en unipolar eller bipolar motor. Ta en titt på Jones on Steppers for en dypere bakgrunn, deretter på Ian Harries 'nettsted for en enkel metode for å finne ut en ukjent motor. Les deg litt opp, og bli med på en gjennomgang av denne motoren jeg fikk billig. (De selges for 0,99 dollar akkurat nå. De er små, relativt lette, men har ikke mye dreiemoment. Vet ikke hva det vil være bra for ennå.)
Trinn 2: Finn felles grunn


Så du har fem (eller fire eller seks) ledninger. Motoren din kommer til å ha to halvdeler, og du kan sikkert til og med fortelle det bare ved å se hvilken side hver ledning tilhører.
Hvis du bare ser på fire ledninger, har du flaks - det er en bipolar motor. Alt du trenger å gjøre er å finne ut hvilke to ledninger som går sammen. Hvis du har en unipolar motor, eller mer enn 4 ledninger, må du bryte ut ohmmetret. Det du leter etter er den vanlige (bakken) ledningen for hver halvdel. Du kan se hvilken som er malt i en bipolar motor fordi den har halv motstand mot noen av polene enn polene gjør på tvers av seg selv. På bildet er notatene mine fra å koble ledninger til ledninger og merke motstanden (eller hvis de er koblet i det hele tatt). Du kan se at White er grunnen for bunntrioen b/c den har halv motstand mot Rød eller Blå som de har til hverandre. (Denne motoren er merkelig og har ikke en midtkran på den øverste magnetspolen. Det er som om den er halvbipolar, halvunipolar. Kanskje du kan bruke denne til å føle rotasjon i rød-hvit-blå spole når den svart-gule spolen blir drevet.)
Trinn 3: Finn ut trinnrekkefølgen

Jeg skulle kjøre denne motoren som en bipolar, så jeg ignorerer den hvite jordledningen. Jeg har bare fire ledninger å bekymre meg for.
Du vil kanskje kjøre din unipolare motor som bipolar uansett, fordi den bruker hele spolen i begge faser i stedet for å veksle mellom de to halvdelene av hver spole. Mer spole = mer dreiemoment. Kjør strøm gjennom et par (noter polariteten du valgte) og kjør deretter strøm gjennom det andre paret samtidig. Når du kobler til det andre paret, må du se hvilken vei motoren svinger. Skriv ned dette. Snu polariteten på det første paret du valgte. Koble deretter til det andre paret igjen med polariteten også omvendt. Legg merke til retningen. Fra dette bør du kunne finne ut sekvensen for å rotere motoren i begge retninger. I mitt eksempel endte begge med å snu mot klokken, så hvis du går gjennom sekvensen på samme måte som jeg valgte, vil motoren gå mot venstre.
Trinn 4: Ta motoren for en prøvekjøring

Hvis du ikke allerede har verktøy for programmering av mikroprosessorer, kan du gjøre det verre enn Ghetto Development Kit eller noen av de forskjellige PIC -programmørene. Koble ledningene direkte til mikroprosessen og brenn den med følgende kode:
/* Leker med å få de små steppermotorene drevet. */
/ * Inkluder forsinkelsesfunksjon */ #define F_CPU 1000000UL #include/ * Pin defs for ATTiny2313 *// * Med urviseren */ #define BLUE _BV (PB0) #define BLACK _BV (PB1) #define RED _BV (PB2) #define GUL _BV (PB3) #define DELAY 200 / * millisekunder mellom trinn * / int main (void) {DDRB = 0xff; / * Aktiver utgang på alle B -pinnene */ PORTB = 0x00; / * Sett dem alle til 0v */ while (1) {/ * hovedsløyfe her */ PORTB = BLÅ; _forsinkelse_ms (DELAY); PORTB = SVART; _forsinkelse_ms (DELAY); PORTB = RØD; _forsinkelse_ms (DELAY); PORTB = GUL; _forsinkelse_ms (DELAY); }} Hvor enkel er den koden? Virkelig enkelt. Alt det gjør er å lage noen fine definisjoner, så jeg kunne referere til ledningene etter farge i stedet for pin-navnene deres, og deretter slår den dem på i rekkefølge med en justerbar forsinkelse i mellom. Til å begynne med valgte jeg et halvt sekund forsinkelse mellom trinnene. Se den korte videoen for resultatene. Hvis du virkelig er i spillet ditt, kan du telle antall trinn per syklus for å finne ut motorens en-trinns vinkeloppløsning. (Oh yeah. PS. Drives uten last på 3,6v enkelt. Se batteri i video.)
Trinn 5: Swing It Back and Forth
Så du kjører den med klokken. Noe mer interessant? Litt kode-opprydding, så kan vi kjøre den frem og tilbake. Jeg satte sekvensen med klokken i en matrise slik at du kan gå gjennom fasene med en enkel loop. Nå kan du kjøre løkken opp eller ned for å gå med eller mot klokken.
int main (void) {const uint8_t delay = 50; const uint8_t med urviseren = {BLÅ, SVART, RØD, GUL}; uint8_t i; DDRB = 0xff; / * Aktiver utgang på alle B -pinnene */ PORTB = 0x00; / * Sett dem alle til 0v */ mens (1) {/ * hovedløkke her */ for (i = 0; i <= 3; i ++) {/ * gå gjennom fargene med klokken */ PORTB = med klokken ; _forsinkelse_ms (forsinkelse); } for (i = 3; i> = 0; i-) { / * gå gjennom fargene ccw * / PORTB = med klokken ; _forsinkelse_ms (forsinkelse); }}} Se den raske videoen for back-and-forthing.
Trinn 6: Jeg går aldri et halvt trinn, fordi jeg ikke er en halvsteg …
Søk lyrikk til side, halvtrapping av motoren er der den er. Du får mer toppstrøm, mer øyeblikkelig dreiemoment og dobbelt så stor vinkeloppløsning. Halvtrinn i et nøtteskall: I stedet for blå, svart, rød, gul, kjører du motoren med blå, blå+svart, svart, svart+rød, rød, rød+gul, gul, gul+blå. Resultatet er at du i halvparten av tiden bruker begge magnetene samtidig. Og i løpet av tidene som begge settene er koblet inn, peker motoren halvveis mellom de to, og krymper vinkelen mellom "trinn" og får motoren til å rotere jevnere. Kan du se det fra videoen? Jeg er ikke sikker … Nå ser delen av koden som gjør halvtrinnet slik ut:
void halfStepping (uint16_t forsinkelse, uint8_t retning ) {uint8_t i; for (i = 0; i <= 3; i ++) {PORTB = retning ; / * single-coil part */ _delay_ms (forsinkelse); PORTB | = retning [i+1]; / * legg til i halv trinn */ _delay_ms (forsinkelse); }} Den første PORTB -kommandoen setter en enkelt pol til positiv og resten til negativ. Så venter det. Deretter setter den andre PORTB -kommandoen en andre pol (på den andre viklingen) til positiv, og aktiverer begge viklingene for 1,4x dreiemomentet (og 2x strømmen). En fullstendig programliste er vedlagt nedenfor. To matriser er nå definert (med klokken, mot klokken) og begge har 5 elementer hver for å tillate i+1 -oppføringen i halfStepping -funksjonen.
Trinn 7: Legg til en motordriver



Så langt så bra.
Eneste problem er at motoren ikke ser ut til å ha så mye dreiemoment, noe som kan skyldes at mikroprosessoren bare slipper ut ~ 50mA per pinne. Det åpenbare neste trinnet ville være å koble den til en bilfører for å forsyne den med mer juice. Men da tenker jeg litt: Jeg kjører den bare med 5v, og spolevindingsmotstanden er ~ 125 ohm. Noe som betyr at motoren bare tegner 40mA per pinne, og den bør drives fint av (biffete) AVR -brikken. Så for å få mer spenning som driver motoren, koblet jeg den til en SN754410 H-brobrikke. Kretsen er ganske enkel. Hver pinne fra AVR går til en inngang, og de tilsvarende utgangspinnene går til motoren. Brikken trenger 5v for logikkdelen, og kan ta mye mer spenning i motorseksjonen. Å kjøre den på 11,25v (tre 3,6v batterier) hjalp litt. Merkbart mer dreiemoment for fingeren min, men det er fortsatt ikke et kraftverk. Ikke dårlig for en motor som er mindre enn en nikkel, skjønt. Og nå er kretsen blitt en bipolar steppermotordriver for generelle formål. Lagt til 29. november: Kjørte motoren i går kveld på 12v en stund, og det begynte å bli varmt. Jeg er ikke sikker på om det var et resonansfrekvensproblem eller om det bare var for mye strøm for viklingene. Uansett, vær litt forsiktig hvis du kjører denne lille motoren med større spenninger.
Trinn 8: slutten
Så hva lærte jeg? Å kjøre en steppermotor med en AVR (og en H-bro-chip) er ganske enkelt, selv i den "fancy" halv-trinnsmodusen.
Ikke sikker på hva jeg skal gjøre med de små stepper motorene ennå, skjønt. Noen forslag?
Anbefalt:
Kontroller datamaskinen med en trinnmotor !: 9 trinn (med bilder)

Kontroller datamaskinen med en trinnmotor !: I en av mine tidligere instrukser viste jeg deg hvordan du kan bruke en trinnmotor som en roterende omkoder. I denne instruksjonsboken, la oss lære hvordan vi kan bruke den til å kontrollere datamaskinen vår. Så uten videre, la oss komme i gang
Steppermotor kontrollert trinnmotor - Trinnmotor som roterende koder: 11 trinn (med bilder)

Steppermotor kontrollert trinnmotor | Steppermotor som roterende encoder: Har et par trinnmotorer liggende og vil gjøre noe? I denne instruksen, la oss bruke en trinnmotor som en roterende encoder for å kontrollere en annen trinnmotors posisjon ved hjelp av en Arduino mikrokontroller. Så uten videre, la oss gi
Wow !! Kjør trinnmotor uten driver -- Ny idé 2018: 4 trinn (med bilder)

Wow !! Kjør trinnmotor uten driver || Ny idé 2018: Hei! I denne instruksen vil jeg lære deg hvordan du kjører en trinnmotor kontinuerlig i høy hastighet uten førerkrets eller arduino- eller vekselstrømforsyning. Også ved å bytte ledninger kan du kjøre den i begge klokke- klokt & mot klokken
Gjedde - Kjør tryggere, kjør smartere, kjør en gjedde !: 5 trinn

Pike - Drive Safer, Drive Smarter, Drive a Pike !: Velkommen til prosjektet mitt som heter Pike! Dette er et prosjekt som en del av utdannelsen min. Jeg er student NMCT på Howest i Belgia. Målet var å gjøre noe smart ved å bruke en Raspberry Pi. Vi hadde full frihet der vi ønsket å gjøre oss smarte. For meg var det
Spill sanger med trinnmotor !!: 11 trinn (med bilder)

Spill sanger ved hjelp av trinnmotor !!: Dette prosjektet handler om å designe et enkelt dynamisk grensesnitt, som gjør det mulig å samhandle med en trinnmotor på to forskjellige måter. Det første grensesnittet vil kontrollere retningen og hastigheten til trinnmotoren ved bruk av en enkel GUI, som h