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



Teraz jest 2 sty 2026, o 10:51


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 31 mar 2017, o 10:08 
Offline
Nowy

Dołączył(a): 28 mar 2017
Posty: 7
Pomógł: 0

Witam, mam do wykonania układ w którym za pomocą atmega8 muszę sterować serwomechanizmem. Jako, że jestem początkujący i sam nie potrafiłem napisać odpowiedniego kodu posłużyłem się znalezionym w internecie. Po przetestowaniu działa, ale chciałem prosić o wyjaśnienie jednej rzeczy. Komentarze w języku polskim są napisane przeze mnie i to (wydaje mi się), że rozumiem. Nie rozumiem natomiast linii w której w komentarzu są napisane znaki zapytania. Nie wiem co jest jest za rejestr i dlaczego przy tak ustawionej wartości częstotliwość wynosi 50Hz? Jak zmienić tą wartość, żeby uzyskać częstotliwość 50Hz (dla serwa) przy zewnętrznym kwarcu 16Mhz?

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



Ostatnio edytowano 31 mar 2017, o 11:26 przez marshall94, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 mar 2017, o 11:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 16 mar 2016
Posty: 30
Pomógł: 0

Hej w dokumentacji ATmega8 masz opisane Rejestry przy danym timerze w tym przypadku Timer1 i ich właściwości warto zajrzeć ;)

A tak to rejest ICR1 (Input Compare ) jest aktualizowany wartością licznika 1 (TCNT1) za każdym wystąpieniem zdarzenia na pinie ICP1 ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 mar 2017, o 11:13 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

I koniecznie popraw jeszcze sposób wstawiania kodu programu.
Informacje tutaj http://forum.atnel.pl/topic7402.html

------------------------ [ Dodano po: 1 minucie ]

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


Tego NIGDY nie wpisujemy w kodzie. Od tego są właściwości projektu

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 mar 2017, o 11:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

marshall94 napisał(a):
Jako, że jestem początkujący i sam nie potrafiłem napisać odpowiedniego kodu...

Jeśli temat mikrokontrolerów Cię interesuje to nie trać czasu tylko zaopatrz się w bluebooka (to ten co na forum ukrywa się pod pseudonimem "BB") i gwarantuję, że w ciągu max kilku dni sam napiszesz taki program :)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 mar 2017, o 13:06 
Offline
Nowy

Dołączył(a): 28 mar 2017
Posty: 7
Pomógł: 0

Czy tak napisany kod powinien działać przy zewnętrznym taktowaniu 16MHz oraz serwie Hitec HS-325HB?

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: 31 mar 2017, o 23:25 
Offline
Użytkownik
Avatar użytkownika

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

Witam
marshall94 napisał(a):
Czy tak napisany kod powinien działać ... serwie Hitec HS-325HB?

Częstotliwość "nośna" jest OK, jednakże niektóre serwa różnią się nieznacznie wymaganymi okresami ( tu OCR1A ) przy skrajnych położeniach.
Co prawda literatura mówi o wartościach od 1 do 2ms lecz życie czasami to weryfikuje.
Ja gdy szukałem krańcowych wartości odczytywałem na LCD'ku wartość OCR1x ( zmieniałem ją programowo mierząc napięcie na ADC ) i obserwowałem kiedy przestaje kręcić mimo zmiany OCRx'a.
Ja zadałem inny tryb PWM'a, choć to bez różnicy:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Dla Twojego 16MHz ICR1 * 16.

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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


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