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



Teraz jest 29 sty 2026, o 23:46


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 2 sty 2015, o 12:15 
Offline
Użytkownik

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

Witam,
Mam problem z ADC chce zrobić miernik na 2 kanałach ( w przyszłości 2xWoltomierz, 2x Amperomierz), I o ile wartość ADC jest dobrze pobierana o tyle konwersja z ADC na napięcie nie działa tak jak powinna, wyniki wyświetlam na LCD HD44780 i też coś jest nie tak.
Co do napięcia obliczanego jest taki problem, że gdy są podpięte na jeden pomiar z potencjometru, wszystko jest niby ok, ale gdy przepnę jeden do gnd albo VCC to wartości są ok ale konwersja szwankuje to znaczy dzieli jakby na pół wartość, poniżej kod do konwersji z ADC na napięcie, kod jest w formie funkcji z lekcji 5 Pana Mirka:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Fragment kodu od przekazania wartości do wyświetlania, wywołania funkcji, wyświetlanie na lcd też szwankuje nie odświeża się dobrze pozostają stare wartości, wartości czasami latają po ekranie nie wiedzieć czemu (korzystam z libsów z BB):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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


Siedzę już 2 dzień nad tym i nie wiem co robię źle, podłączeń nie wrzucam bo są ok, ADC podaje z dzielnika napięcia za którym stoi potencjometr 2,2k, sprawdzając program na 1 kanale i na 2 odczyt wartości ADC jest ok, tylko ta konwersja na napięcie nie działa. Ktoś ma jakieś koncepcje??



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2015, o 12:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

tablica tmp_wynik powinna mieć dwa elementy
a Ty deklarujesz jeden

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


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


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

to takie pierwsze spostrzeżenie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2015, o 12:50 
Offline
Użytkownik

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

poprawione ale dalej dzieli wartości na pół, i na wyświetlaczu ciągle wariacje jakieś dziwne ;/


----------------
Ok Udało się zlikwidować szalejący wyświetlacz,pozostaje tylko to dzielenie na pół wyniku napięcia w przypadku różnych wartości na kanałach.


---------
Okazuje się że coś z wyliczaniem średniej jest nie tak, tzn. ten fragment funkcji:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Powoduje dzielenie wartości na dwa jeśli za komentuje wszystko chodzi jak należy tylko nie mam stabilnego wyniku, na którym mi zależy.


----------------------Rozwiązano
Wszystko działa wystarczyło wyrzucić uśrednianie do funkcji i liczyć średnią w main() a nie w innej funkcji. Zamykam



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

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