Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Jak sterować PWM od 0-100% za pomocą napięcia z przedziału od 0.8V do 3.7V

Adi162 09 Sie 2017 16:15 363 6
  • #1 09 Sie 2017 16:15
    Adi162
    Poziom 10  

    Witam.
    W planach mam zbudowanie sterownika silnika do skuterka elektrycznego na manetce z hallotronem.
    Od razu odpowiadam że gotowe sterowniki mnie nie interesują.
    Chodzi mi o to żeby przy napięciu 0.8V odczytanym z A1 wypełnienie na wyjściu 3 wynosiło 0% a przy 3.7V wynosiło 100% ponieważ taki jest zakres Uwyj z halla. Moje pytanie brzmi jak w kodzie ustawić 0.8V jako 0% i 3.7 jako 100%
    Pozdrawiam

  • Pomocny post
    #2 09 Sie 2017 17:02
    EuroGenio
    Poziom 17  

    Najprościej użyć funkcji map() po zapoznaniu się z opisem (i chyba akurat odpowiednim przykładem).

  • #3 09 Sie 2017 17:43
    Adi162
    Poziom 10  

    Witam posłużyłem się przykładem podanym tutaj: http://www.plociennik.info/index.php/funkcje?showall=1 i napisałem coś takiego

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Jednakże mały silniczek i tak nie jest równomiernie wysterowany. gdy manetka z hallem nie jest przekręcona to wypełnienie = ok 15%
    do połowy przekręcenia rośnie wypełnienie, w połowie jest max i od połowy 0% i dalsze przekręcenie rośnie.
    Czy ma ktoś jakieś sugestie lub radę co zmienić.

  • #4 09 Sie 2017 18:24
    EuroGenio
    Poziom 17  

    A skąd wzięły się Tobie wartości parametru II i III w funkcji map();
    Tam powinny być podane wartości: najmniejsza i największa odczytywana z A1 z Halla.
    I to z tego konkretnego Halla i tym konkretnym uC.
    Inaczej będą bzdury!
    Każdy silnik DC potrzebuje sporo więcej niż np. 1% aby się kręcił. Można startować od 20-30%.

  • #5 09 Sie 2017 18:32
    Adi162
    Poziom 10  

    Tak jak napisałem:
    0% - 100%
    0 - 255

    0% --> 43 ok 0.8V
    100% --> 183 ok 3.7V

  • Pomocny post
    #6 09 Sie 2017 18:48
    EuroGenio
    Poziom 17  

    Coś nie tak z pomiarami napięcia na Arduino lub z Twoimi założeniami.
    Jak przy 3,7 V możesz mieć wynik 183 skoro przy 5V powinno być ok. 1023.
    Powinno być ok. 757 przy odczycie z analoga.
    Czym mierzyłeś te napięcia?

  • #7 09 Sie 2017 21:26
    Adi162
    Poziom 10  

    Dziękuję, zapomniałem że muszę przyjąć 1023 a nie 255. Teraz wszystko działa a kod wygląda tak:

    Kod: c
    Zaloguj się, aby zobaczyć kod

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME