logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zmierzyć średni prąd DC w prostowniku z ACS713 i Atmega32A?

mmaker 22 Maj 2019 20:48 831 10
REKLAMA
  • #1 17975313
    mmaker
    Poziom 19  
    Posty: 623
    Pomógł: 28
    Ocena: 162
    Witam. Próbuję z nudów zrobić własny prostownik do ładowania akumulatorów kwasowo-ołowiowych i mam problem z pomiarem prądu. Posiadam czujnik ACS713-30A (DC). W uproszczeniu, za transformatorem i mostkiem prostowniczym mam wpięty w szereg tyrystor oraz wspomniany wyżej czujnik i wyjście z czujnika podłączone bezpośrednio pod ADC mikrokontrolera (AREF=5V). Sterowanie fazowe jest podzielone na 200 kroków. Steruję wszystkim z mikrokontrolera Atmega32A, gdzie jest detekcja zera sieci (po stronie wtórnej), pomiary napięć i prądu. Nie wiem w jaki sposób mógłbym dobrze mierzyć prąd średni a nie szczytowy jak to ma teraz miejsce.

    Dla przykładu oscylogram z wyjścia czujnika przy prądzie ładowania 3,4 A:
    Jak zmierzyć średni prąd DC w prostowniku z ACS713 i Atmega32A?

    dla 10A wygląda to tak:
    Jak zmierzyć średni prąd DC w prostowniku z ACS713 i Atmega32A?

    Przy takiej konfiguracji marnuję użyteczny zakres ADC który mam obecnie ustawiony na 10 bitów i niestety mogę mierzyć tylko do tych 3 Amper z groszami.
  • REKLAMA
  • #2 17976129
    _jta_
    Specjalista elektronik
    Posty: 48808
    Pomógł: 3198
    Ocena: 4183
    Masz kilka wejść ADC - podłącz do nich napięcie poprzez różne dzielniki, jak jedno będzie przesterowane, to odczytuj napięcie na drugim. Gorzej, jak będzie przesterowany wzmacniacz - nie wiem, jaki sygnał daje sam ACS, czy ten płaski odcinek na górze drugiego wykresu to nie było przesterowanie wzmacniacza w ACS-ie.
  • REKLAMA
  • #3 17976615
    Dar.El
    Poziom 41  
    Posty: 5450
    Pomógł: 750
    Ocena: 886
    Witam
    Za ACS713 musisz dodać filtr RC i będziesz miał pomiar wartości średniej. Impulsy prądowe nie mogą przekroczyć 30A, w przeciwnym wypadku musisz zastosować czujnik na większy prąd.
  • #4 17977080
    _jta_
    Specjalista elektronik
    Posty: 48808
    Pomógł: 3198
    Ocena: 4183
    ACS713 ma spory błąd zera - jeśli mikrokontroler jest w stanie próbkować napięcie choć kilkanaście razy podczas każdego impulsu, to lepiej wyliczać z tego średnią. Albo zrobić filtr z rekonstruowaniem składowej stałej, ale to pewnie będzie bardziej skomplikowane.
  • #5 17977505
    mmaker
    Poziom 19  
    Posty: 623
    Pomógł: 28
    Ocena: 162
    Dar.El napisał:
    Witam
    Za ACS713 musisz dodać filtr RC i będziesz miał pomiar wartości średniej. Impulsy prądowe nie mogą przekroczyć 30A, w przeciwnym wypadku musisz zastosować czujnik na większy prąd.

    Wygląda na to że u mnie przy 3 A wskazań na mierniku, czujnik już pokazuje szczytowy prąd około 30A. Pomiar wykonuję od momentu załączenia tyrystora do zaniku napięcia i wyłapuję maksymalną wartość ADC. Zastanawiam się nad tym filtrem RC czy tu on da radę
  • REKLAMA
  • #7 17982939
    mmaker
    Poziom 19  
    Posty: 623
    Pomógł: 28
    Ocena: 162
    Witam po przerwie. Jednak zmieniam koncepcję odnośnie pomiaru prądu i zastanawiam się nad opcją z rezystorem bocznikowym przykładowo 100A/60mV z dodatkowym wzmacniaczem operacyjnym. Czy dobrze zrobię jeśli w wypadku ustawię wzmocnienie na takie które będzie odpowiadało prądowi średniemu żeby później dodatkowo i nie przeliczać tego mikrokontrolerze? Czy w tym wypadku będę miał możliwość pomiaru prądu praktycznie od jednego ampera wzwyż?
  • REKLAMA
  • #8 17983684
    _jta_
    Specjalista elektronik
    Posty: 48808
    Pomógł: 3198
    Ocena: 4183
    Jeśli chcesz uśrednić napięcie z bocznika i je mierzyć średnie, to istotne jest, jakie napięcie niezrównoważenia ma ten wzmacniacz operacyjny. Wzmacniacze z autozerowaniem "chopper stabilized" mają typowo rzędu 1uV, a gwarantowane np. 10uV - jeśli użyjesz takiego i na boczniku masz 60mV przy 100A, to wykryjesz 20mA.

    A jeśli masz prąd pulsujący, który jest przez jakiś czas 0, i to wykorzystasz, to podobny wynik możesz mieć ze standardowym wzmacniaczem operacyjnym - ale do tego musisz całkować przebieg z ADC po odjęciu poziomu zerowego.

    Wreszcie, można zrobić układ analogowy, który wykorzysta odcinki zer prądu do odjęcia poziomu zerowego, a potem uśredni.

    Ale nie wiem, co rozumiesz przez "ustawię wzmocnienie na takie które będzie odpowiadało prądowi średniemu".
  • #9 17984118
    mmaker
    Poziom 19  
    Posty: 623
    Pomógł: 28
    Ocena: 162
    _jta_ napisał:
    Ale nie wiem, co rozumiesz przez "ustawię wzmocnienie na takie które będzie odpowiadało prądowi średniemu".
    Miałem na myśli taki przypadek gdy przez bocznik płynie prąd 3,5A i żeby dobrać tak wzmocnienie żeby na wyjściu wzmacniacza operacyjnego było 350mV w szczycie co by odpowiadało takiemu właśnie prądowi. Wtedy miałbym zakres pomiaru do 10A co przy napięciu odniesienia 1,1V Atmegi dało by mi w sumie interesujący mnie zakres pomiaru. Nie wiem jak by to się miało do liniowości całego pomiaru.
  • #10 17984362
    _jta_
    Specjalista elektronik
    Posty: 48808
    Pomógł: 3198
    Ocena: 4183
    Zależność między prądem szczytowym (i w konsekwencji szczytowym napięciem), a prądem średnim nie jest liniowa, bo jak prąd jest większy, to płynie przez większą część czasu.

    Można by zrobić tak, żeby uC wyłapywał zero prądu (najniższe napięcie i odcinek bez zmian) i wtedy resetował analogowy układ całkujący (a przedtem odczytywał wynik całkowania). Ale chyba prościej robić całkowanie numerycznie - pytanie, ile próbkowań ADC na okres wyrabia uC? Arduino ma 10-bitowe ADC o czasie przetwarzania 13us; STM32F103 - ma 2 ADC, każde 12-bitowa o czasie nieco ponad 1us (bodajże 14/12 us, jeśli zegar ma pasować do USB; bez USB można mieć przetwarzanie w 1us).

    Można sobie uprościć wyliczanie tak, żeby mierzyć maksymalny prąd, i czas przez jaki prąd płynie - średnia to w przybliżeniu 2/3 ich iloczynu. Ale na to trzeba dokładnie wyłapywać początek i koniec czasu przepływu prądu, co może być trudniejsze, niż sumowanie odczytów.
  • #11 17985970
    mmaker
    Poziom 19  
    Posty: 623
    Pomógł: 28
    Ocena: 162
    Mikrokontroler taktuję zewnętrznym kwarcem 11,0592Mhz, Timerem2 w przerwaniu załączam tyrystor i wykonuję pomiary w taki sposób:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    ADC działa w trybie "Free runing mode"
    Czas timera mam zdefiniowany w ten sposób:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

Podsumowanie tematu

✨ Użytkownik pracuje nad prostownikiem do ładowania akumulatorów kwasowo-ołowiowych i napotyka trudności w pomiarze średniego prądu DC przy użyciu czujnika ACS713-30A oraz mikrokontrolera Atmega32A. Obecnie pomiar wskazuje prąd szczytowy zamiast średniego. Uczestnicy dyskusji sugerują zastosowanie filtru RC na wyjściu czujnika, co pozwoli na pomiar wartości średniej, oraz rozważają użycie rezystora bocznikowego z wzmacniaczem operacyjnym, co umożliwi dokładniejsze pomiary prądu. Wskazują również na problemy z błędem zera w czujniku ACS713 oraz na konieczność odpowiedniego ustawienia wzmocnienia wzmacniacza operacyjnego, aby uzyskać liniowe pomiary prądu.
Wygenerowane przez model językowy.
REKLAMA