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



Teraz jest 6 kwi 2026, o 17:57


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 24 wrz 2015, o 21:19 
Offline
Użytkownik

Dołączył(a): 18 cze 2015
Posty: 31
Pomógł: 0

Witam,

potrzebuję spojrzenia na kod kogoś z zewnątrz. Preskaler nie chce się zmieniać. Mam cały czas taką samą częstotliwość PWM (ok 10kHz). Sprawdzałem oscyloskopem. Procesor Atmega32.

Napisałem funkcję, która ma inicjalizować tryb PWM. Dodam, że wypełnienie zmienia się aż miło. Co robię źle?

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: 24 wrz 2015, o 21:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2012
Posty: 193
Pomógł: 6

Witam,
bit WGM12 znajduje się w rejestrze TCCR1B, to jedyny błąd jaki udało mi się dostrzec



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 wrz 2015, o 21:40 
Offline
Użytkownik

Dołączył(a): 18 cze 2015
Posty: 31
Pomógł: 0

Niestety to nie to, ale dziękuję.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 wrz 2015, o 21:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2012
Posty: 193
Pomógł: 6

Wrzuć może cały kod i napisz kiedy zmieniasz ten preskaler że nie działa?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 wrz 2015, o 22:05 
Offline
Użytkownik

Dołączył(a): 18 cze 2015
Posty: 31
Pomógł: 0

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


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


Na razie wartość preskalera i wypełnienia podaję ręcznie (pewnie i tak będzie stała, ma mieć tylko nieco więcej niż 20kHz). Kiedy zmieniam preskaler nie zmienia się częstotliwość przebiegu. Mogę usłyszeć bardzo wysoki dźwięk, ok. 10kHz.
Sprawdzałem na oscyloskopie oraz przetwornikiem piezo (układ ma mieć zastosowanie jako urządzenie akustyczne). Ma załączać wyjście PWM z określonym wypełnieniem i częstotliwością w momencie pojawienia się stanu wysokiego na określonym pinie (tutaj jest to czujnik ruchu).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 wrz 2015, o 22:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2012
Posty: 193
Pomógł: 6

Wygląda mi na to że program działa prawidłowo, wrzuciłem go właśnie na atmege32 która miałem pod ręką i wszystko działa jak należy - OCR1A zmienia wypełnienie a zmieniając prescaler zmieniam częstotliwość, w funkcji main ustawiasz OCR1A na 125 po wykryciu S1 powiedz co to wg Ciebie zrobi? Oczekujesz wypełnienia 50%?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 wrz 2015, o 22:41 
Offline
Użytkownik

Dołączył(a): 18 cze 2015
Posty: 31
Pomógł: 0

No to nie wiem o co chodzi... Mierzę sygnał tym: http://www.jyetech.com/Products/LcdScope/e138.php
Wiem, że ma to wąskie pasmo (200kHz) i nie jest profesjonalnym narzędziem, ale powinno działać. Do tego użyłem mojego ucha i też nie było różnicy.
Wypełnienie 125 to w moim trybie (Fast PWM, 10bit) około 10% (maksymalna wartość to 1024, 2^10). Zmieniając je na 0 wyłączam sygnał podawany na przetwornik piezo. Czy gdzieś popełniam błąd?

Idę spać, jutro będę wałczył dalej. Dzięki za pomoc.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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