Náhrada výměnných kol posuvu za krokový motor s elektronikou

Odpovědět
Uživatelský avatar
jova
Příspěvky: 2011
Registrován: 2. 11. 2007, 1:40
Bydliště: Chýnov to je kousek od Tábora
Kontaktovat uživatele:

3. 11. 2019, 7:05

S tím servem jsi dobře udělal. Krokový motor je na to pomalý.
HonzaHorka
Příspěvky: 360
Registrován: 15. 11. 2009, 2:17

3. 11. 2019, 7:24

Jj a to se tu divily že tam chci dát servo...

https://youtu.be/v9gg67Pwe1k

Ještě musím dotáhnout odvál do konce a budu spokojený.
lubbez
Příspěvky: 1323
Registrován: 21. 6. 2012, 9:26
Bydliště: Praha

3. 11. 2019, 7:27

Pokud máš oba programy pod kontrolou a oba se dají najednou zkompilovat do Arduina, tak to třeba nebude problém. Mnohem jednodušší je použít na každou věc arduino samostatně. Stejně je HW obou zařízení poměrně odlišný - dělička má pouze výstupy pro motor a třeba jeden vstup pro HOME, ale soustruh to už je jiná, motor (nebo motory), enkodér určitě nějaké dorazy?? Protože jsem stavěl obě zařízení, tak mám určitou představu co všechno tam je za elektroniku. Myslím, že stavět jednoúčelové zařízení je při současných cenách součástek smysluplnější. :-)
Uživatelský avatar
jova
Příspěvky: 2011
Registrován: 2. 11. 2007, 1:40
Bydliště: Chýnov to je kousek od Tábora
Kontaktovat uživatele:

3. 11. 2019, 7:41

Já to pochopil tak, že oboje je na frézku, jen to jednou jede v režimu dělička a podruhé v režimu odvalovačka. Takže naopak je většina věcí kolem pro obě funkce společná. Alespoň tak to mám já na své děličce/odvalovačce.
Obrázek
HonzaHorka
Příspěvky: 360
Registrován: 15. 11. 2009, 2:17

4. 11. 2019, 4:23

No právě že jsem chtěl jít cestou aby to fungovalo na jednom HW. Takže jsem program delicky upravil aby to fungovalo na Arduino mega2560, původně to bylo nayslim nanu a pozměnil piny tak že mám zapojené jiné ovládání pro druhy FW a tady je problém. Po nahrání jednoho prohru vše funguje jak má druhý program také samostatně funguje, ale všechny dosavadní pokusy o sloučení obou programu nefungují. A to to mysleno tak, že se spustí buť jeden nebo druhý program na základě stavu jednoho pinu Arduina. Bohužel je to na mě asy moc velké sousto moc se v programovani nevyznám. Pokud by někdo dokázal pomoct budu jen rád. Jinak to dopadne jak bylo napsáno výše a dám tam prostě 2 Arduina a budu je přepínat.
Mex
Příspěvky: 6139
Registrován: 6. 2. 2014, 10:29

4. 11. 2019, 4:51

HonzaHorka píše:
4. 11. 2019, 4:23
No právě že jsem chtěl jít cestou aby to fungovalo na jednom HW. Takže jsem program delicky upravil aby to fungovalo na Arduino mega2560, původně to bylo nayslim nanu a pozměnil piny tak že mám zapojené jiné ovládání pro druhy FW a tady je problém. Po nahrání jednoho prohru vše funguje jak má druhý program také samostatně funguje, ale všechny dosavadní pokusy o sloučení obou programu nefungují. A to to mysleno tak, že se spustí buť jeden nebo druhý program na základě stavu jednoho pinu Arduina. Bohužel je to na mě asy moc velké sousto moc se v programovani nevyznám. Pokud by někdo dokázal pomoct budu jen rád. Jinak to dopadne jak bylo napsáno výše a dám tam prostě 2 Arduina a budu je přepínat.
Víme houby, jak to máš napsané.
Ale AVR má obecně jen jeden adresní prostor (pomiňme teď sekci bootloaderu). Takže třeba má jen jednu tabulku přerušovacích vektorů. Takže dva nezávislé programy, zavedené nějak najednou do paměti (jak?), musí tohle nějak zohlednit.

Takže aby to fungovalo, musely by být ty programy napsané jako dvě části jediného programu.
Nějaké kejkle by se asi daly udělat s boot sekcí, ale to už je vyšší dívčí, a navíc pokud to píšeš v prostředí Arduino, musel bys zohlednit i defaultní booloader.

No ale jak už je v úvodu - vím prd o tom, jak to máš udělané.
Uživatelský avatar
Grad
Příspěvky: 978
Registrován: 13. 7. 2014, 9:32

4. 11. 2019, 8:57

Jak už psal Mex, nevíme jak to tam máš. Obecně bych postupoval takto:
1. Záměr testovat stav jednoho pinu a dle toho skočit na 1. či 2. program je OK, takže realizovat dle bodu 4
2. Arduino program má vždy dvě části:
A/ setup pro nastavení, volá se jen 1x ale předtím musí být definované všechny proměnné
B/ loop pro programový kód
Pokud to jsou dva programy z různých zdrojů, které samostatně fungují, tak prvni co mne napadlo když to nejde je, zda jsou dobře převzané, sladěné, definované a nazvané proměnné a piny tj. vždy ty začátky z obou původních programů - takže v novém sjednocujícím programu v oblasti před a v setupu například nemůže byt ten samý pin nazvan - definován různě atp.
4. Programy samostatně fungují, takže jejích části z původních oblasti loop nakopíruješ do větvení if ... else v novém sjednocujícím programu do oblasti loop a mělo by to fungovat :) samozřejmě pokud se v novém setupu a před ním něco změnilo aby se to nebylo, pak je toto potřebné reflektovat i v nové částí loop :wink:

Pokud se v tom moc neorientuješ, mrkni třeba sem
Pokud máš pocit, že by ten problém mohl být v bodě 2. a nevíš jak dál, pak dej sem z obou programů ty definice proměnných a uvidíme co s tím ...
HonzaHorka
Příspěvky: 360
Registrován: 15. 11. 2009, 2:17

10. 11. 2019, 10:24

tak jsem se konečně na chvilku dostal k C:

tady dávám oba programy samostatně a potom následuje můj pokus o sloučení obou programů.
nejhorší je opravdu to, že jsem programováním nepolíbený a navýc mi to vůbec nejde do hlavy. pokud by mi s tím někdo z vás byl ochotný pomoct budu nesmírně rád a nějak bych to určitě dokázal ocenit. Popřípadě jsem ochotný funkční kus nakreslit i elektricky a tady pro ostatní publikovat.
Jinak se vydám druhou cestou kterou se mi nechtělo na začátku a to že to prostě celé HW předělám a budu provozovat 2 samostatné arduina které budu pouze přepínat.

https://uloz.to/file/uZMvqdO1040E/otocn ... -pokus-rar
Odpovědět

Zpět na „Ostatní elektronika“