CNDY Shield GRBL CNC Arduino UNO ຄູ່ມືຜູ້ໃຊ້
V1.2
GRBL pinout ໃນ Arduino Uno
ອະນາລັອກ 0 = ປຸ່ມຍົກເລີກ*
ອະນາລັອກ 1 = ປຸ່ມກົດຄ້າງໄວ້* (SAFETY_DOOR ຖືກແບ່ງປັນດ້ວຍການລະງັບຟີດ. ເປີດໃຊ້ໂດຍ config define)
ອະນາລັອກ 2 = Cycle Start / Restart Button*
ອະນາລັອກ 3 = ເຄື່ອງເຮັດຄວາມເຢັນເປີດໃຫ້ຜົນຜະລິດ
ອະນາລັອກ 4 = (ຖ້າຕ້ອງການ) ຜົນອອກມາຂອງນ້ຳເຢັນ (ຫຼື ALARM_STATE ໄຟວິນິດໄສ**)
ອະນາລັອກ 5 = Probe Input*
ດິຈິຕອນ 13 = ທິດທາງ spindle
ດິຈິຕອລ 12 = ຈຳກັດການປ່ຽນ Z-Axis*
ດິຈິຕອລ 11 = Spindle / Laser Enable PWM
ດິຈິຕອລ 10 = ຈຳກັດການປ່ຽນແກນ Y*
ດິຈິຕອລ 9 = ຈໍາກັດການປ່ຽນແກນ X-Axis*
ດິຈິຕອລ 8 = Stepper Motors ເປີດ/ປິດໃຊ້ງານ
ດິຈິຕອລ 7 = ທິດທາງ Z-Axis
ດິຈິຕອລ 6 = ທິດທາງ Y-Axis
ດິຈິຕອລ 5 = ທິດທາງ X-Axis
ດິຈິຕອລ 4 = Step Pulse Z-Axis
ດິຈິຕອລ 3 = Step Pulse Y-Axis
ດິຈິຕອລ 2 = Step Pulse X-Axis
ຄຸນນະສົມບັດທາງເລືອກສອງແກນ
Uno Analog Pin 3 = A-axis DUAL_DIRECTION (ເຄີຍເປັນ Coolant ເປີດໃຊ້ Output)
Uno Analog Pin 4 = A-axis DUAL_STEP (ເຄີຍເປັນທາງເລືອກທີ່ເປັນທາງເລືອກ Mist Coolant Output)
Uno Digital 13 = Coolant (ປ່ຽນທິດທາງ spindle.)
ຫຼັງຈາກການຕິດຕັ້ງບ່ອນເກັບມ້ຽນ grbl ເປັນຫ້ອງສະຫມຸດໃນ Arduino, ບໍ່ໃຫ້ຄໍາເຫັນກ່ຽວກັບສາຍຕໍ່ໄປນີ້ໃນ config.h. file ໃນໂຟນເດີຫ້ອງສະຫມຸດ grbl.
#define ENABLE_DUAL_AXIS // ປິດໃຊ້ງານເລີ່ມຕົ້ນ. ບໍ່ສະແດງຄວາມຄິດເຫັນເພື່ອເປີດໃຊ້.
// ເລືອກແກນຫນຶ່ງເພື່ອສະທ້ອນມໍເຕີອື່ນ. ໃນເວລານີ້, ຮອງຮັບພຽງແຕ່ແກນ X ແລະ Y.
#ກຳນົດ DUAL_AXIS_SELECT Y_AXIS // ຕ້ອງເປັນ X_AXIS ຫຼື Y_AXIS
ຫມາຍເຫດ: ການຈໍາກັດແກນສອງແມ່ນແບ່ງປັນກັບ (Z-Axis) ຈໍາກັດ pin ໂດຍຄ່າເລີ່ມຕົ້ນ.
ຄຸນສົມບັດແກນຄູ່ຕ້ອງການເຂັມປັກໝຸດກຳມະຈອນຂັ້ນຕອນເອກະລາດເພື່ອເຮັດວຽກ. pin ທິດທາງເອກະລາດແມ່ນບໍ່ຈໍາເປັນຢ່າງແທ້ຈິງແຕ່ອໍານວຍຄວາມສະດວກໃນທິດທາງທີ່ງ່າຍ inverting ກັບການຕັ້ງຄ່າ Grbl $$. pins ເຫຼົ່ານີ້ທົດແທນທິດທາງ spindle ແລະ pins mist coolant ທາງເລືອກ.
ຄຸນສົມບັດແກນສອງທາງເລືອກນີ້ແມ່ນຕົ້ນຕໍສໍາລັບວົງຈອນບ້ານເພື່ອຊອກຫາສອງດ້ານຂອງ gantry ມໍເຕີສອງຢ່າງເປັນເອກະລາດ, ie ຕົນເອງ sqquaring. ອັນນີ້ຮຽກຮ້ອງໃຫ້ມີການປ່ຽນຂີດຈຳກັດເພີ່ມເຕີມສຳລັບມໍເຕີໂຄລນ. ເພື່ອເປັນສີ່ຫຼ່ຽມສີ່ຫຼ່ຽມ, ທັງສອງປຸ່ມຂີດຈຳກັດຢູ່ໃນແກນໂຄນຈະຕ້ອງຖືກຈັດວາງທາງຮ່າງກາຍເພື່ອກະຕຸ້ນເມື່ອ gantry ເປັນສີ່ຫຼ່ຽມ. ແນະນຳໃຫ້ຮັກສາມໍເຕີເປີດຢູ່ສະເໝີເພື່ອຮັບປະກັນວ່າ gantry ຄົງຢູ່ຮຽບຮ້ອຍດ້ວຍການຕັ້ງຄ່າ $1=255.
ສໍາລັບ Grbl ໃນ Arduino Uno, ປຸ່ມໂຄລນຈໍາກັດແກນຕ້ອງຖືກແບ່ງປັນກັບແລະສາຍດ້ວຍ pin limit z-axis ເນື່ອງຈາກການຂາດ pins ທີ່ມີຢູ່. ຮອບວຽນໂຮມຈະຕ້ອງເປັນແກນ z ແລະແກນໂຄນຢູ່ໃນຮອບວຽນທີ່ແຕກຕ່າງກັນ, ເຊິ່ງເປັນຄ່າເລີ່ມຕົ້ນແລ້ວ.
ຄຸນສົມບັດແກນຄູ່ເຮັດວຽກໂດຍການໂຄນຜົນອອກຂອງຂັ້ນຕອນແກນໃສ່ຄູ່ຂອງຂັ້ນຕອນ ແລະເຂັມທິດທາງອື່ນ. ກໍາມະຈອນຂັ້ນຕອນແລະທິດທາງຂອງມໍເຕີ cloned ສາມາດກໍານົດເປັນເອກະລາດຂອງມໍເຕີແກນຕົ້ນຕໍ. ແນວໃດກໍ່ຕາມເພື່ອປະຢັດແຟລດ ແລະ ໜ່ວຍຄວາມຈຳອັນລ້ຳຄ່າ, ຄຸນສົມບັດແກນຄູ່ນີ້ຕ້ອງແບ່ງປັນການຕັ້ງຄ່າດຽວກັນ (ກ້າວ/ມມ, ຄວາມໄວສູງສຸດ, ຄວາມເລັ່ງ) ເປັນມໍເຕີຫຼັກ. ນີ້ບໍ່ແມ່ນຄຸນສົມບັດສໍາລັບແກນສີ່ເອກະລາດ. ພຽງແຕ່ clone motor ໄດ້.
ຄໍາເຕືອນ: ໃຫ້ແນ່ໃຈວ່າຈະທົດສອບທິດທາງຂອງມໍເຕີແກນສອງຂອງທ່ານ! ພວກມັນຕ້ອງຖືກຕັ້ງຄ່າເພື່ອເຄື່ອນໄປໃນທິດທາງດຽວກັນກ່ອນທີ່ຈະແລ່ນຮອບທຳອິດຂອງເຈົ້າ ຫຼືການເຄື່ອນໄຫວທີ່ຍາວນານ! ມໍເຕີເຄື່ອນທີ່ໃນທິດທາງກົງກັນຂ້າມສາມາດເຮັດໃຫ້ເກີດຄວາມເສຍຫາຍທີ່ຮ້າຍແຮງຕໍ່ເຄື່ອງຂອງເຈົ້າ! ໃຊ້ຄຸນສົມບັດແກນຄູ່ນີ້ຢູ່ໃນຄວາມສ່ຽງຂອງທ່ານເອງ.
ຫມາຍເຫດ: ຄຸນນະສົມບັດນີ້ຮຽກຮ້ອງໃຫ້ມີປະມານ 400 bytes ຂອງ flash. ການຕັ້ງຄ່າບາງອັນສາມາດໝົດແຟລດເພື່ອໃຫ້ພໍດີກັບ Arduino 328p/Uno. ຮອງຮັບພຽງແກນ X ແລະ Y ເທົ່ານັ້ນ. ຮູບແບບ spindle/laser ຕົວປ່ຽນແປງ IS ຮອງຮັບ, ແຕ່ສໍາລັບທາງເລືອກ config ເທົ່ານັ້ນ. Core XY, pin direction spindle, ແລະ M7 mist coolant ຖືກປິດໃຊ້ງານ/ບໍ່ຮອງຮັບ.
ເພື່ອປ້ອງກັນບໍ່ໃຫ້ວົງຈອນໂຮມຈາກ racking ແກນສອງ, ເມື່ອຂອບເຂດຈໍາກັດຫນຶ່ງກະຕຸ້ນກ່ອນອີກອັນຫນຶ່ງເນື່ອງຈາກການສະຫຼັບຄວາມລົ້ມເຫຼວຫຼືສຽງລົບກວນ, ວົງຈອນໂຮມຈະຍົກເລີກອັດຕະໂນມັດຖ້າຫາກວ່າສະຫຼັບກໍານົດຂອບເຂດຂອງມໍເຕີທີສອງບໍ່ກະຕຸ້ນພາຍໃນສາມຕົວກໍານົດການໄລຍະຫ່າງທີ່ກໍານົດຂ້າງລຸ່ມນີ້. ເປີເຊັນຄວາມຍາວຂອງແກນຈະຄິດໄລ່ໄລຍະທາງທີ່ລົ້ມເຫລວໂດຍອັດຕະໂນມັດເປັນເປີເຊັນtage ຂອງການເດີນທາງສູງສຸດຂອງແກນອື່ນໆທີ່ບໍ່ແມ່ນສອງແກນ, ie ຖ້າແກນສອງເລືອກແມ່ນ X_AXIS ທີ່ 5.0%, ຫຼັງຈາກນັ້ນໄລຍະການລົ້ມເຫລວຈະຖືກຄິດໄລ່ເປັນ 5.0% ຂອງການເດີນທາງສູງສຸດຂອງແກນ y. Fail distance max ແລະ min ແມ່ນຂອບເຂດຈໍາກັດຂອງໄລຍະຫ່າງທີ່ລົ້ມເຫລວທີ່ຖືກຕ້ອງແມ່ນໄກຫຼືຫນ້ອຍ.
#define DUAL_AXIS_HOMING_FAIL_AXIS_LENGTH_PERCENT 5.0 // Float (ເປີເຊັນ)
#define DUAL_AXIS_HOMING_FAIL_DISTANCE_MAX 25.0 // ເລື່ອນ (ມມ)
#define DUAL_AXIS_HOMING_FAIL_DISTANCE_MIN 2.5 // ເລື່ອນ (ມມ)
ຫມາຍເຫດສໍາລັບ I2C Port
Analog 4 (A4) ແລະ Analog 5 (A5) ຖືກນໍາໃຊ້ສໍາລັບພອດ I2C ໃນ Arduino Uno ຫຼື 328p. ນີ້ຫມາຍຄວາມວ່າຕາບໃດທີ່ທ່ານກໍາລັງໃຊ້ຟັງຊັນ probe ເລີ່ມຕົ້ນ, mist coolant, dual-axis, ຫຼື custom ALARM_STATE LED ການວິນິດໄສ, ການນໍາໃຊ້ I2C ຈະບໍ່ເປັນໄປໄດ້. ການສື່ສານກັບ Arduino ອື່ນເພື່ອເພີ່ມການທໍາງານຈະຕ້ອງຜ່ານການເຊື່ອມຕໍ່ serial ໃນ D0 ແລະ D1.
ການເລີ່ມຕົ້ນ (ຄົນຂັບລົດ Stepper)
ທໍາອິດ, ເພື່ອເຊື່ອມຕໍ່ມໍເຕີ stepper ຂອງທ່ານກັບ Grbl, ທ່ານຈະຕ້ອງມີໄດເວີມໍເຕີ stepper ເພື່ອພະລັງງານ steppers ແລະເຊື່ອມຕໍ່ວັດສະດຸປ້ອນໄດເວີຂອງທ່ານກັບ pins ຄວບຄຸມ Arduino. ມີຈໍານວນຄົນຂັບລົດທີ່ສາມາດເຮັດສິ່ງນີ້ໄດ້, ມີຢູ່ໃນແບບເຕັມທີ່ສ້າງກ່ອນ, ບາງສ່ວນທີ່ສ້າງຂຶ້ນກ່ອນ, ຫຼື DIY ຢ່າງສົມບູນ. ໄດເວີ stepper ຈະຕ້ອງແບ່ງປັນ stepper enable pin (D8) ກັບ pins ເປີດຂອງເຂົາເຈົ້າຕາມລໍາດັບ, ໃນຂະນະທີ່ ເຂັມຊີ້ທິດທາງ ແລະກຳມະຈອນກ້າວ (D2-D7) ຈະຕ້ອງໄດ້ຮັບການເຊື່ອມຕໍ່ກັບ pins ຂອງເຂົາເຈົ້າກ່ຽວກັບຄົນຂັບ. ພຽງແຕ່ໃຫ້ແນ່ໃຈວ່າຄົນຂັບທັງຫມົດຂອງທ່ານແລະ Arduino ແບ່ງປັນພື້ນຖານທົ່ວໄປ (ຕິດດາວກັບພະລັງງານຂັບມໍເຕີຂອງເຈົ້າ). ນີ້ແມ່ນກ່ຽວກັບສິ່ງທີ່ທ່ານຈະຕ້ອງການເພື່ອເລີ່ມຕົ້ນ.
Homeing & Limit Switches
ຫຼັງຈາກນັ້ນ, ເມື່ອທ່ານຕັດສິນໃຈວ່າທ່ານພ້ອມຫຼືຕ້ອງການ ເພື່ອເປີດໃຊ້ວຽກບ້ານ ແລະ/ຫຼື ຂີດຈຳກັດຍາກ, ທ່ານຈະຕ້ອງເຊື່ອມຕໍ່ a ປຸ່ມເປີດປົກກະຕິ ກັບແຕ່ລະ pins ຈໍາກັດ (D9, D10, ແລະ D12). ຂອບເຂດການໂຮມ ແລະ ຍາກໃຊ້ສະວິດດຽວກັນ. pins ຈໍາກັດເຫຼົ່ານີ້ໄດ້ຖືກຈັດຂຶ້ນຢູ່ແລ້ວສູງດ້ວຍຕົວຕ້ານທານການດຶງພາຍໃນ, ດັ່ງນັ້ນສິ່ງທີ່ທ່ານຕ້ອງເຮັດແມ່ນສາຍໃຫ້ເຂົາເຈົ້າກັບດິນ. ດັ່ງນັ້ນ, ເມື່ອທ່ານປິດສະວິດ, ສະວິດຈະດຶງ pin ຈໍາກັດກັບດິນ. ຖ້າເຈົ້າຢາກມີປຸ່ມສະຫຼັບຂີດຈຳກັດທີ່ຍາກຢູ່ທັງສອງສົ້ນຂອງການເດີນທາງຂອງແກນ, ພຽງແຕ່ສາຍສະວິດຂີດຈຳກັດສອງອັນໃນຂະໜານກັບເຂັມຈຳກັດແກນ ແລະ ດິນ. ໃຫ້ແນ່ໃຈວ່າທ່ານມີສະວິດທີ່ຕິດຕັ້ງໄວ້ກ່ອນທີ່ຈະພະຍາຍາມເຮັດວົງຈອນບ້ານ, ແລະໃຫ້ແນ່ໃຈວ່າທ່ານປະຕິບັດວິທີການສາຍໄຟທີ່ດີເພື່ອຫຼຸດຜ່ອນສຽງໄຟຟ້າຈາກພາຍນອກຢູ່ໃນ pins ປ້ອນຂໍ້ມູນ.
ການປະຕິບັດສາຍໄຟທີ່ດີອາດຈະລວມເຖິງການໃຊ້ສາຍທີ່ປ້ອງກັນ ຫຼື clamp-on ferrite ສາຍເຄເບີນ, ແລະການນໍາໃຊ້ບາງ capacitors 0.1uF ໃນຂະຫນານກັບ switches ຈໍາກັດສໍາລັບການ debouncing / ການກັ່ນຕອງສຽງ. ການຮັກສາສາຍໄຟມໍເຕີຢູ່ຫ່າງຈາກສາຍສະວິດທີ່ຈໍາກັດອາດເປັນຄວາມຄິດທີ່ດີ.
ມັນເປັນໄປໄດ້ທີ່ຈະກໍາຫນົດຄ່າ GRBL ເພື່ອໃຊ້ປຸ່ມປິດປົກກະຕິຖ້າທ່ານຕ້ອງການ. ບາງຄົນຮູ້ສຶກວ່າປົກກະຕິປຸ່ມປິດຈໍາກັດອາດຈະຊ່ວຍຫຼຸດຜ່ອນໄພພິບັດໃນກໍລະນີຄວາມລົ້ມເຫຼວຂອງສະຫຼັບຈໍາກັດ. ຜູ້ໃຊ້ຈໍານວນຫຼາຍລະເວັ້ນການນໍາໃຊ້ສະວິດການຈໍາກັດໃດໆທັງຫມົດແລະແທນທີ່ຈະເລືອກເອົາການຈໍາກັດຊອບແວແທນທີ່ຈະ.
ໃນ Grbl v0.8 ແລະຕໍ່ມາ, ມີ pin-outs ຂອງການເລີ່ມຕົ້ນຮອບວຽນ, feed hold, ແລະ reset runtime commands, ດັ່ງນັ້ນທ່ານສາມາດມີປຸ່ມຄວບຄຸມທາງດ້ານຮ່າງກາຍຢູ່ໃນເຄື່ອງຂອງທ່ານ. ເຊັ່ນດຽວກັນກັບ pins ຈໍາກັດ, pins ເຫຼົ່ານີ້ແມ່ນຖືສູງດ້ວຍຕົວຕ້ານທານດຶງພາຍໃນ, ດັ່ງນັ້ນສິ່ງທີ່ທ່ານຕ້ອງເຮັດແມ່ນເຊື່ອມຕໍ່ປຸ່ມເປີດປົກກະຕິກັບແຕ່ລະ pin ແລະກັບດິນ. ອີກເທື່ອຫນຶ່ງໃຫ້ແນ່ໃຈວ່າທ່ານປະຕິບັດວິທີການສາຍໄຟທີ່ດີເພື່ອຫຼຸດຜ່ອນສິ່ງລົບກວນໄຟຟ້າພາຍນອກຢູ່ໃນ pins ປ້ອນຂໍ້ມູນ.
Spindle ແລະ Pins Coolant
ຖ້າທ່ານມີຄວາມປາຖະຫນາຫຼືຕ້ອງການ spindle (D13) ຫຼືການຄວບຄຸມ coolant (A3 ແລະ A4) , Grbl ຈະສະຫຼັບ pins ຜົນຜະລິດເຫຼົ່ານີ້ສູງຫຼືຕ່ໍາ, ຂຶ້ນກັບຄໍາສັ່ງ G-code ທີ່ທ່ານສົ່ງໄປຫາ Grbl. ດ້ວຍ v0.9+ ແລະ spindle PWM ທີ່ສາມາດປ່ຽນແປງໄດ້, ເຂັມ D11 ຈະສົ່ງຜົນອອກເປັນລະດັບຂອງ vol.tages ຈາກ 0V ຫາ 5V ຂຶ້ນກັບຄວາມໄວ spindle ຄໍາສັ່ງ G-code. 0V ຊີ້ໃຫ້ເຫັນ spindle off ໃນກໍລະນີນີ້. ເນື່ອງຈາກ pins ເຫຼົ່ານີ້ແມ່ນທຸກຄໍາຮ້ອງສະຫມັກຂຶ້ນກັບວິທີການນໍາໃຊ້, ພວກເຮົາຈະປ່ອຍໃຫ້ທ່ານກໍານົດວິທີການຄວບຄຸມແລະນໍາໃຊ້ເຫຼົ່ານີ້ສໍາລັບເຄື່ອງຂອງທ່ານ. ນອກນັ້ນທ່ານຍັງສາມາດ hack spindle ແລະແຫຼ່ງຄວບຄຸມ coolant files ເພື່ອປ່ຽນແປງວິທີທີ່ພວກມັນເຮັດວຽກໄດ້ງ່າຍແລະຫຼັງຈາກນັ້ນລວບລວມແລະອັບໂຫລດ Grbl ທີ່ຖືກດັດແປງຂອງທ່ານຜ່ານ Arduino IDE.
ໄຟ LED ການວິນິດໄສ
ເຄື່ອງ CNC ທີ່ເປັນການຄ້າມັກຈະມີໄຟ LED ບົ່ງມະຕິຢ່າງໜ້ອຍໜຶ່ງອັນໃນກໍລະນີທີ່ເຄື່ອງຂັດຂ້ອງ ຫຼືລະຫັດປຸກ. ສໍາລັບຜູ້ທີ່ໃຫມ່ສໍາລັບເຄື່ອງ GRBL ແລະ DIY CNC, ຄຸນນະສົມບັດນີ້ແມ່ນເປັນປະໂຫຍດຫຼາຍທີ່ຈະຮູ້ວ່າເວລາທີ່ ALARM_STATE ເກີດຂຶ້ນ (ເຊັ່ນ: ການປິດເຄື່ອງກັບບ້ານດ້ວຍປຸ່ມໂຮມແລະປຸ່ມປິດເປີດ).
ໂດຍຄ່າເລີ່ມຕົ້ນ GRBL ບໍ່ມີໄຟ LED ບົ່ງມະຕິ. ນີ້ແມ່ນຍ້ອນວ່າ Ardunio UNO ທີ່ມີຊິບ 328p ມີພື້ນທີ່ການຂຽນໂປລແກລມຈໍາກັດແລະເກືອບທັງຫມົດພື້ນທີ່ນັ້ນແມ່ນຖືກນໍາໃຊ້ໃນປັດຈຸບັນ (ເຖິງແມ່ນວ່າບໍ່ແມ່ນທັງຫມົດ!). ບໍ່ແມ່ນທຸກຄຸນສົມບັດທີ່ຕ້ອງການສາມາດຖືກປະຕິບັດຢູ່ໃນອຸປະກອນຫນ່ວຍຄວາມຈໍາຕ່ໍາດັ່ງກ່າວ, ສະນັ້ນບາງຄັ້ງການເສຍສະລະຕ້ອງເຮັດ.
ນອກຈາກນັ້ນ, ພອດ I/O ທີ່ມີຢູ່ທັງໝົດແມ່ນກຳລັງຖືກນຳໃຊ້ຢູ່ ແລະຢ່າງໜ້ອຍໜຶ່ງເຂັມ I/O ແມ່ນຕ້ອງການສຳລັບໄຟດັ່ງກ່າວ. ໂຊກດີຟັງຊັນນີ້ສາມາດເພີ່ມໄດ້ງ່າຍໂດຍການແຮັກລະຫັດ GRBL C ແລະຍັງມີຄວາມຈຳປະມານ 3% ຢູ່ໃນຊິບ 328p!
ປະຈຸບັນເຄື່ອງຈໍານວນຫຼາຍບໍ່ໄດ້ໃຊ້ຄຸນສົມບັດ MIST COOLANT ທາງເລືອກໃນ Analog 4, ດັ່ງນັ້ນພວກເຮົາສາມາດກໍານົດ pin ນີ້ຄືນໃຫມ່ໄດ້ຢ່າງງ່າຍດາຍສໍາລັບການນໍາໃຊ້ຂອງພວກເຮົາ. ວິທີການທາງເລືອກອາດຈະເປັນລະຫັດໄຟ LED ດັ່ງກ່າວໃສ່ Arduino ພາຍນອກເຊິ່ງຫຼັງຈາກນັ້ນຈະມີພອດ I / O ທັງຫມົດທີ່ມີຢູ່ບ່ອນທີ່ຄົນຫນຶ່ງສາມາດສາຍໄຟ LED / Buzzers ຫຼາຍເທົ່າທີ່ຕ້ອງການແລະສາມາດສື່ສານຜ່ານ Serial ຫຼື I2C.
ເພື່ອ hack ລະຫັດແຫຼ່ງ GRBL ເພື່ອໃຊ້ LED ALARM ໃນ CNDY Shield ກະລຸນາເຮັດດັ່ງຕໍ່ໄປນີ້:
ຂັ້ນຕອນທີ 1: ໃນ Linux ຫຼື Macintosh ເປີດຕົວແກ້ໄຂຂໍ້ຄວາມ (ໃນ Windows ໃຊ້ Notepad++) ແລະແກ້ໄຂ cpu_map.h file:
ປ່ຽນອັນນີ້:
// ກຳນົດນ້ຳຖ້ວມແລະ mist coolant ເປີດໃຊ້ງານ pins ຜົນຜະລິດ.
#ກຳນົດ COOLANT_FLOOD_DDR DDRC
#ກຳນົດ COOLANT_FLOOD_PORT PORTC
#define COOLANT_FLOOD_BIT 3 // Uno Analog Pin 3
#ກຳນົດ COOLANT_MIST_DDR DDRC
#ກຳນົດ COOLANT_MIST_PORT PORTC
#define COOLANT_MIST_BIT 4 // Uno Analog Pin 4
ຕໍ່ສິ່ງນີ້:
// ກຳນົດນ້ຳຖ້ວມແລະ mist coolant ເປີດໃຊ້ງານ pins ຜົນຜະລິດ.
#ກຳນົດ COOLANT_FLOOD_DDR DDRC
#ກຳນົດ 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
////////////////////
// ກໍານົດ ALARM LED OUTPUT
#define SIGNAL_LIGHT_DDR DDRC
#ກຳນົດ 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(ປິດ)
#ກໍານົດ signal_light_init signal_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: ໃນ Linux ຫຼື Macintosh ເປີດຕົວແກ້ໄຂຂໍ້ຄວາມ (ໃນ Windows ໃຊ້ Notepad++) ແລະແກ້ໄຂ protocol.c file:
ປ່ຽນອັນນີ້:
// ປະຕິບັດຄໍາສັ່ງ run-time, ເມື່ອຕ້ອງການ. ຟັງຊັນນີ້ຕົ້ນຕໍດໍາເນີນການເປັນລັດຂອງ Grbl
// ເຄື່ອງແລະຄວບຄຸມລັກສະນະທີ່ໃຊ້ເວລາທີ່ແທ້ຈິງຕ່າງໆ Grbl ມີໃຫ້.
// ໝາຍເຫດ: ຢ່າປ່ຽນແປງອັນນີ້ ເວັ້ນເສຍແຕ່ເຈົ້າຮູ້ແທ້ໆວ່າເຈົ້າກຳລັງເຮັດຫຍັງຢູ່! void protocol_exec_rt_system()
{
uint8_t rt_exec; // Temp variable ເພື່ອຫຼີກເວັ້ນການໂທຫາການຜັນຜວນຫຼາຍຄັ້ງ.
rt_exec = sys_rt_exec_alarm; // ຄັດລອກ sys_rt_exec_alarm.
ຖ້າ (rt_exec) { // ໃສ່ພຽງແຕ່ຖ້າທຸງ bit ໃດເປັນຈິງ
// ປຸກລະບົບ. ທຸກສິ່ງທຸກຢ່າງໄດ້ຖືກປິດໂດຍບາງສິ່ງບາງຢ່າງທີ່ຜິດພາດຮ້າຍແຮງ. ລາຍງານ
// ແຫຼ່ງຂອງຄວາມຜິດພາດກັບຜູ້ໃຊ້. ຖ້າສໍາຄັນ, Grbl ປິດການໃຊ້ງານໂດຍການເຂົ້າໄປໃນອັນເປັນນິດ
// loop ຈົນກ່ວາລະບົບ reset / abort.
sys.state = STATE_ALARM; // ຕັ້ງສະຖານະປຸກລະບົບ
report_alarm_message(rt_exec);
ຕໍ່ສິ່ງນີ້:
// ປະຕິບັດຄໍາສັ່ງ run-time, ເມື່ອຕ້ອງການ. ຟັງຊັນນີ້ຕົ້ນຕໍດໍາເນີນການເປັນລັດຂອງ Grbl
// ເຄື່ອງແລະຄວບຄຸມລັກສະນະທີ່ໃຊ້ເວລາທີ່ແທ້ຈິງຕ່າງໆ Grbl ມີໃຫ້.
// ໝາຍເຫດ: ຢ່າປ່ຽນແປງອັນນີ້ ເວັ້ນເສຍແຕ່ເຈົ້າຮູ້ແທ້ໆວ່າເຈົ້າກຳລັງເຮັດຫຍັງຢູ່!
void protocol_exec_rt_system()
{
uint8_t rt_exec; // Temp variable ເພື່ອຫຼີກເວັ້ນການໂທຫາການຜັນຜວນຫຼາຍຄັ້ງ.
rt_exec = sys_rt_exec_alarm; // ຄັດລອກ sys_rt_exec_alarm.
////////////////////////
// ກໍານົດ ALARM LED OUTPUT
signal_light_init; // ເປີດໄຟ LED ໃນສະຖານະປິດ
ຖ້າ (sys.state==STATE_ALARM) {signal_light_on;}
ອື່ນຖ້າ (sys.state!=STATE_ALARM) {signal_light_off;}
// else {signal_light_off;}
////////////////////////
ຖ້າ (rt_exec) { // ໃສ່ພຽງແຕ່ຖ້າທຸງ bit ໃດເປັນຈິງ
// ປຸກລະບົບ. ທຸກສິ່ງທຸກຢ່າງໄດ້ຖືກປິດໂດຍບາງສິ່ງບາງຢ່າງທີ່ຜິດພາດຮ້າຍແຮງ. ລາຍງານ
// ແຫຼ່ງຂອງຄວາມຜິດພາດກັບຜູ້ໃຊ້. ຖ້າສໍາຄັນ, Grbl ປິດການໃຊ້ງານໂດຍການເຂົ້າໄປໃນອັນເປັນນິດ
// loop ຈົນກ່ວາລະບົບ reset / abort.
sys.state = STATE_ALARM; // ຕັ້ງສະຖານະປຸກລະບົບ
report_alarm_message(rt_exec);
ສິ່ງທີ່ພວກເຮົາພຽງແຕ່ເຮັດແມ່ນການປ່ຽນຫນ້າທີ່ກໍານົດຂອງອະນາລັອກ 4 (A4) ຈາກການເປັນເຄື່ອງເຮັດຄວາມເຢັນຂອງ mist ທາງເລືອກມາເປັນໄຟ LED ຂອງພວກເຮົາ. ຫຼັງຈາກນັ້ນ, ພວກເຮົາຂຽນລະຫັດໃນ C ເພື່ອໃຫ້ສາມາດຂຽນໄດ້ (PC4) Port C 4 (Analog4) ສູງຫຼືຕ່ໍາຂຶ້ນກັບວ່າມັນຖືກບອກວ່າເປີດຫຼືປິດ. ຫຼັງຈາກນັ້ນ, ພວກເຮົາຂຽນຄໍາຖະແຫຼງການ if-else ງ່າຍໆເພື່ອກວດເບິ່ງເຄື່ອງລັດ GRBL ແລະບອກພວກເຮົາວ່າພວກເຮົາຢູ່ໃນ ALARM_STATE ທີ່ເຮັດວຽກຢູ່, ແລະໃນເວລາທີ່ພວກເຮົາຈະເປີດໄຟ LED.
ຖ້າທຸກຢ່າງດີແລ້ວພວກເຮົາສາມາດລວບລວມໃນ Arduino IDE, ອັບໂຫລດລະຫັດ, ແລະດຽວນີ້ພວກເຮົາຈະມີໄຟວິນິດໄສ LED ALARM_STATE ທີ່ເຮັດວຽກ! ພວກເຮົາທາງເລືອກສາມາດເຊື່ອມຕໍ່ໄຟ LED Beacon ພາຍນອກເພື່ອວາງໄວ້ເທິງເຄື່ອງທີ່ຈະເຫັນໄດ້ທົ່ວຫ້ອງ.
ປັນຫາທີ່ອາດເປັນໄປໄດ້
ໂດຍວິທີທາງການ, ການປ່ຽນແປງເຫຼົ່ານີ້ຈະຖືກເຮັດດ້ວຍລະຫັດແຫຼ່ງ grbl ໃນປະຈຸບັນທີ່ສຸດແລະຖືກເຮັດກ່ອນທີ່ຈະເພີ່ມ grbl "ຫ້ອງສະຫມຸດ" ກັບ Arduino IDE. ຖ້າທ່ານມີ grbl ຢູ່ແລ້ວໃນໂຟນເດີຫ້ອງສະຫມຸດ Arduino ຂອງທ່ານ, ທ່ານຈະຕ້ອງທ່ອງເວັບດ້ວຍຕົນເອງແລະລຶບໂຟນເດີ grbl ຫຼືແກ້ໄຂ. files ພາຍໃນຫ້ອງສະຫມຸດ arduino. ໃນເຄື່ອງ linux ຂອງຂ້ອຍ "ຫ້ອງສະຫມຸດ" ພົບເຫັນຢູ່ທີ່: /home/andrew/Arduino/libraries/grbl. ການປ່ອຍ grbl ຫຼ້າສຸດສາມາດພົບໄດ້ທີ່ https://github.com/gnea/grbl/releases. ຫນຶ່ງສາມາດດາວໂຫລດ zip ທີ່ມີຢູ່ file ແລະໂຟນເດີທີ່ມີຊື່ grbl-1.1h.20190825 ສາມາດພົບໄດ້ພາຍໃນ. ພາຍໃນໂຟນເດີນີ້, ໂຟນເດີທີ່ມີຊື່ grbl ຈະເປັນຫນຶ່ງທີ່ທ່ານຕ້ອງການທີ່ຈະເພີ່ມ Arduino IDE ເປັນ "ຫ້ອງສະຫມຸດ" "zip. file”. ໃຫ້ແນ່ໃຈວ່າທ່ານເຮັດການປ່ຽນແປງຕໍ່ກັບ cpu_map.h ແລະ protocol.c files ກ່ອນທີ່ທ່ານຈະເພີ່ມມັນໃສ່ Arduino IDE. ຖ້າບໍ່ດັ່ງນັ້ນທ່ານຈະຕ້ອງໄດ້ແກ້ໄຂ files ພາຍໃນຫ້ອງສະຫມຸດ / ໂຟນເດີ grbl ຂອງທ່ານ. ມີຂໍ້ບົກຜ່ອງທີ່ຮູ້ຈັກສໍາລັບຄຸນສົມບັດແກນສອງໃນ zip grbl-1.1h file, ມັນຖືກແກ້ໄຂຖ້າທ່ານດາວໂຫລດສາຂາ grbl ຕົ້ນຕໍແທນ. https://github.com/gnea/grbl
CNDY Shield ການປັບປຸງແລະຄວາມຜິດພາດ
*V1.1: ມີຂໍ້ຜິດພາດເລັກນ້ອຍທີ່ Spindle PWM ແລະ Spindle Direction ຖືກແລກປ່ຽນ. ນີ້ໄດ້ຖືກແກ້ໄຂໃນ V1.2.
V1.2 ບໍ່ມີຕົວເກັບປະຈຸຫຼຸດຜ່ອນສຽງທີ່ເປັນທາງເລືອກໃນສາຍ 5v, ແລະມີເຄື່ອງໃຫມ່ໃນສາຍປຸ່ມປ້ອນຂໍ້ມູນອື່ນໆ. V1.2 ມີໄຟ LED ທາງເລືອກທີ່ມີສາຍຂະຫນານກັບ Spindle PWM. ອັນນີ້ອາດຈະເປັນປະໂຫຍດສໍາລັບການຕິດຕັ້ງເລເຊີເພື່ອຄວາມປອດໄພ.
ອັບເດດ 28-2021-XNUMX
ຂໍ້ມູນເພີ່ມເຕີມສາມາດພົບໄດ້ທີ່ RabbitMountainResearch.com.
ເອກະສານ / ຊັບພະຍາກອນ
![]() |
CNDY Shield GRBL CNC Arduino UNO [pdf] ຄູ່ມືຜູ້ໃຊ້ GRBL CNC, Arduino UNO |