Wiring, C++, C, Java, ...
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
-
luger
- Příspěvky: 248
- Registrován: 30 dub 2023, 11:06
Příspěvek
od luger » 04 zář 2023, 19:52
Už jsem na to přišel. Např takto:
Kód: Vybrat vše
poziceZL2=1300;
int poziceZL3=1400;
SoftSerial.print("#");
SoftSerial.print(17);
SoftSerial.print("P");
SoftSerial.print(poziceZL2);
SoftSerial.print("#");
SoftSerial.print(18);
SoftSerial.print("P");
SoftSerial.print(poziceZL3);
SoftSerial.print("T");
SoftSerial.print(800);
SoftSerial.print("\r\n");
delay(1000);
}
A už serva 17 a 18 pěkně jedou společně. Ale stejně ze začátku skáčou do nějakých podivných poloh.
-
kiRRow
- Příspěvky: 1316
- Registrován: 07 kvě 2019, 07:03
- Bydliště: Opava
Příspěvek
od kiRRow » 04 zář 2023, 20:34
Jak je řešeno napájení ? ... jestli to je všechno z jednoho zdroje, může se to ovlivňovat. Může se to dokonce ovlivňovat i přes elektrickou síť.
PS : Vůbec nevím co tam máš za board, jedu to prostě z věštěcký koule. Potřeboval jsi do konstantního příkazu nasoukat proměnné, stím jsem pomohl a snažil jsem se tě i pošťouchnout, že z toho jde udělat funkce. Možnosti věštecké koule jsou omezené, čím více informací dodáš tím lepší odpovědi se dočkáš ...... alias na otázku proč to nefunguje, je odpověď máš to rozbitý ...

-
kiRRow
- Příspěvky: 1316
- Registrován: 07 kvě 2019, 07:03
- Bydliště: Opava
Příspěvek
od kiRRow » 04 zář 2023, 21:50
A to může být ten problém ... lze mít jeden zdroj, ale musíš ho pak rozdělit na větve a nesmíš dopustit aby jedna větev ovlivňovala druhou ... zkus to napájet rozdílnými zdroji ( mínus musí mít všechny propojené ) .... jestli problém náhodou nezmizí.
-
ondraN
- Příspěvky: 935
- Registrován: 08 srp 2019, 20:01
Příspěvek
od ondraN » 05 zář 2023, 14:09
Cukání serv po zapnutí je běžná věc a souvisí se synchronizací na řídící pulzy po zapnutí. Ty cuky dělají dost vysoké odběrové špičky, klidně i 1A na servo. Pokud se zapne najednou všech třicet, je o srandu postaráno. Zásada jedno servo, jedna napájecí větev je docela podstatná. Také se občas dělá zdroj pro serva s pomalým náběhem napětí a nebo se serva zapojují přez rezistor, který se po náběhu přemostí.
-
kiRRow
- Příspěvky: 1316
- Registrován: 07 kvě 2019, 07:03
- Bydliště: Opava
Příspěvek
od kiRRow » 05 zář 2023, 16:01
Mi serva cukali, když se vedle zapínal a vypínal elektrický motor napájený z té samé fáze. Pomohla až výměna zdroje za kvalitnější a přehození motoru na jinou fázi.
-
luger
- Příspěvky: 248
- Registrován: 30 dub 2023, 11:06
Příspěvek
od luger » 06 zář 2023, 12:01
To mé cukání serv je docela velké - odhaduji 40° a to s pavoukem (nohy-18 serv) docela zahýbá !! (skáče mi po stole

)
Otázka - při "zapnutí napájení" se okamžitě odešle napětí na všechny serva? Nebo čekají na signál ? Nějak se mi nezdá jen harwarové řešení
-
ondraN
- Příspěvky: 935
- Registrován: 08 srp 2019, 20:01
Příspěvek
od ondraN » 06 zář 2023, 12:42
Při zapnutí zdroje se opravdu přivede napájení na všechny serva, pokud to tedy nemáš vyřešené jinak. A to cukání je vpodstatě reakce serv na počáteční absenci řídícího signálu pro serva (deska po zapnutí generuje defaultní signál odpovídající středu a chvíli jí trvá, než po zapnutí začne ty signály generovat). Možná by ti pomohlo zapnout napájení serv zpožděně, ale to zase vyžaduje hrábnutí do desky, ze které je to napájení realizované, nebo si udělat mezipanel, kde se napájení oddělí (lepší varianta). A pak použít třeba FET tranzistor a aktivovat si napájení serv z arduina.
-
luger
- Příspěvky: 248
- Registrován: 30 dub 2023, 11:06
Příspěvek
od luger » 07 zář 2023, 11:24
Máš pravdu. Serva skočí do středové polohy a pak pěkně nabíhají do zadaných pozic. Jeden zkušenější bastlíř mi poradil že by možná mohl trochu pomoct vřazený kondenzátor (kondenzátory) přímo na napájení . Možná by ty skoky nemusely být tak razantní.
-
ondraN
- Příspěvky: 935
- Registrován: 08 srp 2019, 20:01
Příspěvek
od ondraN » 07 zář 2023, 12:19
Pokud je to tenhle problém, tak ti pomůže jen oddálené zapnutí řízené z arduina. Po zapnutí budou serva vypnutá, pak v programu nastavíš polohu serv zasláním příkazů k desce serv. Až budou příkazy odeslány plus nějaká časová prodleva, zapneš napájení serv. Pokud jsi skončil ve stejné poloze pavouka, s jakou začínáš, ani se necukne.
Je třeba si uvědomit, že řízení serv je jednosměrná záležitost. Deska generuje patřičné signály a je jí jedno, jestli je servo zapnuté či není. A po zapnutí serva je řídící signál na jeho vstupu okamžitě k dispozici, takže servo necukne (pokud to není nějaký šmejd).
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host