Mały, prosty sterownik krokowca pod AVR

Rozmowy na temat układów elektronicznych sterowania obrabiarek CNC

Autor tematu
oprawcafotografii
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 21
Posty: 6105
Rejestracja: 29 kwie 2009, 10:11
Lokalizacja: Kraków / Jaworzno / Kopanka

Re: Mały, prosty sterownik krokowca pod AVR

#61

Post napisał: oprawcafotografii » 15 sty 2020, 10:39

Dziękuję, sprawdzę przed weekendem jak śmiga...

Jakub


„Największym wrogiem wolności jest najedzony niewolnik.”

Awatar użytkownika

TOP67
Lider FORUM (min. 2000)
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

#62

Post napisał: TOP67 » 15 sty 2020, 11:06

Zatrzymywanie silnika można też zrobić sygnałem Enable. Wtedy nie będzie pobierał prądu i się grzał. Raczej nie grozi mu cofanie.


tomcat65
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 20
Posty: 1236
Rejestracja: 15 lis 2009, 02:46
Lokalizacja: Olsztyn
Kontakt:

Re: Mały, prosty sterownik krokowca pod AVR

#63

Post napisał: tomcat65 » 15 sty 2020, 12:14

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ą.


Avalyah
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 22
Posty: 2351
Rejestracja: 29 lis 2015, 00:38
Lokalizacja: Bielsko-Biała

Re: Mały, prosty sterownik krokowca pod AVR

#64

Post napisał: Avalyah » 15 sty 2020, 12:42

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.

Awatar użytkownika

TOP67
Lider FORUM (min. 2000)
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

#65

Post napisał: TOP67 » 15 sty 2020, 16:25

tomcat65 pisze:
15 sty 2020, 12:14
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.
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ść.


tomcat65
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 20
Posty: 1236
Rejestracja: 15 lis 2009, 02:46
Lokalizacja: Olsztyn
Kontakt:

Re: Mały, prosty sterownik krokowca pod AVR

#66

Post napisał: tomcat65 » 16 sty 2020, 01:32

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 :D .

Awatar użytkownika

TOP67
Lider FORUM (min. 2000)
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

#67

Post napisał: TOP67 » 16 sty 2020, 08:25

tomcat65 pisze:
16 sty 2020, 01:32
Wyobraź sobie, że używasz trzech timerów.
Wystarczy jedna funkcja "obliczająca", a wyniki wpiszesz do odp. timerów.
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.


tomcat65
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 20
Posty: 1236
Rejestracja: 15 lis 2009, 02:46
Lokalizacja: Olsztyn
Kontakt:

Re: Mały, prosty sterownik krokowca pod AVR

#68

Post napisał: tomcat65 » 16 sty 2020, 16:39

Ciągle jeszcze myślisz " arduinowo " 😀 i ograniczasz się do jednego układu. Spójrz na nową wersję - ATmega 328 PB.


Avalyah
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 22
Posty: 2351
Rejestracja: 29 lis 2015, 00:38
Lokalizacja: Bielsko-Biała

Re: Mały, prosty sterownik krokowca pod AVR

#69

Post napisał: Avalyah » 16 sty 2020, 17:53

Atmega już bez sensu, dużo lepsze są Xmegi. W programowaniu różnica prawie żadna, a możliwości nieporównywalne.

Awatar użytkownika

TOP67
Lider FORUM (min. 2000)
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

#70

Post napisał: TOP67 » 16 sty 2020, 19:22

tomcat65 pisze:
16 sty 2020, 16:39
Ciągle jeszcze myślisz " arduinowo"
Jeszcze? Zabrałem synowi Arduino ledwo tydzień temu. Na razie kombinuję, co by tu jeszcze na nim zrobić.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika CNC”