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

atmega bascom - Atmega bascom pomiar prądu przy pwm

ziguś 21 Lip 2016 18:57 5994 49
  • #1 15822176
    ziguś
    Poziom 23  
    Witam,
    Buduję ładowarkę do akumulatorów. Max prąd ładowania będzie 3A więc zastowałem acs 712-05 ale pojawił się problem. Wpiąłem w szereg z akumulatorem miernik i wskazania atmegi rożnią się od pomiarów miernikiem. Np jeżeli przy prądzie ładowania 500 mA wskazania się zgadzają to przy prądzie 3A atmega wskazuje mniej o 270mA.

    i jeszcze jedno pytanie.
    Przy ŁADOWANIU prądem 3A mosfet jest ledwo ciepły, ale jak rozładowuję akumulator to mosfet się gotuje - dlaczego ? przypuszczam że odpowiedź jest banalna ... ale nie mogę na nią wpaść.
  • #2 15822284
    JacekCz
    Poziom 42  
    taaaak, a my mamy szklaną kule i wiemy jakim schematem mierzysz ten prąd.
  • #3 15822977
    ziguś
    Poziom 23  
    Tak to wygląda

    atmega bascom - Atmega bascom pomiar prądu przy pwm
  • #4 15823078
    Konto nie istnieje
    Konto nie istnieje  
  • #5 15823212
    ziguś
    Poziom 23  
    wygląda to tak,

    Prąd ( miernik)___ ADC
    500mA__________ 19
    1000mA_________ 36
    1500mA_________ 53
    2000mA_________ 71
    2500mA_________ 88
    3000mA_________ 106
  • #6 15823250
    Konto nie istnieje
    Konto nie istnieje  
  • #7 15823448
    ziguś
    Poziom 23  
    Właśnie o to chodzi że przy 3000mA mnożnik musi być 28,30188 a przy 500mA - 26,31578.
    Bez R19 ADC strasznie "lata" i nawet jak robię 250 pomiarów ADC i dopiero wtedy przeliczam to i tak jest "kupa". Jak R19 jest zamontowany to przy 100 pomiarach ADC wynik jest stabilny, ale mnożnik maleje i to nie liniowo.

    Jakiś pomysł ?
  • #8 15823471
    Konto nie istnieje
    Poziom 1  
  • #9 15823727
    JacekCz
    Poziom 42  
    ziguś napisał:
    Właśnie o to chodzi że przy 3000mA mnożnik musi być 28,30188 a przy 500mA - 26,31578.
    Bez R19 ADC strasznie "lata" i nawet jak robię 250 pomiarów ADC i dopiero wtedy przeliczam to i tak jest "kupa". Jak R19 jest zamontowany to przy 100 pomiarach ADC wynik jest stabilny, ale mnożnik maleje i to nie liniowo.

    Jakiś pomysł ?


    Że to nie jest mnożnik? Że trafienie w pierwszą liczbę jest przypadkowe?
    że myślisz y = a*x, po dopasowaniu a zgadza się dla (x1,y1) ale już nie (x2,y2)
    a nalezy myśleć
    y = a*x+b

    Tu koledzy (@atom - popieram myśl) pośrednio mówią to samo, nie podoba się poziom zero (próg, offset, składowa stała, ma to różne nazwy).

    tabelka którą zamieszczasz z surowego ADC jest bardzo dobrze liniowa.
  • #10 15823899
    ziguś
    Poziom 23  
    Multimetr to Brymen BM837. Dodam że jak zamiast akumulatora podłączę żarówkę 12V/200W to wtedy prąd jest przekłamywany inaczej - im mniejszy prąd tym większy mnożnik jest potrzebny. Dla 500mA ADC=12 i mnożnik 41,6... ale dla 3A ADC=117 i mnożnik już 25,6...
    Przecież niby ACS712 odczytuje wartość prądu AC i DC...lecz tu przez PWM jest prostokąt z różnym wypełnieniem ... czyżby o to chodziło ?
    Jeżeli przez ACS nie płynie prąd ( multimetr wskazuje 0.000A ) to wtedy ADC ma wartość 512. W programie obliczam to tak :

    Suma = 0
    For Krok = 1 To 100
    I_0 = Getadc(5)
    Suma_i = Suma + I_0
    Reset Watchdog
    Next Krok
    Wynik = Suma_i / 100
    I = Wynik
    I_1 = I - 512
    I_2 = I_1 * Mnożnik_prądu
    I_3 = I_2 / 100000


    Spróbuję włączyć w szereg ze 3 ... 4 różne multimetry i zobaczę co będzie.

    Uprzedzę pytanie. Częstotliwość PWM to 122Hz

    $crystal = 16000000
    Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Prescale = 64
  • #11 15823958
    tmf
    VIP Zasłużony dla elektroda
    Jak rozumiem kluczujesz MOSFETa przebiegiem PWM, a pomiar dokonujesz na ACSie, w sposób niezsynchronizowany z kluczowaniem, mając nadzieję, że filtr RC wygładzi wyjście z ACSa? Problem jednak w tym, że wyjście z ACSa ma małą wydajność i w nocie gdzieśtam jest napisane, że maksymalne obciążenie wyjścia to 1 nF. Ja bym zrezygnował z tego filtra, który niczemu nie służy i zsynchronizował pomiar ADC z kluczowaniem tranzystora - np. robił pomiar tuż przed wyłączeniem tranzystora.
    Co do grzania podczas rozłatowywania aku - P=I^2*R, tak się składa, że w tym układzie RDS jest najwyższe, a więc na nim się wydzieli największa moc. Zauważ, że prąd rozładowania zapewne wynosi znacznie więcej niż 3A.
  • #12 15823984
    ziguś
    Poziom 23  
    tmf napisał:
    ... i zsynchronizował pomiar ADC z kluczowaniem tranzystora - np. robił pomiar tuż przed wyłączeniem tranzystora ...


    tmf a podpowiesz jak taki pomiar rozwiązać programowo ?
  • #13 15823997
    Konto nie istnieje
    Poziom 1  
  • #14 15823998
    ziguś
    Poziom 23  
    nie jestem za biegły w bascomie ... czy mogę prosić o jakiś konkretny przykład ?
  • #15 15824045
    Konto nie istnieje
    Poziom 1  
  • #16 15824057
    ziguś
    Poziom 23  
    On Timer1 - tak myślałem ... ale ...
    W swoim programie już wykorzystuję On timer ale 0 - jako licznik czasu.

    Czy przed załączeniem PWM mam używać enable time1 i po wyłączeniu disable timer1

    Z tego co wyczytałem w necie to przy takiej konfiguracji pwm jak u mnie to standardowo jest ustawiany Phase Correct
  • #17 15824062
    Konto nie istnieje
    Poziom 1  
  • #18 15824077
    ziguś
    Poziom 23  
    Czy przed załączeniem PWM mam używać enable time1 i po wyłączeniu disable timer1
  • #19 15824223
    Konto nie istnieje
    Poziom 1  
  • #20 15825052
    kamyczek
    Poziom 38  
    Żeby oszacować prąd jaki płynie w takim układzie potrzebny jest bocznik i oscyloskop dla miernika to zbyt trudne zadanie on nigdy nie pokaże takiego prądu prawidłowo z takiego bocznika i spadku na nim przy włączonym PWM policzysz prąd włączonego z proporcji pwm policzysz prąd średni jaki płynie w układzie . Jak to rozwiązać praktycznie załączyć pwm100% zmierzyć prąd jaki popłynie wyłączyć pwm przekalkulować jaki prąd jest potrzebny i ustawić pwm . Większość ładowarek posiada źródło stałoprądowe czyli układ ,który wymusza przepływ zadanego prądu a nastawa sterowana jest właśnie proporcją załączenia pwm =żądany prąd : prąd źródła . Miernik nie pokaże takiego prądu prawidłowo tu potrzebny jest oscyloskop i bocznik . Musisz jeszcze sprawdzić w jaki sposób ładuje się i rozładowuje akumulatory jakie chcesz na tym urządzeniu obsługiwać nie wszystkie ładuje i rozładowuje się tak samo poza tym ładowarki mają jeszcze układy zabezpieczeń i automatycznego wyłączenia po naładowaniu . Wiele firm proponuje gotowe kontrolery do ładowania a i samych ładowarek też jest bardzo dużo na rynku w cenach ,które sprowadzają amatorską budowę ładowarki do sensu zabawy edukacyjnej ;)
  • #21 15825449
    tmf
    VIP Zasłużony dla elektroda
    @kamyczek A po co ci 100% wypełnienie do pomiaru? Mierzysz w momencie włączenia tranzystora, nie ma znaczenia czy masz wypełnienie 1%, czy 100%. Pomijając zmiany prądu w chwili włączenia tranzystora, potem prąd powinien być stabilny. Jedyne więc co jest potrzebne to synchroniczne z PWM samplowanie ADC.
  • #22 15825490
    ziguś
    Poziom 23  
    Kamyczek w tym kraju się już nikomu nic nie opłaca :D Wiem że można kupić gotowe, ale ...
    Po pierwsze, primo - wypełniam sobie wolne chwile
    Po drugie, primo - mogę poćwiczyć programowanie i ile się przy tym nauczę to moje
    Po trzecie, primo - satysfakcja że zrobiło się to praktycznie samemu ( z drobną pomocą kolegów z elektrody ) jest bezcenna
    ... i jak jestem w warsztacie to nie muszę słuchać mruczenia żony za uszami ... :D

    Zrobiłem tak jak radziliście i pomiar prądu zrobiłem w przerwaniu Timer 1, ale zaczęły mi wyskakiwać krzaki na wyświetlaczu i musiałem zmienić sposób wyświetlania na lcd - przedtem przed wejściem w podprogram wyświetliłem stałe elementy a tylko niektóre piksele były nadpisywane, a teraz całość muszę nadpisywać a i tak co chwilę mrugnie krzaczek. A pomiar jaki był taki jest, nic się nie zmieniło. A poza tym wyświetlam jeszcze napięcie na baterii i tu dopiero są cyrki, napięcie z ADC tak skacze że masakra od 2 do 12V. Też wstawiłem pod przerwanie za pomiarem prądu, pomiar się ustabilizował ale głupieje wyświetlacz ( wyświetlają się przypadkowe znaki gdzie popadnie ). Musiało by się wyświetlać tylko i wyłącznie napięcie i prąd wtedy by było, ale mnożnik jaki był taki jest, nic się nie zmieniło.

    ... no cóż, będę walczył dalej.
  • #23 15825639
    kamyczek
    Poziom 38  
    Tmf właśnie po to 100% żeby mierzyć prąd który się ustabilizuje nie pik po włączeniu tranzystora , z tym powinien to ciężko to jednoznacznie określić patrząc na charakterystykę ładowania akumulatora i wpinając oscyloskop w bocznik szeregowy ładowarki impulsowej . Zasadniczo taki układ np. do ładowania lipo , life , liio można zbudować na 2 stabilizatorach typu lm317 jeden będący źródłem prądowym drugi będący źródłem napięciowym . I ewentualnie bocznik i komparator który zasygnalizuje że prąd osiągnął wartość minimalną np. 0,1 zadanego prądu ładowania . Ja bym jednak skierował cię w inną stronę - pilot do żony odkrycie na miarę Nobla 2017 ;) . Co do Bascoma którym się chwilę pobawiłem to inwestowanie wolnego czasu w ten język to moim zdaniem strata cennego czasu zamień go lepiej już teraz na C lub jak jesteś uparty na asembler i środowisko na studio-7 ;)
  • #24 15825726
    Konto nie istnieje
    Konto nie istnieje  
  • #25 15825771
    Konto nie istnieje
    Poziom 1  
  • #26 15825904
    Konto nie istnieje
    Konto nie istnieje  
  • #27 15825905
    tmf
    VIP Zasłużony dla elektroda
    kamyczek napisał:
    Tmf właśnie po to 100% żeby mierzyć prąd który się ustabilizuje nie pik po włączeniu tranzystora

    Przecież to co napisałeś kompletnie nie ma sensu. Prąd się ustabilizuje w zależności od sposobu sterowania tranzystora i indukcyjności doprowadzeń najpewniej w ciągu mikrosekund, jeśli nie krócej. Zaproponowałem pomiar tuż przed wyłączeniem tranzystora, a więc w chwili kiedy prąd od dawna już jest const. Ty piszesz o przełączaniu PWM na 100%. Na jak długo wg ciebie? 1 us, 1ms, dłużej? Aż się układ zjara?
  • #28 15826010
    kamyczek
    Poziom 38  
    Prąd można zmierzyć tak samo przed wyłączeniem tranzystora jak w osobnym cyklu pomiarowym ważne żeby nie robić tego zaraz po załączeniu tranzystora . Poza tym większość ładowarek używa przetwornika w ostatniej części cyklu gdy do akumulatora lipo czy life jest przyłączone stałe napięcie równe maksymalnemu napięciu ogniwa np. 4,2V i mierzony jest prąd ładowania, który sukcesywnie spada . Wyłączenie następuje po osiągnięciu prądu który nie wiele już daje bo jeśli wynosi on np. 10mA to na godzinę mamy 10mAh
  • #29 15826175
    ziguś
    Poziom 23  
    niveasoft napisał:
    @ziguś
    Dostosuj ten przykład do Twojego programu czyli nie mierz w przerwaniu tylko ustaw flagę by dokonano pomiaru. Możliwa wtedy będzie obsługa innych przerwań itd..


    wypróbuję rano bo całą noc muszę siedzieć w pracy
  • #30 15826804
    ziguś
    Poziom 23  
    Próbowałem ale nic to nie dało. Tym razem wyświetlacz nie głupiał ale pomiar tak samo różnił się od multimetru i mnożnik tym większy im mniejszy prąd. Wpiąłem w szereg 3 różne multimetry - one pokazywały to samo - a na ACS było inaczej. Zrobiłem jeszcze tak że na wejście ładowarki wpiąłem regulowany zasilacz i prąd wymuszałem zmianą napięcia ( pwm ustawiony na 1023 ) to wtedy wszystko się pokrywało.
    Zastanawiam się jak to zrobić żeby mnożnik malał wraz ze wzrostem prądu. Gdyby była to wartość liniowa nie było by problemu ale liniowo nie jest. Dla 500mA jest inny a dla 3A inny.
REKLAMA