Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Pomiar napiecia na M8-czemu nie działa

PiotrLotnik 30 Jan 2006 16:07 2342 23
  • #1
    PiotrLotnik
    Level 15  
    Witam.
    Zrobiłem sobie zabaweczke na M8 zasilaną z baterii 3,6V Li-Ion.
    Nie bawiłem się w skąplikowane ładowarki baterii bo nie mam na to miejsca, a tak proste rozwiązanie narazie sie sprawdza.

    Chce odczytywać poziom napięcia, niestety niezalężnie od tego czy podam zasilanie na 78L05 czy nie odczytywana jest taka sama wartość.
    Przetwornik mam skonfigurowany na wewnętrzne źródło odniesienia.

    1) Jak mam podłączyć żeby mierzyć to napięcie poprawnie.
    2) Jak podłączyć, żeby mierzyć natężenie (czy jest to w prosty sposób możliwe).

    Pozdrawiam
  • #2
    ko_rex
    Level 19  
    napięcie wejściowe nie przetwornika ADC musi się zawierać w zakresie 0.. Uref. Jeśli używasz Uref wewnętrzego, które ma wartość 2,56 V, to musisz sie dostosować, tzn. podzielić napięcie wejściowe przez np. przez 2 i uwzględnić to w programie.
    Pomiar naptężenia można zrealizować przez spadek napięcia na znanym rezystotrze. Mierzymy wtedy różnicę napięć na jego końcówkach, stosujemy prawo Ohma i po bólu.
  • #3
    PiotrLotnik
    Level 15  
    ok. Ael odczyt z prztwornika mam 158 +-1, i zastanawia mnie czemu jest takie same niezależnie czy układ zasilany jest tylko z baterii czy przez 78L05. Jak zmierze zwykłaym miernikiem to różnica jest 3V8 i 4V9
    Pozdrawiam
  • #4
    ko_rex
    Level 19  
    3,8 V oraz 4,9V to znacznie wiecej niż 2,56V. Nie ma sensu się zastanawiać dlaczego, skoro producent pisze, że nie jest możliwy poprawny pomiar z takim napięceim wejściowym. Obniż napięcie poniżej 2,56 V i sprawdź odczyty dla różnych wartości, bedziesz wiedział, czy ADC dzaiała poprawnie.
  • #5
    PiotrLotnik
    Level 15  
    Sprawdziłem standardowym miernikiem jakie jest napięcie zasilania i wynisi 3V8 oraz to jakie jest na wejściu PC.4 tzn zaraz za opornikiem 220 i jest 0,4V.
    Czyli wszystko sie zgadza, bo odczyt z przetwornika jest 155 a to daje ok 0,35V.
    Widocznie moja bateria Li-Ion daje cały czas takie samo napięcie i jak już ma doś to poprostu sie wyłancza.

    Jak możesz to narysuj mi prosty schemacik pomiaru natężenia produ bo nie chce znowu błądzić po omacku.

    Pozdrawiam
  • #6
    juntom
    Level 19  
    Z twojego ostatniego postu wynika,ze cos w ukladzie masz nie tak. Jesli za twoim rezystorem jest napiecie 0,35 V to wynika z tego ,ze wejscie przetwornika adc jest wewnatrz przywierane do stanu L. Przetwornik adc posiada wejscie o wysokiem impedancji wiec napiecie za rezystorem winno byc identyczne z tym, ktore jest przed nim (zakaldajac ,ze pomijamy rezystancje wewnetrzna przetwornika) Byc moze podajac na jego wejscie napiecie 5V (jak wynika ze schematu) uszkodziles wejscie przetwornika lub tez zle skonfigurowales prace portu. Przede wszystkim jak sugeruje kolega ko-rex zrob rezystancyjny dzielnik napiecia dla wewnterxznego napiecia odniesienia. Jesli chcesz dokonac pomiaru pradu ladowania nalezaloby wpiac miedzy (-) aku a mase od strony lm7805 niewielki rezystor rzedu ulamkow ohma a nastepnie podac sygnal na wzmacniacz operacyjny. Tak wzmocniony sygnal podac na wejscie przetwornika adc. Jesli poszukuasz znajdziesz z pewnoscia na elektrodzie jakis projekt zasilacza sterowanego prockiem , gdzie dokonywany jest pomiar pradu.
    pozdr.,
  • #7
    PiotrLotnik
    Level 15  
    Pomęczyłem troche mój przetwornik:

    Co sie tyczy skonfigurowania portów.
    portc.4 = 0
    ddrc.4 = 0
    Tak było, i faktycznie końcówka musi być sciągnieta do masy, bo jak wisi w powietrzu to pokazuje 0

    portc.4 = 1
    ddrc.4 = 0

    przetwornik wskazuje 1024 i jego wartosc zmienia sie tylko jak podepnę port przez rezystor do masy.

    Przestawiłem też na reference z AVcc i jeszcze raz przeprowadziłem testy
    Zachowanie było podobne, tylko troche wartości sie różniły.

    Wniosek mam taki.

    Ustawienia
    portc.4 = 0
    ddrc.4 = 0
    reference internal i podłączenie takie jak na schemacie, niestety po podłączeniu zasilania przed 78L05 wartość wskazywana (napięcie na baterii) sie nie zmiania.

    Coś źle wywnioskowałem?
  • #8
    ko_rex
    Level 19  
    PiotrLotnik wrote:
    Pomęczyłem troche mój przetwornik:

    Co sie tyczy skonfigurowania portów.
    portc.4 = 0
    ddrc.4 = 0
    Tak było, i faktycznie końcówka musi być sciągnieta do masy, bo jak wisi w powietrzu to pokazuje 0

    wejście bez podciągania -> rezultat przetwrzenia ADC powinien "fruwać", bo wejście ma sporą impedancję.
    Quote:


    portc.4 = 1
    ddrc.4 = 0

    przetwornik wskazuje 1024 i jego wartosc zmienia sie tylko jak podepnę port przez rezystor do masy.

    wyjście z podciąganiem -> napięcie wejściowe bez podłączania czegokolwiek to Vcc -> rezutlat ADC maksyalna wartość, czyli 1023
    Quote:


    Przestawiłem też na reference z AVcc i jeszcze raz przeprowadziłem testy
    Zachowanie było podobne, tylko troche wartości sie różniły.

    Wniosek mam taki.

    Ustawienia
    portc.4 = 0
    ddrc.4 = 0
    reference internal i podłączenie takie jak na schemacie, niestety po podłączeniu zasilania przed 78L05 wartość wskazywana (napięcie na baterii) sie nie zmiania.

    Coś źle wywnioskowałem?

    Przestawiłeś się spowrotem na Uref = 2,56V, czyli mniej niż 3,3V, a tym bardziej 5V. Twój przetwornik powinien mierzyć wartość maksymalną (1023), co jednak nie jest takie pewne, bo jesteś poza zakresem pomiarowym (nie wiem dokłądnie co nt. temat mówi ATMEL).
    Podziel napięcie mierzone przez 2, lub zmień Uref na AVcc (w drugim przypadku nie zmierzysz napięcia zasilania, bo zawsze będzie odnoszone do samego siebie).
    Acha! Port powienien pracować jako wejście bez podciągania.
  • #9
    matgaw
    Level 15  
    Może trywialne ale... włączyłeś w ogóle ADC?

    Proponuję też jak poprzednicy zastosować dzielnik napięcia zamiast rezystora do pinu...
  • #10
    PiotrLotnik
    Level 15  
    Przetwornik oczywiscie jest włączony

    Zrobiłem dzielnik napięciowy, na rezystorach 1K ale zmieniło sie tylko tyle że zamiast wyniku 132 jest teraz 24.
    Przy podłączeni zasilania z zewnątrz nic sie nie zmienia, może i tak ma być.

    Przypomne o co chodzi.
    Chce zrobić w jak najprostrzy sposób pomiar napięcia baterii (coś jak w telefonie) mam do dyspozycji dwa porty PC4 i PC5 i bardzo mało miejsca, z ledwością wciskam jakieś oporniki :)

    Czy ktoś zrobił kiedyś coś takiego tak prosto?

    Pozdrawiam
  • #11
    ko_rex
    Level 19  
    Proponuję zamieścić fragment kodu odpowiedzialny za ADC.
    Jak zmienia się napięcie (mierzone miernikiem) na baterii z włączonym i wyłączonym zasilaniem ze stabilizatora?
    Widzę na schemacie trochę gwałtu, bo podłączasz ze sobą rówolegle dwa źródła napięcia 5V i 3,3V.
  • #12
    snow
    Level 31  
    Żeby sprawdzić czy to wogóle działa to może podepnij potencjometr między mase a +5V i suwak potencjometru daj na wejście przetwornika. Jak to ci będzie poprawnie działać to dopiero bierz się za jakiekolwiek pomiary. Ewentualnie podepnij między końcówke Uref a mase.
  • #13
    PiotrLotnik
    Level 15  
    Sprawdziłem całość na potencjometrze i działa tak jak powinno.
    Wiec problem jest w schemacie.
  • #14
    PiotrLotnik
    Level 15  
    zmieniłam opornik na Diode Zenka 3V9 i teraz w miare moge odczytywać stan baterii. Tewnie odczytywane wartości na przetworniku nie są liniowe ale są:)
    Teraz wygląda to tak:
  • #15
    psiemek
    Level 21  
    W szereg pomiędzy 7805 a akumulatorem daj rezystor chociaż 100 ohm. Bez niego po kilku takich ładowaniach akumulator może eksplodować bo dostaje napięcie wyższe niż jego napięcie końcowe. Pomiar atmegą dokonuj za tym rezystorem patrząc od strony 7805. Ta dioda powoduje że tak naprawdę to nie wiadomo co mierzysz. Wsadz tam dzielnik rezystancyjny wtedy bedziesz miał pewność co mierzysz.
  • #16
    LordBlick
    VIP Meritorious for electroda.pl
    Aby to działało w miarę szczęśliwie, należałoby dać do ładowania akumulatora szeregowo z diodą rezystor (na rysunku jako obwód ładowarki), a do zasilania też diodę, tylko już Shottky - o niskim spadku napięcia. Pomiędzy 7805, a układem też wstaw diodę, aby nie pobierał prądu z baterii. Rysunek pochodzi z innego tematu, ale przedstawia co nieco - w twoim przypadku obwód stabilizatora jest na wejściu. Pomiar napiecia na M8-czemu nie działa
    Pomiaru można dokonywać bezpośrednio na akumulatorze.
  • #17
    PiotrLotnik
    Level 15  
    Po co ten układ stabilizacyjny? Jak bateria ma 3V6.
    U mnie ładowarka to ten stabilizator 78L05, jak do tej pory bateria nie wybuchła :)
    Co mierze za pomocą didy zenera 3V9 nie wiem, ale przetestowałem układ i przy odczycie <10 bateria pada, a przy ładowaniu jak wartość dojdzie do 45 (po całej nocy ładowania wiecej nie urosło) to wiem że jest max.

    Zasilanie prymitywne, ale działa.

    Chyba ta bateria Li-Ion od nokii ma wbudowany jakis układ zabezpieczajacy :) (oby miała)
    Pozdrawiam
  • #18
    psiemek
    Level 21  
    Tak ma układ zabezpieczający w postaci diody dołączonej do trzeciego styku baterii. Dzięki niej możliwy jest pomiar temperatury ogniwa i dopiero telefon na podstawie tychże wskazań określa czy może ładować większym prądem czy mniejszym i czy może już przestać ładować. Gdzieś kiedyś na na necie były zdjęcia jak wygląda wybuch takiego akumulatora. Lit z ogniwa ulega baaardzo szybkiemu utlenieniu co objawia się baardzo wysoką temperaturą. Jak chcesz ale może nieźle poparzyć. 100 razy uda ci się naładować to ogniwo ale za 101 razem cię poparzy i oby tylko tyle (pożar). Lit w tej illości potrafi wypalić dziurę w drewnianym stole.
  • #19
    PiotrLotnik
    Level 15  
    to mnie teraz nastraszyłeś
    A jak bym dał dla zabezpieczenia diodę zenerka 4V3 do masy i opornik 220 ohm szeregowo orzed baterie?

    Teraz podczas ładowania się baterii prąd pobierany jest 60mA. Układ bez baterii pobiera 20 mA, to chyba prąd ładowania jest 40mA (chyba nie za dużo?).

    pozdrawiam

    Problem w tym że już nie mam miejsca na skoplikowane ładowarki.
  • #20
    LordBlick
    VIP Meritorious for electroda.pl
    Jak wybuchnie, to znajdzie się miejsce...
    A tak na serio, to po prostu musisz pomyśleć nad implementacją algorytmu ładowania w mikrokontrolerze + jakiś tranzystor odcinający ładowanie = pomiar stanu na tym 3 styku od baterii i to wszystko... ;)
  • #21
    PiotrLotnik
    Level 15  
    A czy to będzie właściwie działać?
    PC.5 steruje tranzystorem BC547
    PC.4 mirzy stan naładowania (tak jak do tej pory)
    Dioda Zenera 4V3 dla zabezpieczenia.

    I co wy na to?
  • #22
    ko_rex
    Level 19  
    Ojojoj... ale kolega nie znosi rezystorów... Jeśli ATmega jest zasilana z 5V, to na emiterze tego BC547 będzie najwyżej 4,4V, gdy będzie włączony. Dioda zenera owszem będzie zabezpieczeniem (wątpliwa jest zasadność jej stosowania, gdy napięcie max =4,4V), ale co zabezpieczy diodę przed odparowaniem? Co się stanie gdy odłączysz baterię?
    popłynie sobie jakiś wielki prąd przez diodę i po niej...
    Proponuję wsadzić rezystor 10 ohm między emiter tranzystora a baterię. Skutecznei ograniczy to prąd, a sama dioda 4V3... no nie zaszkodzi (ale dołączona za rezystorem).
    dlaczego mierzysz napięcie za pomocą diody zenera 3V9 a nie dzielnika rezystorowego? Dioda zenera dość mocno pływa z temperaturą.

    Po co Ci rezystor R1? Jeśli już go włączasz, to lepiej między bazą a prockiem, chyba, że chcesz ładować baterię od razu po starcie, zanim ruszy procek?
  • #23
    PiotrLotnik
    Level 15  
    dlaczego mierzysz napięcie za pomocą diody zenera 3V9 a nie dzielnika rezystorowego?

    Próbowałem z dzielnikiem na 1k ohm ale nic nie dawał (nie wiem czemu). Może i dioda nie jest najlepszym roziązaniem ale działa :)


    Po co Ci rezystor R1? Jeśli już go włączasz, to lepiej między bazą a prockiem

    Bateria podłaczona jest na stałe i z moich obserwacji wynika że po podłączeniu zasilania napięcie się nie zmienia więc z kąt może procek wiedzieć ze jest podłączone?
    Jeżeli bateria będzie naładowana to port PC.5 będzie LOW i prąd przez tranzystor nie będzie płynąć. A jak bateria będzie rozładowana i uK będzie wyłączony to po podpięciu zasilania uK się włączy.
    W innym przypadku chyba by się już nie włączył.


    O tym dzielniku rezystancyjnym to wszyscy piszą ale nikt konkretnie nie chce powiedzieć jak to zrobić.