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



Teraz jest 8 gru 2019, o 01:52


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 
Autor Wiadomość
PostNapisane: 1 lis 2019, o 00:26 
Offline
Nowy

Dołączył(a): 06 lut 2018
Posty: 23
Pomógł: 0

Panowie, piszę do Was bo za chwilę szlag mnie trafi.
Problem - projektuję woltomierz, z którego dane będą wyświetlane zdalnie w aplikacji (przez bluetooth).
Wszystko było ok, dopóki mierzyłem napięcia z zakresu od 0 do 5 V. Problem zaczął się wówczas, gdy chciałem zwiększyć zakres pomiarowy: od 0 do 12 V. W tym celu zastosowałem dzielnik napięcia (wartości rezystorów zgodne z poniższym rysunkiem).

Informacje:
- napięcie referencyjne 1.1 V
- pin AREF podpięty przez kondensator 100 nF do masy
- masy układów połączone
- pobieram wartość ADC z mikrokontrolera i wysłam ją przez USART
- w aplikacji wyliczam wartość napięcia ze wzoru: ADC * (1.1 / 1024) * 11
- 11 to współczynnik dzielnika napięcia

Uzyskuję następujące, bezsensowne wyniki (w Voltach):
Wartość rzeczywista podanego napięcia na dzielnik - wartość wyświetlana (pobrana z ADC):

2.0 - 4.00
3.0 - 5.0
4.0 - 5.92
5.0 - 6.85
6.0 - 7.69
7.0 - 8.7
8.0 - 9.6
9.0 - 10.6
10.0 - 11.5

Obrazek

Proszę o pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2019, o 01:41 
Offline
Tech-support
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 897
Lokalizacja: Kraków
Pomógł: 71

A nie powinieneś dzielić przez 1023?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2019, o 01:47 
Offline
Nowy

Dołączył(a): 06 lut 2018
Posty: 23
Pomógł: 0

Marhef napisał(a):
A nie powinieneś dzielić przez 1023?


Też tak początkowo przyjąłem (w końcu zakres ADC to od 0 do 1023), ale zasugerowałem się wzorem w MkAVRCalculator (który to wzór jest też zresztą w nocie katalogowej procka). Tak czy inaczej, wartości wychodzą błędne. Zarówno gdy dzielę przez 1024 jak i 1023.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2019, o 07:10 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 164
Pomógł: 18

Na początek zrób tabelkę z wartościami mierzonymi woltomierzem i wartościami czytanymi z ADC
Gdzieś może zrobiłeś literówkę we wzorze.
Tak sobie gdybam.
Bo skoro działa to dobrze bez dzielnika to czemu miało by działać źle z dzielnikiem

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2019, o 08:41 
Offline
Użytkownik

Dołączył(a): 28 wrz 2016
Posty: 175
Pomógł: 14

JarekB napisał(a):
Na początek zrób tabelkę z wartościami mierzonymi woltomierzem i wartościami czytanymi z ADC

Dokładnie, z tym, że dodaj wartość odczytaną z ADC dla napięcia 0V i 12V
Wtedy będzie można rozstrzygnąć czy błąd jest w przetworniku, czy w przeliczaniu
Zauważ, że masz dużą nieliniowość w odczycie napięcia, co sugeruje błąd w sposobie pomiaru

_________________
de gustibus non est disputandum



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2019, o 10:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lip 2014
Posty: 35
Pomógł: 2

Tu jednak jest chyba problem w offsecie
Obrazek
bo wygląda to na dość liniowo...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2019, o 10:24 
Offline
Użytkownik

Dołączył(a): 05 wrz 2017
Posty: 117
Pomógł: 22

Jeśli poprawnie mierzyłeś napięcia w zakresie 0-5V to znaczy, że problemem prawdopodobnie jest Twój dzielnik - na to wskazują wyniki im niższe napięcie tym większy błąd (choć zmiana błędu jest niewielka od2 V do 1.5V).
Przy 12V prąd jaki może popłynąć to coś w okolicy 1mA, później jest tylko gorzej. Przetwornik ADC przełącza pojemność i ją ładuje przez dzielnik wiec czas jaki potrzebujesz to t = RC, nie wiem jaka jest ładowana pojemność wewnętrzna ale pewnie dużo poniżej 1nF. Jeśli zmniejszysz szybkość próbkowania jednocześnie dając kondensatorowi się naładować wyniki powinny się poprawić, pomóc powinno też zmniejszenie wartości rezystorów. Możesz też podłączyć oscyloskop do wyjścia dzielnika i zobaczyć jak to tam wygląda (ustaw pomiar RMS dla kanału bo przebieg powinien być pocięty w rytm próbkowania przetwornika).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2019, o 15:01 
Offline
Nowy

Dołączył(a): 06 lut 2018
Posty: 23
Pomógł: 0

Dziękuję wszystkim za podpowiedzi.

Zmieniłem płytkę, na której testuję rozwiązanie i co za tym idzie, zmieniłem też uC.

Stan obecny wygląda następująco:
- wszystko jest zasilane z jednego zasilacza (masy połączone)
- napięcie podaję z regulowanego mini zasilacza (LM2596)
- założony zakres mierzonych napięć: 0 - 16 V
- napięcie referencyjne: 5 V (oczywiście wybrane programowo)
- pin AREF podpięty przez kondensator 100 nF do masy
- obniżyłem wartości rezystorów (z pary 10 k i 1 k , na 2,2 k i 1 k) - zgodnie z sugestią kolegi abel11
- częstotliwość próbkowania mam możliwie najniższą przy obecnej konfiguracji (współczynnik podziału - 128, co daje 144 kHz)
- wykonałem tabelkę pomiarów (napięcie i wartość ADC)
- mini zasilacz pozwala mi na podawanie napięć z zakresu od 1.2 do 11 V i takie wartości też zaprezentowałem

Poniżej załączam screen'a z programu MkAvrCalculator.

Tabela pomiarów.
Współczynnik k = 3.2 (sugerowany), ale zmieniłem go na k = 3.11 by uzyskać nieco lepsze, choć wciąż dalekie od ideału pomiary.

Woltomierz ->ADC-> Woltomierz (na podstawie odczytu ADC)
1.2 V-> 120-> 1.67 V
2 V -> 157 -> 2.38 V
3 V -> 220 ->3.37 V
4 V -> 284 ->4.30 V
5 V ->340 ->5.16 V
6 V ->397 ->6.04 V
7 V ->457 ->6.92 V
8 V ->520 ->7.88 V
9 V ->579 ->8.79 V
10 V ->639 ->9.70 V
11 V ->701 ->10.67 V


Jak widać, zaprezentowane wartości są najbardziej rozbieżne przy niskich wartościach napięcia. Najlepiej prezentuje się z kolei środek i wyższe zakresy.

Czym jeszcze może być to spowodowane? Biorę oczywiście pod uwagę tolerancję rezystorów. Tylko pytanie, co mogę jeszcze zrobić, żeby ten pomiar poprawić? Kalibracja za pomocą potencjometru w dzielniku, zamiast rezystora? Tylko to przychodzi mi do głowy, ale niestety nie mam pod ręką żadnego potencjometru.

Z góry dziękuję za wszelkie sugestie i podpowiedzi.


Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2019, o 16:09 
Offline
Użytkownik

Dołączył(a): 21 gru 2018
Posty: 43
Pomógł: 0

A jak z dokładnością rezystorów i jakie prądy płyną faktycznie w dzielniku?

Tutaj zagłębisz temat : http://elektroniczny.eu/dzielnik-napiec ... przyklad/#



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2019, o 17:36 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 164
Pomógł: 18

1. Zasilanie procesora z jakiegoś stabilnego źródła + kondensatory 100nF do każdego pinu VCC (warto zobaczyć oscyloskopem co biega na VCC)
2. Zasilanie AVCC przez dławik i kondensator
(AVCC is the supply voltage pin for Port F and the A/D Converter. It should be externally connected
to VCC, even if the ADC is not used. If the ADC is used, it should be connected to VCC
through a low-pass filter)

3. Unikaj używania wejść ADC do innych celów (oczywiście z pominięciem tego który używasz do pomiaru)
4. W ekstremalnych przypadkach na czas pomiaru zastopuj wszystkie funkcje życiowe procka oprócz ADC
5 Użyj wewnętrznego źródła 2,56 nie używaj VCC. (tym bardziej że mogą być tam śmieci)

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2019, o 18:44 
Offline
Użytkownik

Dołączył(a): 28 wrz 2016
Posty: 175
Pomógł: 14

wzagra napisał(a):
bo wygląda to na dość liniowo...

tu się nie zgodzę, offset jest oczywiście, ale różnica 25% nachylenia to dużo za dużo, to już nie jest miernik, a wskaźnik
błąd nieliniowości nie powinien być większy niż 2bity (to z pamięci), czyli o rząd wielkości mniejszy
mtbchn napisał(a):
Biorę oczywiście pod uwagę tolerancję rezystorów.
BŁĄD! Zauważ, że za każdym razem, za każdym pomiarem wartość rezystorów się nie zmienia, nie zmienia się też współczynnik konwersji. Nie spowoduje też offsetu. A u Ciebie pojawia się i offset i nieliniowość. Tego nie spowoduje nawet największy rozrzut rezystancji rezystorów dzielnika.
mtbchn napisał(a):
mini zasilacz pozwala mi na podawanie napięć z zakresu od 1.2 do 11 V
0V uzyskasz po prostu zwierając wejście ADC do masy. Wartość dla odczytana ze zwartym ADC powinna być 0, ewentualnie bardzo bliska 0. Jeśli nie będzie, to będzie to pierwszy problem do rozwiązania.
Bardzo pomocne będzie jeżeli do tabelki dodasz jeszcze wartość napięcia na wejściu ADC względem masy.
Zapomniałem o najważniejszym, czy odczyty sa powtarzalne? Wykonaj kilka pomiarów i sprawdź, czy dla np. 5V zawsze pokazuje tyle samo.

_________________
de gustibus non est disputandum



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2019, o 19:23 
Offline
Użytkownik

Dołączył(a): 05 wrz 2017
Posty: 117
Pomógł: 22

Jeśli to ma być woltomierz, a nie wskaźnik, to na wejściu powinieneś zmontować wzmacniacz pomiarowy, np. na 3 wzmacniaczach operacyjnych albo zastosować specjalizowany układ scalony. Wtedy masz pewność, że sprzętowo sygnał do przetwornika dochodzi jak należy i ewentualny problem leży po stronie programowej.
Możesz też na próbę, do wyjścia dzielnika podłączyć wzmacniacz operacyjny (w konfiguracji wtórnika) wyjście wzmacniacza bezpośrednio podłącz do nogi uC z której wykonujesz pomiar konwersje A/C. Całość polega na tym, że z strony dzielnika napięcia podłączenie wzmacniacza nie wprowadza obciążenia ponieważ rezystancja wejściowa wzmacniacza powinna być nieskończenie duża, w rzeczywistym układzie jest zaniedbywalnie duża. Natomiast impedancja wyjściowa wzmacniacza jest równa zero dla idealnego, dla rzeczywistego jest wystarczająco mała żeby ją zaniedbać. Taki układ powinien z dużą dozą prawdopodobieństwa rozwiać wątpliwości w kwestii sprzętowej - żeby rozwiązać problem najpierw trzeba go zidentyfikować i tu metoda (skrajne wartości napięć wejściowych) którą zaproponował kolega Alef2 powinna bardzo pomóc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2019, o 20:06 
Offline
Użytkownik

Dołączył(a): 19 lip 2013
Posty: 554
Pomógł: 30

A ja się kiedyś tak tydzień męczyłem ,a na koniec okazało sie ze to avr z chin i wystarczyło go wymienić :)



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO