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



Teraz jest 4 wrz 2025, o 09:37


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 14 kwi 2016, o 19:02 
Offline
Nowy

Dołączył(a): 09 gru 2013
Posty: 16
Pomógł: 0

Moim celem jest sterowanie serwomechanizmem.
Procek atmega328
taktowanie 18,432MHz
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Gdzieś popełniam błąd bo okres mojego sygnału różni się od zakładaych 50Hz.

Teraz pokażę jak wykonałem obliczenia:
1. załozyłem że chcę mieć w przedziale od 1ms do 2ms ( skrajne położenia serwa ) 255 przerwań, po to aby móc wykorzystać zmienną 8bitową w całości
2. daje to 255 przerwań na 1ms czyli częstotliwość bicia timera musi wynosić 255000Hz
3. dzielę f_taktowania/255000 i wychodzi 72,28 -> 72
4. na początku obsługi przerwania wpisuję w tcnt 183
5. teraz tylko policzyć ile takich przerwań przypada na 20ms i gotowe
6. na nowo liczę rzeczywistą częstotliwość timera czyli f_takt./72 = 256000Hz
7. 20ms/okres_timera=5120
8. sprawdzałem na analizatorze stanów logicznych i nie działa tak jak zakładałem - częstotliwośc różni się o kilkanaście...
9. gdzie robię błąd ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 kwi 2016, o 19:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

A może pokaż inicjalizację timera? Może złe wartości wpisujesz lub nie do tych rejestrów?

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 kwi 2016, o 20:06 
Offline
Nowy

Dołączył(a): 09 gru 2013
Posty: 16
Pomógł: 0

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 kwi 2016, o 21:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
bart266 napisał(a):
3. dzielę f_taktowania/255000....

...to odejmij jeszcze jeden.

Pozdr.



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: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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