3 osý manipulátor bez PC

Odpovědět
tarvisio
Příspěvky: 247
Registrován: 25. 10. 2013, 3:11

1. 10. 2014, 8:12

jeykey píše:jak si přehazoval ty směry otáček tak tam zůstalo starý počítání
if (dir == LOW) Ost = Ost*(-1);

musíš přepsat na:

if (dir == HIGH) Ost = Ost*(-1);

klidně to předělej kutile Time, já tak trochu nestíhám, tak to vždycky dodělávám narychlo s hromadou jiných věcí
Tarvisio jestli to máš už v nějaký koncový podobě, tak bychom tam měli použít knihovnu accelstepper a doladit to do finálový podoby, bez těch evolučních zbytků.

Děkuji za pomoc. Už vše funguje, jsem happy :D
Jdu tvořit dále to zařízení ...
tarvisio
Příspěvky: 247
Registrován: 25. 10. 2013, 3:11

3. 10. 2014, 10:12

Věděl by si mi poradit proč mi to na několik tlačítek pouští různé programy, které tam mám předvolené ?
Na každé tlačítko mám jiný pohyb, ale tlačítka mi někdy zablbnou a udělají program z druhého tlačítka.

Vstupy mám jako INPUT a taky nastaveny na HIGH.


Zde je schéma zapojení.
schema_tlacitka.jpg

Děkuji za pomoc.
Naposledy upravil(a) tarvisio dne 4. 10. 2014, 10:26, celkem upraveno 2 x.
tarvisio
Příspěvky: 247
Registrován: 25. 10. 2013, 3:11

4. 10. 2014, 10:25

tarvisio píše:Věděl by si mi poradit proč mi to na několik tlačítek pouští různé programy, které tam mám předvolené ?
Na každé tlačítko mám jiný pohyb, ale tlačítka mi někdy zablbnou a udělají program z druhého tlačítka.

Vstupy mám jako INPUT a taky nastaveny na HIGH.

Zde je schéma zapojení.



Děkuji za pomoc.
Myslím že to mám vyřešeno, byl problém v UNO.
tarvisio
Příspěvky: 247
Registrován: 25. 10. 2013, 3:11

15. 10. 2014, 2:19

Ahoj jeykey,

chci se zeptat proč je tam potřeba použít knihovnu accelstepper ?
Ono to takhle nebude spolehlivě fungovat ?

Ja to nyní už používám ten program. Vrtá mi to na tom malém soustruhu díly. Pohyby chodí zatím v pohodě.
Program trvá asi 23 sekund. Díly se mění ručně a potom se program spouští tlačítkem cca každých 10 sekund znova. Stává se mi, že mi program zahapruje a zastaví se a pak se znova rozjete, ale jakoby se celý posune v jedné ose o několik mm a pak mi to narazí, protože to přijede rychloposuvem dál něž by mělo. Musím restartovat, najet znovu výchozí polohy. Stává se mi to ca každých 200 ks když to vrtá v kuse.

Je to napojeno na arduino Mega, myslíš že kdyby tam bylo Due tak by problém mohl zmizet, protože je to výkonější ?
TeaPack
Příspěvky: 6
Registrován: 16. 10. 2014, 9:34

16. 10. 2014, 9:42

Ahoj, měl jsem podobný problém s jiným čipem, kde mi to po cca hodině běhu taky kikslo. U mě šlo o špatné alokování paměti, kde se mi v každém cyklu vytvářela "nová" proměnná a ve chvíli, kdy byla pamět plná, tak to čip pročistil, a vznikla u toho chyba v programu. Zkus hledat někde tímhle směrem, já se s pseudo-C, které používá arduino, moc nekamarádím, takže přímo v kódu ti nepomůžu.
tarvisio
Příspěvky: 247
Registrován: 25. 10. 2013, 3:11

17. 10. 2014, 6:57

TeaPack píše:Ahoj, měl jsem podobný problém s jiným čipem, kde mi to po cca hodině běhu taky kikslo. U mě šlo o špatné alokování paměti, kde se mi v každém cyklu vytvářela "nová" proměnná a ve chvíli, kdy byla pamět plná, tak to čip pročistil, a vznikla u toho chyba v programu. Zkus hledat někde tímhle směrem, já se s pseudo-C, které používá arduino, moc nekamarádím, takže přímo v kódu ti nepomůžu.

Ahoj, díky za tvou odpověď.
Napadlo mě, kdyby tam byl za každým vykonáním programu nastavený reset arduina, jestli se vymaže ta pamět a už to nebude dělat problémy ?
Nebo například za každým desátým vyvrtaným kusem.
Otázka je, jestli se arudino časem nepoškodí když se bude často používat reset.
TeaPack
Příspěvky: 6
Registrován: 16. 10. 2014, 9:34

17. 10. 2014, 2:36

Možná by stačilo čistit proměnné tím, že jim přiřadíš hodnotu NULL, nebo ekvivalent, popř. pokud nebudeš ve funkcích vytvářet nové proměnné, ale budeš je mít všechny definované předem při prvním spuštění programu.
Druhou možností je řízený restart arduina, které již nepoužívá pro ukládání softu EEPROM, ale flash paměť, která netrpí na přepisy. Restartovat se to dá i "softwarově", pokud propojíš nějaký pin DigitalOut a Reset, tak můžeš jednoduše při 100 cyklu dojet do určité polohy, arduino zrestartovat a rovnou načíst výchozí polohu.
jeykey
Příspěvky: 114
Registrován: 25. 8. 2014, 8:02

17. 10. 2014, 3:21

Ahoj, ještě ověř jestli se ti neaktivujou nějaký referenční tlačítka nebo koncáky, koncáky se hlídaj pořád, takže při nějakým zhoupnutí napětí by se to mohlo posunout,
jinak souhlasim s týpkem, takže zkus pro začátek na začátek programu dát tohle:
int Current = 0;
float Bx = 0;
float By = 0;
int Ot = 0;
int zrychleni = 0;
float maxDelay = 0;
float Ost = 0;
float posun = 0;
float rychlost = 0;
int dir = 0;
int stepsStart = 0;
int stepsMid = 0;
int stepsEnd = 0;
float oneStep = 0;
float usDelay = 0;
int steps = 0;
float speed = 0;
int stepsMod = 0;
int stepsDiv = 0;
int i = 0;

kdyžby se to nezlepšilo, tak vyhledej každou tu proměnnou a umaž jí ve funkcích datovej typ (float, int) kromě předávání dat mezi funkcema (první (definiční) řádek funkce)
pak by se vidělo dál

****
accelstepper kvůli tomu, že má vyřešený pohyb ve všech osách najednou atd, a za chvíli to budeš stejně chtít, protože to v součtu za den ušetří spoustu času.
tarvisio
Příspěvky: 247
Registrován: 25. 10. 2013, 3:11

28. 10. 2014, 7:13

Umel by mi nekdo poradit s timto aktualnim programem ktery tady byl vytvoren?
Po najeti referencnich bodu musit pouzit reset na arduinu. Jinak mi nejde pustit start cyklu. Cyklus jede pomalu.
Po priklad, drahu kterou to ujede normalne za 5 sekund to nasledne jede 5 minut kdyz se to arduino nezresetuje.
Dela mi to tak od zacatku. Diky
Uživatelský avatar
kutil_tim
Příspěvky: 1461
Registrován: 11. 1. 2010, 1:23
Bydliště: Vsetín

28. 10. 2014, 9:17

Vím jak to "poštelovať ".
Chtělo by to ale motivační SZ.

Taky by bylo dobré video jako to jede.
http://katalog.tuny.cz [url]http://katalog.tuny.cz[/url]
tarvisio
Příspěvky: 247
Registrován: 25. 10. 2013, 3:11

29. 10. 2014, 2:36

Foto skoro dokončeného stroje na vrtání
1.jpg
2.jpg
3.jpg
Upínací mechanismus dílu
4.jpg
Upínací mechanismus dílu
5.jpg
7.jpg
8.jpg
Video stroje
http://youtu.be/sjSCsCjaFsk
RaS
Příspěvky: 7847
Registrován: 26. 3. 2009, 9:12
Bydliště: Úvaly

29. 10. 2014, 5:39

dej sem celé video od nabrání po ustavení, vyvrtání a zahození..
věčný rýpal,který musí mít poslední slovo, odpůrce low-cost zařízení končících v naprosté většině případů v hromadě šrotu
uživatelé hýbátek, kteří mají z mých příspěvků celoživotní trauma nechť si mé příspěvky VYPNOU
tarvisio
Příspěvky: 247
Registrován: 25. 10. 2013, 3:11

29. 10. 2014, 5:44

RaS píše:dej sem celé video od nabrání po ustavení, vyvrtání a zahození..
To je zatim vkladano rucne. Manipulator jeste neni hotov. Nejdrive musim doresit tento stroj aby fungoval bez problemu.
jeykey
Příspěvky: 114
Registrován: 25. 8. 2014, 8:02

4. 11. 2014, 12:50

Ahoj, dej sem aktuální program a výpis ze serial monitoru, tam označ odkud to začíná blbnout
tarvisio
Příspěvky: 247
Registrován: 25. 10. 2013, 3:11

4. 11. 2014, 5:02

jeykey píše:Ahoj, dej sem aktuální program a výpis ze serial monitoru, tam označ odkud to začíná blbnout

Ahoj, tady je aktuální funkční program.
Výpis ze serial monitoru mi nešel, nejak mi to nefungovalo. Ja to stejne nepoužívám. Řidím se tím co to ujede.
Pokud to pomůže tak zde je video jak to najíždí referenční poloha.
http://youtu.be/IAgZeVd9aok
Po najetí to kousek odjede od snímače a při tom odjíždění to velmi spolamuje.
Můj názor je ten, že to má nějak zafixovanou tu pomalou konečnou rychlost a pak se celý program tak pomalu spustí a i celý jede, už to nezrychlí.
Když dám reset tak už program jede normálně, ale chtěl bych to právě odstranit at to nedělá.

Děkuji za pomoc.
manipulator.txt
(10 KiB) Staženo 200 x
Odpovědět

Zpět na „roboti a manipulatory“