Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

pomiar prądu silnikczka DC - jak? (sygnał dla Atmega)

mirekk36 13 Feb 2008 19:56 20886 34
  • #1
    mirekk36
    Level 42  
    Witam,

    trochę odgrzewam swój dawny temat ale dopiero teraz zabrałem się za to i mam problemy a dodatkowo mało się znam na elektronice analogowej.

    otóż chcę sterować niedużym silniczkiem powiedzmy DC za pomocą PWM z procka (to wiem jak zrobić i wszystko działa) ale....

    .... chciałbym jednocześnie mieć możliwość pomiaru prądu jaki on zużywa (nie tyle w trakcie działania co w momencie gdy zaczyna mieć większe obciążenie i trzeba wtedy zmienić mu sterowanie z procka)

    .... próbowałem na LM324 i jakiejś prostej aplikacji gdzie dałem mały rezystor 0,4R pomiędzy GND a silniczkiem, który dalej podłączony jest do VCC. I chciałem mieżyć napięcie jakie się odkłada na tym rezystorku ale kurczę nijak nie wiem jak podobierać wartości rezystorów przy WO i może coś knocę - nic mi nie działa zabardzo.



    ma ktoś może pomysł a może jakąś sugestię jak to w miarę prosto mierzyć przy pomocy co najwyżej jednego LM324 ???

    fajnie by było gdyby w przypadku wzrastającego przeciążenia silnika wzrastało odpowiednio napięcie na wyjściu WO.

    założenia to: mały silniczek DC, który w czasie normalnej pracy bez obciążenia pobiera ok 80-100mA a gdy się zatrzymuje go palcami to prąd wzrasta do ok 600-800mA. Tzn mam różne silniczki i różne prądy pracy jałowej mają i podczas obciążenia. Gdyby ktoś mógł mnie naprowadzić jak dobierać elementy jak obliczać do WO to byłbym wdzięczny - a może jakiś inny sposób???

    docelowo chciałbym w podobny sposób badać obciążenie silniczków ale krokowych też sterowanych z procka

    z góry dziękuję za sugestie i podpowiedzi - czekam niecierpliwie na porady

    pozdrawiam
    [28-30.06.2022, targi] PowerUP EXPO 2022 - zasilanie w elektronice. Zarejestruj się za darmo
  • #2
    pacraf
    Level 16  
    hej

    skoro mozwisz ze sterowac bedziesz pwm, to przypomnial mi sie appnote od atmela dla ladowarki aku. tam tez jest sterowanie pwm i kontrola pradu ladowania ( czyli kontrola na obciazeniu)

    zerknij na strone 39

    CHARGER

    ogolnie przejrzyj dokument , jest ciekawy w temacie...
  • Helpful post
    #3
    Dar.El
    Level 40  
    Witam
    Nie ma sprawy, zaraz coś się wymyśli. Silnik będzie sterowany przez mosfeta i można pomiar robić na rezystorze podłączonym do masy? Jakie napięcie referencyjne masz w uP? Najlepiej aby było około 2,56V, bo jak będzie 5V to układ elektroniczny skomplikuje się z powodu zabezpieczeń.
  • #4
    mirekk36
    Level 42  
    pacraf - dzięki za pdfka - może się przyda - postudiuję go najpierw

    Dar.El - myślałem żeby taki silniczek malutkiej mocy sterować nawet jakimś zwykłym tranzystorkiem ale może być i mosfetem. Myślałem też aby sterować takim silnikiem np za pomocą scalaczka typu L293D albo podobnego (jesli chodzi o silniki DC oczywiście) bo jeśli chodzi o krokowe to przez bufor np ULN2803 ale narazie krokowce zostawmy.

    napięcie referencyjne 2,56 chyba jest w procku? dobrze myślę? a jak nie to chyba coś się załatwi takiego prawda?
  • Helpful post
    #5
    Dar.El
    Level 40  
    Jest w uP 2,56V. Kwestia jeszcze szybkości reakcji na przeciążenie i inne zmiany, trzeba będzie sygnał trochę wygładzić, przez co opóźni się pomiar o 10ms. Potrzebny będzie LM358 lub LM324, rezystor pomiarowy i trochę innych rezystorów i kondensatorów. Dziś wieczorem spróbuję narysować schemat. Pamiętaj o zakłóceniach jakie wytworzą silniki.
  • #6
    mirekk36
    Level 42  
    hmmm ciekawe - może się opóźnić nawet nieco więcej chyba niż 10ms. To i tak byłby bardzo dobry wynik takie 10ms opóźnienia tym bardziej, że do rozwiązania o którym myślę silnik i tak będzie pracował na bardzo wolnych obrotach

    ok czekam więc na jakąś propozycję
  • Helpful post
    #7
    Dar.El
    Level 40  
    Witam
    Układ jest prosty i trochę szybszy, myślę że 2ms opóźni max. Wzmacniacz operacyjny musi spełniać parę warunków:
    1- Zasilany z 5V.
    2- Wejście musi działać od dolnego napięcia zasilania, w tym wypadku od masy.
    3- Wyjście też musi chodzić od dolnego zasilania.

    LM358 i LM 324 to spełniają, ale to nie najlepsze wzmacniacze.
    Jeżeli rezystor pomiarowy prądu R4 byłby daleko od uP i powstawałyby przekłamania pomiaru prądu to trzeba zastosować wzmacniacz różnicowy, ale chyba do pomiaru prądu silnika nie jest wymagana dokładność 1%.

    pomiar prądu silnikczka DC - jak? (sygnał dla Atmega)
  • Helpful post
    #8
    JStan
    Level 16  
    Witam kolege!!

    Tak jak poprzednik rozrysował, podobnie kombinowałem i gotowe rozwizanie moge podsunąć, znajduje się w jednym z moich projektów, podam linka https://www.elektroda.pl/rtvforum/topic743822.html na schemacie użyłem LM393 jest to komparator zasilany pojedyńczym napięciem. Rezystor pomiarowy 0,1oma. Po podłączeniu do ADC mikrokontrolera powinno udać się mierzyć obciążenie silnika.

    Mam nadzieje że pomogłem nieco :-)
    Pozdrawiam!!
    Janek
  • #9
    mirekk36
    Level 42  
    wielkie dzięki koledzy, jutro a w zasadzie to już dzisiaj bo jest 3:10 w nocy - jak dam radę to przetestuję pomysły.

    Dzięki Dar.El za te obliczenia itp

    Jstan - również dziękuję a poza tym fajnie opisany ten projekcik z roletami - chyba też się za to wezmę, tylko jako że ja jestem już "zboczony" na punkcie procków to oczywiście na jakimś AVRku będę takie sterowanie próbował zrobić i włączanie pilotem IR

    pozdrówka - jutro dam znać co mi wyszło
  • Helpful post
    #10
    Dar.El
    Level 40  
    Witam
    Od kiedy komparatorem mierzy się prąd :!: :?: . W tym układzie jest to wykrywanie przeciążenie silnika (pewnie nie ma krańcówek), jak rolety dojadą do końca, silnik staje i komparator daje sygnał na uP.
  • #11
    JStan
    Level 16  
    Dlatego napisałem że powinno się dac mierzyć prąd, ponieważ z tego co pamiętam przy testowaniu urządzenia, po dołączeniu do wyjścia leda zaobserwowałem że przy zwiększaniu obciążenia dioda płynnie sie zaświeca, zauważ że komparator współpracuje z kilkoma elementami zewnętrznymi. Zresztą nie bez powodu dlatego użyłem dalszych stopni(4093) z obwodami schmitta. A jego zaletą(LM393) jest właśnie to że może mierzyć napięcia bliskie zera i zadowoli się pojedyńczym napieciem.

    Pozostaje tylko przetestować.
    Pozdrawiam
    Janek
  • Helpful post
    #12
    Dar.El
    Level 40  
    Rozświecają się powoli bo nie dałeś żadnego filtra i komparatory są bezpośrednio połączone z silnikiem, który wytwarza dużo szpilek. Nie powinieneś dawać swojego schematu jako przykład do innych rozwiązań.
  • #13
    tajwoj
    Level 24  
    Witam,
    Nie wiem jak postępy z tym pomiarem.
    Dobrze by było gdybyś podał jaki czas reakcji jest Ci potrzebny, i jaka rozdzielczość pomiaru prądu.
    Jeśli wymagania nie są zbyt wysokie i masz zamiar stosować do pomiaru ten rezystor 0,4R to chyba można się obyć bez wzmacniacza.
    Pozdrawiam
  • #14
    mirekk36
    Level 42  
    Dar.El ---->> MEGA WIELKIE DZIĘKI ;)

    (sorry , że dopiero dzisiaj piszę ... wczoraj miałem taki dzień, że nawet na sekundę nie mogłem podejść do tematu , ale dzisiaj ............. )

    twój układ na szczęście dla mnie prosty jak przysłowiowy drut w sensie ilości elementów - ale działa SUPER - teraz już mogę sam sobie dobierać wartości elementów do odpowiedniego silniczka i wszystko działa super. Na wyjściu do przetwornika AC w Atmega8 mam wspaniale podane napięcie i zmienia się w takiej skali i tak pięknie, że będę teraz mógł to sobie już programowo wykorzystać

    dodam, że pod ręką miałem tylko LM324 i też b.dobre efekty - wręcz jak dla mnie jeśli chodzi o spełnienie założeń - niesamowite.

    wyszło mi mniej więcej tak:

    (w Atmega8 oczywiście wewnętrzne napięcie odniesienia 2,56V)

    1. gdy silnik nie pracuje to przetwornik AC widzi ok 0,06V

    2. gdy silnik jest podłączony i pracuje bez większego obciążenia to AC widzi ok 0,2V - 0,4V

    3. gdy zwiększa się obciążenie i to może być płynie to wtedy napięcie na przetworniku zwiększa się dokładnie tak samo płynnie do 2,55V przy całkowitym jego zablokowaniu

    jeszcze raz wielkie dzięki !!!!!!!!!!!!!!!!!!!!!
  • Helpful post
    #15
    Dar.El
    Level 40  
    Witam
    Nie ma za co, Tobie zawsze pomogę, są zawsze z tego pozytywne efekty :D . Te 0,06V gdy silnik nie jest włączony spowodowane jest kiepski wzmacniaczem operacyjnym. Mimo zapewnień katalogowych nie dochodzi całkiem do dolnego napięcia zasilania i ma też duży błąd wejściowego napięcia niezrównoważenia.
  • Helpful post
    #17
    Dar.El
    Level 40  
    Witam
    W sprzedaży jest dużo wzmacniaczy operacyjnych "rail to rail" ale koszt ich jest co najmniej o jeden rząd wielkości większy. LM358 jest praktycznie wersją LM324 z dwoma wzmacniaczami.
  • #18
    _jta_
    Electronics specialist
    Ja bym zwrócił uwagę - skoro ma być sterowanie PWM - na taki szczegół, który może się przydać:
    jeśli to sterowanie działa tak, że wyłącza prąd, albo przynajmniej powinno przy normalnym działaniu,
    to można zastosować układ wzmacniacza, który przenosi tylko składową zmienną sygnału - stałą
    można zrekonstruować, a pominięcie stałej przy wzmacnianiu pozwoli uniknąć problemów napięcia
    niezrównoważenia na wejściu - takim sposobem mierzy się napięcia rzędu nanowolta.

    Najprościej to zrobić, jeśli ADC jest dość szybki, aby odczytać napięcie w czasie włączenia prądu,
    i w czasie wyłączenia - wystarczy odjąć, i - jeśli tylko mamy całkowite wyłączenie - wiemy, jaki
    prąd płynął; jeśli to ten µC steruje tym PWM, to zna współczynnik wypełnienia, i może wyliczyć
    średni prąd. Jeśli ADC jest zbyt wolny, to będzie potrzebny detektor, żeby tę różnicę "liczyć"
    w układzie analogowym, i dopiero ją przetwarzać na wartość cyfrową.

    To pozwoli zastosować dużo mniejszy opór szeregowy - żeby nie tracić na nim napięcia zasilania.

    Natomiast trzeba uważać, żeby prąd raz na okres generatora PWM osiągał zero - inaczej wynik
    pomiaru wyjdzie zaniżony; celowe byłoby zrobienie układu tak, by to wykrywał i alarmował.
  • #19
    mirekk36
    Level 42  
    dziękuję _jta_ za wskazówki ale, jak widziałeś wcześniej, ciężko mi coś samemu na ich podstawie coś zrobić. Jak narazie sposób a w zasadzie gotowy i obliczony schemat od Dar.El sprawdził mi się i programowo już sobie radzę z tym silnikiem tak jak chciałem, przynajmniej narazie w fazie prób. Co więcej już sobie jakoś sam dobieram parametry tego układu przez niego zaproponowanego i działa mi to z różnymi silniczkami tego typu a co najważniejsze mam cyfrowy jasny odczyt na wejściu AC Atmega8 i mogę dalej już robić z nim co mi się żywnie podoba oraz reagować sygnałem PWM na napędzany przez ten sam procek silnik

    jeśli jednak w czasie dalszych moich prac nad tą moją konstrukcją naqpotkam jakieś problemy to zapewne pozwolę sobie jeszcze dopytać tutaj

    pozdrawiam i dziękuję
  • #20
    preemo
    Level 11  
    Witam

    A jak powinienem zmodyfikować ten układ, żeby mierzyć prąd do 1,6 A?

    Pozdrawiam
  • #21
    prezeswal
    VIP Meritorious for electroda.pl
    preemo wrote:

    A jak powinienem zmodyfikować ten układ, żeby mierzyć prąd do 1,6 A?

    Są dwie możliwości: albo kolega nie czytał uważnie tematu, albo nie rozumie tego, co zostało napisane (kol. Dar.El podał przy schemacie wzór na napięcie wyjściowe, jego zależność od wartości rezystorów).
    W obu przypadkach pomoc jest ... trudna :D
    Pozdrawiam.
  • #22
    preemo
    Level 11  
    Hehe sorry
    Widzę, że mój wrodzony gamonizm wziął górę nad rozsądnym myśleniem:)

    Zapytam jeszcze czy rodzaj kondensatorów ma znaczenie w tym układzie?
    I mam nadzieję, że to nie kolejne głupie pytanie:D

    Pozdrawiam
  • Helpful post
    #23
    _jta_
    Electronics specialist
    Prawie wszystkie, które mają taką pojemność, i są łatwe do zdobycia, nadają się - pewnie niełatwo znaleźć
    elektrolity 0.1µF; może papierowe, albo MKSE (tylko niektóre typy) powodowałyby problemy ze względu na
    dużą indukcyjność, ale to też trzeba bardzo się starać, żeby znaleźć nieodpowiedni kondensator...

    Jakby ktoś chciał przerobić układ z 14 Lut 2008 23:03 na różnicowy, w którym spadek napięcia między masami
    nie zakłóca pomiaru, to: R3 powinien być równy R2, i między wejście '+' a masę trzeba dać opornik równy R1;
    uwaga: R2 ma być połączony z masą przy R4, a ten nowy opornik - z masą "wyjściową"; wzmocnienie=R1/R2.
  • #24
    preemo
    Level 11  
    Witam

    Zlutowałem ten układ i natknąłem się na kilka problemów. Steruję hamowaniem silnika DC przez sterownik VNH2SP30 i PWM. Inny silnik napędza silnika DC a sygnałem PWM zaciski silnika DC zwierane są do masy, zamyka się obwód, pojawia się prąd, który właśnie mam mierzyć. Od strony masy silnika jest wpięty rezystor 0,11 Ohm.

    I tak - jak PWM jest wyłączony na wyjściu wzmacniacza mam 4 V, ale wtedy mnie pomiar nie interesuje. Gdy PWM jest 100 % wszystko jest super - jak silnik stoi jest równe 0 V im szybciej się kręci tym większe napięcie. Ale jak ustawie np. 20 % PWM, to przy stojącym silniku napięcie wynosi 3,2 V i wraz ze wzrostem prądu jeszcze wzrasta. A niezależnie od PWM gdy silnik, stoi na boczniku nie ma żadnego napięcia.

    Zauważyłem, że ten układ pomiarowy nawet jak jest niepodłączony do bocznika to na wyjściu daje 4 V z hakiem. A jak się włącza PWM to w zależności od % wypełnienia spada to napięcie aż do 0 V przy 100 %. Czy ja coś źle zrobiłem, czy może to normalne, da się coś na to zaradzić?

    Będe wdzięczny za każdą pomoc.
    Pozdrawiam
  • #25
    _jta_
    Electronics specialist
    Układ Dar.El z 14 Lut 2008 23:03? Wejście musi być podłączone - bez tego układ nie może działać poprawnie i może się uszkodzić.
    Napięcie na wyjściu wzmacniacza powinno rosnąć z napięciem na oporniku R4. A to ma być proporcjonalne do prądu silnika - jest inaczej?
  • #26
    preemo
    Level 11  
    Tak chodzi o ten układ Dar.Ela.

    Gdy wypełnienie PWM = 100 %, napięcie ładnie rośnie wraz ze wzrostem prądu podczas pracy generatorowej w obwodzie silnika. Ale gdy tylko PWM sie zmniejsza (np. na 50 %) to choć napięcie na boczniku jest równe zero to na wyjściu wzmacniacza jest ponad 2 V.
    I to w sumie działa tak, że obwód silnika jest otwierany i zamykany sygnałem PWM wiec wejścia są tak jakby przez połowe okresu PWM niepodłączone.

    Dlatego jak PWM jest równe 0 to na wyjściu wzmacniacza są 4 V - tak samo jak gdy wejścia są niepodłączone.

    I teraz kwestia czy można coś z tym zrobić i czy da się to jakoś obejść...
  • #27
    _jta_
    Electronics specialist
    A jak zewrzesz bocznik, to napięcie dalej jest jakieś dziwne, czy się robi uczciwie 0?

    Źródłem problemów mogą być spadki napięcia na połączeniu masy, albo przechodzenie
    sygnałów zmiennych do wzmacniacza i prostowanie ich na nieliniowości jego elementów.
    Może być również niekontakt, albo coś do czegoś dotyka, i płynie prąd...
  • #28
    preemo
    Level 11  
    Nie do końca rozumiem co oznacza "zwarcie bocznika"?

    Problem jakiegoś niestykania itp. chyba można wykluczyć bo zrobiłem 2 te układy powiarowe i w obu było to samo...

    Schemat tego układu, może to jakoś pomoże przy rozwiązaniu tego problemu:

    pomiar prądu silnikczka DC - jak? (sygnał dla Atmega)

    Sterownik silnika ustawiony jest na zwieranie silnika do GND zasilania zewnętrznego. Jeszcze raz przypomne, że układ działa poprawnie tylko przy 100 % sygnale PWM.

    Mam nadzieje, że jakoś to ułatwi sprawę...
  • #29
    _jta_
    Electronics specialist
    Łączysz ze sobą końce R4 (jeśli on jest tylko w roli bocznika do pomiaru prądu przez
    µP), albo podłączasz R3 do tego końca R4, który jest na masie, zamiast do górnego.
    Jeśli wtedy napięcie na wyjściu nie będzie około 0 (może być np. 100mV), to znaczy,
    że do układu przechodzą jakieś zakłócenia, i trzeba będzie poszukać którędy.
  • #30
    preemo
    Level 11  
    Takie zwarcie nic nie zmienia. Tzn przy braku sygnału PWM jest nadal 4 V, a przy PWM = 100 % - 0 V czyli ok.

    W poprzednim poście wrzuciłem uproszczony schemat układu może to coś rozjaśni...