Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 4 maja 2025, o 18:08


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
    Autor Wiadomość
    PostNapisane: 7 mar 2018, o 11:23 
    Offline
    Użytkownik

    Dołączył(a): 25 lis 2011
    Posty: 232
    Lokalizacja: Pisz
    Pomógł: 2

    Popełniłem mały błąd przy projektowaniu miernika zawierającego amperomierz.
    Układ zbudowany jest na Atmega 32 i układzie ACS712-20. Projektując układ założyłem sobie że napięcie referencyjne w m32 będzie w granicach 2,56V +- 0,03V. Układ ACS w przypadku gdy prąd przepływający przez niego wynosi 0A wystawia 1/2 napięcia zasilania, czyli w moim przypadku 2,50V, gdy prąd zacznie przepływać przez układ ACS napięcie na wyjściu układu zacznie wzrastać lub obniżać się w zależności od kierunku przepływającego prądu, w stosunku 1mV=10mA. Ja ustaliłem sobie na stałe kierunek prądu w opcji kiedy napięcie na wyjściu będzie obniżać się. No i przy pomiarze nawet najprostszą metodą napięcia przez ADC w m32 wszystko jest ok.
    Niestety realia stały się inne bo napięcie referencyjne w mojej m32 okazało się wynosić 2,49V przez co mam niestety problem w pomiarze, raz że jest on za fałszowany, a dwa nie mogę uzyskać wartości 0 bo w takim przypadku dla adc napięcie 2,49V i 2,50V to ta sama wartość z przetwornika.
    Czy zna ktoś inny sposób pozbycia się problemu niż:
    1. Wymiana M32 na inny egzemplarz.
    2. Obniżenie napięcia zasilania układu ACS712-20
    3. Zmiana wartości napięcia referencyjnego.
    Bardziej szukam rozwiązania programowego.

    Dziękuję za pomoc i pozdrawiam
    Rafał



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 mar 2018, o 11:59 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27378
    Lokalizacja: Szczecin
    Pomógł: 1043

    tp troszkę wręcz straszny pomysł o tym, żeby naprawiać to sprzętowo przez np wymianę procka ...

    skąd kolega w ogóle przyjął sobie taką KOSMICZNĄ dokładność napięcia odniesienia ? ;)
    Rafciu napisał(a):
    założyłem sobie że napięcie referencyjne w m32 będzie w granicach 2,56V +- 0,03V


    to byłaby RAKIETA ....

    rozrzut tego napięcia bywa spory i zawsze różni się w zależności od ezgemplarza .... ale czy to jest jakiś w ogóle problem ? Toż TYLKO I WYŁĄCZNIE koryguje się takie rzeczy programowo i nawet ciężko narzekać na to, że to trzeba robić - to oczywista oczywistość

    Rafciu napisał(a):
    napięcie referencyjne w mojej m32 okazało się wynosić 2,49V przez co mam niestety problem w pomiarze, raz że jest on za fałszowany,

    a jaki tam zafałszowany ? co ty piszesz ? ... toż zrób zwykłe proporcjonalne przeliczanie wartości .... a najlepiej to obejrzyj sobie DOKŁADNIE poradniki o ADC w AVRach szczególnie ostatnie gdzie pokazuję kilka różnych sposobów uśredniania a nawet uniezależnienia się od katalogowej wartości napięcia źródła odniesienia.

    Najprostszy sposób to zmierzyć je zwykłym miernikiem tak jak to być może zrobiłeś i wyszło ci 2,49 ( mogłoby być nawet 2,42 albo i 2,61 i nie byłoby żadnego nawet najmniejszego problemu) .... Jest to po prostu twój punkt refernecyjny a później to najzwyklejsze i najprostsze przeliczenia w odniesieniu do tego jaka wartość ADC jest dla prądu = 0 z twojego czujnika ... Idąc nawet po najmniejszej linii oporu to możesz użyć po prostu tej różnicy do dalszych obliczeń ...

    Nie wspomnę już że możesz popełniać duży błąd i babola idąc taką drogą, że chcesz dobrać napięcia idealnie - bo już sam fakt, że np napięcie zasilania dla ACS nie będzie = +5V tylko np 4,92V już by rozwaliło całą twoją koncepcję posługiwania się tym wszystkim bez dokonywania obliczeń związanych z korektami

    przypominam obejrzyj poradniki o ADC - tam znajdziesz inspiracje jak się podchodzi do takich obliczeń, przeliczeń itp

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 mar 2018, o 14:31 
    Offline
    Użytkownik

    Dołączył(a): 28 wrz 2016
    Posty: 215
    Pomógł: 14

    Zauważ, że błąd wnoszony do pomiaru na skutek za małego napięcia odniesienia Atmegi to tylko 10mV (po przeliczeniu 100mA). Całkowity błąd pomiaru jest dużo większy.
    W wielu przypadkach można by ten błąd zaniedbać i po prostu wartość poniżej 100mA traktować jako 0, a od wartości powyżej 100mA odejmować te 100mA. Żadne uśrednianie tu nie pomoże, bo żadne uśrednianie nie skompensuje błędu systematycznego.
    Jeżeli koniecznie zależy Ci na wartościach poniżej 100mA, to dla tak małych wartości można zastosować odmianę oversamplingu. Wyglądałoby to mniej więcej tak: dokonujemy wielu pomiarów, zaokrąglamy w dół do pełnych setek mA, liczymy brednią i odejmujemy 100mA. Tylko oversampling nie da nam wartości rzeczywistej tylko wartość prawdopodobną. I nie może być filtracji by sygnał był mocno "zaszumiony".
    Sprzętowo można sprawę załatwić rezystorem w miejsce (lub równolegle) kondensatora filtrującego. Wtedy zmniejszymy sygnał wyjściowy.

    _________________
    de gustibus non est disputandum



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 mar 2018, o 20:12 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 paź 2013
    Posty: 45
    Pomógł: 2

    Zrób sobie kalibrację ACS. Przy nie podłączonym obciążeniu odczytaj sobie wskazania z ACS - powinno być w okolicach 512 ADC. Oczywiści nie będzie to równe 512 ale to co odczytasz zapisz sobie do eeproma i to wskazanie traktuj jako zero ACS. Zakładając w warunkach idealnych 512ADC = 0A to dla Ciebie odczytane ADC możesz mieć np 487 ADC = 0A lub 560 ADC = 0A. Ja tak robiłem i działało



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO