Znaleziono 7 wyników
Wróć do „Silnik krokowy, płynne obroty”
- 03 lut 2017, 17:01
- Forum: Silniki Krokowe / Sterowniki Silników Krokowych
- Temat: Silnik krokowy, płynne obroty
- Odpowiedzi: 25
- Odsłony: 4744
- 03 lut 2017, 07:53
- Forum: Silniki Krokowe / Sterowniki Silników Krokowych
- Temat: Silnik krokowy, płynne obroty
- Odpowiedzi: 25
- Odsłony: 4744
- 02 lut 2017, 22:09
- Forum: Silniki Krokowe / Sterowniki Silników Krokowych
- Temat: Silnik krokowy, płynne obroty
- Odpowiedzi: 25
- Odsłony: 4744
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:
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:
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:
I jechałem krokami do przodu:
albo do tyłu:
Przerwanie miałem o częstotliwości 250Hz. Zmienna Silnik była 16 bitowa.
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};
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)
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)]));
Kod: Zaznacz cały
Silnik++;
Kod: Zaznacz cały
Silnik--;
- 02 lut 2017, 19:50
- Forum: Silniki Krokowe / Sterowniki Silników Krokowych
- Temat: Silnik krokowy, płynne obroty
- Odpowiedzi: 25
- Odsłony: 4744
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.
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.
- 02 lut 2017, 13:56
- Forum: Silniki Krokowe / Sterowniki Silników Krokowych
- Temat: Silnik krokowy, płynne obroty
- Odpowiedzi: 25
- Odsłony: 4744
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°.
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°.
- 02 lut 2017, 12:55
- Forum: Silniki Krokowe / Sterowniki Silników Krokowych
- Temat: Silnik krokowy, płynne obroty
- Odpowiedzi: 25
- Odsłony: 4744
- 02 lut 2017, 11:59
- Forum: Silniki Krokowe / Sterowniki Silników Krokowych
- Temat: Silnik krokowy, płynne obroty
- Odpowiedzi: 25
- Odsłony: 4744
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.
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.