Mały, prosty sterownik krokowca pod AVR
-
Autor tematu - Lider FORUM (min. 2000)
- Posty w temacie: 21
- Posty: 6354
- Rejestracja: 29 kwie 2009, 10:11
- Lokalizacja: Kraków / Jaworzno / Kopanka
Re: Mały, prosty sterownik krokowca pod AVR
Dziękuję, sprawdzę przed weekendem jak śmiga...
Jakub
Jakub
„Największym wrogiem wolności jest najedzony niewolnik.”
-
- Lider FORUM (min. 2000)
- Posty w temacie: 27
- Posty: 2224
- Rejestracja: 17 wrz 2018, 10:47
- Lokalizacja: Wrocław
- Kontakt:
Re: Mały, prosty sterownik krokowca pod AVR
Zatrzymywanie silnika można też zrobić sygnałem Enable. Wtedy nie będzie pobierał prądu i się grzał. Raczej nie grozi mu cofanie.
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 20
- Posty: 1242
- Rejestracja: 15 lis 2009, 02:46
- Lokalizacja: Olsztyn
- Kontakt:
Re: Mały, prosty sterownik krokowca pod AVR
Fajna funkcja, taka typowo arduinowa
.
Rozdzieliłbym na dwie - osobno część obliczeniową, osobna funkcja wykonawcza.
W przypadku układów z większą ilością liczników, jedna funkcja wylicza, inne wpisują do rejestrów.
Dodałbym też funkcję awaryjnego, szybkiego zatrzymania licznika.
Deklaracje trybu pracy, użytych pinów wyjściowych dałbym na początku programu. W trakcie pracy timer raczej nie zmienia trybu.
W tej postaci funkcja jest dobra dla jednorazowego uruchomienia timera, jeśli trzeba zmieniać częstotliwość, niepotrzebnie włącza te same funkcje za każdym użyciem.
Dodałbym jeszcze, ale nie wszystko od razu.
Przydałby się ogólny zarys programu, co robi, co z czym, kolejność. Może coś jeszcze da się przenieść z warstwy programowej na sprzętową.

Rozdzieliłbym na dwie - osobno część obliczeniową, osobna funkcja wykonawcza.
W przypadku układów z większą ilością liczników, jedna funkcja wylicza, inne wpisują do rejestrów.
Dodałbym też funkcję awaryjnego, szybkiego zatrzymania licznika.
Deklaracje trybu pracy, użytych pinów wyjściowych dałbym na początku programu. W trakcie pracy timer raczej nie zmienia trybu.
W tej postaci funkcja jest dobra dla jednorazowego uruchomienia timera, jeśli trzeba zmieniać częstotliwość, niepotrzebnie włącza te same funkcje za każdym użyciem.
Dodałbym jeszcze, ale nie wszystko od razu.
Przydałby się ogólny zarys programu, co robi, co z czym, kolejność. Może coś jeszcze da się przenieść z warstwy programowej na sprzętową.
-
- Lider FORUM (min. 2000)
- Posty w temacie: 22
- Posty: 2437
- Rejestracja: 29 lis 2015, 00:38
- Lokalizacja: Bielsko-Biała
Re: Mały, prosty sterownik krokowca pod AVR
tomcat65 pisze:Może coś jeszcze da się przenieść z warstwy programowej na sprzętową.
W przypadku takiego prostego zastosowania raczej nie ma to sensu, o ile wszystko działa poprawnie.
-
- Lider FORUM (min. 2000)
- Posty w temacie: 27
- Posty: 2224
- Rejestracja: 17 wrz 2018, 10:47
- Lokalizacja: Wrocław
- Kontakt:
Re: Mały, prosty sterownik krokowca pod AVR
Z tego co pisał zainteresowany, wywołuje to co kilka godzin.
Starałem się napisać funkcję jak najprostszą w użyciu. Wywołuje się ją tylko z jednym parametrem i ew. sprawdza rzeczywistą częstotliwość.
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 20
- Posty: 1242
- Rejestracja: 15 lis 2009, 02:46
- Lokalizacja: Olsztyn
- Kontakt:
Re: Mały, prosty sterownik krokowca pod AVR
Avalyah pisze:W przypadku takiego prostego zastosowania raczej nie ma to sensu
Chociażby usypianie procka na czas oczekiwania na kolejne pomiary. Kolejny timer regularnie wybudzający - stałość czasowa pomiarów. Może akurat tu nie jest to aż tak istotne, ale warto o tym wiedzieć.
TOP67 pisze:Starałem się napisać funkcję jak najprostszą w użyciu.
Absolutnie nie mówię, że funkcja jest zła. Ale jak już zaszedłeś tak daleko, można ją udoskonalić. Wyobraź sobie, że używasz trzech timerów.
Wystarczy jedna funkcja "obliczająca", a wyniki wpiszesz do odp. timerów.
TOP67 pisze:Z tego co pisał zainteresowany, wywołuje to co kilka godzin.
Niestety nie. Program działa kilka godzin. Odczyt z czujników temp. i zakres obrotów sugeruje ..
Zresztą autor sam wspomina o regulacji obrotów ( kilka stron wcześniej ). I to co ok 0,8 sek

-
- Lider FORUM (min. 2000)
- Posty w temacie: 27
- Posty: 2224
- Rejestracja: 17 wrz 2018, 10:47
- Lokalizacja: Wrocław
- Kontakt:
Re: Mały, prosty sterownik krokowca pod AVR
Dla timera2 są inne obliczenia, bo jest 8 bitowy (inne wartości i więcej preskalerów). W trybie CTC można użyć tylko jednego portu w timerze (można użyć obu, ale będą działać jednakowo). Jeśli już zmieniać funkcję, to dodając w niej sprawdzanie czy timer już działa. Oszczędność raptem 3 wpisów zerujących do rejestrów, za to wprowadzenie dodatkowej zmiennej i pętli.
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 20
- Posty: 1242
- Rejestracja: 15 lis 2009, 02:46
- Lokalizacja: Olsztyn
- Kontakt:
Re: Mały, prosty sterownik krokowca pod AVR
Ciągle jeszcze myślisz " arduinowo "
i ograniczasz się do jednego układu. Spójrz na nową wersję - ATmega 328 PB.