Znaleziono 7 wyników

autor: atom1477
03 lut 2017, 17:01
Forum: Silniki Krokowe / Sterowniki Silników Krokowych
Temat: Silnik krokowy, płynne obroty
Odpowiedzi: 25
Odsłony: 4267

ATMega może trochę nie wyrabiać. Ma 20mA na wyjście, ale wtedy spadek na wyjściu jest już dość duży.
autor: atom1477
03 lut 2017, 07:53
Forum: Silniki Krokowe / Sterowniki Silników Krokowych
Temat: Silnik krokowy, płynne obroty
Odpowiedzi: 25
Odsłony: 4267

A4899 jest przystosowany do 2 faz.
A tutaj trzeba sterownik 3 fazowy.
W dodatku sekwencje nie mają nic do rzeczy bo A4899 nie pozwala ustawić własnych sekwencji. No chyba że pisząc o sekwencjach miałeś na myśli sterowanie bez użycia A4899.
autor: atom1477
02 lut 2017, 22:09
Forum: Silniki Krokowe / Sterowniki Silników Krokowych
Temat: Silnik krokowy, płynne obroty
Odpowiedzi: 25
Odsłony: 4267

Zarzut był do korzystania z kodów z internetu o których nic nie wiadomo.

Ilość faz oznacza ilość niezależnie sterowanych biegunów magnetycznych. Co prawie zawsze było równe ilości cewek. Ale że Chińczycy szukali oszczędności to wywalili jedną cewkę skoro bez niej silnik dalej i tak jako tako działał.

Silnikiem sterowałem i działał dość dobrze. Ale jednak było widać że to nie to co mogło by być.
Najważniejsze części w moim kodzie są takie:

Kod: Zaznacz cały

#define State0 (T1L_Off | T1H_On | T23L_On | T23H_Off | T4L_Off | T4H_On)
#define State1 (T1L_On | T1H_Off | T23L_On | T23H_Off | T4L_Off | T4H_On)
#define State2 (T1L_On | T1H_Off | T23L_Off | T23H_On | T4L_Off | T4H_On)
#define State3 (T1L_On | T1H_Off | T23L_Off | T23H_On | T4L_On | T4H_Off)
#define State4 (T1L_Off | T1H_On | T23L_Off | T23H_On | T4L_On | T4H_Off)
#define State5 (T1L_Off | T1H_On | T23L_On | T23H_Off | T4L_On | T4H_Off)

PROGMEM const uint8_t Krok[] = {State5, State4, State3, State2, State1, State0};
Gdzie T oznacza tranzystory. 1 2 3 i 4 numery wyprowadzeń silnika (i widać że wyprowadzenia 2 i 3 są połączone razem).
A L i H to dolne i górne tranzystory.
Czyli T1H_On oznacza że to włącza tranzystor górny do sterowania wyprowadzenia 1. Czyli że podaje VCC na wyprowadzenie 1.

Wcześniej sobie zadeklarowałem na których pinach jest jaki tranzystor:

Kod: Zaznacz cały

#define T1L_On (1 << 6)
#define T1L_Off 0
#define T23L_On (1 << 2)
#define T23L_Off 0
#define T4L_On (1 << 0)
#define T4L_Off 0
#define T1H_On 0
#define T1H_Off (1 << 7)
#define T23H_On 0
#define T23H_Off (1 << 5)
#define T4H_On 0
#define T4H_Off (1 << 1)
I jak widać T1H_On to 0.
Bo to był tranzystor PNP. Czyli żeby podać H na wyjście, to musiałem podawać L (masę) do sterowania tranzystora.

A gdzieś w Timerze po prostu wpisywałem na port odpowiednie stany:

Kod: Zaznacz cały

PORTD = pgm_read_byte(&(Krok[(Silnik % 6)]));
I jechałem krokami do przodu:

Kod: Zaznacz cały

Silnik++;
albo do tyłu:

Kod: Zaznacz cały

Silnik--;
Przerwanie miałem o częstotliwości 250Hz. Zmienna Silnik była 16 bitowa.
autor: atom1477
02 lut 2017, 19:50
Forum: Silniki Krokowe / Sterowniki Silników Krokowych
Temat: Silnik krokowy, płynne obroty
Odpowiedzi: 25
Odsłony: 4267

Sterowany krokami dostosowanymi do niego, będzie robił zawsze takie same kroki.
Problem że ludzie próbują sterować takimi silnikami za pomocą tablic dostosowanych do zwykłych silników (z przesunięciem faz 90°) i wtedy wychodzą różnice w długości kroków co trzeba korygować.
A wystarczyło by sterować zgodnie z danymi z datasheeta i nie było by problemu.
autor: atom1477
02 lut 2017, 13:56
Forum: Silniki Krokowe / Sterowniki Silników Krokowych
Temat: Silnik krokowy, płynne obroty
Odpowiedzi: 25
Odsłony: 4267

To co podałeś to jest właśnie to o czym piałem.
Mało tego, pisałem o dokładnie takim samym silniku.
Ja kupowałem prosto w Chin nowe. Nazywały się VID29.
I jest tak jak pisałem: fazy są co 60° a nie co 90°.
To że silnik ma wyprowadzone tylko 2 fazy (z 3) niczego tu nie zmienia.

Zresztą widać to na rysunku modelu silnika, tylko niedokładnie się przyjrzałeś.
Cewki są dwie po bokach, ale to nic nie zmienia. Bo liczy się droga magnetyczna. A po kształcie blaszek widać że pole z tych cewek trafia na wirnik z 2 stron od góry. Pod kątem 120°. A na dole (na rysunku nie widać, ale ja rozbierałem taki silniczek) jest jeszcze zwora magnetyczna. I ona pełni rolę 3 fazy. Powstającej samoistnie, bez cewki.
Dlatego silnik w rzeczywistości jest 3 fazowy, mimo że ma wyprowadzone w postaci cewek tylko 2 fazy.
Nawet na wykresie który przedstawiłeś widać że przebiegi są przesunięte o 60°.
autor: atom1477
02 lut 2017, 12:55
Forum: Silniki Krokowe / Sterowniki Silników Krokowych
Temat: Silnik krokowy, płynne obroty
Odpowiedzi: 25
Odsłony: 4267

1. To znaczy że ma 200 pełnych kroków. Czyli 50 sekwencji załączeń cewek przy sterowaniu pełnokrokowym (bo sekwencja to 4 załączenia).
2. To po prostu jest jakiś błąd. Powinno być 4 albo 8.
autor: atom1477
02 lut 2017, 11:59
Forum: Silniki Krokowe / Sterowniki Silników Krokowych
Temat: Silnik krokowy, płynne obroty
Odpowiedzi: 25
Odsłony: 4267

A jesteś pewien że jest to klasyczny silnik krokowy 2-fazowy?
Bo do sterowania wskaźników wskazówkowych zwykle się stosuje silniki 3-fazowe z wyprowadzonymi tylko 2 fazami.
Tzn. z punktu widzenia sterownia jest to jakby silnik 2-fazowy ale z fazami przesuniętymi o 60° a nie o 90°.
Najlepiej to daj zdjęcie tego silnika.

Wróć do „Silnik krokowy, płynne obroty”