Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

UNO a CNC Shield

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Miniaturní počítače (Arduino, Raspberry a další)
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Celeron



Založen: Apr 02, 2011
Příspěvky: 17746
Bydliště: Nový Bydžov

PříspěvekZaslal: po červenec 11 2016, 0:05    Předmět: UNO a CNC Shield Citovat

Dostalo se mi do rukou UNO s CH340 a SMD Mega 328P. Verze na desce nikde napsaná není. K tomu jsem dostal CNC Shield V3 a 4 ks driverů GY4988.
S Mega 2560 jsem si už hrál v tiskárně a CNC routeru, takže úplný nóvum to pro mě není. Zkusil jsem V Arduino IDE zkompilovat ledkovou blikačku z příkladů a nahrnout ji do UNO a bliká, takže deska je nejspíš OK.
Tahle sestava přímo volá o připojení krokáčů a nahrnout do ní GRBL CNC a pohrát si s tím.
Zkusil jsem si stáhnout http://diyprojects.eu/arduino-cnc-shield-version-3-0-with-grbl-v0-9/ a https://github.com/grbl/grbl
Stáhnul jsem zip verzi, rozbalil a ptvní problém byl, že mezi zdrojáky není GRBL.INO. Zkusil jsem místo něj nakopírovat GRBLupload z adresáře Examples a s ním se sice překlad rozběhne ale vyhodí chybu kompilace že chybí soubory ale ty tam podle Průzkumníka jsou Rolling Eyes Nevím, jestli je něco ve zdrojácích blbě, nebo to je mnou. Prostě podle popisu to nechodí.
Nemohl by se prosím někdo nade mnou slitovat a zkusit grbl cvičně přeložit na jiný mašině? Případně co je za problém?
Díky

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
berk



Založen: Feb 07, 2014
Příspěvky: 107

PříspěvekZaslal: po červenec 11 2016, 10:07    Předmět: Citovat

Na té stránce https://github.com/grbl/grbl hned pod těma obrázkama "inventables" jsou odkazy

- Master branch
- Archives

a to jsou podle mě zkompilované binárky uložené v hexa kódu
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 17746
Bydliště: Nový Bydžov

PříspěvekZaslal: po červenec 11 2016, 12:35    Předmět: Citovat

Tu Master Branch 0.9j 260317 jsem zkusil nahrnout do UNO. Jenže tyhle default hexy se musí před vlastním frézováním naplnit $Nx spouštěcím blokem, kterej definuje parametry krokáčů a podobně. U Marlina pro Rebel II nebo MPCNC se tahle definice udělala v Config.h, zkompilovala a pak jsem se o to už nestaral a rovnou se mohlo tisknout.
Stáhnul jsem si GRBLcontrol prográmek, kterej by měl řídit z PC frézku přes UNO s CNC Shield. Ale ani ťuk, vůbec to spolu nekomunikuje.
Zkusmo jsem v PC rozjel Repetier-host, co vlastně dělá stejnou funkci u 3D tiskárny. A tohle spolu nějak komunikuje, ale píše nepodporovaný příkazy. Vypadá to, že chce těch 21 parametrů spouštěcího bloku, který samozřejmě Repetier-host neumí. Komunikaci mám pro obojí nastavenou stejně a GRBLcontrol přesto nejde.
Nevím si s tím rady, kde je zakopanej pes. Cry
Díky.

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Habesan



Založen: Jan 12, 2009
Příspěvky: 7087
Bydliště: Plzeňsko

PříspěvekZaslal: po červenec 11 2016, 16:47    Předmět: Citovat

NE.

GRBL není napsán v jazyce Arduina, to by nikdy nedosáhl té rychlosti jaké dosahuje (až 30 000 kroků / sekundu).
Stáhni si například: grbl_v0_9j_atmega328p_16mhz_115200.hex, nahraj ho do té Atmegy přes ICSP, stejně jako kdybys nahrával hex do jakéhokoliv MCU, které zrovna není Arduino.

Ty parametry GRBL nepotřebuje ke svému spuštění, naopak je to on, kdo je po resetu vypíše, proto aby tě infomoval jak je nastavený.
A ke komunikaci můžeš použít libovolný terminál sériového portu (třeba i Hyperteminal, který je součástí MsWindows).

_________________
Sháním hasičák s CO2 "sněhový", raději funkční.
(Nemusí mít platnou revizi.)
(Celkově budu raději, když se to obejde bez papírů.)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Celeron



Založen: Apr 02, 2011
Příspěvky: 17746
Bydliště: Nový Bydžov

PříspěvekZaslal: út červenec 12 2016, 0:52    Předmět: Citovat

Habesan napsal(a):
NE.

GRBL není napsán v jazyce Arduina, to by nikdy nedosáhl té rychlosti jaké dosahuje (až 30 000 kroků / sekundu).
Stáhni si například: grbl_v0_9j_atmega328p_16mhz_115200.hex, nahraj ho do té Atmegy přes ICSP, stejně jako kdybys nahrával hex do jakéhokoliv MCU, které zrovna není Arduino.

Ty parametry GRBL nepotřebuje ke svému spuštění, naopak je to on, kdo je po resetu vypíše, proto aby tě infomoval jak je nastavený.
A ke komunikaci můžeš použít libovolný terminál sériového portu (třeba i Hyperteminal, který je součástí MsWindows).


Co NE? Smile

Tak v čem je to tedy napsaný, když mi to překládá Arduino.cc IDE V1.7.8?
Sice to asi na sedmým include vyhučí ale kdyby to nebylo CC, tak to snad bude házech chyby syntaxe ale mě to hlásí nepřítomnost souboru.

Ten odkaz na hex, co jsi sem dával, jsem psal už ráno, že ho mám nahranej v UNO. Použil jsem na to Xloader od Gier Lundeho.
Už mi to taky komunikuje s GRBLControl z PC. Ono se totiž UNO musí před a hlavně po nahrání FW ručně zresetovat, jinak se nespojí. Možná že to nějak souvisí s čínským švábem CH340 na USB.

A propo, na W7 a vyšších Hyperterminál není.

Ano, GRBL nepotřebuje ke spuštění spouštěcí bloky.
Když spustím ten GRBLControl na PC, tak mi pošle zpět sekvenci G1 G54 G17 G21 G90 G94 M0 M5 M9 T0 F1000. S0
Když potom hýbu na Jog šipkama pro X,Y,Z osy, tak mi v náhledu jezdí nástroj, mění se Work a Machine coordinates. I testovací soubor s G kódama se mi v náhledu virtuálně vymaluje. Takže to určitě komunikuje a i nějak chodí. Pokud Arduino odpojím, nic z toho nechodí, je tam kontrola provedení zaslaných G-code.

Nojo, ale teď to musím přizpůsobit mýmu HW. Takže znovu vyvstává otázka jak na to, co nastavit v spouštěcím bloku, aby Uno makalo podle možností mýho železa a motorů.
Je toho celkem dost:

$Nx jsou spouštěcí bloky, tedy řada G kódů, které se v Grbl spustí po každém zapnutí nebo resetu Grbl. V současné době jsou v Grbl připraveny dva bloky G kódů pro výchozí nastavení systému, ale úpravou konfiguračního souboru config.h a jeho opětovným zkompilováním můžete těchto bloků vytvořit až pět.
Napište do okna terminálu příkaz $N a odešlete. Grbl zareaguje krátkou zprávou, například:
$N0=
$N1=
ok
Znamená to, že ve spouštěcích blocích $N0 a $N1 není uložen žádný G kód, který se má po startu spustit.
Chcete-li vytvořit spouštěcí blok, napište příkaz: $N0= následované blokem platných G kódů a odešlete. Grbl blok spustí a zkontroluje jeho správnost; je-li v pořádku odpoví ok, pokud ne, odpoví error.
Řekněme, že chcete do prvního spouštěcího bloku $N0 vložit G kód G54 (souřadný systém), G21 (nastavení jednotek na milimetry) a G17 (pracovní rovina x y).
Zadejte tedy $N0 = G21 G54 G17 a odešlete; Grbl odpoví ok. Pak můžete příkazem $N zkontrolovat, zda byl tento blok opravdu uložen do paměti; pokud ano, odpověď bude $N0=G21G54G17.
Jakmile budete mít spouštěcí blok uložen v EEPROM Grbl, po každém startu nebo resetu uvidíte výpis jeho obsahu ihned za úvodním hlášením. Pokud jste vložili spouštěcí blok podle předchozího příkladu, po startu uvidíte:
Grbl 0.8c [‚$‘ for help]
G21G54G17
ok
Pokud používáte více spouštěcích bloků, zobrazí se v úvodním výpisu pod sebou. Chcete-li některý z bloků vymazat, zapište do něj prázdný řetězec ($N0=).
Pokud je povolena inicializace stroje do výchozí pozice, budou bloky příkazů provedeny až po této inicializaci, nikoli ihned po spuštění programu.
Důležité: Buďte velmi opatrní při ukládání jakýchkoli příkazů pro ovládání pohybu (G0/1, G2/3, G28/30) do spouštěcích bloků. Tyto příkazy se provedou vždy po startu nebo resetu Grbl, takže pokud máte nouzový spínač připojen na reset, může spuštění takového bloku způsobit nechtěné kolize.
Grbl’s $x=val
$0, $1 and $2 – počet kroků motoru na mm pro osy X[$0], Y[$1], a Z[$2]
Do programu Grbl musíte zadat počet kroků pro posuv každé osy vašeho stroje o jeden mm. Pro výpočet počtu kroků / mm pro jednotlivé osy vašeho stroje musíte znát:
• Posuv v mm na jednu otáčku pohybového mechanismu
• Počet kroků, které vykoná váš krokový motor na jednu otáčku (typicky 200)
• Nastavení mikrokrokování na vašem ovladači (typicky 1, 2, 4, 8, 16, 32, 64 nebo 128).
Použití zbytečně velkého počtu mikrokroků (např. 128) ale může snížit točivý moment krokového motoru.
Počet kroků motoru, potřebný pro jeden jeden milimetr posuvu osy vypočtete ze vzorce:
SPMM = (SPR * MS) / FPR
Kde:
SPMM je hledaný počet kroků na milimetr posuvu osy
SPR je počet kroků na jednu otáčku motoru
MS je počet mikrokroků
FPR je posuv osy v milimetrech na jednu otáčku motoru
Vypočtěte tyto hodnoty pro každou osu zvlášť a zadejte je do Grbl.
$3 – délka pulsu STEP [mikrosekundy]
Ovladače krokových motorů potřebují pro správnou činnost jistou minimální délku pulsu signálu STEP. Tuto hodnotu naleznete v dokumentaci ovladače, nebo ji zjistíte experimentálně, čímž si zároveň prakticky ověříte minimální délku pulsu STEP, kterou je váš ovladač ještě schopen spolehlivě zpracovat.
Pokud nastavíte délku pulsů STEP zbytečně velkou, můžete se setkat s problémy při vyšších rychlostech posuvu.
Běžná délka pulsu STEP by se měla pohybovat v rozsahu 5 až 50 μs.
$4 – Rychloposuv [mm/min]
Tato volba umožňuje nastavit při inicializaci Grbl maximální rychlosti pro kód G0 (rychloposuv).
Rychloposuv slouží k pohybu mezi body A a B, obvykle pro co nejrychlejší přesun nástroje do pracovní polohy. Velikost této rychlosti by měla být nastavena tak, aby váš stroj spolehlivě pracoval všech osách pohybu.
Nastavení rychlosti rychloposuvu bude budoucích verzích Grbl aktualizováno tak, že uživatel bude moci zadat rychlost pohybu pro každou osu zvlášť.
$5 – Pracovní rychlost [mm/min]
Výchozí rychlosti pro pracovní posuv se obvykle nepoužívají – jejich hodnota je nastavována parametry povelů G kódu; pokud ale parametr chybí, Grbl pro pohyb použije přednastavenou výchozí rychlost.
V budoucích verzích Grbl bude nastavení rychlosti pracovního posuvu zrušeno. Standardem G kódů je určeno, že pokud u povelů G1, G2, G3 chybí parametr rychlosti, nepoužívá se výchozí hodnota, ale hlásí se chyba „F“ – chybějící parametr rychlosti u daného příkazu.
$6 – Inverze signálů řídícího portu [int:binary]
Směr otáčení motoru (signál DIR) je určen logickou úrovní L nebo H na příslušném pinu, požadavek na krok (signál STEP) je představován krátkým pulsem logické úrovně H. Pokud některé ovladače krokových motorů potřebují pro vstupy STEP nebo DIR opačnou polaritu řídících signálů, lze toho dosáhnout inverzí vybraných signálů přímo v Grbl.
Na signály DIR a STEP je aplikována operace XOR s maskou, která je parametrem příkazu $6 a výsledná hodnota je odeslána na výstupní port. Zjednodušeně řečeno, kde je v masce jednička, tam je příslušný signál invertován, kde je nula, zachovává se původní logická úroveň. Bity v masce odpovídají pinům přiřazeným v config.h jednotlivým krokovým motorům. Všimněte si, že bity 0 a 1 se nikdy neinvertují. Ve výchozím stavu jsou bity přiřazeny takto:
#define X_STEP_BIT 2
#define Y_STEP_BIT 3
#define Z_STEP_BIT 4
#define X_DIRECTION_BIT 5
#define Y_DIRECTION_BIT 6
#define Z_DIRECTION_BIT 7
Ve výchozím stavu je maska 00000000, tj. v desítkovém formátu také 0.
Pokud byste chtěli změnit směr pohybu os X a Y, změňte nastavení masky na 11000000, což se rovná 96 (k převodu z binární hodnoty na dekadickou použijte kalkulačku), takže formát příkazu pro obrácení směru pohybu os X a Y je:
$6=96
Když si nyní zobrazíte aktuální nastavení, měli byste vidět hodnotu masky v souladu s binární reprezentaci čísla (bity 5 a 6 by nyní měl vypsat 1 tak, aby indikoval inverzi.)
$6=96 (step port invert mask. int:110000)
$7 – Prodleva před odpojením buzení motorů po vykonaném posledním kroku, [ms]
Grbl může odpojit buzení krokových motorů po každém dokončeném pohybu. Povelem $7 nastavíme délku délka prodlevy mezi posledním krokem motoru a odpojením buzení motorů. Pokud žádnou prodlevu mezi posledním krokem motoru a vypnutím nevyžadujete, nastavte hodnotu $7=0. Většinou je ale nutné nastavit prodlevu 25 až 50 milisekund, během níž odezní mechanické kmity stroje, a není již nutné je tlumit.
Všechny osy můžete také ponechat trvale aktivní nastavením $7=255.
$8 – Zrychlení [mm/s2]
Tímto parametrem nastavujete zrychlení v jednotkách mm/sec2. Postačí, když budeme vědět, že nižší hodnota parametru znamená menší zrychlení, zatímco vyšší hodnota zrychlení větší. Čím větší je hodnota zrychlení, tím rychleji dosáhneme požadované rychlosti posuvu, ale tím je také větší nebezpečí ztráty kroku motoru. Nastavte proto hodnotu zrychlení experimentálně tak, aby u žádné z os ke ztrátám kroků zaručeně nedocházelo.
Nastavte tento parametr s dostatečnou rezervou, protože když dojde ke ztrátě kroků, Grbl to nemůže nijak zjistit, protože krokové motory nemají zpětnou vazbu a bude pokračovat v další práci s chybou.
$9 – Junction deviation [mm]
Parametr zpomalení při změně směru se používá při výpočtech zrychlení. Určuje, jak rychlý může být pohyb po zakřivené (lomené) dráze. Matematický výpočet parametru je v tomto případě trochu komplikovanější, ale obecně vyšší hodnota dává rychlejší, případně až trhavý pohyb. Při nižších hodnotách parametru bude pohyb hladší, ale pomalejší.
$10 – Oblouk [mm/segment]
Grbl skládá kružnice a oblouky z mnoha krátkých přímek (segmentů), napojených na sebe pod určitým úhlem. Délku těchto segmentů pravděpodobně nebude nutno měnit, ale pokud se vám zdá, že kruhy jsou příliš nepravidelné (hranaté), zkuste zmenšit hodnotu tohoto parametru. Nižší hodnoty sice zvyšují přesnost, ale zároveň mohou nastat problémy s výkonem motorů.
$11 – Počet nekorigovaných segmentů oblouku [int]
Jedná se o pokročilé nastavení, jehož hodnota by měla být měněna jen ve zvláštních případech. Příkazy G02/03 (kruhová interpolace) provádí Grbl tak, že směr počátečních segmentů vypočítá přibližnou metodou a teprve po několika krocích použije přesný, ovšem výpočetně náročný postup. N-arc korekce je počet segmentů oblouku, jejichž směr je určen jen přibližně předtím, než Grbl vypočítá přesný segment oblouku ke korekci chyby přibližných výpočtů. Tento parametr je třeba upravit pouze v některých extrémních případech, jako jsou oblouky s malým poloměrem a velkou délkou kroku obloukového segmentu.
Nastavení změňte pouze v případě, že skutečně máte problémy s oblouky; nedoporučuje se ale hodnotu snižovat pod 3, protože to může vést k podtečení vyrovnávací paměti a tím ke zpomalenému a trhavému pohybu.
$12 – Počet desetinných míst [int]
Určuje, kolik míst za desetinnou čárkou Grbl zobrazuje ve zprávách.
$13 – Formát zprávy, přepínání jednotek mm / palce [bool]
Grbl v0.8 zasílá v reálném čase zprávy o okamžité poloze jednotlivých os stroje a poskytuje tak uživateli zpětnou vazbu.
Ve výchozím nastavení jsou délkové jednotky těchto zpáv nastaveny na mm, ale odesláním příkazu $13=1 můžete formát jednotek změnit na palce (inch). Příkazem $13=0 změníte formát zpět na mm.
$14 – Automatický start [bool]
Povoluje nebo zakazuje automatický start zaslaných příkazů. Profesionální stroje pracují tak, že načtou celý program a spustí jej teprve po stisku tlačítka Start cyklu. Grbl umožňuje totéž, ale nikoli ve výchozím nastavení. Při výuce a ladění programů je výhodnější, když se každý příkaz k pohybu začne provádět okamžitě po přijetí. To usnadňuje pochopení funkce příkazů a ladění stroje řízeného Grbl. V opačném případě by bylo nutné neustále používat tlačítko „Start cyklu“, kdykoli byste chtěli spustit pohyb.
Jakmile se seznámíte se svým strojem a získáte praxi v používání G kódu, můžete automatický start pohybu zakázat zasláním příkazu $14=0. Pro akceptování této změny je nutné Arduino restartovat.
$15 – Inverze výstupu enable [bool]
V obvyklém případě má vstup enable na driveru krokového motoru aktivní úroveň H (vypne motor při vysoké úrovni). Pokud váš driver potřebuje opačné logické úrovně, invertujte funkci vstupu enable zadáním $15=1. Původní funkci obnovíte příkazem $15=0. Pro akceptování změny je nutné Arduino restartovat.
$16 – Koncové spínače [bool]
Koncové spínače mají bezpečnostní funkci, která zabraňuje poškození stroje při přejetí koncové polohy. Tyto spínače – mechanické, optické nebo indukční – musí být umístěny na koncích všech os. Jakmile je kterýkoli z těchto spínačů sepnut, zastaví se okamžitě veškerý pohyb stroje, uzavře se přívod chladicí kapaliny a vypne se vřeteno (pokud je jeho ovládání připojeno na Grbl). Grbl přejde do nouzového režimu, aby umožnil kontrolu stroje a odstranění závady.
Jako koncové spínače se většinou používají běžné mikrospínače se spínacím kontaktem. K Arduinu se připojují k odpovídajícím pinům a GND. Na těchto pinech je již aktivován pull up rezistor. Funkci koncových spínačů aktivujeme příkazem $16=1, zakážeme je příkazem $16=0. Koncové spínače obou konců jedné osy připojte paralelně k odpovídajícímu pinu Arduina.
Sepnutí koncového spínače je považováno za chybu, krokové motory se okamžitě zastaví a pravděpodobně přitom dojde ke ztrátě kroků. Grbl přejde do nekonečné smyčky režimu ALARM, která vám dá možnost zkontrolovat stroj a přinutí vás Grbl resetovat. Uvědomte si, že se jedná o bezpečnostní prvek.
Pokud koncové spínače po resetu neustále aktivují režim ALARM, protože stroj stojí v nevhodné pozici a některé z nich jsou dosud sepnuté, můžete funkci koncových spínačů zakázat příkazem $16=0 a příkazem $X alarm vypnout.
Druhou možností je zapojení rozpínacího tlačitka do série se zemí (GND) všech koncových spínačů a jeho stiskem tyto spínače dočasně odpojit, takže je možno spustit příkazy, potřebné k mechanickému uvolnění aktivovaných koncových spínačů.
$17 – Naváděcí cyklus [bool]
Naváděcí cyklus se používá pro přesnou lokalizaci referenční pozice stroje (home position) pokaždé, když Grbl spouští nový pracovní cyklus. Možnost opakovaného nastavení přesné referenční pozice stroje je velmi důležitá v případě, že došlo při práci stroje k nějakým problémům, například ke ztrátě kroku nebo k výpadku napájení a stroj tak ztratil svou aktuální pozici. Tuto pozici můžete obnovit opětovným spuštěním naváděcího cyklu a pak pokračovat v práci.
Koncové spínače, které používáte zároveň jako spínače referenční, musíte je mít velmi dobře upevněny, protože pokud se spínač při sepnutí pohne nebo posune (třeba jen nepatrným propružením držáku) bude se nastavení výchozí pozice pokaždé lišit.
Referenční spínače, určující výchozí pozici, jsou obvykle umístěny v nejvzdálenějších bodech os +X, +Y, +Z.
Po spuštění naváděcího cyklu Grbl nejprve zdvihne osu Z do nejvyšší možné polohy, dané konstrukcí stroje, aby předešel možné kolizi nástroje s překážkami na pracovní ploše a a teprve potom začne pohybovat i osami X a Y v kladném směru.
Potřebujete-li upravit chování naváděcího cyklu, použijte výše popsaná nastavení, nebo vlastnosti cyklu upravte v konfiguračním souboru a pak program Grbl znovu zkompilujte.
Před dokončením naváděcího cyklu jsou všechny pracovní osy uzamčeny a nemohou pohybovat. Jak bude vysvětleno dále, toto uzamčení je možno v případě nutnosti zrušit příkazem $X. Toto uzamčení má bezpečnostní funkci, která zabrání neúmyslným kolizím.
Poznámka: V souboru config.h má pokročilý uživatel mnoho možností ke změně vlastností naváděcího cyklu Grbl. Můžete v něm například trvale vypnout blokování pohybu před provedením naváděcího cyklu, nastavit pořadí a směr pohybu jednotlivých os a mnoho dalšího.
$18 – Inverze směru pohybu při naváděcím cyklu [int:binary]
Ve výchozím nastavení program Grbl předpokládá, že referenční spínače, označující výchozí polohu, jsou umístěny na kladném konci jednotlivých os.
Pokud musí mít váš stroj referenční spínače umístěné na opačném konci os, může se směr pohybu os při naváděcím cyklu invertovat stejně, jako se invertují pulsy STEP a DIR, tedy tím, že piny, které chcete invertovat, nastavíte maskou v parametru příkazu $18 na hodnotu log. 1.
$19 – Rychlost přesného nastavení referenční pozice [mm/min]
Při naváděcím cyklu nejprve vyhledává svou referenční pozici osa Z, teprve potom následují osy X a Y současně kladným směrem, až do okamžiku sepnutí referenčního spínače. Pak se každá osa začne pohybovat pomalu zpět a přesná poloha referenčního bodu je určena okamžikem rozpojením spínače.
Příkazem $19 se nastavuje rychlost tohoto zpětného posuvu. Zvolte ji tak, aby byl výchozí bod každé z os lokalizován s nejvyšší možnou přesností.
$20 – Rychlost posuvu při naváděcím cyklu [mm/min]
Touto rychlostí se budou pohybovat osy při vyhledávání referenčních spínačů. Rychlost nastavte co nejvyšší, ale takovou, aby při nájezdu na referenční spínače nedošlo k jejich deformaci nebo dokonce poškození.
Protože při vyhledávání referenčních spínačů nepotřebují být osy mezi sebou závislé, může se každá z nich pohybovat maximální rychlostí, což znamená, přibližně o 41% rychleji, než při přesunu příkazem G1.
Pokud by ovšem tato vlastnost byla na překážku, můžete ji změnit v konfiguračním souboru config.h.
$21 – Potlačení zákmitů kontaktů referenčních spínačů [ms]
Po sepnutí spínače s mechanickými kontakty vždy dochází po dobu několika milisekund k odskokům a zákmitům těchto kontaktů a přitom dochází k rychlému opakovanému sepnutí a rozpojení. Tento problém je možno odstranit použitím některého z obvodů pro úpravu signálu nebo ošetřením této vlastnosti v programu.
Program Grbl pro potlačení zákmitů kontaktu vkládá před zahájení zpětného pohybu při vyhledávání referenční pozice krátkou prodlevu. Nastavte délku trvání této prodlevy takovou, aby zaručeně odezněly všechny zákmity vámi použitého spínače.
Ve většině případů vyhoví hodnota 5 až 25 milisekund.
$22 – Homing pull off [mm]
Protože jeden spínač je používán zároveň jako koncový i referenční, nesmí být jeho sepnutí při hledání refrenčních bodů vyhodnoceno zároveň jako sepnutí koncového spínače.
Tento příkaz nastavuje vzdálenost v mm, o kterou se musí osa po nalezení referenčního bodu posunout, než začne být spínač znovu aktivní jako koncový.

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Honza_dy



Založen: Aug 20, 2004
Příspěvky: 2172
Bydliště: Brno-venkov

PříspěvekZaslal: út červenec 12 2016, 21:10    Předmět: Citovat

Nevím, jestli to pomůže. Měl jsem podobné problémy s nahráváním grbl. Nakonec jsem se nekde dočetl, že se musí grbl vložit jako knihovna a hned bez ničeho zkompilovat. Pokud to uděláš pres examples tak to hodí chybu kompilace.
Je to myslím file>import library
Me to alespoň pomohlo. Pokud používáš ten program (nevzpomenu si teď na jméno) pro ovladani grbl přes PC tak doporučuji verzi 0.8 s 0.9 mi to nechodilo.
P.S. CH340 mi pod W7 nikdy problémy nedělal. W10 si ho dokonce najdou samy.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Celeron



Založen: Apr 02, 2011
Příspěvky: 17746
Bydliště: Nový Bydžov

PříspěvekZaslal: út červenec 12 2016, 21:36    Předmět: Citovat

Honza_dy napsal(a):
Nevím, jestli to pomůže. Měl jsem podobné problémy s nahráváním grbl. Nakonec jsem se nekde dočetl, že se musí grbl vložit jako knihovna a hned bez ničeho zkompilovat. Pokud to uděláš pres examples tak to hodí chybu kompilace.
Je to myslím file>import library
Me to alespoň pomohlo. Pokud používáš ten program (nevzpomenu si teď na jméno) pro ovladani grbl přes PC tak doporučuji verzi 0.8 s 0.9 mi to nechodilo.
P.S. CH340 mi pod W7 nikdy problémy nedělal. W10 si ho dokonce najdou samy.


Tuším, o čem píšes s vložením jako knihovna. Někde jsem o tom taky četl ale buď jsem si návod blbě přeložil a zkompiloval špatně nebo je tam chyba. Kompilovalo se mnohem dýl ale zase chcíplo na chybějícím souboru ale tentokrát jiným.
Díky.

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 17746
Bydliště: Nový Bydžov

PříspěvekZaslal: ne červenec 17 2016, 14:41    Předmět: Citovat

Tak jsem si pohrál s deskama, připojil dva bipolární krokáče z vraku Inec Faxu a zkusil co to dělá.
V prográmku GRBLcontrol jsem zkoušel hejbat s šipkama na Jod panelu. Motory správných os reagovaly zacukáním ale netočily se. No a jeden z driverů byl vadnej, nechodí a hřeje i bez připjenýho motoru.
Pokud jsem nastavil krátký přírůstek do 1 mm pro jednotlivý osy, motory vždy udělaly pár kroků ale jak se zvyšovalo nad 1 mm, tak motor udělal pár kroků, pak zapištěl a nakonec zase udělal pár kroků.
Hledal jsem na netu ty mý krokáče, je to Minebea PM42S-048-ZTDO. Tenhle jsem konkrétně nenašel, ale třeba http://pdf.directindustry.com/pdf/minebea/pm-motors/27065-76952.html jo. Odporově ty mý ale neodpovídají ničemu, bipolárně mají obě cívky kolem 220 ohmů.
Protože se mi nepodařilo dostat v GRBLcontrol z FW hlášení, jak je GRBL nakonfigurovaný, zkusil jsem UNO připojit přes komunikační program Hercules. Vrátilo mi to:

Grbl 0.9j ['$' for help]
$$$0=25 (step pulse, usec)
$1=50 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=0 (dir port invert mask:00000000)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.010 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=0 (homing cycle, bool)
$23=0 (homing dir invert mask:00000000)
$24=25.000 (homing feed, mm/min)
$25=500.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=100.000 (x, step/mm)
$101=100.000 (y, step/mm)
$102=100.000 (z, step/mm)
$110=125.000 (x max rate, mm/min)
$111=125.000 (y max rate, mm/min)
$112=125.000 (z max rate, mm/min)
$120=10.000 (x accel, mm/sec^2)
$121=10.000 (y accel, mm/sec^2)
$122=10.000 (z accel, mm/sec^2)
$130=200.000 (x max travel, mm)
$131=200.000 (y max travel, mm)
$132=200.000 (z max travel, mm)
ok
Zkusil jsem hnout s šířkou pulzu Step a mezerou mezi Step. Žádný vliv.
Tak jsem začal snižovat step/mm, původně byl 250. Taky se moc nezměnilo. Pak jsem zkusil snížit a i prodloužit akceleraci a zkracovala se, nebo prodlužovala po kterou motor krokoval na začátku a konci pohybu.
Nakonec jsem začal snižovat max rate mm/min z puvodního 400 na polovinu, to už se začaly motory trhaně točit a při sebemenším přibrždění zastavily. Nakonec jsem skončil na max rate 125mm/min, při tom spolehllivě táhnou a nepřeskočí.
Nevím, ale jestli tyhle krokáče na něco jsou, Nema 17 má krok 1,7 stupňů, tohle nejspíš 7,5 stupňů. Laborovat s mikrokroky jsem ještě nezkoušel, mám na Shield nastaveno 16. Připadá mě, že se ty motory točí dost pomalu.
Zkusím je dát na 1/4 step a nebo ještě míň. Ale to už zase nebudou mít velkou "rozlišovací schopnost".
A propo, netušíte prosím někdo přesný význam homing feed, homing seek, homing debounce?
Díky

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Honza_dy



Založen: Aug 20, 2004
Příspěvky: 2172
Bydliště: Brno-venkov

PříspěvekZaslal: ne červenec 17 2016, 15:04    Předmět: Citovat

Tohle jsi četl?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Celeron



Založen: Apr 02, 2011
Příspěvky: 17746
Bydliště: Nový Bydžov

PříspěvekZaslal: ne červenec 17 2016, 15:10    Předmět: Citovat

Nečetl, měl jsem něco jinýho, podobnýho. Tady je to popsaný mnohem líp.
Díky
Jirka

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Habesan



Založen: Jan 12, 2009
Příspěvky: 7087
Bydliště: Plzeňsko

PříspěvekZaslal: ne červenec 17 2016, 20:07    Předmět: Citovat

Bacha na to, že se mezi verzema 0.8 a 0.9 změnilo číslování a počet parametrů (z 23 na 31).

Já jsem délku impulzu nastavil na nejvyšší možnou hodnotu (50 µs).
(Pokud používám méně než 500 kroků za sekundu, tak je nesmysl mít ten impulz kratší než 1 ms.)

GRBL je napsán v "highly optimized C".
Je pravda, že Arduino IDE obsahuje avrgcc, takže je tu teoretická možnost, že by se dal přeložit i zdroják, který nepoužívá Arduino knihovny.

Jestliže ti pomohlo snížit max rate (maximální rychlost), možná by pomohlo také snížit akceleraci.

Osobně nemám důvod si parametry (nebo třeba spouštecí blok) zakompilovat do toho hexu. Prostě přijímám fakt, že je nastavím ručně a pak zůstanou v paměti té ATmegy.

Ještě líp je to popsáno na: github.com/ Configuring Grbl v0.9.

_________________
Sháním hasičák s CO2 "sněhový", raději funkční.
(Nemusí mít platnou revizi.)
(Celkově budu raději, když se to obejde bez papírů.)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Celeron



Založen: Apr 02, 2011
Příspěvky: 17746
Bydliště: Nový Bydžov

PříspěvekZaslal: ne červenec 17 2016, 22:39    Předmět: Citovat

S akceleracema jsem zkoušel hejbat v podstatě jsem použil způsob, co je popsán v odkazu co jsi dal.
Parametry vím, vypsaly se mi, mám v0.9.
Ta možnost konfigurace, už jsem tomu přišel na chuť. Smile Je to podstatně jednodušší a kratší, než na 3D Marlinu, kde to musíš po změně kompilovat, tedy pokud nemáš možnost parametry měnit v EEPROM přímo z displeje.

Tak teď ještě nějaký železo, se kterým to bude cloumat. Laughing Jednu potvoru na frézování/kreslení/lejzrování už sice mám, ale to nemusí být konečná.

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Miniaturní počítače (Arduino, Raspberry a další) Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.25 sekund