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,