Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Pomiar napięcia ujemnego DC
#5
(12-17-2020, 08:14 PM)wilkxt napisał(a): sprawdzimy ten ujemny dzielnik

Znowu trochę czasu minęło i teraz testuję aktualny firmware 1.47a - jest postęp że da się wstawić wartość ujemną -23 jako mnożnik, jednak nadal nie działa to poprawnie z opisywanym pomiarem ujemnego napięcia przez dzielnik.
Wartość z ADC jest przesuwana o wartość wpisaną w polu "kalibracja" (u mnie ujemną około -3600 bo chcę uzyskać wskazania "zero" przy 0V przed dzielnikiem co daje około +4,4V podawane na LK) i niestety jeśli (ADC + kalibracja) jest ujemne, jest obcinane do zera co jest błędem.  Jakby została tam wartość ujemna, po pomnożeniu przez mnożnik -23 dostałbym dobry odczyt napięcia (normalnie około 54V).

Jeszcze raz:

dzielnik: wejście - rezystor 100k - INPA1 - rezystor 4k75 - +5V

na wejściu dzielnika 0V, na wejściu INPA1 +4,4V co w 12-bitowym ADC o zakresie 0...+5V daje wynik około 3600
plus kalibracja -3600 by dostać 0 co bez względu na mnożnik daje odczyt 0V

na wejściu dzielnika -52V, na wejściu INPA1 +2,14V, z ADC 1750, plus kalibracja -3600 co daje -1850, *5/4096 daje około -2,25V razy mnożnik -23 co daje około 52V

ważne by wartość (ADC + kalibracja) traktować jako ze znakiem i nie obcinać do zera jeśli jest ujemna (choć sama wartość z ADC jest bez znaku 0...4095)

jak już jesteśmy przy matematyce to przyjrzałbym się zaokrągleniom wokół zera, dla WCS1800 zmieniając kalibrację co 1 widzę spore "skoki" tak jakby coś tam nie było zaokrąglane poprawnie (przeskok z -0,03 na 0 potem 0,01 i 0,03).  Dzielenie liczb całkowitych w języku C ma to do siebie że zaokrągla w stronę zera a nie najbliższej wartości, przed dzieleniem trzeba skorygować dzielną o +/- pół dzielnika zależnie od jej znaku.  Tyle zgaduję gdzie może być problem nie widząc kodu Smile
<t></t>
Odpowiedz


Wiadomości w tym wątku

Skocz do:


Użytkownicy przeglądający ten wątek: 2 gości