Kör en Stepper Motor med en AVR mikroprocessor (4 / 8 steg)
Steg 4: Ta motorn för en provkörning
Koppla in kablarna direkt upp till ditt microproc och bränna den med följande kod:
/ * Leker med att få de små stegmotorer driven. */
/ * Inkludera dröjsmål funktion * /
#define F_CPU 1000000UL
#include
/ * Pin defs för ATTiny2313 * /
/ * Medurs ordning * /
#define blå _BV(PB0)
#define svart _BV(PB1)
#define röd _BV(PB2)
#define gul _BV(PB3)
#define dröjsmål 200 / * millisekunder mellan steg * /
int main(void) {
DDRB = 0XFF; / * Aktiverar utgång på alla B stift * /
PORTB = 0X00; / * Sätta dem alla till 0v * /
While(1) {/ * huvudloop här * /
PORTB = BLÅ;
_delay_ms(delay);
PORTB = SVART;
_delay_ms(delay);
PORTB = RÖD;
_delay_ms(delay);
PORTB = GUL;
_delay_ms(delay);
}
}
Hur enkelt är det koden? Riktigt enkel.
Allt det gör är att göra några fina definitioner så jag kan hänvisa till ledningarna av färg snarare än deras pin-namn, och sedan det växlar mellan dem på i sekvens med en justerbar fördröjning i mellan. Jag valde till att börja med en halv sekunds fördröjning mellan stegen.
Se den korta videon för resultat. Om du verkligen på ditt spel, räkna antalet steg per cykel att räkna ut motorns singel-stepping vinkelformig upplösning.
(Oh ja. PS. Ladda enheter med nr på 3.6V lätt. Se batteri i video.)