Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 31 mar 2026, o 16:55


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 19 lis 2014, o 19:42 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1085
Pomógł: 73

Witam wszystkich serdecznie. Koledzy mam kłopot z programem na mikrokontroler attiny2313 którego zadaniem jest generowanie przebiegu prostokątnego o liniowym narastaniu częstotliwości. Attiny ma podawać sygnał taktujący z zakresu 1Hz-200kHz do fabrycznego sterownika, który steruje silnikiem krokowym. prędkość obrotowa tego silnika zależy właśnie od częstotliwości i zależy mi na tym żeby zmieniła się ona w ciągu powiedzmy 3 sekund od 1Hz do 200kHz liniowo. Macie jakieś pomysły jak to zrobić? Zewnętrzny generator analogowy nie wchodzi w grę :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lis 2014, o 20:59 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Najprościej byłoby z timerem1 i trybem CTC i toggle OC1x przy zrównaniu, ale jak to zaczniesz liczyć to dla 2 MHz to wychodzi, że preskaler musi być zmieniany i można się pogubić w obliczeniach.

Można wykorzystać SPI i wysyłać tablicę która wygląda przykładowo tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lis 2014, o 16:38 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1085
Pomógł: 73

Dzięki za zainteresowanie tematem, będę dalej kombinował może coś wymyślę



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2014, o 22:27 
Offline
Użytkownik

Dołączył(a): 30 sie 2014
Posty: 170
Pomógł: 2

Krauser, a te 2MHz to z czego wziete? ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2014, o 22:38 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

To minimalna okrągła wartość (w niektórych Atttiny będzie to 1,2 MHz). Można wziąć więcej. 1 MHz to za mało, gdyż aby mieć częstotliwość 200 kHz na pinie OCx to porównanie musi wystąpić z częstotliwością 400 kHz. Nie uda się znaleźć całkowitego podzielnika. Możesz sobie sprawdzić w narzędziu AVR Timer Calculator, które jest dostępne w mkAVR Calculator.
Kolega Jarecki chciałby mieć narastanie liniowe częstotliwości. Na timerze nie da się tego zrobić liniowo z dokładnością do 1Hz, ponieważ ustawienie częstotliwości 199 kHz nie jest możliwe nie mówiąc o 199,999 kHz.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Majestic-12 [Bot] i 18 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO