ATNEL tech-forum https://forum.atnel.pl/ |
|
Zegar przerwanie https://forum.atnel.pl/topic22647.html |
Strona 1 z 1 |
Autor: | Lu_let [ 2 lis 2019, o 07:41 ] |
Tytuł: | Zegar przerwanie |
Witam Mam silnik połączony z enkoderem 600 kroków Po zliczeniu od 0 do 9 kroków (1 sekunda) silnik się zatrzymuje. Jak spowodować żeby sekundy odliczały się cyklicznie? Używam zegara DS3231 |
Autor: | mirekk36 [ 2 lis 2019, o 12:13 ] |
Tytuł: | Re: Zegar przerwanie |
Kolacz napisał(a): Z tego fragmentu kodu, bez szklanej kuli, nie da się pomóc. Administrator powinien kasować takie posty. No powiem szczerze, że trudno się z tym nie zgodzić ... więc proszę autora o jakieś uzupełnienie rzeczowe - jeśli wątek ma wisieć |
Autor: | mirekk36 [ 2 lis 2019, o 17:24 ] |
Tytuł: | Re: Zegar przerwanie |
Tu jest BABOL - zaznaczyłem na czerwono! Lu_let napisał(a): EIFR |= (1<<INTF0); // kasowanie flagi za pomocą jedynki akurat takie kasowanie trzeba koniecznie robić TAK Kod: EIFR = (1<<INTF0); // kasowanie flagi za pomocą jedynki
|
Autor: | Krauser [ 2 lis 2019, o 18:20 ] |
Tytuł: | Re: Zegar przerwanie |
Jeśli dobrze rozumuję to po przerwaniu na INT0 (sygnał 1 sekundy z DS3231) silnik powinien obrócić się o kąt odpowiadający 10 impulsom z enkodera (1/10 z 600). A czy PD7 służy do włączania i wyłączania silnika? Wypróbuj taki kod: |
Autor: | Krauser [ 3 lis 2019, o 20:50 ] |
Tytuł: | Re: Zegar przerwanie |
Lu_let napisał(a): Używam sterownika jak wyżej, PD7 służy do zmiany stanu na wejściu PUL I co wtedy się dzieje? Co jeśli podasz stan "1" = 5V, a co jeśli "0" = 0V na to wejście? O ile użycie mikrokontrolera może być trudne ze względu na małą znajomość programowania to możesz napisać algorytm używając pseudokodu i wtedy wszyscy będą wiedzieć co chcesz osiągnąć i podpowiedzą Ci jak to już technicznie wykonać. Na przykład takie coś: Po sygnale z RTC (co 1 sekundę) na wejściu przerwania INT0 uruchom silnik wyjściem PD7 ustawiając je w stan X. Co 100ms sprawdzaj czy stan zmiennej która przechowuje impulsy z enkodera i jeśli jest więcej niż 9 to zatrzymaj silnik ustawiając na wyjściu PD7 stan Y. |
Autor: | Lu_let [ 3 lis 2019, o 21:02 ] |
Tytuł: | Re: Zegar przerwanie |
Udało się ruszyć z miejsca. Sekundnik pracuje prawidłowo od jakiejś godziny. Trwają próby. Dziękuję za odzew to motywuje do działania : ) |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |