Skocz do zawartości

Problem z odczytem napiecia Arduino


Pomocna odpowiedź

Napisano

Witam !

Tak jak w temacie mam problem z odczytem napięcia na monitorze szeregowym. Odczytuje stan napięcia wy-indukowanego na cewce (uprzednio wyprostowanego) no i .... I odczytuje napięcie multimetrem, wychodzi od 40 do 110 mV w zależności od położenia i ruchu, no ale odczyt jakiś sensowny jest, podłączam teraz do Arduino + do pinu A1, masę do GND. Przebieg odczytu nie ma żadnego ładu, czasem pokaże 1023 czasem 0 czasem rośnie rośnie do 75 (czyli miej więcej coś takiego) potem opada do 0 potem 0 0 0 0 0 0 0 0 0 i znów rośnie. Generalnie cuda wianki. Przepraszam być może problem jest elementarny, ale mam nadzieje że któryś z użytkowników rozwieje moją niewiedze.

Z góry dziękuje i pozdrawiam.

Oto kod programu:

int nap = A1;

int odczyt;

void setup() {

Serial.begin(9600);

pinMode(nap, INPUT);

}

void loop()

{

analogRead(nap);

odczyt = analogRead(nap);

Serial.print(odczyt);

Serial.println(" V");

Serial.println("------------");

delay(100);

}

__________

Komentarz dodany przez: Treker

Kod programu, dla lepszej czytelności, należy umieszczać w tagach .

Proszę to poprawić.

Po pierwsze, to co odczytujesz, to nie są wolty, tylko jednostki równe 1/1024-tej napięcia zasilania, czyli przy Arduino UNO jakieś 0.005V na jednostkę.

Po drugie, ADC w Arduino jest wolne -- zrobienie pomiaru zajmuje mu ponad 0.1ms.

Po trzecie, jeśli podasz do ADC napięcie wyższe niż 5V, to masz bardzo dobrą szansę jego uszkodzenia.

Po czwarte, może daj tam jakiś kondensator, żeby to trochę wygładziło?

Po piąte, jak właściwie brzmi twoje pytanie?

Niejasno zadałem pytanie? Poprostu chce się dowiedzieć dlaczego odczyt z arduino nie pokrywa się z odczytem z multimetru. Napięcie nie przekracza 5V napisałem już o tym. A i przepraszam za niedokładny program wiem że jedna jednostka jest 1/1023 częścią 5 V. Myślisz że arduino sobie z tym nie poradzi z pomiarem ? A co do kondensatora jak go włączyć? Mniej więcej jaki powinien być?

Jeśeli to napięcie zmienia się bardzo gwałtownie, to odczyty z multimetru (który ma w środku sporo filtrów, żeby wyświetlać średnie napięcie) będą znacząco różne od chwilowego pomiaru zrobionego przez Arduino. Kondensator to przykład takiego prostego filtru, podpinasz go pomiędzy wejście analogowe a masę. Jego wartość zależy od tego jak bardzo wygładzony chcesz mieć sygnał (oraz przez jaką oporność się rozładowuje -- można dodać jeszcze opornik równolegle do kondensatora). Są na to wzory w książkach o elektronice, ale nie mam o tym zielonego pojęcia, bo jestem laikiem.

Filtrowanie możesz też zrobić programowo, zbierając w buforze kołowym pewną ilość pomiarów i licząc z nich średnią ruchomą.

[ Dodano: 27-02-2016, 11:53 ]

Popełniłem dzieło, które być może zilustruje z czym masz tutaj do czynienia:

A to pomiar zrobiony przy pomocy Arduino.

B to pomiar multimetrem.

Jakościowo lepsze będzie rozwiązanie z buforem czy kondensatororem? Jak dobrać takowy? Chciałbym aby napięcie było możliwie maksymalnie wygładzone.

Dziękuję i pozdrawiam.

to znaczy jaki byś sugerował abym uzyskiwał 1 odczyt na sek ? nie chce aż tak zaokrąglonego 😃

A co do jakości obu metod ?

Każda z tych metod ma swoje zalety, wady i ograniczenia. Co więcej, nie są one (metody: analogowa i cyfrowa) w ogólnym sensie wymienne i rzadko kiedy występują osobno. Może najpierw pokaż nam układ który skleciłeś i opisz warunki jego pracy. Nie da się wymyślić dobrej metody pomiarowej bez wiedzy o tym co chcemy mierzyć. W Twoim przypadku może być tak, że ani pomiary multimetrem ani to co zrobiłeś na Arduino nie mają sensu a wyniki nie niosą prawdziwej informacji którą chcesz uzyskać.

Tak więc czekamy na: prawdziwy schemat tego co już masz, opis zjawiska ("wsuwam ręką magnes" albo "drgania silnika kosiarki powodują drgania rdzenia") - chodzi o to byśmy wiedzieli jakie zjawiska zachodzą, z jaką szybkością itd. Dobrze byłoby też wiedzieć do czego tego potrzebujesz: czy do prostego wyświetlania jakiejś liczby, czy wynik pomiaru będzie dalej służył komputerowi do jakichś obliczeń i np. sterowania. Czym? Itd.

Wtedy możemy gadać, bo teraz - w tak bardzo ogólnym przypadku - to można książkę napisać a zaraz okaże się, że nie na temat.

Przepraszam, to była pierwsza myśl, cofam kosiarkę (choć może to jakiś znak?). Niech będzie: "drgania gruntu wywołują impulsy w cewce i dzięki temu wiem kiedy przejeżdża i jakie spóźnienie ma poranny InterCity do Krakowa". Ojej, ale może pociągi też się z czymś kojarzą?..

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...