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



Teraz jest 29 mar 2024, o 07:20


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 20 mar 2019, o 10:41 
Offline
Nowy

Dołączył(a): 09 lis 2014
Posty: 6
Pomógł: 0

Witam, mam dziwny problem z moja ATMEGA32A-PU.
Chcialem opanowac sterowanie servo, i przegladalem wideo pana Mirka "#0545 AVR + SERVO + ANALOG INDICATOR"
Po wyliczeniu wszystkiego wyszedl mi zakres OCR1A od 100 - 500, poniewaz datasheet pokazuje ze ten chip ma 16MHz taktowanie. O dziwo, serwo tylko lekko szarpalo zamiast zrobic ruch o 180st.
W sieci znalazlem inny tutorial z ponizszym kodem:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Tutaj servo dziala ale tez nie dokladnie.
Postanowilem zaczac od podstaw i zrobilem mrugajaca lede, zeby sprawdzic czy piny wogole dzialaja. Co odkrylem ze delay 200ms mrygal bardzo wolno.
Odrazu przyszlo mi do glowy ze chodzi o taktowanie, wiec zdefiniowalem recznie F_CPU = 16000000UL, efekt ten sam. Dopiero przy F_CPU 1000000UL wszystko dziala poprawnie, w kodzie z filmu pana Mirka, po przeliczeniu wartosci pod 1MHz, wyszlo 8-32 i wszystko dziala normalnie.
Co moze byc powodem przetaktowania chipa z 16MHz na 1MHz?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 mar 2019, o 11:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1146
Lokalizacja: Kraków
Pomógł: 93

Powoli. Zmieniłeś fusebity w procku?
Fabrycznie nowa ATMEGA32 ma ustawione taktowanie wewnętrznym oscylatorem 1 MHz, musisz tam zmienić.
I, z tego, co pamiętam, do taktowania 16MHz musisz podłączyć zewnętrzny kwarc.

I jeszcze jedno. Jak wspomniał kolega wyżej taktowanie ustawiasz w opcjach projektu, a nie ręcznie wpisując F_CPU!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 mar 2019, o 11:22 
Offline
Nowy

Dołączył(a): 09 lis 2014
Posty: 6
Pomógł: 0

uzywam CodeBlocks, tam z automatu ustawilo projekt na 16MHz dla tego chipa, dlatego zmienilem przez F_CPU.
Fusebitow nie zmienialem, przynajmniej nie swiadomie...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 mar 2019, o 12:21 
Offline
Nowy

Dołączył(a): 09 lis 2014
Posty: 6
Pomógł: 0

Mozna powiedziec ze fabrycznie nowa, bo mam ja od poczatku. Ma juz kilka lat ale lezala w szufladzie dlugi czas, teraz postanowilem wrocic do zabawy.
Dobrze wiedziec, doczytalem ze faktycznie wewnetrzenie ma 1MHz by mozna bylo uzywac out-of-box.
Musze doczytac jak podpiac krysztal i zmienic te fusy. Chyba ze ma ktos sprawdzony poradnik?



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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO