hallo,
ich versuche einen Schrittmotor anzusteuern, aber er macht leider nur komische Halbdrehungen, woran kann das denn liegen?
Das wichtige Teil des Codes:
Code:
#define F_CPU 8000000
#include <avr/io.h>
#include <stdio.h>
#include <stdbool.h>
#include<util/delay.h>
uint8_t step[6] = {0xE6, 0xBC, 0xE8, 0xBA, 0xBC, 0xE8};
void rotate(direction)
{
int i;
if(direction)
{
PORTD |= 0x80 ;//LED1 geht an
//PORTA = 0x82;
//PORTA = 0x84;
for(i=0;i<6;i++)
{
_delay_ms(250);
PORTA = step[i];
};
}
else
{
PORTD |= 0x20;//LED2 geht an
}
}
P.S: - Die 250ms habe ich nur so da eingefügt, da ich nicht weiss, wie ich diese Zeit berechnen kann.
- ich benutze TCA3727G als Motortreiber.
Danke.
Lesezeichen