3 osý manipulátor bez PC
Nejsem si jistý jestli to není moc složíte ten program na to, protože mi to dělá psí kusy.
Nejdříve mi to najízdělo výchozí polohu rychle, tedy v pořádku. Ale mormální program v před to dělalo pomalu.
Změnil jsem tam jen počet kroků na otáčku a ujetí jiných vzdáleností než tam bylo původně.
Teď to při najetí na výchozí polohu spomalí a jede směrem ke konkáku ještě, namísto od něho.
Program taky jede pomalu.
USB mám odpojené.
Mám to na Arduino Mega, tak myslím že by mělo jít. Zkoušel jsem to na Due, ale nešel mi tam poslat program, nějaká chyba.
Nejdříve mi to najízdělo výchozí polohu rychle, tedy v pořádku. Ale mormální program v před to dělalo pomalu.
Změnil jsem tam jen počet kroků na otáčku a ujetí jiných vzdáleností než tam bylo původně.
Teď to při najetí na výchozí polohu spomalí a jede směrem ke konkáku ještě, namísto od něho.
Program taky jede pomalu.
USB mám odpojené.
Mám to na Arduino Mega, tak myslím že by mělo jít. Zkoušel jsem to na Due, ale nešel mi tam poslat program, nějaká chyba.
Přehodil jsem směry motorů a teď to funguje takto.
Najetí osy X a Y na výchozí polohu pracuje.
Poté tlačítko start = velmi pomalý rozběr motoru X
Stisknu reset
Poté start a motory jedou už svůj program také rychle, jedou ale směrem ke koncovým spínačům, tedy opačně.
Kde může být zádrhel ?
Teda já jsem ukecanej
Najetí osy X a Y na výchozí polohu pracuje.
Poté tlačítko start = velmi pomalý rozběr motoru X
Stisknu reset
Poté start a motory jedou už svůj program také rychle, jedou ale směrem ke koncovým spínačům, tedy opačně.
Kde může být zádrhel ?
Teda já jsem ukecanej
tak to musíme vzít popořadě,
1) těma 10000 krokama/ot si seš jistej? Mě to příde moc, to máš mikrokrok 50 na jeden plnej krok?
2) s touhle řemenicí, se na jednu otáčku posuneš o 84mm,
3.1) nahraj tenhle program
3.2) zapni serial monitor
3.3) stiskni tlačítko Home na Arduinu (A1), na serial monitoru se musí objevit, že bylo Home stisknuto
3.4) jede vozík X směrem ke koncáku?
3.4.1) pokud jede jeho směrem ale nedojede tam, nastav mu delší dráhu , teď je tam 1cm, když popojede o 1cm a nedojede ke koncáku, tak spustí referencování Y
3.4.2) pokud jede opačným směrem napiš.
rychlost zatim neřešíme, kdybys chtěl vědět co se tam děje, napiš do horního políčka serial monitoru m (ne za běhu motorů), pro zrušení 0, když je klid, neběží motory tak napsáním i do políčka zjistíš stav počítadel.
k těm otáčkám sem zatim napsal 1600, jestli si seš jistej těma 10000 tak to přepiš, řemenici nech číslo jaký tam je
až to budeš mít nastavený, napiš do hlavní části jen jeden pohyb X o 10mm, nech ho provýst a změř o kolik ve skutečnosti popojel
napiš m do ser.mon. a zkontroluj jestli motory jezděj podle toho co se tam ukazuje, jestli vozejk nejede ke koncáku (3.4.) tak to ani nemusíš testovat
1) těma 10000 krokama/ot si seš jistej? Mě to příde moc, to máš mikrokrok 50 na jeden plnej krok?
2) s touhle řemenicí, se na jednu otáčku posuneš o 84mm,
3.1) nahraj tenhle program
3.2) zapni serial monitor
3.3) stiskni tlačítko Home na Arduinu (A1), na serial monitoru se musí objevit, že bylo Home stisknuto
3.4) jede vozík X směrem ke koncáku?
3.4.1) pokud jede jeho směrem ale nedojede tam, nastav mu delší dráhu , teď je tam 1cm, když popojede o 1cm a nedojede ke koncáku, tak spustí referencování Y
3.4.2) pokud jede opačným směrem napiš.
rychlost zatim neřešíme, kdybys chtěl vědět co se tam děje, napiš do horního políčka serial monitoru m (ne za běhu motorů), pro zrušení 0, když je klid, neběží motory tak napsáním i do políčka zjistíš stav počítadel.
k těm otáčkám sem zatim napsal 1600, jestli si seš jistej těma 10000 tak to přepiš, řemenici nech číslo jaký tam je
až to budeš mít nastavený, napiš do hlavní části jen jeden pohyb X o 10mm, nech ho provýst a změř o kolik ve skutečnosti popojel
napiš m do ser.mon. a zkontroluj jestli motory jezděj podle toho co se tam ukazuje, jestli vozejk nejede ke koncáku (3.4.) tak to ani nemusíš testovat
Na serial monitoru se zobrazí Home aktivovano.
Motory najizdi na koncový spinač a potom popojedou vpřed. Jak X tak i Y.
Najetí refecencí i program se točí správně řekněmě. Nemám motory ještě namontované ani udělany ten manipulátor. Ted dokončuju nejdříve ten soustruh.
Ale předtím jsem to nějak zkoušel a vycházel mi ten výpočet.
Takže najetí os funguje.
Program se ale spustí velmi pomalu. Jak kdyby najetí na ty reference spustilo jinačí rychlost.
Motory najizdi na koncový spinač a potom popojedou vpřed. Jak X tak i Y.
Najetí refecencí i program se točí správně řekněmě. Nemám motory ještě namontované ani udělany ten manipulátor. Ted dokončuju nejdříve ten soustruh.
Ale předtím jsem to nějak zkoušel a vycházel mi ten výpočet.
Takže najetí os funguje.
Program se ale spustí velmi pomalu. Jak kdyby najetí na ty reference spustilo jinačí rychlost.
najetí na reference je pomalejší, aby se dalo hned zastavit bez trhnutí strojem, jestli je to hodně pomalu, tak zvyš rychlost z 0.3 na větší, kam až to pude, aby to bylo bezpečný - sou to ty dvě move (-10, 0.3);
teď spusť hlavní smyčku a zjisti jestli to jezdí podle programu, souřadnice sou absolutní, tj. když je v programu 10, tak je to najetí na souřadnici 10, ne o 10mm, když seš na 5, tak to popojede jen o 5, když stojíš na 25, tak popojede zpátky o 15, start by měl bejt pomalejší, dojezd taky, to je pořád stejná část, jako na začátku, jestli to zrychluje moc pomalu, je tam ta hodnota zrychlení (400) u každý souřadnice (moveX, moveY) je tím myšleno 400 kroků do plný rychlosti
teď spusť hlavní smyčku a zjisti jestli to jezdí podle programu, souřadnice sou absolutní, tj. když je v programu 10, tak je to najetí na souřadnici 10, ne o 10mm, když seš na 5, tak to popojede jen o 5, když stojíš na 25, tak popojede zpátky o 15, start by měl bejt pomalejší, dojezd taky, to je pořád stejná část, jako na začátku, jestli to zrychluje moc pomalu, je tam ta hodnota zrychlení (400) u každý souřadnice (moveX, moveY) je tím myšleno 400 kroků do plný rychlosti
Najetí na reference jedou dost rychle, to stačí.
Taky už jsem zjistil že jsou na to vázány ty dvě move (-10, 0.3)
Program jezdí podle příkazů, zkoušel jsem. Jezdí 10 mm nebo 5 mm a tak.
Problém je, že samotný program jede moc pomalu. Mám tam rychlost třeba 2.7 a jede to podlě mě tak 0.04. A můžu to měnit jak chcu.
Když dám ale reset na arduinu a pak start A0 tak už to pak běhá rychle ten hlavní program.
Jinak vše podle mě už funguje. Osy se taky střídají podle programu ...X ujeť 10mm, Y ujeť 5 mm a tak...
Taky už jsem zjistil že jsou na to vázány ty dvě move (-10, 0.3)
Program jezdí podle příkazů, zkoušel jsem. Jezdí 10 mm nebo 5 mm a tak.
Problém je, že samotný program jede moc pomalu. Mám tam rychlost třeba 2.7 a jede to podlě mě tak 0.04. A můžu to měnit jak chcu.
Když dám ale reset na arduinu a pak start A0 tak už to pak běhá rychle ten hlavní program.
Jinak vše podle mě už funguje. Osy se taky střídají podle programu ...X ujeť 10mm, Y ujeť 5 mm a tak...
když to zresetuješ, tak se to jenom znovu spustí, tam by mělo bejt všechno stejný, to nevim proč to dělá, čísla rychlostí teď nic neznamenaj, je to jenom jakejsi poměr k výkonu Arduina, můžeš tam dát klidně 70, víc asi ne, možná že zkoušíš malý odstupňování, jako že rozdíl mezi 0,5 a 0,7 třeba nepoznáš, ještě můžou bejt krátký vzdálenosti, že než se rozjede, tak už zase brzdí, ale stejně nechápu, proč po resetu chodí jinak než přednim.
Jestli to teda dobře chápu, tak když stiskneš keystart hned po nahrání, tak to jede pomalejc než když zmáčkneš keystart po resetu?
Jestli to teda dobře chápu, tak když stiskneš keystart hned po nahrání, tak to jede pomalejc než když zmáčkneš keystart po resetu?
Zkoušel jsem ted rychlost i 10.
Když to zapnu a pustím hned start bez najetí refecenčních bodů tak program letí rychle. - podle rychlosti jakou napíšu.
Když ale dám najet referenční body tak po najetí referenčních bodů program jede velmi pomalu.
Potom když dám reset na arduinu tak program zase lítá rychle.
Takže je to asi nějaký vzájemný problém.
Když to zapnu a pustím hned start bez najetí refecenčních bodů tak program letí rychle. - podle rychlosti jakou napíšu.
Když ale dám najet referenční body tak po najetí referenčních bodů program jede velmi pomalu.
Potom když dám reset na arduinu tak program zase lítá rychle.
Takže je to asi nějaký vzájemný problém.
Díky za tohle vlákno! Zaujalo mě to natolik, že jsem si koupil Arduino, připojil jsem driver krokového motoru a začal experimentovat (na jedné z prvních verzí zde uveřejněného kódu).
Bohužel pozoruji takové chování, že pro rychlosti menší nebo rovno 1 je akcelerace plynulá až do maximální rychlosti ale jakmile dám rychlost třeba 1,5, akceleruje to jen do určitého momentu a pak to skočí na maximální rychlost a při rychlostech větších než 1,9 to spolehlivě ztratí kroky.
Nevíte někdo co s tím?
Bohužel pozoruji takové chování, že pro rychlosti menší nebo rovno 1 je akcelerace plynulá až do maximální rychlosti ale jakmile dám rychlost třeba 1,5, akceleruje to jen do určitého momentu a pak to skočí na maximální rychlost a při rychlostech větších než 1,9 to spolehlivě ztratí kroky.
Nevíte někdo co s tím?
melsoft píše:Díky za tohle vlákno! Zaujalo mě to natolik, že jsem si koupil Arduino, připojil jsem driver krokového motoru a začal experimentovat (na jedné z prvních verzí zde uveřejněného kódu).
Bohužel pozoruji takové chování, že pro rychlosti menší nebo rovno 1 je akcelerace plynulá až do maximální rychlosti ale jakmile dám rychlost třeba 1,5, akceleruje to jen do určitého momentu a pak to skočí na maximální rychlost a při rychlostech větších než 1,9 to spolehlivě ztratí kroky.
Nevíte někdo co s tím?
Ja jsem zacatecnik takze ti asi moc neporadim,ale zalezi jake pouzivas motory, drivery.
Ja nezenu motory na velke rychlosti, protoze to ztraci kroky a taky moment.
Pouzivam motory Microcon a drivery Leadshine.
tarvisio píše:Zkoušel jsem ted rychlost i 10.
Když to zapnu a pustím hned start bez najetí refecenčních bodů tak program letí rychle. - podle rychlosti jakou napíšu.
Když ale dám najet referenční body tak po najetí referenčních bodů program jede velmi pomalu.
Potom když dám reset na arduinu tak program zase lítá rychle.
Takže je to asi nějaký vzájemný problém.
kouknu na to, asi sem tam někde přepsal hodnoty, zatím to nevidím