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



Teraz jest 27 gru 2024, o 20:55


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 2 wrz 2020, o 09:22 
Offline
Nowy

Dołączył(a): 16 gru 2019
Posty: 8
Pomógł: 0

Witam, mam problem z PWM na mikrokontrolerze Attiny. A dokładniej chciałem przy pomocy sprzętowego pwm (1kanał Oc0 PB2) wysterowac dwa rozne napiecia na dwoch pinach. Czesciowo mi to zadziałało, a konkretniej gdy ustalane wartosci są inne i zmienne w czasie po probie przypisania ich do pwm wystawiane są takie same wartości pwm (te same napięcia). Natomiast gdy do jednej wpisze jedną stałą wartosc, a do drugiej wartosc przeliczaną co 100ms to wszystko działa poprawnie. Jest mozliwosc wystawienia dwóch róznych wartosci napięcia na dwoch roznych pinach przy pomocy jednego kanału pwm? Wykorzystałem kod z bluebooka. Kod załączam na dole.

Celem jest ustalanie dwóch różnych napiec, na dwoch roznych pinach przy pomocy jednego kanału. Gdy wpisuje dwie rozne przeliczone wartosci do zmiennych to wystawiane jest takie same napiecie. Natomiast gdy do jednej wpisuje stałą wartosc a do drugiej przeliczoną to wtedy wystawiane są poprawne napięcia. Spotkał się ktoś z takim przypadkiem i wie w czym leży problem?
Z góry bardzo dziękuję za pomoc.
Pozdrawiam, Patryk

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: 2 wrz 2020, o 13:38 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 423
Lokalizacja: Puck
Pomógł: 7

Witaj xpatrgk

Gdybyś spróbował coś takiego

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


Miałbyś dwie zmienne niezależnie dla każdego wyjścia sterowane z jednego PWM
I myślę że tu powinna zajść zmiana ( kombinuję bez sprawdzania na sucho więc
mogę się mylić )
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


nie sprawdzałem lecz biorę to na chłopski rozum ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 wrz 2020, o 16:58 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 423
Lokalizacja: Puck
Pomógł: 7

Przepraszam ale coś mi się wydaje że w pierwszej części
postu z kodem wypisałem bzdury i proszę nie brać
tego kodu pod uwagę :mrgreen:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 wrz 2020, o 18:30 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

xpatrgk napisał(a):
Jest mozliwosc wystawienia dwóch róznych wartosci napięcia na dwoch roznych pinach przy pomocy jednego kanału pwm?


Widzę, że nie za bardzo rozumiesz zasadę działania sprzętowego PWM. Nie napisałeś, o jaki dokładnie ATtiny chodzi ani jaką częstotliwością go taktujesz, więc trudno tu przedstawić działający kod, ale tak naprawdę raczej nie będziesz potrzebował ani dwóch timerów ani przerwania. Na przykład dla ATtiny2313 można zrobić mniej więcej tak (nie mam możliwości przetestownia):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


...chyba, że koniecznie potrzebujesz podziału przez 200 lub musisz użyć innych pinów. Wtedy będzie musiał generować programowo w przerwaniu, tylko nieco inaczej, niż to próbowałeś zrobić.



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