Pomoc s programem arduino

Raspberry, Arduino, Mini-PC a další

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
kozejk
Příspěvky: 56
Registrován: 14 pro 2020, 01:00

Pomoc s programem arduino

#1 Příspěvek od kozejk »

Zdravím

mám prosbičku. Potřebuji pomoct s napsáním kódu pro pojízdný terč. Terč by se měl spouštět tlačítkem a po zmáčknutí se terč rozjede do doby než narazí na koncák, který reverzuje napětí a pošle terč zpatky, kdy po najetí na koncák na opačné straně se opět přepne napájení motoru a po cca 2 vteřinách se zastaví a čeká opět na zmáčknutí tlačítka.
Motor je klasika DC s pwm řízeným můstkem. Bohužel neumím sladit podmínky tak prosím jestli by mi někdo nenapsal strukturu, zbytek jsem schopen si poupravit.

Děkuji moc

Uživatelský avatar
monterjirka
Příspěvky: 2761
Registrován: 14 čer 2003, 02:00
Bydliště: Blížejov

#2 Příspěvek od monterjirka »

Ty 2 vteřiny to pojede z té druhé koncové polohy?

To bych snad ani "neprogramoval", to je na nějaký časovač, třeba jen 555,... a pár drobností

Uživatelský avatar
kozejk
Příspěvky: 56
Registrován: 14 pro 2020, 01:00

#3 Příspěvek od kozejk »

ano z druhé vlastně výchozí pozice. Nechci aby se zastavil na koncovém spínači, ale pokud by to byl problém tak klidně může být i bez toho posuvu. S časovačem jsem experimentoval poprvé, to bych dokázal i na arduinu naprogramovat, problém s časem je ten, že terč jezdí po kolejnici která má délku 12 metrů a dřív nebo později bude docházet k rozhození časování, ať už vlivem prokluzu pohonu, nasazování nového terče a podobně. Proto je nejlepší vše řešit koncákama, které ovládají můstek a arduino hlídá rychlost podle nastavené hodnoty pwm, startovací tisk tlačítka a pokud by byl někdo opravdu frajer v programování, tak nastavení lineárního rozjezdu motoru v krajních polohách :-) ale to už asi chci moc

petrfilipi
Příspěvky: 2551
Registrován: 13 zář 2005, 02:00

#4 Příspěvek od petrfilipi »

Já, kdybych to měl řešit, bych si aplikaci rozdělil do fází, tak jako ve filmu Zelená míle (fáze jedna, fáze dva, fáze tři). Ale teď vážně.

Zruší se příznaky Fáze 1-3 a nastaví se příznak Fáze 4 a točí se tento program:

Fáze 1: nastaví směr motorku doleva, začne přidávat na PWM (klidně po 0,00001 a bude číslo zaokrouhlovat, tzn. po třeba 5s dojde ke 100%) a kontroluje, zdali došlo k sepnutí koncáku vlevo. Když dojde k sepnutí, zruší příznak Fáze 1 a nastaví příznak Fáze 2.

Fáze 2: nastaví směr motorku doprava, začne přidávat na PWM (klidně po 0,00001 a bude číslo zaokrouhlovat, tzn. po třeba 5s dojde ke 100%) a kontroluje, zdali došlo k sepnutí koncáku vpravo. Když dojde k sepnutí, zruší příznak Fáze 2 a nastaví příznak Fáze 3.

Fáze 3: nastaví směr motorku doleva, začne přidávat na PWM (klidně po 0,01 a bude číslo zaokrouhlovat, tzn. po třeba 2s dojde ke 100%) počítá čas 2s. Po 2s vypne motory, zruší příznak Fáze 3 a nastaví příznak Fáze 4

Fáze 4: Testuje stisk tlačítka. Když je stisknuto, zruší příznak Fáze 4 a nastaví příznak Fáze 1.


Do jednotlivých fází je pak možné přidat i kontrolní časy, kdyby se koncák z nějakého důvodu nesepnul, tak aby to nejelo do nekonečna.
Takže asi tak.

PF

Uživatelský avatar
bum
Příspěvky: 227
Registrován: 04 zář 2011, 02:00
Kontaktovat uživatele:

#5 Příspěvek od bum »

Kamarád měl kdysi podobnou dráhu pro terč o délce necelých 40m pro kterou jsem mu na jeho žádost navrhnul elektronické zapojení dle jeho požadavků s PICAXE které používám v zapojeních. Terč se zastavoval dle volby na pozicích od střelce na 10m, 20m, 30m v případě volby ručního ovládání terče se terč pohyboval po celé dráze a mohl se nastavit v jakékoliv vzdálenosti od střelce. Elektronika byli osazena pojistkami pro napájení a motor, tlačítky s označením start a pozice střelce dále vypínači označenými 10m, 20m, 30m, ruční pohyb terče a LCD displejem kde se zobrazovala vzdálenost terče dle volby sepnutého vypínače. PWM vyráběl uvedený PICAXE který spínal tranzistor a tento potom pomocí spínacích kontaktů dvou relátek napájel motorek pro oba směry, přepínání chodu motorku jsem použil stejné jako v článku Merkur na webu. Vodící kolejnička byla u každé vzdálenosti osazena dvěma spínači, jeden spínač byl umístěn před nastavenou vzdálenosti a pokud došlo k sepnutí byl programově snížen výstup PWM a terč najel pomalu na spínač vzdálenosti která byla navolena a byl vypnut motor, současně se na LCD displeji zobrazilo dosažení navolené vzdalenosti. Tato kombinace dvou spínačů byla osazena i na pozici u střelce a současně byli na kolejničce na pozicích osazeny i havarijní koncové spínače které vypínali napájecí napětí aby nedošlo ke zničení motorku i elektroniky.

Uživatelský avatar
kozejk
Příspěvky: 56
Registrován: 14 pro 2020, 01:00

#6 Příspěvek od kozejk »

děkuji moc za příspěvky. Díky bohu se mi ozval jeden skvělý člověk, který mi dal celý program dohromady. Jsem rád za každou radu a jeho skvělý program je hodně podobný co psal petrfilipi, takže děkuji všem.

Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#7 Příspěvek od ZdenekHQ »

Že by elnovy fungující na pozadí procesů EB? 8-)
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]

Uživatelský avatar
Mahoney
Příspěvky: 347
Registrován: 26 říj 2019, 02:00

#8 Příspěvek od Mahoney »

Neznám střelnice, ale obecně se mi to zdá podle popisu nějaké divné, protože koncové spínače jsou právě od toho, aby se tam pohon zastavil v případě, že selže snímač krajní polohy (většinou bývá elektronický a umístěný těsně něbo blízko před spínačem koncovým (který je obvykle mikrospínač s rolnou apod), mají nezávisle na řízení odpojit silovou část jako opatření proti mechanickému poškození zařízení. Jinými slovy, využívat bezpečnostnmí prvek k reverzaci by nemělo být, od toho je tam ten předchozí snímač, na koncák to ani nemá dojet…

Odpovědět

Zpět na „Miniaturní počítače (Arduino, Raspberry a další)“