Riadene modelarskych serv pomocou Arduino

arduino, teensy, atmega, pic a jine (software, hardware)
atlan
Příspěvky: 3343
Registrován: 7. 2. 2011, 9:12

19. 1. 2021, 6:12

Len otazka, musi to byt riadene ako servo?

Osobne by som si vytiahol signal z potaku-tym ziskam absolutnu polohu a viem kde sa to nachadza. (po kalibracii)

Plny most na riadenie matorceka uz maju vsade alebo pouzujes 4 tranzistory.

Usetril by si si starosti, a fungovalo by to podla predstav.
Uživatelský avatar
OompaLoompa
Příspěvky: 459
Registrován: 28. 6. 2017, 1:45
Bydliště: Západný Slovakistan

19. 1. 2021, 7:38

Zdenek Valter píše: 18. 1. 2021, 8:36 Díky, ale jsem Arduiňácká lama takže na mne musíš pomalu ;-)
Tím žes mi tam něco dopsal jsi mne rozstřelil jako sandál ;-)

Tak to zkouším Bohužel pos center moc nefunguje tak jsem jí definoval na tvrdo.
Tlačítka mají rozsvítit příslušnou led LED a přestavit servo na svou stranu,
ale po druhém následném stlačení téhož tlačítka by se už nemělo nic změnit.
center nemá prečo nefungovať, len asi nebudú správne trafené tie min/max hodnoty (nutná kalibrácia → POS_MIN, POS_MAX)

v prilohe nová verzia (v3.0):
  • ľahký refaktor loop-u :D
  • pridaný JOG režim (prepínanie stlačením oboch tlačítok naraz)
  • smer pohybu je možné meniť aj za behu (pred dosiahnutím finálnej pozície)
  • pridané komenty "pro pomoc s úklidem tych sandál" :lol:
no a teraz len dúfať, že som tam dačo nesprasil :mrgreen:
lebo kinder-servo tu nemám, AVR-ko tu nemám, a momentálne ani čas/odhodlanie to na niečom testovať

tak daj vedieť, či/ako to funguje, a v prípade potreby to ešte môžem upraviť (resp. opraviť) :)

PS: rýchlosť polohovania meníš parametrom SPOMALENIE, a na ideálne fungovanie by bolo treba zistiť a nastaviť správne limitné hodnoty POS_MIN a POS_MAX pre tvoje konkrétne servo.

PS^2: a ten rýchly pohyb na začiatku je z dôvodu, že aktuálna pozícia bežca je pre systém neznáma, a musí sa to takto "zahoumovať". odstrániť by sa to dalo napr. tak, že si určíš dáku východziu parkovaciu pozíciu, a pred vypnutím zariadenia to vždy najprv necháš zaparkovať :roll:
Přílohy
test_navesti_temer_O.K_v3.0.zip
(1.7 KiB) Staženo 115 x
Uživatelský avatar
Zdenek Valter
Příspěvky: 5189
Registrován: 9. 1. 2009, 5:16
Bydliště: Ústí n. L.

19. 1. 2021, 1:25

atlan píše: 19. 1. 2021, 6:12 Len otazka, musi to byt riadene ako servo?

Osobne by som si vytiahol signal z potaku-tym ziskam absolutnu polohu a viem kde sa to nachadza. (po kalibracii)

Plny most na riadenie matorceka uz maju vsade alebo pouzujes 4 tranzistory.

Usetril by si si starosti, a fungovalo by to podla predstav.
Díky za zajímavou myšlenku - vezmu si mikroskop a budu hledat na servu poťák - ten by šel přečíst analogovým vstupem - takhle jsi to myslel?

Jestli ano, pak by asi stačilo přečíst si polohu a pomalu sjet do 0.
To by byl problém vyřešený.
Ten můstek je taky dobrý nápad, ale to už je podle mne zbytečné.
Hobbík - obráběč i 3D tiskař začátečník - strojní park je konečně instalován
Uživatelský avatar
Zdenek Valter
Příspěvky: 5189
Registrován: 9. 1. 2009, 5:16
Bydliště: Ústí n. L.

19. 1. 2021, 1:34

OompaLoompa píše: 19. 1. 2021, 7:38 ........
center nemá prečo nefungovať, len asi nebudú správne trafené tie min/max hodnoty (nutná kalibrácia → POS_MIN, POS_MAX)
Nevím proč to tak bylo, asi máš pravdu (já se pustil do toho Arduina teprve v sobotu) takže jsem téměř nepolíbený...
OompaLoompa píše: 19. 1. 2021, 7:38 v prilohe nová verzia (v3.0):
  • ľahký refaktor loop-u :D
  • pridaný JOG režim (prepínanie stlačením oboch tlačítok naraz)
  • smer pohybu je možné meniť aj za behu (pred dosiahnutím finálnej pozície)
  • pridané komenty "pro pomoc s úklidem tych sandál" :lol:
no a teraz len dúfať, že som tam dačo nesprasil :mrgreen:
lebo kinder-servo tu nemám, AVR-ko tu nemám, a momentálne ani čas/odhodlanie to na niečom testovať

tak daj vedieť, či/ako to funguje, a v prípade potreby to ešte môžem upraviť (resp. opraviť) :)
Moc díky!!!
OompaLoompa píše: 19. 1. 2021, 7:38 PS: rýchlosť polohovania meníš parametrom SPOMALENIE, a na ideálne fungovanie by bolo treba zistiť a nastaviť správne limitné hodnoty POS_MIN a POS_MAX pre tvoje konkrétne servo.

PS^2: a ten rýchly pohyb na začiatku je z dôvodu, že aktuálna pozícia bežca je pre systém neznáma, a musí sa to takto "zahoumovať". odstrániť by sa to dalo napr. tak, že si určíš dáku východziu parkovaciu pozíciu, a pred vypnutím zariadenia to vždy najprv necháš zaparkovať :roll:
Jo ta parkovací pozice by měla být pozice v 0, proto na začátku rozsvěcuji červenou LED. ;-)
Hobbík - obráběč i 3D tiskař začátečník - strojní park je konečně instalován
Uživatelský avatar
Charon
Sponzor fora
Příspěvky: 5185
Registrován: 27. 7. 2019, 4:31
Bydliště: Praha

19. 1. 2021, 1:57

Je to sice mimo, ale připomněl jsi mi serva Graupner, ze začátků mé modelařiny, pamatujete na ten debilní kulatý konektor, na který nešla sehnat samička? Ty serva neměly v sobě elektroniku a vše se dělo v přijímači. Stavěl jsem ho, takže si to pamatuju. Našel jsem fotku na netu :D
Přílohy
unnamed.jpg
Na hobíka to asi jde...
SM16A, FN20, 3E710B, CDC7-2, HO02, CO2laser, Fiber a tak
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

19. 1. 2021, 2:26

Charon píše: 19. 1. 2021, 1:57 Je to sice mimo, ale připomněl jsi mi serva Graupner, ze začátků mé modelařiny, pamatujete na ten debilní kulatý konektor, na který nešla sehnat samička? Ty serva neměly v sobě elektroniku a vše se dělo v přijímači. Stavěl jsem ho, takže si to pamatuju. Našel jsem fotku na netu :D
Jojo, to byla tehdy velká klasika. Bylo to první servo, se kterým jsem se v životě (v dětství) potkal. Takže jsem z toho získal pocit, že všechna serva mají lineární aktuátor. Když jsem pak viděl běžná rotační, tak mi připadala taková divná.

Tohle šedé stálo 240 Kčs. Ještě se vozilo žluté Mikro, to stálo 380 Kčs. To byla tehdy moje celá výplata za prázdninovou brigádu.
První konstrukce servozesilovačů používaly rozdělené napájení a tedy unipolární design. Takže motor běhal jenom na 2.4V.
Až později se začaly dělat nóbl bipolární konstrukce s můstkovým koncem, takže servo jelo na plné napětí baterky a daly se dělat rychlejší modely.
Uživatelský avatar
Zdenek Valter
Příspěvky: 5189
Registrován: 9. 1. 2009, 5:16
Bydliště: Ústí n. L.

19. 1. 2021, 9:58

OompaLoompa píše: 19. 1. 2021, 7:38 .........
center nemá prečo nefungovať, len asi nebudú správne trafené tie min/max hodnoty (nutná kalibrácia → POS_MIN, POS_MAX)
v prilohe nová verzia (v3.0):
  • ľahký refaktor loop-u :D
  • pridaný JOG režim (prepínanie stlačením oboch tlačítok naraz)
  • smer pohybu je možné meniť aj za behu (pred dosiahnutím finálnej pozície)
  • pridané komenty "pro pomoc s úklidem tych sandál" :lol:
no a teraz len dúfať, že som tam dačo nesprasil :mrgreen:
lebo kinder-servo tu nemám, AVR-ko tu nemám, a momentálne ani čas/odhodlanie to na niečom testovať

tak daj vedieť, či/ako to funguje, a v prípade potreby to ešte môžem upraviť (resp. opraviť) :)
No nefunguje to - rozsvítí se červená, servo se přestaví, ale na tlačítka to nereaguje vůbec. :-(
Hobbík - obráběč i 3D tiskař začátečník - strojní park je konečně instalován
Uživatelský avatar
Zdenek Valter
Příspěvky: 5189
Registrován: 9. 1. 2009, 5:16
Bydliště: Ústí n. L.

19. 1. 2021, 10:23

OompaLoompa píše: 19. 1. 2021, 7:38
center nemá prečo nefungovať, len asi nebudú správne trafené tie min/max hodnoty (nutná kalibrácia → POS_MIN, POS_MAX)
#define POS_MIN 544 // pozice VLEVO (min.544)
#define POS_MAX 2400 // pozice VPRAVO (max.2400)
#define POS_CENTER ((POS_MAX - POS_MIN)


No takhle jak to máš ale napsané to fungovat nemůže
Podle mne by to mělo být takhle ne?

#define POS_CENTER ((POS_MAX - POS_MIN)/2 + POS_MIN)

Edit: Testováno na verzi 2 a teď už to ve středu je ;-)
Hobbík - obráběč i 3D tiskař začátečník - strojní park je konečně instalován
Uživatelský avatar
Zdenek Valter
Příspěvky: 5189
Registrován: 9. 1. 2009, 5:16
Bydliště: Ústí n. L.

19. 1. 2021, 11:18

Tak jsem modifikoval verzi 2 na 2y a ta dělá to co chci.
při prvním zmáčknutí tlačítka se rozsvítí příslušná a servo se přestaví, při opětovném zmáčknutí téhož tlačítka se nic nestane.
(Ve verzi 2 se servo při opětovném zmačknutí rychle přestavilo do protilehlé polohy a pak se přesunulo do polohy cílové)

Tlačítka tu fungují jako přepínač.

OompaLoompa moc díky za trpělivost i chuť si s tím hrát.

Doufám, že se nezlobíš ;-)
OompaLoompa píše: 19. 1. 2021, 7:38 .....
v prilohe nová verzia (v3.0):
  • ľahký refaktor loop-u :D
  • pridaný JOG režim (prepínanie stlačením oboch tlačítok naraz)
  • smer pohybu je možné meniť aj za behu (pred dosiahnutím finálnej pozície)
  • pridané komenty "pro pomoc s úklidem tych sandál" :lol:
Mám ale další dotaz na tu funkci JOG - nevím jak to funguje
Debounce to jsem si našel to je proti zakmitávání tlačítek
Směr pohybu za chodu měnit netřeba ale díky za nápad.
Za komenty ještě jednou strašně díky!!

Takhle mi to funguje:
https://www.youtube.com/watch?v=GG0xZ3wkDd4
Přílohy
test_navesti_temer_O.K_v2y.zip
(1.34 KiB) Staženo 100 x
Hobbík - obráběč i 3D tiskař začátečník - strojní park je konečně instalován
Uživatelský avatar
OompaLoompa
Příspěvky: 459
Registrován: 28. 6. 2017, 1:45
Bydliště: Západný Slovakistan

20. 1. 2021, 12:45

v pohodě :)

s tým centrom máš samozrejme recht - on ale fungoval, len nebol v strede :lol:

prebehol som to a našiel chybičku prečo to nešlo:
namiesto binárnej definície stavov som tam mal hexadecimálnu (0x10 != 0b10) :mrgreen: mea culpa

v prílohe v4.0 8)
  • pridaný serial výpis pozície v JOG režime → ako pomôcka na kalibráciu/nastavenie POS_MIN a POS_MAX
JOG funguje tak, že motorom hýbe na základe momentálne stlačeného tlačítka, teda:
  • pokiaľ držíš stlačené tlačítko "←", servo cestuje smerom: ←
  • pokiaľ držíš stlačené tlačítko "→", servo cestuje smerom: →
  • keď tlačítko pustíš: servo zastaví (a v seriale vypíše momentálnu pozíciu)
  • stlačenie oboch tlačítok naraz JOG režim aktivuje/deaktivuje
výstup zo serialu môžeš sledovať napr. v Arduino IDE cez Tools → Serial Monitor (nastavíš COM port a 115200 baud)
Přílohy
test_navesti_temer_O.K_v4.0.zip
(1.55 KiB) Staženo 118 x
Uživatelský avatar
Zdenek Valter
Příspěvky: 5189
Registrován: 9. 1. 2009, 5:16
Bydliště: Ústí n. L.

20. 1. 2021, 2:04

Super - funguje to - díky!!
Už chápu i ten JOG!!
Přílohy
JOG position.jpg
Hobbík - obráběč i 3D tiskař začátečník - strojní park je konečně instalován
Uživatelský avatar
Zdenek Valter
Příspěvky: 5189
Registrován: 9. 1. 2009, 5:16
Bydliště: Ústí n. L.

23. 1. 2021, 7:15

Ještě zbytek dokumentace kdyby to někoho zajímalo
Přílohy
Použité prvky
Použité prvky
Schéma zapojení
Schéma zapojení
Naposledy upravil(a) Zdenek Valter dne 23. 1. 2021, 9:08, celkem upraveno 1 x.
Hobbík - obráběč i 3D tiskař začátečník - strojní park je konečně instalován
Uživatelský avatar
OompaLoompa
Příspěvky: 459
Registrován: 28. 6. 2017, 1:45
Bydliště: Západný Slovakistan

23. 1. 2021, 7:26

Na schéme ti chýba 5V linka k spínačom :P
Uživatelský avatar
Zdenek Valter
Příspěvky: 5189
Registrován: 9. 1. 2009, 5:16
Bydliště: Ústí n. L.

23. 1. 2021, 9:07

OompaLoompa píše: 23. 1. 2021, 7:26 Na schéme ti chýba 5V linka k spínačom :P
Mea culpa!!
Opravil jsem
Hobbík - obráběč i 3D tiskař začátečník - strojní park je konečně instalován
atlan
Příspěvky: 3343
Registrován: 7. 2. 2011, 9:12

23. 1. 2021, 3:38

Ja by som tam nejake kondiky 47n pridal ktym dvom odporom, pre istotu, ak to znesu tlacidla. Ked pri tom zacvakas trafopajkou vsetko funguje?
Odpovědět

Zpět na „MCU“