Elektroda.pl
Elektroda.pl
X
Relpol przekaźniki
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[mega8][bascom] Jak obliczyć mAh i średnia.. Miernik DIY

24 Paź 2010 21:28 4553 16
  • Poziom 26  
    Witam. Robię miernik do zasilacza z electronic-lab i chciałbym dodać wyświetlanie mAh do swojego miernika ale nie mam pomysłu jak to zrobić. Może macie jakieś pomysły? Też mam problem z napięciem i prądem i wpadłem na pomysł żeby robić np 5 pomiarów i wyświetlać wynik uśredniony, sprawdzi się? też się tak zastanawiam czy opłaca się dawać pwm do regulacji wiatraka?
  • Relpol przekaźniki
  • Użytkownik usunął konto  
  • Relpol przekaźniki
  • Poziom 43  
    technics6 :arrow: Po co Ci schemat i kod, to nie ma znaczenia przy pytaniu autora.
    elektronik999 :arrow: Mierzysz prąd i czas a potem wykonujesz obliczenia.
    Pomiar 5 razy, to za mało, gdyż prąd może się zmieniać. Poza tym, jaki problem cały czas mierzyć prąd i dokonywać obliczeń co np. 5 minut ?
  • Poziom 26  
    Freddy napisał:
    Mierzysz prąd i czas a potem wykonujesz obliczenia.
    Pomiar 5 razy, to za mało, gdyż prąd może się zmieniać. Poza tym, jaki problem cały czas mierzyć prąd i dokonywać obliczeń co np. 5 minut ?


    Tylko jak liczyć czas nie musi być to takie dokładne bo później co sekundę mnożyć prąd razy sekundy?
  • Poziom 43  
    W mojej ładowarce (Simprop Electronic, IntelliControl) jest mierzone co 1 minutę, a następnie liczone.
    Liczysz tak, przez minutę płynął prąd 1500mA, więc 1500mA /60 (liczymy dla mAh) daje Ci 25mAh. Kolejna minuta prądu 1500mA, więc znowu 1500mA /60 daje kolejne 25mAh, więc mamy już 25+25=50mAh. I tak dalej do całkowitego naładowania.
  • Poziom 26  
    no i uwaliłem procesor zwarciem ;/ przez przypadek dotknąłem radiatorem od zasilacza (jakieś 25v) coś na płytce.. to już drugi avr zepsuty. został mi ostatnia mega8 ale ma tak ustawione ze reset jest porem io da sie to w jakiś łatwy sposób zmienić?

    Napisałem taki program ale nie wiem czy to sie sprawdzi bo nie mam jak przetestować :cry::cry:
    Code:

    'configi

          Config Timer0 = Timer , Prescale = 8
           Stop Timer0
           Tcnt0 = 0
          On Ovf0 Tim0_isr
          Load Timer0 , 1000000
          Enable Timer0
          Enable Interrupts

    'algorytm za mAh
    If Prad > 0.05 Then                                                                                 ' start timera
    Start Timer0
    Else
     Stop Timer0
     End If

    Tim0_isr:
    Czas = Czas + 1

    Mahch = Czas * Prad        ' machch to jest Ah takie tymczasowe to pozniej
    Mahch = Mahch * 0.001    ' zamieniam na mAh a pozniej dodaje do ogolnego
    Mah = Mah + Mahch       'stanu


    Return









    ++++
    no i to chyba koniec mojego projektu ponieważ mega8 strasznie zdrożała a i tak już władowałem kupę pieniędzy w ten miernik i zasilacz ( to dużo jak na 16 lat) jak na razie to udało mi się zrealizować pomiar temperatury, załączenie wentylatora przy 50 stopniach przy 100 stopniach uruchamianie przekaźnika odcinający odbiornik prądu. no i pomiar prądu i napięcia. miernik nawet dobrze pokazuje w porównaniu do mojego multimetru. nawet bez uśredniania.
  • Poziom 26  
    Mimo że nie mam dalej mega8 poprawiłem kod źródłowy. Liczenie mAh rozwiązałem przy użyciu Timer0 co sekundę w przerwaniu prąd dziele przez 3600000 (1/3600 bo sekunda to 1/3600 godziny i jeszcze przez 1000 żeby było w mili..) a później dodaje do ogólnej liczby, myśle że to dobry sposób.
    Zamieszczę kod jak by ktoś chciał zobaczyć rozwiązanie
    Code:

      Dim Mah As Single
       Dim Mah1 As Single
       Dim Licz As Byte

                      Config Timer0 = Timer , Prescale = 256
                      On Timer0 Przerwanie
                      Enable Interrupts
                      Enable Timer0
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Przerwanie:
    Incr Licz
    If Licz > 122 Then           '122 bo (8MHz) 8000000/256/256 (bo prescale 256 i timer0 jest 8bitowy)
    Licz = 0
    Mah1 = Prad * 3.6
    Mah = Mah + Mah1
    End If
    Return


    w symulatorze sie sprawdza ten kod. Program moc obciążenia też już podaje (ale to banale) zostało mi do zrobienia proste menu kalibracji i pomiar wartości ograniczenia prądowego.
  • Poziom 26  
    Witam. Naprawiłem to co ostatnio zepsułem przez zwarcie i wróciłem do projektu. Dalej nie mogę sobie poradzić żeby przerwanie występowało co sekundę. Szukałem i szukałem i nie mogę nic znaleźć co by u mnie działało. Kwarc 8 MHz. Po za tym jak ustawić tak żeby przerwanie nie wypadło podczas wysyłania danych do lcd, ponieważ pojawiają sie zakłócenia.

    Dodam jeszcze że mam dość duży problem z zakłóceniami, płytka ze sterownikiem jest blisko transformatora i płytki zasilacza, gdy zbliżę rękę do kabla czujnika temperatury czujnik wariuje i pokazuje 85 stopni
  • Moderator Mikrokontrolery Projektowanie
    elektronik999 napisał:
    Dalej nie mogę sobie poradzić żeby przerwanie występowało co sekundę.

    Datasheet w łapkę i ustaw odpowiedni timer.


    elektronik999 napisał:
    Po za tym jak ustawić tak żeby przerwanie nie wypadło podczas wysyłania danych do lcd, ponieważ pojawiają sie zakłócenia.

    Pokaż program to bascomowcy pomogą.


    elektronik999 napisał:
    Dodam jeszcze że mam dość duży problem z zakłóceniami, płytka ze sterownikiem jest blisko transformatora i płytki zasilacza, gdy zbliżę rękę do kabla czujnika temperatury czujnik wariuje i pokazuje 85 stopni

    Pokaż schemat i zdjęcia tego projektu w wysokiej rozdzielczości.
    No i jak długi jest ten kabel?
  • Poziom 26  
    Nie bardzo pomogłeś. Zakłócenia nie są priorytetem. Po co Ci schemat? Nie jest do niczego potrzebny, wszystko w swoim czasie w dziale DIY będzie (włącznie z kodem źródłowym). A cały urządzenie wraz z zasilaczem jest w pudełku tekturowym bo na razie nie mam pieniędzy na blach do obudowy bez sensu jest takie cos pokazywać...

    Wracając do tematu. Kawałek potrzebnego kodu
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod
    [/code]
  • Moderator Mikrokontrolery Projektowanie
    elektronik999 napisał:
    Nie bardzo pomogłeś. Zakłócenia nie są priorytetem. Po co Ci schemat? Nie jest do niczego potrzebny, ...

    To ja mam problem z zakłóceniami czy Twój układ?
    http://mikrokontrolery.blogspot.com/2011/04/pieklo-poczatkujacych.html

    Powodzenia! Przy takim podejściu będzie Ci nadal potrzebne :)

    EDIT:
    Widzę po statystykach, że jednak o zakłóceniach właśnie czytasz - czyli jednak istotne są dla Ciebie :)
  • Poziom 26  
    dondu napisał:
    elektronik999 napisał:
    Nie bardzo pomogłeś. Zakłócenia nie są priorytetem. Po co Ci schemat? Nie jest do niczego potrzebny, ...

    To ja mam problem z zakłóceniami czy Twój układ?
    http://mikrokontrolery.blogspot.com/2011/04/pieklo-poczatkujacych.html

    Powodzenia! Przy takim podejściu będzie Ci nadal potrzebne :)

    EDIT:
    Widzę po statystykach, że jednak o zakłóceniach właśnie czytasz - może jednak masz jeszcze szansę :)


    Chyba jednak Ty z czytaniem. Zakłócenia są tylko przy zbliżeniu ręki do kabla czujnika. To nie ma nic do zaprogramowania Timera bo jak timer ma dzialać jak jest źle zaprogramowany i nie umiem tego zrobić. (uC jest dobrze zabezpieczony przed tym. Kondensatory przy odpowiednich pinach. I zasilanie części analogowej też jest podpięte)
    [mega8][bascom] Jak obliczyć mAh i średnia.. Miernik DIY
    Proszę schemat. Ciekawe co on ma do Timera...

    [edit] przeczytałem i nic nowego sie nie dowiedziałem.

    Moderowany przez _Robak_:

    Pisze kolega o zakłóceniach a potem narzeka że ktoś o nich pisze. Proszę uczestników rozmowy o ostudzenie emocji.

  • Moderator Mikrokontrolery Projektowanie
    czy tylko o timerze piszesz w tym temacie, bo ja widzę jeszcze to:
    elektronik999 napisał:
    Dodam jeszcze że mam dość duży problem z zakłóceniami, płytka ze sterownikiem jest blisko transformatora i płytki zasilacza, gdy zbliżę rękę do kabla czujnika temperatury czujnik wariuje i pokazuje 85 stopni

    Więc dostałeś na to odpowiednią odpowiedź.

    Do timera dostałeś inną.

    I nie odpowiedziałeś na moje pytanie i zdjęć także nie zamieściłeś.

    Chcesz tracić czas to tracić, ja narzucać się nie będę. Powodzenia i więcej pokory :)
  • Poziom 26  
    Kabel ma 20cm przebiega prosto nad transformatorem (150VA 24V) a czujnik jest przyklejony do radiatora klejem termoprzewodzącym.

    Zdjęcie nie ma i nie będzie dopóki nie zrobię porządnej obudowy.

    Ale skupmy się na Timerze. Zakłócenia to poważny temat ale nie w tym temacie. Prawdopodobnie wystarczy tylko wymienić kabel na ekranowany.
  • Poziom 43  
    elektronik999 napisał:
    Kabel ma 20cm przebiega prosto nad transformatorem (150VA 24V) a czujnik jest przyklejony do radiatora klejem termoprzewodzącym.
    ...

    Wymień kabel na ekranowany. To powinno załatwic sprawę.
  • Poziom 29  
    elektronik999 napisał:
    Kondensatory przy odpowiednich pinach. I zasilanie części analogowej też jest podpięte)


    A czy Kolega nie ma kłopotów z przetwornikiem.
    AREF w zależności od konfiguracji ADMUX powinien być podpięty do zasilania lub zablokowany kondensatorem do masy, a u Ciebie wisi w powietrzu. Przynajmniej tak wygląda na schemacie.
    Przy okazji, schematy rysuje się prowadząc połączenia pod kontem prostym. Ułatwia to czytanie i lepiej wygląda. To taki standard i warto go trzymać.
  • Poziom 26  
    Witam.

    Aref faktycznie na schemacie nie ma kondensatora miałem go dodać ale na płytce jest od dawna przylutowany bezpośrednio do pinów.

    Schemat postaram się poprawić, ale wydaję mi się że jednak płytka jest ważniejsza, bo jak widać schemacik jest prosty.


    Co do zakłóceń znalazłem winnego. Taśma od programatora (USBasp a taśma to taka od HDD) jak odłączę programator to jak ręką odjąć. Trzeba będzie się programatorem kiedyś zająć.