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



Teraz jest 17 sie 2026, o 06:41


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 23 lut 2015, o 21:21 
Offline
Nowy

Dołączył(a): 01 lut 2015
Posty: 24
Pomógł: 0

Witam
Robie PWM ( tryb 14 -atmega8) jego sterowanie odbywa sie za pomocą 16 bitowego rejestru ICR1 który to odpowiada za uzyskaną częstotliwość na wyjściu OCR1A (PB1) .

Jezeli do rejestru ICR1 przypisuje stała wartość to wszystko jest ok, dioda poprawnie swieci, wynik na lcd jest OK.
W momencie kiedy rejestr ICR1 zależy od adc1 to wtedy wyswietlacz Pada kreski..., miga itp brak wyniku.
Sprawdzałem czy pobór prądu nie przekracza maksymalnej wartosci jaką daje USBsap czylu port USB w laptopie i jest OK. czyli wina programu, tylko problem w tym żę nie widze tego błedu

do rejestru ICR1 (16 bitowego) wpisuje 65500/adc1 adc1 jest 10 bitowe, uzyskuje w nim wartości od 0-1023

Moje drugie pytanie to czy należy stosować eliminacje drgań styków przy przełaczniku obrotowym. Pan Mirek tylko o klawiszach wspomina one są małostabilne, a ten przełacznik już jest solidniejszy. (Nie sprawdzałem na oscyloskopie co sie dzieje)



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



Buduje generator PWM



Ostatnio edytowano 24 lut 2015, o 09:22 przez kojot90, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2015, o 21:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Wgraj jeszcze schemat by widziec jak vcc leci.

Ad2 ja bym zastosował eliminację drgań no chyba że sprawdzasz po adc ale też nie wiem jak go laczysz i czytasz.

Namazane ze smarta.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2015, o 21:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 sie 2013
Posty: 230
Lokalizacja: Zabrze
Pomógł: 17

A nie jest to czasem przypadek, gdy ADC=0? Dzielić przez 0 nie można. Może warto dodać warunek:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
40-32:2=4!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2015, o 21:56 
Offline
Nowy

Dołączył(a): 01 lut 2015
Posty: 24
Pomógł: 0

Dokładnie co sie dzieje pokażę na zdjęciach

Jezli adc jest małe 0, 1, 2 ,3 - około 100 to na wyjsciu uzyskuje wtedy małe czestotliwosci 0-500Hz wtedy jeszcze sie wyswietla w momencie kiedy krece potencjometrem i adc 111++ to zaczyna powoli znikać aż potem całkiem znika, i nawet jak powróce do adc = 0, 1 ,2 ,3 to i tak nic nie pokazuje

Pierwsza po lewej wartość 65535 to wartość ICR1 dziwne ( ona sie nie zgadza bo wpisuje ICR1=62500/adc1; )
poniżej wartość OCR1A= ICR1/2 a z boku wartość adc

Obrazek


Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2015, o 22:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 maja 2014
Posty: 317
Pomógł: 19

Niewiele się znam na elektronice analogowej, ale nie pasuje mi w tym układzie cewka. Wydaje mi się, że robi ona tutaj za taki filtr dolnoprzepustowy, chociaż -jak zakładam- jej rola ma być inna -ale jeśli tak, to należy odseparować masy: analogową (tam gdzie jest cewka) i cyfrową czyli wszystkie połączenia LCD z masą + reszta sygnałów, która korzysta z dobrodziejstw wartości dyskretnych. ;)

Pozdrawiam! j23 Jarek

_________________
"O sygnałach bez całek" Czesław Frąc



Ostatnio edytowano 23 lut 2015, o 22:12 przez j23, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2015, o 22:10 
Offline
Nowy

Dołączył(a): 01 lut 2015
Posty: 24
Pomógł: 0

PJS napisał(a):
A nie jest to czasem przypadek, gdy ADC=0? Dzielić przez 0 nie można. Może warto dodać warunek:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


nie pomogło :( to samo

------------------------ [ Dodano po: 19 minutach ]

j23 napisał(a):
Niewiele się znam na elektronice analogowej, ale nie pasuje mi w tym układzie cewka. Wydaje mi się, że robi ona tutaj za taki filtr dolnoprzepustowy, chociaż -jak zakładam- jej rola ma być inna -ale jeśli tak, to należy odseparować masy: analogową (tam gdzie jest cewka) i cyfrową czyli wszystkie połączenia LCD z masą + reszta sygnałów, która korzysta z dobrodziejstw wartości dyskretnych. ;)

Pozdrawiam! j23 Jarek


W chwili obecnej mam wszystko na płytce stykowej i mam zasilanie z USBsap i następnie rodzielają sie masy na analogową (potencjometr ) i cyfrową. Brak zakłucen na AVCC, AREF = 4,71 - 4,70



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lut 2015, o 06:18 
Offline
Użytkownik

Dołączył(a): 31 mar 2014
Posty: 55
Pomógł: 2

Witam,
Nie wiem co chcesz osiągnąć dokładnie na tej diodzie:
1. Czy chcesz by po odczycie ADC dioda świeciła na stałe z odpowiednią jasnością, dokładnie rzecz ujmując dioda ma świecić z jasnością odpowiadającą wartości ADC?
2. Czy chcesz by dioda migała płynnie z odpowiednią częstotliwością zależną od ADC.
W przypadku pierwszym nie potrzebny Ci jest Timer odczytujący wartości ADC, Ja do tego przypadku ( regulacja podświetlenia LCD, ale nie na ADC wykorzystuje taki fragment kodu):
INICJALIZACJA TIMERA1 PWM14
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Proste ustawianie wartości po naciśnięciu klawisza:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

U mnie to powoduje zmiane jasności świecenia diody podświetlającej LCD.

Jako że robię miernik to Ci podrzucę konfigurację ADC na multichannel i auto odczyt ADC dla Atmega328 dla Atmega8 musisz przerobić rejestry:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


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

Tylko musisz odpowiednio przerobić pod to co chcesz osiągnąć.
W main dodatkowo musisz po kolei zrobić tak:
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 lut 2015, o 09:25 
Offline
Nowy

Dołączył(a): 01 lut 2015
Posty: 24
Pomógł: 0

k_lukasik napisał(a):
Witam,

2. Czy chcesz by dioda migała płynnie z odpowiednią częstotliwością zależną od ADC.


Tak
Buduje sterowany PWM czyli taki generator funkcyjny.
w zależnosci od ustawien potencjometru zmienia sie wyjscie OCR1A

dlatego musi być tak jak jest.

Twoje ustawienia sie prawie niczym nie różnią jedynie korzystasz z wewnętrznego źródła odniesienia.


Dalej nie wiem czemu lcd przygasa



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lut 2015, o 10:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 maja 2014
Posty: 317
Pomógł: 19

Kolego kojot90, a to nie jest tak przypadkiem, że to miganie, brak wyświetlania jest przez to, że z ADC za szybko następuje zmiana wartości i po prostu LCD nie nadąża? Nie wiem, może jakieś dodatkowe opóźnienie zastosować, albo przynajmniej spróbować jak zachowuje się wyświetlacz przy zwiększaniu opóźnienia z odczytu ADC? -tzn. mam na myśli zmniejszenie próbkowania.

Pozdrawiam! j23 Jarek

_________________
"O sygnałach bez całek" Czesław Frąc



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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