Spisu treści:

Pomiary czujnika prądu ACS724 z Arduino: 4 kroki
Pomiary czujnika prądu ACS724 z Arduino: 4 kroki

Wideo: Pomiary czujnika prądu ACS724 z Arduino: 4 kroki

Wideo: Pomiary czujnika prądu ACS724 z Arduino: 4 kroki
Wideo: ZIZ - pomiar natężenia prądu układem ACS712-20 - testujemy moduł pomiarowy 2024, Listopad
Anonim
Image
Image
Obraz
Obraz

W tej instrukcji będziemy eksperymentować z podłączeniem czujnika prądu ACS724 do Arduino w celu wykonania pomiarów prądu. W tym przypadku czujnik prądu jest odmianą +/- 5A, która daje 400 mv/A.

Arduino Uno ma 10-bitowy ADC, więc dobre pytania to: Jak dokładny jest bieżący odczyt, jaki możemy uzyskać i jak stabilny jest?

Zaczniemy od podłączenia czujnika do woltomierza i miernika prądu i dokonamy odczytów analogowych, aby zobaczyć, jak dobrze czujnik działa, a następnie podłączymy go do pinu Arduino ADC i zobaczymy, jak dobrze działa.

Kieszonkowe dzieci

1 - Płytka prototypowa2 - Zasilacze stacjonarne2 - DVM 1 - Czujnik ACS724 +/- 5A1 - Arduino Uno1 - LM78053 - Rezystory 10 omów, 10 W1 - Nakładka 1nF1 - Nakładka 10nF1 - Nakładka 0,1uFZworki

Krok 1:

Obwód testowy jest taki, jak pokazano na schemacie. Połączenie z pinu Arduino 5V do szyny LM7805 +5V jest opcjonalne. Możesz uzyskać lepsze wyniki z założoną zworką, ale uważaj na okablowanie, jeśli go używasz, ponieważ Arduino jest podłączone do komputera, a drugi zasilacz przekroczy 5 V po włączeniu go, aby zwiększyć prąd przez czujnik.

Jeśli połączysz ze sobą zasilacze, zasilacz czujnika i zasilacz Arduino będą miały dokładnie ten sam punkt odniesienia + 5 V i można oczekiwać bardziej spójnych wyników.

Zrobiłem to bez tego połączenia i zobaczyłem wyższy odczyt prądu zerowego na czujniku prądu (2.530 V zamiast oczekiwanego 2.500 V) i niższy od oczekiwanego odczyt ADC w punkcie zerowego prądu. Otrzymywałem cyfrowy odczyt ADC około 507 do 508 bez prądu przez czujnik, dla 2.500 V powinieneś zobaczyć odczyt ADC około 512. Poprawiłem to w oprogramowaniu.

Krok 2: Pomiary testowe

Pomiary testowe
Pomiary testowe

Pomiary analogowe woltomierzem i amperomierzem wykazały, że czujnik jest bardzo dokładny. Przy prądach testowych 0,5A, 1,0A i 1,5A było dokładnie zgodne z miliwoltami.

Pomiary ADC z Arduino nie były tak dokładne. Pomiary te były ograniczone 10 bitową rozdzielczością Arduino ADC i problemami z hałasem (zobacz wideo). Z powodu szumu odczyt ADC przeskakiwał w najgorszym przypadku do 10 lub więcej kroków bez prądu przepływającego przez czujnik. Biorąc pod uwagę, że każdy krok reprezentuje około 5 mv, jest to fluktuacja około 50 mv, a przy czujniku 400 mv/amp oznacza to fluktuację 50 mv/400 mv/amp = 125 mA! Jedynym sposobem, w jaki mogłem uzyskać sensowny odczyt, było wykonanie 10 odczytów z rzędu, a następnie uśrednienie ich.

Z 10-bitowym ADC lub 1024 możliwymi poziomami i 5V Vcc możemy rozwiązać około 5/1023 ~ 5mv na krok. Wyjście czujnika ustawia 400mv/Amp. Więc co najwyżej mamy rozdzielczość 5mv/400mv/amp ~ 12,5ma.

Tak więc połączenie fluktuacji spowodowanych szumem i niską rozdzielczością oznacza, że nie możemy użyć tej metody do dokładnego i spójnego pomiaru prądu, zwłaszcza małych prądów. Możemy użyć tej metody, aby dać nam wyobrażenie o poziomie prądu przy wyższych prądach, ale po prostu nie jest ona tak dokładna.

Krok 3: Wnioski

Wnioski
Wnioski

Wnioski:

-ACS724 odczyty analogowe są bardzo dokładne.

-ACS724 powinien działać bardzo dobrze z obwodami analogowymi. np. sterowanie prądem zasilania za pomocą analogowej pętli sprzężenia zwrotnego.

- Występują problemy z szumem i rozdzielczością przy użyciu ACS724 z Arduino 10 bit ADC.

-Wystarczająco dobry do monitorowania średniego prądu dla obwodów o wyższym natężeniu, ale niewystarczająco dobry do stałego sterowania prądem.

-Może być konieczne użycie zewnętrznego 12-bitowego lub więcej układu ADC, aby uzyskać lepsze wyniki.

Krok 4: Kod Arduino

Oto kod, którego użyłem do pomiaru wartości ADC pinu Arduino A0 oraz kod do konwersji napięcia czujnika na prąd i uzyskania średniej z 10 odczytów. Kod jest dość oczywisty i skomentowany dla kodu konwersji i uśredniania.

Zalecana: