Witam. Zaczynam dopiero zabawe z krokowcami, poświęciłem już temu bardzo dużo czasu, i próbuję cały dzień go odpalić. Jest to silnik unipolarny, ze starej drukarki, jak na rysunku. EM-188. Steruję Atmegą8, poprzez driver ULN2803. Na ten układ podawałem sygnały wg kodu:
"
...
unsigned char Numbers[4] = {0b00000010, 0b00000100,0b00001000, 0b00010000};
int Index;
...
for(Index=0; Index<4; Index++)
{
PORTB = Numbers[Index];
delay(predkosc);
}
"
Dodam że sygnał puszczam przez PB1..4
Na początku silnik drgał. Po przełączeniu cewek, ruszył. Ale się mocno grzeje, bardzo. Więc chyba cos jest nie tak. Do tego jak dam większe predkości, to mi przerywa, nie ma momentu i tak przeskakuje, i wcale szybko się nie kręci(kilka obrotow/sek). Przeczytałem wiele postów i pomocy na ten temat, ale wciąż nie jest tak jak bym chciał, dlatego postanowiłem zwrócić się o pomoc tu. Jaki robię błąd? Na ULN przeczytałem że z uC muszę podawać 1, bo on ma w sobie negator, i wtedy na wyjściu z ULN jest 0. Prawda? Może mam błąd w kodzie? Dlaczego on się tak grzeje i przeskakuje przy większych prędkościach? Dzięki za każde wskazówki...
"
...
unsigned char Numbers[4] = {0b00000010, 0b00000100,0b00001000, 0b00010000};
int Index;
...
for(Index=0; Index<4; Index++)
{
PORTB = Numbers[Index];
delay(predkosc);
}
"
Dodam że sygnał puszczam przez PB1..4
Na początku silnik drgał. Po przełączeniu cewek, ruszył. Ale się mocno grzeje, bardzo. Więc chyba cos jest nie tak. Do tego jak dam większe predkości, to mi przerywa, nie ma momentu i tak przeskakuje, i wcale szybko się nie kręci(kilka obrotow/sek). Przeczytałem wiele postów i pomocy na ten temat, ale wciąż nie jest tak jak bym chciał, dlatego postanowiłem zwrócić się o pomoc tu. Jaki robię błąd? Na ULN przeczytałem że z uC muszę podawać 1, bo on ma w sobie negator, i wtedy na wyjściu z ULN jest 0. Prawda? Może mam błąd w kodzie? Dlaczego on się tak grzeje i przeskakuje przy większych prędkościach? Dzięki za każde wskazówki...