CNDY Shield GRBL CNC Arduino UNO notendahandbók
V1.2

GRBL pinout á Arduino Uno
Analog 0 = Hætta við hnappinn*
Analog 1 = Feed Hold Button* (SAFETY_DOOR er deilt með feed hold. Virkjað með config define)
Analog 2 = Cycle Start/Restart Button*
Analog 3 = Kælivökva virkja úttak
Analog 4 = (Valfrjálst) Mist kælivökvaúttak (eða ALARM_STATE greiningarljós**)
Analog 5 = Kannainntak*
Stafræn 13 = Snældastefna
Stafræn 12 = takmörkunarrofar Z-ás*
Digital 11 = Snælda / Laser Virkja PWM
Stafræn 10 = Y-ás markrofar*
Stafræn 9 = X-ás markrofar*
Digital 8 = Stepper Motors Virkja / Óvirkja
Stafræn 7 = Stefna Z-ás
Stafræn 6 = Stefna Y-ás
Stafræn 5 = Stefna X-ás
Digital 4 = Step Pulse Z-Axis
Stafræn 3 = Step Pulse Y-Axis
Digital 2 = Step Pulse X-Axis
Valfrjáls tvíása eiginleiki
Uno Analog Pin 3 = A-ás DUAL_DIRECTION (notað til að vera Kælivökvavirkja úttak)
Uno Analog Pin 4 = A-ás DUAL_STEP (notað til að vera valfrjáls mistur kælivökvaúttak)
Uno Digital 13 = Kælivökvi (skipta um snúningsstefnu.)
Eftir að grbl geymslan hefur verið sett upp sem bókasafn í Arduino skaltu afskrifa eftirfarandi línur í config.h file í grbl bókasafnsmöppunni.
#define ENABLE_DUAL_AXIS // Sjálfgefið óvirkt. Hætta athugasemdum til að virkja.
// Veldu einn ásinn til að spegla annan mótor. Aðeins X og Y ás er studdur á þessum tíma.
#define DUAL_AXIS_SELECT Y_AXIS // Verður að vera annað hvort X_AXIS eða Y_AXIS
ATH: Tvíása takmörk er deilt með (Z-ás) takmörkunarpinna sjálfgefið.
Tvíása eiginleiki krefst sjálfstæðs þrepapúlspinna til að starfa. Óháði stefnupinninn er ekki algerlega nauðsynlegur en auðveldar auðvelda stefnubreytingu með Grbl $$ stillingu. Þessir pinnar koma í stað snúningsstefnu og valfrjálsa kælivökvaþokupinna.
Þessi valfrjálsa tvíása eiginleiki er fyrst og fremst til þess að hringrásin sé til staðar til að staðsetja tvær hliðar tvíhreyfils gáttar sjálfstætt, þ.e. Þetta krefst viðbótar takmörkunarrofa fyrir klóna mótorinn. Til að gera sjálfkrafa þarf báðir takmörkunarrofar á klóna ásnum að vera líkamlega staðsettir til að kveikja á þegar gantry er ferkantað. Mæli eindregið með því að hafa mótorana alltaf virkjaða til að tryggja að grindurinn haldist ferningur með $1=255 stillingunni.
Fyrir Grbl á Arduino Uno verður að deila klóna ástakmörkunarrofanum með og tengja hann við z-ás takmörkunarpinna vegna skorts á tiltækum pinna. Heimsendingarlotan verður að nota z-ásinn og klóna ásinn í mismunandi lotum, sem er nú þegar sjálfgefna stillingin.
Tvíása eiginleikinn virkar með því að klóna ásþrepúttak á annað par af skref- og stefnupinna. Hægt er að stilla skrefpúls og stefnu klóna mótorsins óháð aðalásmótornum. Hins vegar til að spara dýrmætt flass og minni verður þessi tvíása eiginleiki að deila sömu stillingum (skref/mm, hámarkshraða, hröðun) og móðurmótorinn. Þetta er EKKI eiginleiki fyrir sjálfstæðan fjórða ás. Aðeins mótor klón.
VIÐVÖRUN: Gakktu úr skugga um að prófa leiðbeiningarnar á tvíása mótorunum þínum! Þeir verða að vera stilltir þannig að þeir hreyfast í sömu átt ÁÐUR en þú keyrir fyrstu aksturslotuna þína eða langa hreyfingu! Mótorar sem fara í gagnstæðar áttir geta valdið alvarlegum skemmdum á vélinni þinni! Notaðu þennan tvíása eiginleika á eigin ábyrgð.
ATHUGIÐ: Þessi eiginleiki krefst um það bil 400 bæta af flassi. Ákveðnar stillingar geta orðið uppiskroppa með flassið til að passa á Arduino 328p/Uno. Aðeins X og Y ásar eru studdir. Breytileg snælda/leysisstilling er studd, en aðeins fyrir einn stillingarvalkost. Kjarni XY, snúningsstefnupinna og M7 mistur kælivökvi eru óvirk/ekki studd.
Til að koma í veg fyrir að heimsendingarhringurinn taki tvöfalda ásinn, þegar ein takmörkin fara af stað á undan hinum vegna bilunar í rofa eða hávaða, mun sendingarlotan sjálfkrafa stöðvast ef takmörkunarrofi annars mótorsins ræsir ekki innan þriggja fjarlægðarbreyta sem skilgreindar eru hér að neðan. Áslengdarprósenta mun sjálfkrafa reikna bilunarvegalengd sem prósentutage af hámarksferð hins ótvífalda áss, þ.e. ef val á tvíás er X_AXIS við 5.0%, þá verður bilunarvegalengdin reiknuð sem 5.0% af hámarksferð á y-ás. Bilunarvegalengd max og min eru takmörk fyrir því hversu langt eða lítið gild bilunarvegalengd er.
#define DUAL_AXIS_HOMING_FAIL_AXIS_LENGTH_PERCENT 5.0 // Float (prósent)
#define DUAL_AXIS_HOMING_FAIL_DISTANCE_MAX 25.0 // Flot (mm)
#define DUAL_AXIS_HOMING_FAIL_DISTANCE_MIN 2.5 // Flot (mm)
Athugasemd fyrir I2C Port
Analog 4 (A4) og Analog 5 (A5) eru notuð fyrir I2C tengið á Arduino Uno eða 328p. Þetta þýðir að svo lengi sem þú ert að nota sjálfgefna nemaaðgerð, mist kælivökva, tvíása eða sérsniðið ALARM_STATE LED greiningarljós, þá verður notkun I2C ekki möguleg. Samskipti við annan Arduino til að auka virkni verða að vera í gegnum raðtenginguna á D0 og D1.
Að byrja (Stepper Drivers)
Í fyrsta lagi, til að tengja stepper mótorana þína við Grbl, þarftu nokkra stepper mótor rekla til að knýja stepperana og tengja inntak ökumanns við Arduino stýripinnana. Það eru nokkrir ökumenn sem geta gert þetta, fáanlegir sem að fullu forsmíðaðir, að hluta til forsmíðaðir eða algjörlega DIY. Steppastjórarnir þurfa að deila stepper virkja pinna (D8) til viðkomandi virkja pinna þeirra, á meðan stefnu- og skrefpúlspinnar (D2-D7) verður að vera tengdur við viðkomandi pinna á reklum. Gakktu úr skugga um að allir ökumenn þínir og Arduino deila sameiginlegum grunni (stjörnu jarðtengd með krafti mótorökumanns). Þetta er um það bil allt sem þú þarft til að byrja.
Heimsendingar- og takmörkunarrofar
Síðan, þegar þú hefur ákveðið að þú sért tilbúinn eða viljir til að gera heimsendingu og/eða erfið mörk, þú þarft að tengja a venjulega opinn markrofa við hvern markapinna (D9, D10 og D12). Heimsending og hörð mörk nota sömu rofa. Þessum takmörkunarpinnum er nú þegar haldið hátt með innri uppdráttarviðnám, svo allt sem þú þarft að gera er að tengja þá við jörðu. Svo þegar þú lokar rofa mun rofinn draga takmörkunarpinnann til jarðar. Ef þú vilt hafa harða takmörkunarrofa á báðum endum aksturs áss skaltu bara tengja tvo takmörkunarrofa samhliða ásmarkapinnanum og jörðu. Gakktu úr skugga um að þú hafir rofana uppsetta áður en þú reynir að framkvæma heimsendingarlotu og vertu viss um að þú æfir góðar raflögn aðferðir til að lágmarka utanaðkomandi rafhljóð á inntakspinnunum.
Góðar venjur við raflögn gætu falið í sér að nota hlífðar snúrur eða clamp-á ferrít kapalkjarna, og með því að nota nokkra 0.1uF þétta samhliða takmörkunarrofunum til að losna við/hávaða síun. Það getur líka verið góð hugmynd að halda mótorvírunum í burtu frá vírnum fyrir takmörkarofa.
Það er hægt að stilla GRBL til að nota venjulega lokaða markrofa ef þú vilt. Sumir telja að venjulega lokaðir takmörkrofar geti hjálpað til við að draga úr hörmulegu slysi ef bilun verður á takmörkarofum. Margir notendur sleppa því að nota neina takmörkunarrofa og velja þess í stað hugbúnaðarmörk í staðinn.
Í Grbl v0.8 og nýrri, eru pin-outs á ræsingu hringrásar, fóðrun halda og endurstilla keyrslutíma skipanir, svo þú getur haft líkamlega stjórnhnappa á vélinni þinni. Rétt eins og takmörkapinnarnir eru þessir pinnar haldnir hátt með innri uppdráttarviðnámi, svo allt sem þú þarft að gera er að tengja venjulega opinn rofa við hvern pinna og við jörðu. Gakktu aftur úr skugga um að þú æfir góðar raflögn aðferðir til að lágmarka utanaðkomandi rafhljóð á inntakspinnunum.
Snælda og kælivökvapinnar
Ef þú hefur löngun eða þörf fyrir snælda (D13) eða stjórn á kælivökva (A3 & A4) , Grbl mun skipta þessum úttakspinnum hátt eða lágt, allt eftir G-kóða skipunum sem þú sendir til Grbl. Með v0.9+ og breytilegum snælda PWM virkt mun D11 pinninn gefa út svið af voltager frá 0V til 5V eftir snældahraða G-kóða skipuninni. 0V gefur til kynna snælda slökkt í þessu tilfelli. Þar sem þessir pinnar eru allir háðir forritum hvernig þeir eru notaðir, munum við eftir þér að ákveða hvernig á að stjórna og nota þá fyrir vélina þína. Þú getur líka hakkað inn í snælduna og kælivökvastjórnunargjafann files til að breyta auðveldlega hvernig þeir virka og setja síðan saman og hlaða upp breyttu Grbl þínum í gegnum Arduino IDE.
LED greiningarljós
CNC vélar í atvinnuskyni hafa oft að minnsta kosti eitt LED greiningarljós ef vélarhrynur eða viðvörunarkóði verður. Fyrir þá sem eru nýir í GRBL og DIY CNC vélum, þá er þessi eiginleiki mjög gagnlegur til að vita þegar ALARM_STATE hefur átt sér stað (svo sem að hafa ekki komið vélinni heim með heimamiðlun og takmörkarrofa virka).
GRBL er sjálfgefið ekki með LED greiningarljós. Þetta er vegna þess að Ardunio UNO með 328p flögunni hefur takmarkað forritunarpláss og næstum allt það pláss er í notkun (þó ekki allt!). Ekki er hægt að útfæra alla æskilega eiginleika á svo lítið minnistæki svo stundum þarf að færa fórnir.
Að auki er verið að nota öll tiltæk I/O tengi sem stendur og þarf að minnsta kosti einn I/O pinna fyrir slíkt ljós. Sem betur fer er auðvelt að bæta þessari virkni við með því að hakka GRBL C kóðann og það er enn um 3% af minni í boði á 328p flísinni!
Margar vélar nota ekki valfrjálsa MIST COOLANT eiginleikann á Analog 4, svo við getum auðveldlega endurskilgreint þennan pinna fyrir okkar notkun. Önnur aðferð gæti verið að kóða slík LED ljós á utanaðkomandi Arduino sem myndi þá hafa öll I/O tengi tiltæk þar sem hægt væri að tengja eins mörg LED ljós / Buzzers og vildu og gæti átt samskipti í gegnum Serial eða I2C.
Til að hakka GRBL frumkóðann til að nota ALARM LED á CNDY skjöldinn vinsamlegast gerðu eftirfarandi:
Skref 1: Á Linux eða Macintosh opnaðu textaritil (í Windows notaðu Notepad++) og breyttu cpu_map.h file:
Breyttu þessu:
// Skilgreindu flóð og mist kælivökva gera úttakspinna kleift.
#define COOLANT_FLOOD_DDR DDRC
#skilgreina COOLANT_FLOOD_PORT PORTC
#define COOLANT_FLOOD_BIT 3 // Uno Analog Pin 3
#define COOLANT_MIST_DDR DDRC
#skilgreina COOLANT_MIST_PORT PORTC
#define COOLANT_MIST_BIT 4 // Uno Analog Pin 4
Við þetta:
// Skilgreindu flóð og mist kælivökva gera úttakspinna kleift.
#define COOLANT_FLOOD_DDR DDRC
#skilgreina 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
/////////////////
// Skilgreindu ALARM LED OUTPUT
#define SIGNAL_LIGHT_DDR DDRC
#skilgreina 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)
#skilgreinið merki_ljós_init merki_ljós_slökkt
#define signal_light_on (SIGNAL_LIGHT_DDR |= SIGNAL_LIGHT_PORT |= (1<
#define signal_light_off (SIGNAL_LIGHT_DDR |= SIGNAL_LIGHT_PORT &= ~(1<
/////////////////
Skref 2: Á Linux eða Macintosh opnaðu textaritil (í Windows notaðu Notepad++) og breyttu siðareglur.c file:
Breyttu þessu:
// Framkvæmir keyrslutímaskipanir, þegar þess er krafist. Þetta hlutverk starfar fyrst og fremst sem ríki Grbl
// vél og stjórnar hinum ýmsu rauntímaeiginleikum sem Grbl hefur upp á að bjóða.
// ATH: Ekki breyta þessu nema þú vitir nákvæmlega hvað þú ert að gera! ógilt protocol_exec_rt_system()
{
uint8_t rt_exec; // Temp breyta til að forðast að kalla óstöðug mörgum sinnum.
rt_exec = sys_rt_exec_alarm; // Afritaðu óstöðugt sys_rt_exec_alarm.
if (rt_exec) {// Sláðu aðeins inn ef einhver bitafáni er satt
// Kerfisviðvörun. Allt hefur hætt við eitthvað sem hefur farið verulega úrskeiðis. Skýrsla
// uppspretta villunnar til notandans. Ef mikilvægt er, slekkur Grbl á með því að slá inn óendanlega
// lykkja þar til kerfið endurstillir/hættir.
sys.state = STATE_ALARM; // Stilltu viðvörunarstöðu kerfisins
report_alarm_message(rt_exec);
Við þetta:
// Framkvæmir keyrslutímaskipanir, þegar þess er krafist. Þetta hlutverk starfar fyrst og fremst sem ríki Grbl
// vél og stjórnar hinum ýmsu rauntímaeiginleikum sem Grbl hefur upp á að bjóða.
// ATH: Ekki breyta þessu nema þú vitir nákvæmlega hvað þú ert að gera!
ógilt protocol_exec_rt_system()
{
uint8_t rt_exec; // Temp breyta til að forðast að kalla óstöðug mörgum sinnum.
rt_exec = sys_rt_exec_alarm; // Afritaðu óstöðugt sys_rt_exec_alarm.
//////////////////////
// Skilgreindu ALARM LED OUTPUT
signal_light_init; //init LED í slökktu ástandi
ef (sys.state==STATE_ALARM) {signal_light_on;}
annað ef (sys.state!=STATE_ALARM) {signal_light_off;}
// annað {signal_light_off;}
//////////////////////
if (rt_exec) {// Sláðu aðeins inn ef einhver bitafáni er satt
// Kerfisviðvörun. Allt hefur hætt við eitthvað sem hefur farið verulega úrskeiðis. Skýrsla
// uppspretta villunnar til notandans. Ef mikilvægt er, slekkur Grbl á með því að slá inn óendanlega
// lykkja þar til kerfið endurstillir/hættir.
sys.state = STATE_ALARM; // Stilltu viðvörunarstöðu kerfisins
report_alarm_message(rt_exec);
Það sem við gerðum var að breyta skilgreindri virkni Analog 4 (A4) úr því að vera valfrjáls mistur kælivökvi í að vera LED ljósið okkar. Síðan skrifuðum við kóða í C til að geta skrifað (PC4) Port C 4 (Analog4) hátt eða lágt eftir því hvort það var sagt að vera kveikt eða slökkt. Síðan skrifuðum við einfalda if-else yfirlýsingu til að athuga GRBL ástandsvélina og segja okkur hvort við séum í virku ALARM_STATE og hvenær við eigum að kveikja á LED.
Ef allt gengur upp getum við þá sett saman í Arduino IDE, hlaðið upp kóðanum og við munum nú vera með ALARM_STATE LED greiningarljós sem virkar! Við getum valfrjálst tengt utanaðkomandi LED beacon ljós til að setja hátt fyrir ofan vélina sem verður sýnilegt yfir herbergið.
Hugsanleg vandamál
Helst verða þessar breytingar gerðar með nýjasta grbl frumkóðanum sem til er og gerðar ÁÐUR en grbl „safninu“ er bætt við Arduino IDE. Ef þú ert nú þegar með grbl í Arduino libraries möppunni þinni þarftu að fletta handvirkt og eyða grbl möppunni eða breyta files innan arduino bókasafnsins. Á linux vélinni minni er „safnið“ að finna á: /home/andrew/Arduino/libraries/grbl. Nýjustu grbl útgáfuna er að finna á https://github.com/gnea/grbl/releases. Maður getur halað niður tiltæku zip file og möppu sem heitir grbl-1.1h.20190825 er að finna inni. Inni í þessari möppu mun mappa sem heitir grbl vera sú sem þú vilt bæta við Arduino IDE sem „safn“ „zip“ file“. Vertu viss um að gera breytingar á cpu_map.h og protocol.c files áður en þú bætir því við Arduino IDE. Annars þarftu að breyta files í bókasöfnunum þínum/grbl möppunni. Það er þekkt villa fyrir tvíása eiginleikann í grbl-1.1h zip file, það er lagað ef þú sækir í staðinn aðal grbl útibúið í staðinn. https://github.com/gnea/grbl
CNDY Shield uppfærslur og villur
*V1.1: hefur litla silkiskjávillu þar sem skipt er um Spindle PWM og Spindle Direction. Þetta hefur verið leiðrétt í V1.2.
V1.2 er ekki lengur með valfrjálsu hávaðaminnkandi þétta á 5v línunni og hefur nýja á hinum inntakshnappalínunum. V1.2 er með valfrjálsu LED sem er tengt samhliða Spindle PWM. Þetta gæti verið gagnlegt fyrir laseruppsetningar til öryggis.
Uppfært 28. ágúst 2021
Viðbótarupplýsingar má finna á RabbitMountainResearch.com.
Skjöl / auðlindir
![]() |
CNDY Skjöldur GRBL CNC Arduino UNO [pdfNotendahandbók GRBL CNC, Arduino UNO |




