Grzejący się silnik krokowy

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
przjurcz
-
Posty: 4
Rejestracja: 26 sty 2007, 9:42

Grzejący się silnik krokowy

Post autor: przjurcz » 28 lut 2007, 23:04

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:

Kod: Zaznacz cały

...
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. 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...

----
Kody źródłowe zwyczajowo wstawiamy w tagi CODE. ZbeeGin
Ostatnio zmieniony 01 sty 1970, 1:00 przez przjurcz, łącznie zmieniany 1 raz.

Michał17
Użytkownik
Posty: 329
Rejestracja: 07 sty 2006, 14:25
Lokalizacja: Łódź

Post autor: Michał17 » 01 mar 2007, 12:13

Może za dużą predkość mu dajesz lub ma za duże napięcie
Ostatnio zmieniony 02 mar 2007, 21:56 przez Michał17, łącznie zmieniany 2 razy.

Awatar użytkownika
c4r0
Moderator
Posty: 2150
Rejestracja: 13 kwie 2004, 19:56
Lokalizacja: z lasu
Kontakt:

Post autor: c4r0 » 01 mar 2007, 14:08

Podłącz zamiast silnika cztery diody LED i na wolnej prędkości sprawdź czy stany są odpowiednio ustawiane. Co do grzania pewnie dajesz za wysokie napięcie. I co to znaczy że mocno się grzeje? Jest mocno ciepły, parzy czy może się już dymi? A co do prędkości to jaką chcesz uzyskać? W takich silnikach więcej niż kilka obr/sek nie uzyskasz.

Awatar użytkownika
Gutek
Użytkownik
Posty: 323
Rejestracja: 27 sty 2006, 13:05
Lokalizacja: Wadowice
Kontakt:

Post autor: Gutek » 01 mar 2007, 14:26

Ja w tym kodzie nie widzę żadnych zależności czasowych. ja bym ci radził sterować inaczej może za pomocą 4 tranzystorów sterowanych dwoma 555( ew przerzutnik astabilny ) i dwoma negatorami.Te przerzutniki sterować można z uP.
Ostatnio zmieniony 01 sty 1970, 1:00 przez Gutek, łącznie zmieniany 1 raz.

Awatar użytkownika
c4r0
Moderator
Posty: 2150
Rejestracja: 13 kwie 2004, 19:56
Lokalizacja: z lasu
Kontakt:

Post autor: c4r0 » 01 mar 2007, 16:28

Gutek pisze:Ja w tym kodzie nie widzę żadnych zależności czasowych.
Przecież jest

Kod: Zaznacz cały

delay(predkosc);

Awatar użytkownika
Gutek
Użytkownik
Posty: 323
Rejestracja: 27 sty 2006, 13:05
Lokalizacja: Wadowice
Kontakt:

Post autor: Gutek » 02 mar 2007, 15:29

racja nie zauważyłem
Ostatnio zmieniony 01 sty 1970, 1:00 przez Gutek, łącznie zmieniany 1 raz.

Awatar użytkownika
Zenerek
Użytkownik
Posty: 335
Rejestracja: 21 lip 2006, 11:23
Lokalizacja: Bydgoszcz
Kontakt:

Post autor: Zenerek » 02 mar 2007, 21:09

Silniki mają to do siebie, że się grzeją po dłuższej pracy. Najważniejsze, żeby nie nagrzewał się momentalnie po włączeniu, bo wtedy to na pewno jest coś nie tak.
Jeżeli nie parzy, to myślę że wszystko jest ok. Mimo tego nie zaszkodzi sprawdzić czy napięcie nie jest za wysokie. Nie warto podawać zbyt wysokiego napięcia, szczególnie jeśli silnik nie będzie musiał "ciężko pracować", ale nie może być za małe, bo wtedy nie ruszy.

ODPOWIEDZ