Close

Ovládání serva

Úvodní stránka Fórum Vaše projekty Arduino Ovládání serva

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

    Dobrý den,
    moje bakalářská práce je naprogramování robotické ruky pomocí arduina. Pan profesor chce hlavně vyřešit, aby bylo rameno ruky, když bude dojíždět na danou souřadnici, brzděné a nenajíždělo tam plnou rychlostí. Je to vůbec možné u servomotorů ? U krokového motoru mi je jasné, že by to šlo, ale tady si nejsem vůbec jistý, tak se raději ptám na Váš názor.
    Předem děkuji za odpověď.

    #6261
    posjirka
    Účastník

    v podstatě ne, protože neovládáš servo. Přesněji říkáš mu na jaký uhel má přejít, nikoliv jak rychle. To si řídí servo samo. Má vlastně na rotoru potenciometr, který udává aktuální uhel , ty pošleš požadovaný uhel a jeho vlastní elektronika si tyto srovnává svuj uhel s nastaveným….

    Takže ne neovlivníš, leda bys mi postupně měnil uhel. Tedy né dát mu chci 90st. ale chci 85, 88, 89, 90, …s nějákým intervalem třeba 500ms aby měl téměř stopku. Opakovací frekvence signálu je 50 Hz. Doba přejetí serva je závisla na použitém modelu. U profi regulačních servech třeba na aramtury se udává doba přejetí 0-180st. třeba 240s. U tebou použitého serva bys to musel změřit a myslím, že bude závislá na zátěži. Asi ti nezbude nic jiného než experiment ….

    #6263
    Nimbus
    Účastník

    Přesně to mi taky napadlo 🙂 Díky, jsem o něco chytřejší

    #6275
    posjirka
    Účastník

    napadlo mě udělat to pomocí funkce map().
    Mám na mysli:
    aktuální uhel je 10st. chci 30st.
    rozdělíš si to na lineární stupnici o 10 hodnotách a pak z ní uděláš logaritmickou.

    ideově asi takto:

    val = map(value, 10, 30, 1, 10); // (vstupni hodnota, před, po, min.krok, max, krok)
    servo1 = 7*val; // nastav na 70%
    delay(500); // pauza 0.5s
    servo1 = 9*val; // nastav na 90%
    delay(500); // pauza 0.5s
    servo1 = 10*val; // nastav na 100%
    delay(500); // pauza 0.5s

    šlo by to ?

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