Close

Regulace rychlosti na DC motorech s H-můstkem

Úvodní stránka Fórum Software Drivery Regulace rychlosti na DC motorech s H-můstkem

Aktuálně jsou na stránce zobrazeny 3 příspěvky - 1. až 3. (celkem z 3)
  • Autor
    Příspěvky
  • #12001
    CalleWay
    Účastník

    Dobrý den ve spolek,
    mám dotaz ohnedně toho, jestli by bylo možno regulovat rychlost na motorech které jsou připojeny pomocí H-můstku ve formě zapojení které přikládám jako obrázek pomocí příkazu analogWrite(); …

    PS: přiznám se že už to mám odzkoušený, a celkem to funguje, ovšem setkávám se zde s chybou kterou nemůžu překovt a ta je taková, že u levého motoru nejde regulovat rychlost když jede vpřed… reaguje pouze na hodnotu 128+ a to funguje v plném zatížení (tím myslím to že není rozdím když tam dám hodnotu od 128-255… stalé funguje naplno)
    Žádám ted o nějaké vysvětlení pokud to někdo ví, byl bych moc rád za jakoukoliv radu 🙂 pokud ví někdo lepší způsob jak reguloat rychlost byl bych moc rád za příklad, předem děkuji 🙂

    Kontaktovat mě můžete na email: CalleWayCZ@gmail.com nebo michalekmatej123@gmail.com

    Příklad toho jak to myslím:

    int in1=7; //levý motor vpřed
    int in2=6; //levý motor vzad
    int in3=5; //pravý motor vzad
    int in4=4; //pravý motor vpřed

    void setup()
    {
    pinMode(int1,OUTPUT);
    pinMode(int2,OUTPUT);
    pinMode(int3,OUTPUT);
    pinMode(int4,OUTPUT);
    }
    void loop()
    {
    analogWrite(int1,120);
    delay(1000);
    analogWrite(int1,0);
    delay(1000);
    analogWrite(int2,120);
    delay(1000);
    analogWrite(int2,0);
    delay(1000);
    analogWrite(int3,120);
    delay(1000);
    analogWrite(int3,0);
    delay(1000);
    analogWrite(int4,120);
    delay(1000);
    analogWrite(int4,0);
    delay(1000);
    }

    #12004
    posjirka
    Účastník

    princip máš správný, jen máš špatné zapojení.
    Předpokládám, že stejný problém máš i u „pravý motor vpřed“.
    Proč:
    né všechny piny na Arduinu Uno mají možnost PWM regulace. Ty které to umožňují jsou na desce označeny vlnovkou. Jedná se o piny č. 3, 5, 6, 9, 10, 11.
    Některé jiné desky mají PWM i na jiných pinech.
    Řešení:
    přepoj to na správné piny a uprav si program….

    pozn. chválím za popis problému, schéma zaopjení a kod programu. Takto se dá najít problém během chvilky a dá se nad problémem v klidu zamyslet. víc takových popisů a forum se nám zkrátí na polovinu 🙂

    #12006
    posjirka
    Účastník

    ještě je možnost použít sw PWM ale myslím, že přepojit 2 piny vs zabrat zbytečně pamět a strojový čas procesoru je jasný vítěz přehodit 2 pin.

    Pro sw řešení můžeš použít knihovnu:
    https://github.com/Palatis/arduino-softpwm

    ta ti umožní udělat pwm signal na libovolném pinu, jen to zabere kus místa ve flash paměti, časovač tuším timer2 a neustálé přerušení hlavní smyčky programu aby se vykonala pwm funkce.

    u HW řešení jen pošleš na pin hodnotu a o ostatní se stará samotný čip a program běží nezávisle …

Aktuálně jsou na stránce zobrazeny 3 příspěvky - 1. až 3. (celkem z 3)
  • Pro reakci na toto téma se musíte přihlásit.