Zrobiłem układzik Atmega8 + L293D + silniczek bipolarny z licznika samochodowego
silniczek ma ogranicznik, nie przekręci się 360 stopni, ma powiedzmy 340 stopni pracy
technicznie układ zrobiony i działa
problem z programem mam, chciał bym zrobić obrotomierz i tak sterować silniczkiem żeby podążał za aktualną wartością obrotów i tu problem powstaje
dla testów spłodziłem przykładowy program:
silniczek kręci się cały czas w jedną stronę, dochodzi do momentu max "wychylenia" i teraz jak opanować położenie silnika i tak napisać program żeby podążał za bieżącą wartością ?
może na początek porzucić kwestię że to ma być obrotomierz tylko pozostać przy sterowaniu silnika
mam nadzieje że nie zakręciłem pytania i ktoś mnie zrozumie
silniczek ma ogranicznik, nie przekręci się 360 stopni, ma powiedzmy 340 stopni pracy
technicznie układ zrobiony i działa
problem z programem mam, chciał bym zrobić obrotomierz i tak sterować silniczkiem żeby podążał za aktualną wartością obrotów i tu problem powstaje
dla testów spłodziłem przykładowy program:
while(1)
{
PORTB = 0x05;
PORTC = 0x05;
_delay_ms(50);
PORTB = 0x01;
PORTC = 0x01;
_delay_ms(50);
PORTB = 0x09;
PORTC = 0x09;
_delay_ms(50);
PORTB = 0x08;
PORTC = 0x08;
_delay_ms(50);
PORTB = 0x0A;
PORTC = 0x0A;
_delay_ms(50);
PORTB = 0x02;
PORTC = 0x02;
_delay_ms(50);
PORTB = 0x06;
PORTC = 0x06;
_delay_ms(50);
PORTB = 0x04;
PORTC = 0x04;
_delay_ms(50);
}
silniczek kręci się cały czas w jedną stronę, dochodzi do momentu max "wychylenia" i teraz jak opanować położenie silnika i tak napisać program żeby podążał za bieżącą wartością ?
może na początek porzucić kwestię że to ma być obrotomierz tylko pozostać przy sterowaniu silnika
mam nadzieje że nie zakręciłem pytania i ktoś mnie zrozumie