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



Teraz jest 7 mar 2026, o 07:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 15 maja 2016, o 21:26 
Offline
Nowy

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

Witajcie,
zdefiniowałem timer1 do pracy w trybie fastpwm, do którego przepisywane były wartości z regulatora pid (avr221) w taki sposób, aby z typu int16_t wyjścia regulatora uzyskać konwersję na typ uint16_t, np. duty = (uint16_t) ((((-1)*(inputValue))<<1)-1). Następnie wartość wypełnienia przepisywana była do rejestru OCR1A timera1. Timer zdefiniowany został w sposób następujący:
Kod:
TCCR1A |= ((1<<WGM10)|(1<<WGM11));
    TCCR1B |= ((1<<WGM12)|(1<<WGM13));
    TCCR1A |= (1<<COM1A1);
    TCCR1B |= ((1<<CS11)|(1<<CS10));
    DDRD |= (1<<PD5);
    OCR1A=0;


na wyjściu pinu mam cały czas stan wysoki, w identyczny sposób tylko inną konwersję zastosowałem dla timera0, jednak tam widać, że wraz ze wzrostem wypełnienia napięcie na wyjściu rośnie proporcjonalnie do wypełnienia. Co może być nie halo?

------------------------ [ Dodano po: 29 minutach ]

Inna sprawa - kiedy wpisuje na sztywno do rejestru wartość 0 - na wyjściu też mam 5V



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 maja 2016, o 10:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

OC1A- to chyba na PB1 ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 maja 2016, o 10:57 
Offline
Nowy

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

nie, atmega32 ma oc1a na pd5



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 maja 2016, o 11:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Ocie1a ?z angielskiego z pdf ciężko mi wykąpać.z komórki.sorka. takie
Zezwolenie na przerwanie od porównania .



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 maja 2016, o 13:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

[url]
http://atmega32.republika.pl/18.htm
[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 maja 2016, o 19:43 
Offline
Użytkownik
Avatar użytkownika

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

Witam
Nie jestem pewien, ale dla fastPWM 16bit chyba możesz używać tylko OC1A ( OC1B jest "zwykłym" PIN'em ) a w konfiguracji wpisujemy:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

...ale każdy może się mylić :)

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 maja 2016, o 23:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Sorka .
Albo coś źle robię, hmm.., bo u mnie chyba działa i PD5 , i PD4 ,na sprzętowym PWM ?
Ale mam problem żeby to zrozumieć- który rejestr co robi.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Może to pomoże w rozgryzaniu timera, ja już dziś nie mam siły.
Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 maja 2016, o 16:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

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

I wszystko jasne.
Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 maja 2016, o 16:55 
Offline
Nowy

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

Ok, tryb 14 się włącza. Ale wywnioskuj z mojego kodu w 1. poście, że próbowałem tryb 15 uruchomić. Probowałem w vmlabie zasymulowac inicjalizacje timera, to przy moim kodzie z pierwszego postu uruchamial sie tryb fast pwm 10 bit. A na mikrokontrolerze objawialo sie to stanem wysokim na pinie oc1a. Chcialbym wiedziec - dlaczego?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 maja 2016, o 18:36 
Offline
Użytkownik
Avatar użytkownika

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

...a moją teorię sprawdzałeś?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 maja 2016, o 20:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Tak "kicajek" ma rację.
Wygląda na to że,
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Sam nie wiem dlaczego sprawia wrażenie niezgodności z opisem,
hmm. możliwe że czegoś tu nie zauważyłem i nie umiem ustawić.



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

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