CNDY Shield GRBL CNC Arduino UNO lietotāja rokasgrāmata
V1.2

GRBL spraudnis uz Arduino Uno
Analogā 0 = poga Pārtraukt*
Analogā 1 = padeves aizturēšanas poga* (SAFETY_DOOR tiek koplietots ar padeves aizturēšanu. Iespējo konfigurācijas definēšana)
Analogs 2 = cikla palaišanas/restartēšanas poga*
Analogs 3 = Dzesēšanas šķidruma ieslēgšanas izvade
Analogs 4 = (Neobligāti) Miglas dzesēšanas šķidruma izvade (vai diagnostikas indikators ALARM_STATE**)
Analogā 5 = zondes ievade*
Digital 13 = Vārpstas virziens
Digital 12 = ierobežojuma slēdži Z ass*
Digital 11 = vārpstas / lāzera iespējošana PWM
Digital 10 = robežslēdži Y ass*
Digital 9 = X ass robežslēdži*
Digital 8 = Stepper Motors Enable / Disable
Digital 7 = virziens Z-ass
Digital 6 = Y ass virziens
Digital 5 = virziens X-ass
Digital 4 = Step Impulss Z-ass
Digital 3 = soļa impulsa Y-ass
Digital 2 = Step Impulss X-Axis
Papildu divu asu funkcija
Uno Analog Pin 3 = A ass DUAL_DIRECTION (agrāk bija dzesēšanas šķidruma iespējošanas izvade)
Uno Analog Pin 4 = A ass DUAL_STEP (agrāk bija izvēles miglas dzesēšanas šķidruma izvade)
Uno Digital 13 = dzesēšanas šķidrums (aizstāj vārpstas virzienu.)
Pēc grbl repozitorija kā bibliotēkas instalēšanas programmā Arduino, noņemiet komentārus no tālāk norādītajām rindiņām vietnē config.h file grbl bibliotēkas mapē.
#define ENABLE_DUAL_AXIS // Noklusējums ir atspējots. Atceliet komentāru, lai iespējotu.
// Atlasiet vienu asi, lai atspoguļotu citu motoru. Pašlaik tiek atbalstītas tikai X un Y ass.
#define DUAL_AXIS_SELECT Y_AXIS // Jābūt X_AXIS vai Y_AXIS
PIEZĪME. Divu asu ierobežojums tiek koplietots ar (Z ass) limit pin pēc noklusējuma.
Divass funkcijas darbībai nepieciešama neatkarīga soļa impulsa tapa. Neatkarīgā virziena tapa nav absolūti nepieciešama, bet atvieglo virziena apgriešanu ar Grbl $$ iestatījumu. Šīs tapas aizstāj vārpstas virzienu un papildu dzesēšanas šķidruma miglas tapas.
Šī izvēles divu asu funkcija galvenokārt ir paredzēta pārvietošanas ciklam, lai neatkarīgi atrastu divu motoru portāla divas malas, ti, pašpārbaudi. Tam nepieciešams papildu gala slēdzis klonētajam motoram. Lai veiktu paškvadrāciju, abiem klonētās ass gala slēdžiem jābūt fiziski novietotiem, lai tie iedarbinātu, kad portāls ir kvadrātveida. Ļoti ieteicams vienmēr turēt ieslēgtus motorus, lai nodrošinātu, ka portāls paliek taisns ar iestatījumu $1=255.
Grbl ierīcē Arduino Uno klonētais ass gala slēdzis ir jāsadala ar z-ass ierobežojošo tapu un jāsavieno ar to, jo trūkst pieejamo tapu. Vietnes iestatīšanas ciklam ir jāizvieto z ass un klonētā ass dažādos ciklos, kas jau ir noklusējuma konfigurācija.
Divass funkcija darbojas, klonējot ass soļa izvadi uz citu soļu un virzienu tapu pāri. Klonētā motora soļu impulsu un virzienu var iestatīt neatkarīgi no galvenās ass motora. Tomēr, lai taupītu vērtīgo zibspuldzi un atmiņu, šai divu asu funkcijai ir jābūt tādiem pašiem iestatījumiem (solis/mm, maksimālais ātrums, paātrinājums) kā cilmes motoram. Šī NAV funkcija neatkarīgai ceturtajai asij. Tikai motora klons.
BRĪDINĀJUMS: Noteikti pārbaudiet savu divu asu motoru virzienus! Tiem jābūt iestatītiem, lai tie pārvietotos tajā pašā virzienā PIRMS pirmā pārvietošanas cikla vai jebkuras ilgas kustības! Motori, kas kustas pretējos virzienos, var radīt nopietnus iekārtas bojājumus! Izmantojiet šo divu asu funkciju, uzņemoties risku.
PIEZĪME. Šī funkcija prasa aptuveni 400 baitu zibspuldzes. Dažām konfigurācijām var beigties zibspuldze, lai tās ietilptu Arduino 328p/Uno. Tiek atbalstītas tikai X un Y asis. Mainīgais vārpstas/lāzera režīms tiek atbalstīts, bet tikai vienai konfigurācijas opcijai. XY serde, vārpstas virziena tapa un M7 miglas dzesēšanas šķidrums ir atspējoti/nav atbalstīti.
Lai nepieļautu, ka pārvietošanas cikls satricina divu asi, kad viens ierobežojums ieslēdzas pirms otra slēdža kļūmes vai trokšņa dēļ, iestatīšanas cikls automātiski tiks pārtraukts, ja otrā motora gala slēdzis neiedarbinās trīs tālāk definētos attāluma parametrus. Ass garuma procenti automātiski aprēķinās kļūmes attālumu kā procentustage no otras nedubālās ass maksimālā gājiena, ti, ja divu asu izvēle ir X_AXIS pie 5.0%, tad atteices attālums tiks aprēķināts kā 5.0% no y ass maksimālā gājiena. Fail distance max un min ir robežas, cik tālu vai mazs ir derīgs atteices attālums.
#define DUAL_AXIS_HOMING_FAIL_AXIS_LENGTH_PERCENT 5.0 // Peldēšana (procenti)
#define DUAL_AXIS_HOMING_FAIL_DISTANCE_MAX 25.0 // Peldēšana (mm)
#define DUAL_AXIS_HOMING_FAIL_DISTANCE_MIN 2.5 // Peldēšana (mm)
Piezīme par I2C portu
Analogais 4 (A4) un Analogais 5 (A5) tiek izmantots Arduino Uno vai 2p I328C portam. Tas nozīmē, ka, kamēr izmantojat noklusējuma zondes funkciju, miglas dzesēšanas šķidrumu, divu asu vai pielāgotu ALARM_STATE LED diagnostikas gaismu, I2C izmantošana nebūs iespējama. Saziņai ar citu Arduino, lai palielinātu funkcionalitāti, būs jānotiek, izmantojot seriālo savienojumu D0 un D1.
Darba sākšana (Stepper Drivers)
Pirmkārt, lai savienotu pakāpju motorus ar Grbl, jums būs nepieciešami daži pakāpju motora draiveri, kas darbinātu pakāpju motorus un savienotu draivera ieejas ar Arduino kontrollera tapām. Ir vairāki draiveri, kas to var izdarīt, un tie ir pieejami kā pilnībā iepriekš iebūvēti, daļēji iepriekš izveidoti vai pilnībā izgatavoti. Stepper draiveriem būs nepieciešams koplietot stepper iespējošanas tapa (D8) to attiecīgajām iespējošanas tapām, savukārt virziena un soļa impulsa tapas (D2-D7) būs jāpievieno attiecīgajām draiveru tapām. Vienkārši pārliecinieties, ka visi jūsu draiveri un Arduino dala kopīgu pamatu (zvaigzne ir iezemēta ar jūsu motora vadītāja jaudu). Tas ir aptuveni viss, kas jums būs nepieciešams, lai sāktu.
Mājas un ierobežojumu slēdži
Pēc tam, kad esat nolēmis, ka esat gatavs vai vēlaties lai iespējotu pārvietošanu un/vai stingrus ierobežojumus, jums būs jāpievieno a parasti atvērts gala slēdzis katrai no ierobežojošajām tapām (D9, D10 un D12). Uzturēšanās un cietie ierobežojumi izmanto vienus un tos pašus slēdžus. Šīs ierobežojošās tapas jau tiek turētas augstu ar iekšējo vilkšanas rezistoru, tāpēc viss, kas jums jādara, ir savienot tās ar zemi. Tātad, aizverot slēdzi, slēdzis novilks ierobežošanas tapu zemē. Ja vēlaties, lai abos ass gājiena galos būtu stingri ierobežoti slēdži, vienkārši pievienojiet divus gala slēdžus paralēli ass ierobežojuma tapai un zemei. Pirms iestatīšanas cikla veikšanas pārliecinieties, vai ir uzstādīti slēdži, un pārliecinieties, ka izmantojat labas elektroinstalācijas metodes, lai samazinātu ārējo elektrisko troksni uz ievades tapām.
Laba elektroinstalācijas prakse var ietvert ekranētu kabeļu vai clamp-uz ferīta kabeļu serdeņiem un izmantojot dažus 0.1 uF kondensatorus paralēli gala slēdžiem, lai atslogotu / filtrētu trokšņus. Laba ideja var būt arī motora vadu turēšana prom no gala slēdža vadiem.
Ja vēlaties, ir iespējams konfigurēt GRBL, lai tā izmantotu normāli aizvērtus gala slēdžus. Daži uzskata, ka parasti slēgti gala slēdži var palīdzēt samazināt katastrofālu avāriju gala slēdža atteices gadījumā. Daudzi lietotāji vispār neizmanto nekādus ierobežojuma slēdžus un tā vietā izvēlas programmatūras ierobežojumus.
Grbl v0.8 un jaunākās versijās ir iekļautas cikla sākuma, padeves aizturēšanas un atiestatīšanas izpildlaika komandas, lai jūsu datorā varētu būt fiziskas vadības pogas. Tāpat kā ierobežojošās tapas, arī šīs tapas tiek turētas augstu ar iekšējo vilkšanas rezistoru, tāpēc viss, kas jums jādara, ir pievienot parasti atvērtu slēdzi katrai tapai un zemei. Vēlreiz pārliecinieties, ka izmantojat labas elektroinstalācijas metodes, lai samazinātu ārējo elektrisko troksni uz ievades tapām.
Vārpstas un dzesēšanas šķidruma tapas
Ja jums ir vēlme vai nepieciešamība pēc vārpstas (D13) vai dzesēšanas šķidruma kontrole (A3 un A4) , Grbl pārslēgs šīs izvades tapas augstu vai zemu atkarībā no G-koda komandām, kuras nosūtāt Grbl. Ja ir iespējots v0.9+ un mainīgas vārpstas PWM, D11 tapa izvadīs virkni vol.tages no 0V līdz 5V atkarībā no vārpstas ātruma G-koda komandas. 0V šajā gadījumā norāda, ka vārpsta ir izslēgta. Tā kā visas šīs tapas ir atkarīgas no lietojumprogrammas, kā tās tiek izmantotas, mēs atstāsim jums noteikt, kā tās vadīt un izmantot savai iekārtai. Varat arī uzlauzt vārpstu un dzesēšanas šķidruma vadības avotu files, lai viegli mainītu to darbību un pēc tam apkopotu un augšupielādētu modificēto Grbl, izmantojot Arduino IDE.
Diagnostikas LED gaisma
Komerciālajām CNC mašīnām bieži ir vismaz viena diagnostikas LED bāka mašīnas avārijas vai trauksmes koda gadījumā. Tiem, kas iesācēji izmanto GRBL un DIY CNC mašīnas, šī funkcija ir ļoti noderīga, lai uzzinātu, kad ir noticis ALARM_STATE (piemēram, ja iekārta nav iestatīta mājās ar iespējotiem pārvietošanas un gala slēdžiem).
GRBL pēc noklusējuma nav diagnostikas LED gaismas. Tas ir tāpēc, ka Ardunio UNO ar 328p mikroshēmu ir ierobežota programmēšanas vieta un pašlaik tiek izmantota gandrīz visa šī vieta (lai gan ne visa!). Ne visas vēlamās funkcijas var ieviest ierīcē ar tik zemu atmiņas apjomu, tāpēc dažreiz ir jāupurē.
Turklāt pašlaik tiek izmantoti visi pieejamie I/O porti, un šādam apgaismojumam ir nepieciešams vismaz viens I/O kontakts. Par laimi šo funkcionalitāti var viegli pievienot, uzlaužot GRBL C kodu, un 3p mikroshēmā joprojām ir pieejami aptuveni 328% atmiņas!
Daudzas iekārtas pašlaik neizmanto Analog 4 papildu funkciju MIST COOLANT, tāpēc mēs varam viegli no jauna definēt šo tapu mūsu lietošanai. Alternatīva metode varētu būt šādu LED apgaismojuma kodēšana ārējā Arduino ierīcē, kurai pēc tam būtu pieejami visi I/O porti, kur varētu pieslēgt tik daudz LED gaismas / zummeru, cik vēlaties, un varētu sazināties, izmantojot seriālo vai I2C.
Lai uzlauztu GRBL avota kodu un izmantotu TRANSPORTLĪDZEKĻA LED uz CNDY Shield, lūdzu, rīkojieties šādi:
1. darbība: Operētājsistēmā Linux vai Macintosh atveriet teksta redaktoru (operētājsistēmā Windows izmantojiet Notepad++) un rediģējiet cpu_map.h file:
Mainiet šo:
// Definējiet plūdu un miglas dzesēšanas šķidruma iespējošanas izvades tapas.
#define COOLANT_FLOOD_DDR DDRC
#define COOLANT_FLOOD_PORT PORTC
#define COOLANT_FLOOD_BIT 3 // Uno Analog Pin 3
#define COOLANT_MIST_DDR DDRC
#define COOLANT_MIST_PORT PORTC
#define COOLANT_MIST_BIT 4 // Uno Analog Pin 4
Uz šo:
// Definējiet plūdu un miglas dzesēšanas šķidruma iespējošanas izvades tapas.
#define COOLANT_FLOOD_DDR DDRC
#define COOLANT_FLOOD_PORT PORTC
#define COOLANT_FLOOD_BIT 3 // Uno Analog Pin 3
//#define COOLANT_MIST_DDR DDRC
//#define COOLANT_MIST_PORT PORTC
//#define COOLANT_MIST_BIT 4 // Uno Analog Pin 4
//////////////////
// Definējiet TRAUKSMES LED IZeju
#define SIGNAL_LIGHT_DDR DDRC
#define SIGNAL_LIGHT_PORT PORTC
#define SIGNAL_LIGHT_BIT 4 // Uno Analog Pin 4
// #define signal_light(on) (SIGNAL_LIGHT_DDR |= (1<
// #define signal_light_init() signal_light(off)
#define signal_light_init sign_light_off
#define signal_light_on (SIGNAL_LIGHT_DDR |= SIGNAL_LIGHT_PORT |= (1<
#define signal_light_off (SIGNAL_LIGHT_DDR |= SIGNAL_LIGHT_PORT &= ~(1<
//////////////////
2. darbība: Operētājsistēmā Linux vai Macintosh atveriet teksta redaktoru (operētājsistēmā Windows izmantojiet Notepad++) un rediģējiet protokols.c file:
Mainiet šo:
// Ja nepieciešams, izpilda izpildlaika komandas. Šī funkcija galvenokārt darbojas kā Grbl stāvoklis
// iekārta un kontrolē dažādas reāllaika funkcijas, ko Grbl var piedāvāt.
// PIEZĪME: nemainiet to, ja vien precīzi nezināt, ko darāt! Void protocol_exec_rt_system()
{
uint8_t rt_exec; // Temperatūras mainīgais, lai izvairītos no nepastāvīgu izsaukšanas vairākas reizes.
rt_exec = sys_rt_exec_alarm; // Kopēt nepastāvīgo sys_rt_exec_alarm.
if (rt_exec) { // Ievadiet tikai tad, ja kāds bitu karodziņš ir patiess
// Sistēmas trauksme. Viss ir izslēdzies kaut kā dēļ, kas ir nopietni nogājis greizi. Ziņot
// kļūdas avots lietotājam. Ja tas ir kritisks, Grbl tiek atspējots, ievadot bezgalīgu vērtību
// cilpa līdz sistēmas atiestatīšanai/pārtraukšanai.
sys.state = STATE_ALARM; // Iestatīt sistēmas trauksmes stāvokli
report_alarm_message(rt_exec);
Uz šo:
// Ja nepieciešams, izpilda izpildlaika komandas. Šī funkcija galvenokārt darbojas kā Grbl stāvoklis
// iekārta un kontrolē dažādas reāllaika funkcijas, ko Grbl var piedāvāt.
// PIEZĪME: nemainiet to, ja vien precīzi nezināt, ko darāt!
Void protocol_exec_rt_system()
{
uint8_t rt_exec; // Temperatūras mainīgais, lai izvairītos no nepastāvīgu izsaukšanas vairākas reizes.
rt_exec = sys_rt_exec_alarm; // Kopēt nepastāvīgo sys_rt_exec_alarm.
////////////////////////
// Definējiet TRAUKSMES LED IZeju
signal_light_init; //init LED izslēgtā stāvoklī
if (sys.state==STATE_ALARM) {signal_light_on;}
else if (sys.state!=STATE_ALARM) {signal_light_off;}
// cits {signal_light_off;}
////////////////////////
if (rt_exec) { // Ievadiet tikai tad, ja kāds bitu karodziņš ir patiess
// Sistēmas trauksme. Viss ir izslēdzies kaut kā dēļ, kas ir nopietni nogājis greizi. Ziņot
// kļūdas avots lietotājam. Ja tas ir kritisks, Grbl tiek atspējots, ievadot bezgalīgu vērtību
// cilpa līdz sistēmas atiestatīšanai/pārtraukšanai.
sys.state = STATE_ALARM; // Iestatīt sistēmas trauksmes stāvokli
report_alarm_message(rt_exec);
Mēs tikko mainījām Analog 4 (A4) noteikto funkciju no izvēles miglas dzesēšanas šķidruma uz mūsu LED gaismu. Pēc tam mēs ierakstījām kodu C, lai varētu rakstīt (PC4) Portu C 4 (Analog4) augstu vai zemu atkarībā no tā, vai tas tika ieslēgts vai izslēgts. Pēc tam mēs uzrakstījām vienkāršu if-else paziņojumu, lai pārbaudītu GRBL stāvokļa mašīnu un pateiktu, vai esam aktīvā stāvoklī ALARM_STATE un kad mums jāieslēdz gaismas diode.
Ja viss iet labi, mēs varam apkopot Arduino IDE, augšupielādēt kodu, un tagad mums būs funkcionējošs ALARM_STATE LED diagnostikas indikators! Mēs pēc izvēles varam pievienot ārējo LED Beacon Light, lai to novietotu augstu virs iekārtas, kas būs redzama visā telpā.
Iespējamās problēmas
Ideālā gadījumā šīs izmaiņas tiks veiktas, izmantojot jaunāko pieejamo grbl avota kodu, un tās tiks veiktas PIRMS grbl “bibliotēkas” pievienošanas Arduino IDE. Ja jūsu Arduino bibliotēku mapē jau ir grbl, jums būs manuāli jāpārlūko un jāizdzēš grbl mape vai jārediģē files arduino bibliotēkā. Manā Linux mašīnā “bibliotēka” ir atrodama: /home/andrew/Arduino/libraries/grbl. Jaunāko grbl versiju var atrast vietnē https://github.com/gnea/grbl/releases. Var lejupielādēt pieejamo zip file un iekšpusē var atrast mapi ar nosaukumu grbl-1.1h.20190825. Šajā mapē mape ar nosaukumu grbl būs tā, kuru vēlaties pievienot Arduino IDE kā “bibliotēku” “zip. file”. Noteikti veiciet izmaiņas failos cpu_map.h un protocol.c files, pirms to pievienojat Arduino IDE. Pretējā gadījumā jums būs jārediģē files jūsu bibliotēku/grbl mapē. Ir zināma grbl-1.1h zip divu asu funkcijas kļūda file, tas tiek labots, ja tā vietā lejupielādējat galveno grbl filiāli. https://github.com/gnea/grbl
CNDY Shield atjauninājumi un kļūdas
*V1.1: ir neliela sietspiedes kļūda, kurā tiek apmainīti vārpstas PWM un vārpstas virziens. Tas ir labots V1.2.
V1.2 vairs nav papildu trokšņu samazināšanas kondensatoru 5 v līnijā, un ir jauni pārējās ievades pogu līnijās. V1.2 ir papildu LED, kas ir pievienots paralēli vārpstas PWM. Drošības nolūkos tas var būt noderīgi lāzera iestatījumos.
Atjaunināts 28
Papildinformāciju var atrast RabbitMountainResearch.com.
Dokumenti / Resursi
![]() |
CNDY Shield GRBL CNC Arduino UNO [pdfLietotāja rokasgrāmata GRBL CNC, Arduino UNO |




