http://www.forbot.pl/forum/topics43/l29 ... vt6087.htm
Znaleziono 2 wyniki
Wróć do „moment silnika krokowego i sterowanie (zestaw mobilny)”
- 08 sty 2012, 13:57
- Forum: Silniki Krokowe / Sterowniki Silników Krokowych
- Temat: moment silnika krokowego i sterowanie (zestaw mobilny)
- Odpowiedzi: 59
- Odsłony: 10385
Spytaj wujka Google o mostek H i będziesz miał dość literatury
co do radiatorów to oczywiście przy takich prądach będą niezbędne. Mostek H jast tak popularny że można znaleść dziesiątki układów scalonych. Poczytaj np o L298N zresztą częto używany w prostych sterownikach dla silków krokowych opisanych również na tym forum i wielu innych też np:
http://www.forbot.pl/forum/topics43/l29 ... vt6087.htm
http://www.forbot.pl/forum/topics43/l29 ... vt6087.htm
- 08 sty 2012, 12:53
- Forum: Silniki Krokowe / Sterowniki Silników Krokowych
- Temat: moment silnika krokowego i sterowanie (zestaw mobilny)
- Odpowiedzi: 59
- Odsłony: 10385
Witam
Jeśli się decydujesz na Arduino to zapomnij o sterowniku dla silnika krokowego. Podpinasz BEZPOŚREDNIO jakiś mostek H ( jeden dla silnika DC lub 2 dla krokowca) i sterujesz bezpośrednio z programu. Można zastosować mostki scalone ( dobrać tylko napięcie i prąd pracy) lub zbudować z tranzystorów. Na elektrodzie są dziesiątki przykładów.
Przykładowy "program" w C dla silnika krokowego sterowanego półkrokowo
#define A1 (1<<PB2)
#define A2 (1<<PB4)
#define B1 (1<<PB3)
#define B2 (1<<PB5)
#define k1 PORTB &= ~B2; PORTB |= A1|A2|B1;
#define k2 PORTB &= ~(B1|B2); PORTB |= A1|A2;
#define k3 PORTB |= A1|A2|B1|B2;
#define k4 PORTB &= ~(A1|A2); PORTB |= B1|B2;
#define k5 PORTB &= ~A2; PORTB |= A1|B1|B2;
#define k6 PORTB &= ~(A2|B1|B2); PORTB |= A1;
#define k7 PORTB &= ~(A2|B2); PORTB |= A1|B1;
#define k8 PORTB &= ~(A1|A2|B2); PORTB |=B1;
static void Stepp(int Dir)
{
static uint8_t k = 0;
if ( Dir ==0)
{
PORTB &= ~(A1|A2|B1|B2);
}
else
{
if ( Dir > 0) if ( ++k >8) k=1;
if ( Dir < 0) if ( --k < 1) k=8;
if ( k == 1) {k1}
if ( k == 2) {k2}
if ( k == 3) {k3}
if ( k == 4) {k4}
if ( k == 5) {k5}
if ( k == 6) {k6}
if ( k == 7) {k7}
if ( k ==
{k8}
}
_delay_us(650);
}
wywołanie Stepp z z argumentem dodatnim obrót w jedna strone z ujemnym w druga a 0 oś silnika luźna,
Jeśli się decydujesz na Arduino to zapomnij o sterowniku dla silnika krokowego. Podpinasz BEZPOŚREDNIO jakiś mostek H ( jeden dla silnika DC lub 2 dla krokowca) i sterujesz bezpośrednio z programu. Można zastosować mostki scalone ( dobrać tylko napięcie i prąd pracy) lub zbudować z tranzystorów. Na elektrodzie są dziesiątki przykładów.
Przykładowy "program" w C dla silnika krokowego sterowanego półkrokowo
#define A1 (1<<PB2)
#define A2 (1<<PB4)
#define B1 (1<<PB3)
#define B2 (1<<PB5)
#define k1 PORTB &= ~B2; PORTB |= A1|A2|B1;
#define k2 PORTB &= ~(B1|B2); PORTB |= A1|A2;
#define k3 PORTB |= A1|A2|B1|B2;
#define k4 PORTB &= ~(A1|A2); PORTB |= B1|B2;
#define k5 PORTB &= ~A2; PORTB |= A1|B1|B2;
#define k6 PORTB &= ~(A2|B1|B2); PORTB |= A1;
#define k7 PORTB &= ~(A2|B2); PORTB |= A1|B1;
#define k8 PORTB &= ~(A1|A2|B2); PORTB |=B1;
static void Stepp(int Dir)
{
static uint8_t k = 0;
if ( Dir ==0)
{
PORTB &= ~(A1|A2|B1|B2);
}
else
{
if ( Dir > 0) if ( ++k >8) k=1;
if ( Dir < 0) if ( --k < 1) k=8;
if ( k == 1) {k1}
if ( k == 2) {k2}
if ( k == 3) {k3}
if ( k == 4) {k4}
if ( k == 5) {k5}
if ( k == 6) {k6}
if ( k == 7) {k7}
if ( k ==
}
_delay_us(650);
}
wywołanie Stepp z z argumentem dodatnim obrót w jedna strone z ujemnym w druga a 0 oś silnika luźna,




