Využití Arduino GRBL

frewill
Příspěvky: 155
Registrován: 28. 1. 2012, 2:07

4. 12. 2017, 1:00

Čaute, na některé své projekty bych rád využil k řízení motorů GRBL kód s Arduinem.
Místo ovládání externím počítačem bych ale rád ke stávajícímu Arduinu připojil klavesnici a display a motor řídil přímo arduinem, na kterém je GRBL nainstalován.
Poradí mě někdo, jak posílat příkazy pro dráhu, směr a rychlost pro jednotlivé osy?
Díky moc Franta
atlan
Příspěvky: 3342
Registrován: 7. 2. 2011, 9:12

4. 12. 2017, 1:27

g-codom
frewill
Příspěvky: 155
Registrován: 28. 1. 2012, 2:07

4. 12. 2017, 1:45

OK, ale jak tam ten G-kodovy příkaz dostanu? Mám ho napsat do nějaké proměnné? nebo existuje nějaký příkaz s parametry, který vložím do hlavní Loop smyčky?
V programování Arduina jsem spíše začátečník.
dhaman
Příspěvky: 68
Registrován: 11. 2. 2016, 9:01
Bydliště: Banska Bystrica - Vlkanova
Kontaktovat uživatele:

4. 12. 2017, 1:49

@frewill - musím ťa sklamať arduino túto požiadavku nezvládne. Klávesnicu a display k tomu tak ľahko nepripojíš.

Možné riešenie:
- Raspberry Pi 3 (https://www.patro.cz/produkt/1076949270 ... h-software" onclick="window.open(this.href);return false;)
- Klasický monitor (hdmi)
- Klávesnica/myš
- k tomu pripojíš cez USB(serial port) arduino a ovladať to možeš štandardne napríklad cez Grbl Controller (http://zapmaker.org/projects/grbl-controller-3-0/" onclick="window.open(this.href);return false;)
(http://zapmaker.org/raspberry-pi/runnin ... pberry-pi/" onclick="window.open(this.href);return false;)
Hej ty robota! Mňa sa neboj ja sa ťa ani nedotknem!
Uživatelský avatar
packa
Příspěvky: 6935
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

4. 12. 2017, 2:12

no určitě by šla k grbl připojit sd karta a g kod posílat z ní jako se to dělá u 3d tiskáren.
frewill
Příspěvky: 155
Registrován: 28. 1. 2012, 2:07

4. 12. 2017, 2:14

Napadá mě jedna z možných funkcí - Rotační osa.
Potřebuju ovládat pouze 1 osu, funkci rozjezd a brždění obstará GRBL, taktéž polohování. Kalibraci úhlu na počet kroků mohu zadat taky přímo do GRBL. Jednoduchý keypad a lcd displey připojit k arduinu zvládnu.
Hlavní smyčka GRBL programu je prázdná, tak jsem si myslel, že bych svůj program napsal do ní.
Jak ale přesvědčit Adruino, aby četl příkazy z mého programu a né z externího PC posílajicího příkazy po seriové lince pomocí např. GRBL controleru.

Rád bych zrušil řízení externím počítačem/procesorem a chtěl bych vlastní jednoduché uživatelské prostředí a ovládání. Pro ovládání 1 osy nepotřebuji složité uživatelské prostředí se 3 osami, ...
frewill
Příspěvky: 155
Registrován: 28. 1. 2012, 2:07

4. 12. 2017, 2:17

Někde jsem tu viděl příspěvky, kde uživatelé psali, že si GRBL program upravovali k vlastním potřebám. Ale kde to bylo a kdo to byl, to už asi nedohledám.
Uživatelský avatar
packa
Příspěvky: 6935
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

4. 12. 2017, 2:25

no můžeš si napsat do druhého arduina vlastní sender příkazů a ten si udělat po svém pak je propojíš arduina a jedeš , ale pro jednu osu je celé grbl zbytečné
atlan
Příspěvky: 3342
Registrován: 7. 2. 2011, 9:12

4. 12. 2017, 2:26

Pozri g code sender, asi by to chcelo odchytit co poisela do arduina, vies tam natukat aj nejake prikazy
dhaman
Příspěvky: 68
Registrován: 11. 2. 2016, 9:01
Bydliště: Banska Bystrica - Vlkanova
Kontaktovat uživatele:

4. 12. 2017, 2:35

Uff bude treba pozriet tu slucku citania serial prikazov a podla toho pozriet ake funkcie vola. Niekde v zdrojakoch to urcite bude.
Hej ty robota! Mňa sa neboj ja sa ťa ani nedotknem!
frewill
Příspěvky: 155
Registrován: 28. 1. 2012, 2:07

4. 12. 2017, 2:49

packa píše:no můžeš si napsat do druhého arduina vlastní sender příkazů a ten si udělat po svém pak je propojíš arduina a jedeš , ...
To je taky varianta, ale připadá mě to jako drbat se levou rukou za pravým uchem. Zatím zkusím ještě pohledat, říkal jsem si že by mě tu třeba někdo pomohl zkrátil cestu :)
packa píše: ..., ale pro jednu osu je celé grbl zbytečné
Jednou osou to začíná a další se mohou přidat, navíc v hlavě už mám další projekt na dvě osy.

Nedávno jsem si dělal rotační osu, kde jsem řešil rozjezd a brždění motoru ale bylo to takový nemastný neslaný, pak mě napadlo, proč nevyužít GRBL, kde už to je vyřešeno. Tak že asi tak.
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

4. 12. 2017, 2:50

Určitě by se to dalo udělat.
Otázka ale zní: dokážeš to udělat?

Pokud by šlo o ovládání jedné osy, tak tam je (podle mě) ovládání pomocí GRBL celkem zbytečné.
Snažší a efektivnější by bylo použít jen nějakou knihovnu pro ovládání krokáče (třeba AccelStepper) udělat to pomocí ní.

Síla GRBL je ve zpracování G-kódu, plánování drah a sychronizaci os. Ale nic z toho ty nepotřebuješ.
frewill
Příspěvky: 155
Registrován: 28. 1. 2012, 2:07

4. 12. 2017, 3:02

Mex píše:Snažší a efektivnější by bylo použít jen nějakou knihovnu pro ovládání krokáče (třeba AccelStepper) udělat to pomocí ní.
Díky za radu, na knihovnu se podívám, možná to bude opravdu stačit. Myšlenka zneužít GRBL mě ale stále neopouští :)

Jinak ten druhý projekt bude naklápět testovanou nádržku ve dvou osách v klimatické komoře při -40°C. Jak se asi chová krokový/servo motor a jednoduché enkodéry v -40°C a co se stane až sestavu pod proudem ohřeju na RT a začne všude kondenzovat voda? Za jak dlouho vnitřnosti motoru/enkoderu zkorodují?
Uživatelský avatar
filla
Příspěvky: 3536
Registrován: 1. 12. 2013, 12:55
Bydliště: Brno
Kontaktovat uživatele:

4. 12. 2017, 3:42

frewill píše:Napadá mě jedna z možných funkcí - Rotační osa.
Potřebuju ovládat pouze 1 osu, funkci rozjezd a brždění obstará GRBL, taktéž polohování. Kalibraci úhlu na počet kroků mohu zadat taky přímo do GRBL. Jednoduchý keypad a lcd displey připojit k arduinu zvládnu.
Hlavní smyčka GRBL programu je prázdná, tak jsem si myslel, že bych svůj program napsal do ní.
Jak ale přesvědčit Adruino, aby četl příkazy z mého programu a né z externího PC posílajicího příkazy po seriové lince pomocí např. GRBL controleru.

Rád bych zrušil řízení externím počítačem/procesorem a chtěl bych vlastní jednoduché uživatelské prostředí a ovládání. Pro ovládání 1 osy nepotřebuji složité uživatelské prostředí se 3 osami, ...
to uz tady preci je http://www.jova1.cz/dilna/rotacni_osa/rotacni_osa.html" onclick="window.open(this.href);return false;
"do řiti se řítíme, ani o tom nevíme.."
bronek999
Příspěvky: 521
Registrován: 6. 3. 2014, 6:50

4. 12. 2017, 4:10

Kód: Vybrat vše

			if(Action1 == 9)	//	Tlacitko "G kod"
			{
				FRESULT res;
				FIL file;
				sys.abort = 0;
				sys.auto_start = 1;
				MotorsEnable(0x07);
				if(zrychlenie > 100) zrychlenie = 100;
				LCD_Clear(LIME);
				res = f_open(&file, filename, FA_OPEN_EXISTING | FA_READ);
				NoMoveTicks = 0;
				if (res == FR_OK) 
				{
						char riadok[100];
						while (f_gets(riadok, sizeof (riadok), &file) != NULL)  
						{
							gc_execute_line(riadok);
							protocol_execute_runtime();	//	CNC
							if(sys.abort) break;
						}
				}	
				sys.abort = 0;
				f_close (&file);      
				while(NoMoveTicks < 100);
//				while(sys.state == STATE_CYCLE);	// pockam na dokoncenie cyklu
				LCD_Clear(GetColor());
				beep(1000);
   			Action1 = 0;
				break;
			}
Tento kod som kedysi pouzil ku grbl pre stm32. G kod som tahal z SD karty, ovlada sa to dotykovym displejom.

gc_execute_line(riadok); // tu posielam prikaz G kodu
protocol_execute_runtime(); // toto treba periodicky volat aby to fungovalo spravne
Odpovědět

Zpět na „Ostatní elektronika“