CNDY ਸ਼ੀਲਡ GRBL CNC Arduino UNO ਯੂਜ਼ਰ ਗਾਈਡ

V1.2

CNDY ਸ਼ੀਲਡ GRBL CNC

Arduino Uno 'ਤੇ GRBL ਪਿਨਆਊਟ

ਐਨਾਲਾਗ 0 = ਅਬੌਰਟ ਬਟਨ*
ਐਨਾਲਾਗ 1 = ਫੀਡ ਹੋਲਡ ਬਟਨ* (SAFETY_DOOR ਨੂੰ ਫੀਡ ਹੋਲਡ ਨਾਲ ਸਾਂਝਾ ਕੀਤਾ ਗਿਆ ਹੈ। ਸੰਰਚਨਾ ਪਰਿਭਾਸ਼ਿਤ ਦੁਆਰਾ ਸਮਰੱਥ)
ਐਨਾਲਾਗ 2 = ਸਾਈਕਲ ਸਟਾਰਟ / ਰੀਸਟਾਰਟ ਬਟਨ*
ਐਨਾਲਾਗ 3 = Coolant ਯੋਗ ਆਉਟਪੁੱਟ
ਐਨਾਲਾਗ 4 = (ਵਿਕਲਪਿਕ) ਧੁੰਦ ਕੂਲੈਂਟ ਆਉਟਪੁੱਟ (ਜਾਂ ALARM_STATE ਡਾਇਗਨੌਸਟਿਕ ਲਾਈਟ**)
ਐਨਾਲਾਗ 5 = ਪੜਤਾਲ ਇੰਪੁੱਟ*
ਡਿਜੀਟਲ 13 = ਸਪਿੰਡਲ ਦਿਸ਼ਾ
ਡਿਜੀਟਲ 12 = ਸੀਮਾ ਸਵਿੱਚ Z-ਐਕਸਿਸ*
ਡਿਜੀਟਲ 11 = ਸਪਿੰਡਲ / ਲੇਜ਼ਰ PWM ਯੋਗ ਕਰੋ
ਡਿਜੀਟਲ 10 = ਸੀਮਾ ਸਵਿੱਚ Y-ਐਕਸਿਸ*
ਡਿਜੀਟਲ 9 = ਸੀਮਾ ਸਵਿੱਚ ਐਕਸ-ਐਕਸਿਸ*
ਡਿਜੀਟਲ 8 = ਸਟੈਪਰ ਮੋਟਰਜ਼ ਸਮਰੱਥ/ਅਯੋਗ
ਡਿਜੀਟਲ 7 = ਦਿਸ਼ਾ Z-ਧੁਰਾ
ਡਿਜੀਟਲ 6 = ਦਿਸ਼ਾ Y-ਧੁਰਾ
ਡਿਜੀਟਲ 5 = ਦਿਸ਼ਾ ਐਕਸ-ਐਕਸਿਸ
ਡਿਜੀਟਲ 4 = ਸਟੈਪ ਪਲਸ Z-ਐਕਸਿਸ
ਡਿਜੀਟਲ 3 = ਸਟੈਪ ਪਲਸ ਵਾਈ-ਐਕਸਿਸ
ਡਿਜੀਟਲ 2 = ਸਟੈਪ ਪਲਸ ਐਕਸ-ਐਕਸਿਸ

ਵਿਕਲਪਿਕ ਦੋਹਰੀ ਧੁਰੀ ਵਿਸ਼ੇਸ਼ਤਾ

Uno ਐਨਾਲਾਗ ਪਿੰਨ 3 = A-ਧੁਰਾ DUAL_DIRECTION (ਕੂਲੈਂਟ ਸਮਰੱਥ ਆਉਟਪੁੱਟ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ)
Uno ਐਨਾਲਾਗ ਪਿੰਨ 4 = A-ਧੁਰਾ DUAL_STEP (ਵਿਕਲਪਿਕ ਮਿਸਟ ਕੂਲੈਂਟ ਆਉਟਪੁੱਟ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ)
Uno ਡਿਜੀਟਲ 13 = ਕੂਲੈਂਟ (ਸਪਿੰਡਲ ਦਿਸ਼ਾ ਨੂੰ ਬਦਲਣਾ।)

Arduino ਵਿੱਚ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਤੌਰ ਤੇ grbl ਰਿਪੋਜ਼ਟਰੀ ਨੂੰ ਸਥਾਪਿਤ ਕਰਨ ਤੋਂ ਬਾਅਦ, config.h ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਲਾਈਨਾਂ ਨੂੰ ਅਣਕਮੇਂਟ ਕਰੋ file grbl ਲਾਇਬ੍ਰੇਰੀ ਫੋਲਡਰ ਵਿੱਚ.

#EnABLE_DUAL_AXIS ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ // ਪੂਰਵ-ਨਿਰਧਾਰਤ ਅਯੋਗ। ਯੋਗ ਕਰਨ ਲਈ ਟਿੱਪਣੀ ਨਾ ਕਰੋ.

// ਦੂਜੀ ਮੋਟਰ ਨੂੰ ਮਿਰਰ ਕਰਨ ਲਈ ਇੱਕ ਧੁਰੀ ਦੀ ਚੋਣ ਕਰੋ। ਇਸ ਸਮੇਂ ਸਿਰਫ਼ X ਅਤੇ Y ਧੁਰਾ ਸਮਰਥਿਤ ਹੈ।
#DUAL_AXIS_SELECT Y_AXIS// ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ਜਾਂ ਤਾਂ X_AXIS ਜਾਂ Y_AXIS ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ

ਨੋਟ: ਦੋਹਰੀ ਧੁਰੀ ਸੀਮਾ ਦੇ ਨਾਲ ਸਾਂਝੀ ਕੀਤੀ ਗਈ ਹੈ (Z-Axis) ਮੂਲ ਰੂਪ ਵਿੱਚ ਪਿੰਨ ਨੂੰ ਸੀਮਿਤ ਕਰੋ।

ਦੋਹਰੀ ਧੁਰੀ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਚਲਾਉਣ ਲਈ ਇੱਕ ਸੁਤੰਤਰ ਸਟੈਪ ਪਲਸ ਪਿੰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਸੁਤੰਤਰ ਦਿਸ਼ਾ ਪਿੰਨ ਬਿਲਕੁਲ ਜ਼ਰੂਰੀ ਨਹੀਂ ਹੈ ਪਰ ਇੱਕ Grbl $$ ਸੈਟਿੰਗ ਨਾਲ ਆਸਾਨ ਦਿਸ਼ਾ ਨੂੰ ਉਲਟਾਉਣ ਦੀ ਸਹੂਲਤ ਦਿੰਦਾ ਹੈ। ਇਹ ਪਿੰਨ ਸਪਿੰਡਲ ਦਿਸ਼ਾ ਅਤੇ ਵਿਕਲਪਿਕ ਕੂਲੈਂਟ ਮਿਸਟ ਪਿੰਨ ਨੂੰ ਬਦਲਦੇ ਹਨ।

ਇਹ ਵਿਕਲਪਿਕ ਦੋਹਰੀ ਧੁਰੀ ਵਿਸ਼ੇਸ਼ਤਾ ਮੁੱਖ ਤੌਰ 'ਤੇ ਦੋਹਰੀ-ਮੋਟਰ ਗੈਂਟਰੀ ਦੇ ਦੋ ਪਾਸਿਆਂ ਨੂੰ ਸੁਤੰਤਰ ਤੌਰ 'ਤੇ ਲੱਭਣ ਲਈ ਹੋਮਿੰਗ ਚੱਕਰ ਲਈ ਹੈ, ਭਾਵ ਸਵੈ-ਵਰਗ। ਇਹ ਕਲੋਨ ਮੋਟਰ ਲਈ ਇੱਕ ਵਾਧੂ ਸੀਮਾ ਸਵਿੱਚ ਦੀ ਲੋੜ ਹੈ. ਸਵੈ ਵਰਗ ਲਈ, ਕਲੋਨ ਕੀਤੇ ਧੁਰੇ 'ਤੇ ਦੋਵੇਂ ਸੀਮਾ ਸਵਿੱਚਾਂ ਨੂੰ ਗੈਂਟਰੀ ਵਰਗ ਹੋਣ 'ਤੇ ਟਰਿੱਗਰ ਕਰਨ ਲਈ ਸਰੀਰਕ ਤੌਰ 'ਤੇ ਸਥਿਤੀ ਵਿੱਚ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਮੋਟਰਾਂ ਨੂੰ ਹਮੇਸ਼ਾ ਚਾਲੂ ਰੱਖਣ ਦੀ ਜ਼ੋਰਦਾਰ ਸਿਫਾਰਸ਼ ਕਰੋ ਕਿ $1=255 ਸੈਟਿੰਗ ਨਾਲ ਗੈਂਟਰੀ ਵਰਗਾਕਾਰ ਬਣਿਆ ਰਹੇ।

Arduino Uno 'ਤੇ Grbl ਲਈ, ਉਪਲਬਧ ਪਿੰਨਾਂ ਦੀ ਘਾਟ ਕਾਰਨ ਕਲੋਨ ਕੀਤੇ ਧੁਰੇ ਦੀ ਸੀਮਾ ਸਵਿੱਚ ਨੂੰ z-ਐਕਸਿਸ ਸੀਮਾ ਪਿੰਨ ਨਾਲ ਸਾਂਝਾ ਕਰਨਾ ਅਤੇ ਵਾਇਰ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਹੋਮਿੰਗ ਚੱਕਰ ਨੂੰ ਵੱਖ-ਵੱਖ ਚੱਕਰਾਂ ਵਿੱਚ z-ਧੁਰੇ ਅਤੇ ਕਲੋਨ ਕੀਤੇ ਧੁਰੇ ਨੂੰ ਹੋਮ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ, ਜੋ ਕਿ ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਡਿਫੌਲਟ ਸੰਰਚਨਾ ਹੈ।

ਦੋਹਰੀ ਧੁਰੀ ਵਿਸ਼ੇਸ਼ਤਾ ਇੱਕ ਧੁਰੀ ਸਟੈਪ ਆਉਟਪੁੱਟ ਨੂੰ ਕਦਮ ਅਤੇ ਦਿਸ਼ਾ ਪਿੰਨ ਦੀ ਇੱਕ ਹੋਰ ਜੋੜੀ ਉੱਤੇ ਕਲੋਨ ਕਰਕੇ ਕੰਮ ਕਰਦੀ ਹੈ। ਕਲੋਨਡ ਮੋਟਰ ਦੀ ਸਟੈਪ ਪਲਸ ਅਤੇ ਦਿਸ਼ਾ ਮੁੱਖ ਧੁਰੀ ਮੋਟਰ ਤੋਂ ਸੁਤੰਤਰ ਤੌਰ 'ਤੇ ਸੈੱਟ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਹਾਲਾਂਕਿ ਕੀਮਤੀ ਫਲੈਸ਼ ਅਤੇ ਮੈਮੋਰੀ ਨੂੰ ਬਚਾਉਣ ਲਈ, ਇਸ ਦੋਹਰੇ ਧੁਰੇ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਉਹੀ ਸੈਟਿੰਗਾਂ (ਸਟੈਪ/ਮਿਲੀਮੀਟਰ, ਅਧਿਕਤਮ ਗਤੀ, ਪ੍ਰਵੇਗ) ਨੂੰ ਪੇਰੈਂਟ ਮੋਟਰ ਵਾਂਗ ਸਾਂਝਾ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਇਹ ਇੱਕ ਸੁਤੰਤਰ ਚੌਥੇ ਧੁਰੇ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾ ਨਹੀਂ ਹੈ। ਸਿਰਫ ਇੱਕ ਮੋਟਰ ਕਲੋਨ.

ਚੇਤਾਵਨੀ: ਆਪਣੇ ਦੋਹਰੇ ਧੁਰੇ ਵਾਲੀਆਂ ਮੋਟਰਾਂ ਦੀਆਂ ਦਿਸ਼ਾਵਾਂ ਦੀ ਜਾਂਚ ਕਰਨਾ ਯਕੀਨੀ ਬਣਾਓ! ਤੁਹਾਡੇ ਪਹਿਲੇ ਹੋਮਿੰਗ ਚੱਕਰ ਜਾਂ ਕੋਈ ਲੰਬੀ ਮੋਸ਼ਨ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਉਹਨਾਂ ਨੂੰ ਉਸੇ ਦਿਸ਼ਾ ਵਿੱਚ ਜਾਣ ਲਈ ਸੈੱਟਅੱਪ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ! ਉਲਟ ਦਿਸ਼ਾਵਾਂ ਵਿੱਚ ਚੱਲਣ ਵਾਲੀਆਂ ਮੋਟਰਾਂ ਤੁਹਾਡੀ ਮਸ਼ੀਨ ਨੂੰ ਗੰਭੀਰ ਨੁਕਸਾਨ ਪਹੁੰਚਾ ਸਕਦੀਆਂ ਹਨ! ਆਪਣੇ ਖੁਦ ਦੇ ਜੋਖਮ 'ਤੇ ਇਸ ਦੋਹਰੇ ਧੁਰੇ ਵਿਸ਼ੇਸ਼ਤਾ ਦੀ ਵਰਤੋਂ ਕਰੋ।

ਨੋਟ: ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਲਈ ਲਗਭਗ 400 ਬਾਈਟ ਫਲੈਸ਼ ਦੀ ਲੋੜ ਹੈ। Arduino 328p/Uno 'ਤੇ ਫਿੱਟ ਹੋਣ ਲਈ ਕੁਝ ਸੰਰਚਨਾਵਾਂ ਫਲੈਸ਼ ਖਤਮ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਸਿਰਫ਼ X ਅਤੇ Y ਧੁਰੇ ਸਮਰਥਿਤ ਹਨ। ਵੇਰੀਏਬਲ ਸਪਿੰਡਲ/ਲੇਜ਼ਰ ਮੋਡ ਸਮਰਥਿਤ ਹੈ, ਪਰ ਸਿਰਫ਼ ਇੱਕ ਸੰਰਚਨਾ ਵਿਕਲਪ ਲਈ। ਕੋਰ XY, ਸਪਿੰਡਲ ਦਿਸ਼ਾ ਪਿੰਨ, ਅਤੇ M7 ਮਿਸਟ ਕੂਲੈਂਟ ਅਯੋਗ/ਸਮਰਥਿਤ ਨਹੀਂ ਹਨ।

ਹੋਮਿੰਗ ਚੱਕਰ ਨੂੰ ਦੋਹਰੇ ਧੁਰੇ ਨੂੰ ਰੈਕ ਕਰਨ ਤੋਂ ਰੋਕਣ ਲਈ, ਜਦੋਂ ਇੱਕ ਸੀਮਾ ਸਵਿੱਚ ਫੇਲ ਹੋਣ ਜਾਂ ਸ਼ੋਰ ਕਾਰਨ ਦੂਜੀ ਤੋਂ ਪਹਿਲਾਂ ਟਰਿਗਰ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਹੋਮਿੰਗ ਚੱਕਰ ਆਪਣੇ ਆਪ ਬੰਦ ਹੋ ਜਾਵੇਗਾ ਜੇਕਰ ਦੂਜੀ ਮੋਟਰ ਦੀ ਸੀਮਾ ਸਵਿੱਚ ਹੇਠਾਂ ਪਰਿਭਾਸ਼ਿਤ ਤਿੰਨ ਦੂਰੀ ਮਾਪਦੰਡਾਂ ਦੇ ਅੰਦਰ ਟਰਿੱਗਰ ਨਹੀਂ ਹੁੰਦੀ ਹੈ। ਧੁਰੇ ਦੀ ਲੰਬਾਈ ਪ੍ਰਤੀਸ਼ਤ ਆਪਣੇ ਆਪ ਹੀ ਇੱਕ ਫੇਲ ਦੂਰੀ ਨੂੰ ਪ੍ਰਤੀਸ਼ਤ ਵਜੋਂ ਗਣਨਾ ਕਰੇਗੀtagਦੂਜੇ ਗੈਰ-ਦੋਹਰੇ ਧੁਰੇ ਦੀ ਅਧਿਕਤਮ ਯਾਤਰਾ ਦਾ e, ਭਾਵ ਜੇਕਰ ਦੋਹਰੇ ਧੁਰੇ ਦੀ ਚੋਣ 5.0% 'ਤੇ X_AXIS ਹੈ, ਤਾਂ ਅਸਫਲ ਦੂਰੀ ਨੂੰ y-ਧੁਰੀ ਅਧਿਕਤਮ ਯਾਤਰਾ ਦੇ 5.0% ਵਜੋਂ ਗਿਣਿਆ ਜਾਵੇਗਾ। ਫੇਲ ਦੂਰੀ ਅਧਿਕਤਮ ਅਤੇ ਘੱਟੋ ਘੱਟ ਇਸ ਗੱਲ ਦੀਆਂ ਸੀਮਾਵਾਂ ਹਨ ਕਿ ਇੱਕ ਵੈਧ ਫੇਲ ਦੂਰੀ ਕਿੰਨੀ ਦੂਰ ਜਾਂ ਥੋੜ੍ਹੀ ਹੈ।

#DUAL_AXIS_HOMING_FAIL_AXIS_LENGTH_PERCENT 5.0 // ਫਲੋਟ (ਪ੍ਰਤੀਸ਼ਤ) ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
#define DUAL_AXIS_HOMING_FAIL_DISTANCE_MAX 25.0 // ਫਲੋਟ (mm)
#define DUAL_AXIS_HOMING_FAIL_DISTANCE_MIN 2.5 // ਫਲੋਟ (mm)

I2C ਪੋਰਟ ਲਈ ਨੋਟ

ਐਨਾਲਾਗ 4 (A4) ਅਤੇ ਐਨਾਲਾਗ 5 (A5) ਨੂੰ Arduino Uno ਜਾਂ 2p 'ਤੇ I328C ਪੋਰਟ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਜਿੰਨਾ ਚਿਰ ਤੁਸੀਂ ਡਿਫਾਲਟ ਪੜਤਾਲ ਫੰਕਸ਼ਨ, ਮਿਸਟ ਕੂਲਰ, ਡੁਅਲ-ਐਕਸਿਸ, ਜਾਂ ਕਸਟਮ ALARM_STATE LED ਡਾਇਗਨੌਸਟਿਕ ਲਾਈਟ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ, I2C ਦੀ ਵਰਤੋਂ ਸੰਭਵ ਨਹੀਂ ਹੋਵੇਗੀ। ਕਾਰਜਕੁਸ਼ਲਤਾ ਵਧਾਉਣ ਲਈ ਕਿਸੇ ਹੋਰ Arduino ਨਾਲ ਸੰਚਾਰ D0 ਅਤੇ D1 'ਤੇ ਸੀਰੀਅਲ ਕੁਨੈਕਸ਼ਨ ਤੋਂ ਵੱਧ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।

ਸ਼ੁਰੂਆਤ ਕਰਨਾ (ਸਟੈਪਰ ਡਰਾਈਵਰ)

ਪਹਿਲਾਂ, ਤੁਹਾਡੀਆਂ ਸਟੈਪਰ ਮੋਟਰਾਂ ਨੂੰ Grbl ਨਾਲ ਜੋੜਨ ਲਈ, ਤੁਹਾਨੂੰ ਸਟੈਪਰਾਂ ਨੂੰ ਪਾਵਰ ਦੇਣ ਅਤੇ ਤੁਹਾਡੇ ਡਰਾਈਵਰ ਇਨਪੁਟਸ ਨੂੰ Arduino ਕੰਟਰੋਲਰ ਪਿੰਨਾਂ ਨਾਲ ਜੋੜਨ ਲਈ ਕੁਝ ਸਟੈਪਰ ਮੋਟਰ ਡਰਾਈਵਰਾਂ ਦੀ ਲੋੜ ਪਵੇਗੀ। ਇੱਥੇ ਬਹੁਤ ਸਾਰੇ ਡ੍ਰਾਈਵਰ ਹਨ ਜੋ ਅਜਿਹਾ ਕਰ ਸਕਦੇ ਹਨ, ਪੂਰੀ ਤਰ੍ਹਾਂ ਪਹਿਲਾਂ ਤੋਂ ਬਣੇ, ਅੰਸ਼ਕ ਤੌਰ 'ਤੇ ਪਹਿਲਾਂ ਤੋਂ ਬਣੇ, ਜਾਂ ਪੂਰੀ ਤਰ੍ਹਾਂ DIY ਵਜੋਂ ਉਪਲਬਧ ਹਨ। ਸਟੈਪਰ ਡਰਾਈਵਰਾਂ ਨੂੰ ਸ਼ੇਅਰ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ ਸਟੈਪਰ ਇਨੇਬਲ ਪਿੰਨ (D8) ਉਹਨਾਂ ਦੇ ਅਨੁਸਾਰੀ ਯੋਗ ਪਿੰਨਾਂ ਲਈ, ਜਦੋਂ ਕਿ ਦਿਸ਼ਾ ਅਤੇ ਕਦਮ ਪਲਸ ਪਿੰਨ (D2-D7) ਡਰਾਈਵਰਾਂ 'ਤੇ ਉਹਨਾਂ ਦੇ ਸੰਬੰਧਿਤ ਪਿੰਨਾਂ ਨਾਲ ਜੁੜਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ। ਬਸ ਇਹ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡੇ ਸਾਰੇ ਡਰਾਈਵਰ ਅਤੇ ਆਰਡਿਊਨੋ ਇੱਕ ਸਾਂਝਾ ਆਧਾਰ ਸਾਂਝਾ ਕਰੋ (ਤੁਹਾਡੀ ਮੋਟਰ ਡਰਾਈਵਰ ਪਾਵਰ ਨਾਲ ਆਧਾਰਿਤ ਸਟਾਰ)। ਇਹ ਉਹ ਸਭ ਕੁਝ ਹੈ ਜਿਸਦੀ ਤੁਹਾਨੂੰ ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ ਲੋੜ ਪਵੇਗੀ।

ਹੋਮਿੰਗ ਅਤੇ ਸੀਮਾ ਸਵਿੱਚ

ਬਾਅਦ ਵਿੱਚ, ਇੱਕ ਵਾਰ ਜਦੋਂ ਤੁਸੀਂ ਇਹ ਫੈਸਲਾ ਕਰ ਲੈਂਦੇ ਹੋ ਕਿ ਤੁਸੀਂ ਤਿਆਰ ਹੋ ਜਾਂ ਚਾਹੁੰਦੇ ਹੋ ਹੋਮਿੰਗ ਅਤੇ/ਜਾਂ ਸਖ਼ਤ ਸੀਮਾਵਾਂ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣ ਲਈ, ਤੁਹਾਨੂੰ ਇੱਕ ਨਾਲ ਜੁੜਨ ਦੀ ਲੋੜ ਪਵੇਗੀ ਆਮ ਤੌਰ 'ਤੇ ਖੁੱਲ੍ਹੀ ਸੀਮਾ ਸਵਿੱਚ ਸੀਮਾ ਪਿੰਨ ਦੇ ਹਰੇਕ ਨੂੰ (D9, D10, ਅਤੇ D12). ਹੋਮਿੰਗ ਅਤੇ ਹਾਰਡ ਸੀਮਾਵਾਂ ਇੱਕੋ ਸਵਿੱਚਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੀਆਂ ਹਨ। ਇਹ ਸੀਮਾ ਪਿੰਨ ਪਹਿਲਾਂ ਹੀ ਇੱਕ ਅੰਦਰੂਨੀ ਪੁੱਲ-ਅੱਪ ਰੋਧਕ ਦੇ ਨਾਲ ਉੱਚੇ ਰੱਖੇ ਹੋਏ ਹਨ, ਇਸ ਲਈ ਤੁਹਾਨੂੰ ਬਸ ਇਹਨਾਂ ਨੂੰ ਜ਼ਮੀਨ 'ਤੇ ਵਾਇਰ ਕਰਨਾ ਹੈ। ਇਸ ਲਈ ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਸਵਿੱਚ ਬੰਦ ਕਰਦੇ ਹੋ, ਤਾਂ ਸਵਿੱਚ ਸੀਮਾ ਪਿੰਨ ਨੂੰ ਜ਼ਮੀਨ 'ਤੇ ਖਿੱਚ ਲਵੇਗਾ। ਜੇਕਰ ਤੁਸੀਂ ਕਿਸੇ ਧੁਰੇ ਦੀ ਯਾਤਰਾ ਦੇ ਦੋਵਾਂ ਸਿਰਿਆਂ 'ਤੇ ਸਖ਼ਤ ਸੀਮਾ ਵਾਲੇ ਸਵਿੱਚਾਂ ਨੂੰ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਸਿਰਫ਼ ਧੁਰੇ ਦੀ ਸੀਮਾ ਪਿੰਨ ਅਤੇ ਜ਼ਮੀਨ ਦੇ ਸਮਾਨਾਂਤਰ ਦੋ ਸੀਮਾ ਸਵਿੱਚਾਂ ਨੂੰ ਤਾਰ ਦਿਓ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ ਹੋਮਿੰਗ ਚੱਕਰ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਵਿੱਚਾਂ ਨੂੰ ਸਥਾਪਿਤ ਕੀਤਾ ਹੋਇਆ ਹੈ, ਅਤੇ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ ਇਨਪੁਟ ਪਿੰਨਾਂ 'ਤੇ ਬਾਹਰੀ ਇਲੈਕਟ੍ਰਿਕ ਸ਼ੋਰ ਨੂੰ ਘੱਟ ਕਰਨ ਲਈ ਵਧੀਆ ਤਾਰਾਂ ਦੇ ਤਰੀਕਿਆਂ ਦਾ ਅਭਿਆਸ ਕਰਦੇ ਹੋ।

ਤਾਰਾਂ ਦੇ ਚੰਗੇ ਅਭਿਆਸਾਂ ਵਿੱਚ ਢਾਲ ਵਾਲੀਆਂ ਕੇਬਲਾਂ ਜਾਂ cl ਦੀ ਵਰਤੋਂ ਸ਼ਾਮਲ ਹੋ ਸਕਦੀ ਹੈamp-ਫੇਰਾਈਟ ਕੇਬਲ ਕੋਰ 'ਤੇ, ਅਤੇ ਡੀਬਾਉਂਸਿੰਗ / ਸ਼ੋਰ ਫਿਲਟਰਿੰਗ ਲਈ ਸੀਮਾ ਸਵਿੱਚਾਂ ਦੇ ਸਮਾਨਾਂਤਰ ਕੁਝ 0.1uF ਕੈਪਸੀਟਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ। ਮੋਟਰ ਦੀਆਂ ਤਾਰਾਂ ਨੂੰ ਸੀਮਾ ਸਵਿੱਚ ਦੀਆਂ ਤਾਰਾਂ ਤੋਂ ਦੂਰ ਰੱਖਣਾ ਵੀ ਇੱਕ ਚੰਗਾ ਵਿਚਾਰ ਹੋ ਸਕਦਾ ਹੈ।

ਜੇ ਤੁਸੀਂ ਚਾਹੋ ਤਾਂ ਆਮ ਤੌਰ 'ਤੇ ਬੰਦ ਸੀਮਾ ਸਵਿੱਚਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ GRBL ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨਾ ਸੰਭਵ ਹੈ। ਕੁਝ ਮਹਿਸੂਸ ਕਰਦੇ ਹਨ ਕਿ ਆਮ ਤੌਰ 'ਤੇ ਬੰਦ ਸੀਮਾ ਸਵਿੱਚ ਸੀਮਾ ਸਵਿੱਚ ਅਸਫਲ ਹੋਣ ਦੀ ਸਥਿਤੀ ਵਿੱਚ ਇੱਕ ਘਾਤਕ ਕਰੈਸ਼ ਨੂੰ ਘਟਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦੇ ਹਨ। ਬਹੁਤ ਸਾਰੇ ਉਪਭੋਗਤਾ ਕਿਸੇ ਵੀ ਸੀਮਾ ਸਵਿੱਚ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਛੱਡ ਦਿੰਦੇ ਹਨ ਅਤੇ ਇਸਦੀ ਬਜਾਏ ਸੌਫਟਵੇਅਰ ਸੀਮਾਵਾਂ ਦੀ ਚੋਣ ਕਰਦੇ ਹਨ।

ਕੰਟਰੋਲ ਬਟਨ

Grbl v0.8 ਅਤੇ ਬਾਅਦ ਵਿੱਚ, ਚੱਕਰ ਸ਼ੁਰੂ, ਫੀਡ ਹੋਲਡ, ਅਤੇ ਰਨਟਾਈਮ ਕਮਾਂਡਾਂ ਨੂੰ ਰੀਸੈਟ ਕਰਨ ਦੇ ਪਿਨ-ਆਊਟ ਹਨ, ਤਾਂ ਜੋ ਤੁਸੀਂ ਆਪਣੀ ਮਸ਼ੀਨ 'ਤੇ ਫਿਜ਼ੀਕਲ ਕੰਟਰੋਲ ਬਟਨ ਰੱਖ ਸਕੋ। ਸੀਮਾ ਪਿੰਨਾਂ ਵਾਂਗ, ਇਹ ਪਿੰਨਾਂ ਨੂੰ ਇੱਕ ਅੰਦਰੂਨੀ ਪੁੱਲ-ਅੱਪ ਰੋਧਕ ਨਾਲ ਉੱਚਾ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ, ਇਸਲਈ ਤੁਹਾਨੂੰ ਬਸ ਹਰ ਇੱਕ ਪਿੰਨ ਅਤੇ ਜ਼ਮੀਨ ਨਾਲ ਇੱਕ ਆਮ-ਖੁੱਲ੍ਹੇ ਸਵਿੱਚ ਨੂੰ ਜੋੜਨਾ ਹੈ। ਦੁਬਾਰਾ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ ਇਨਪੁਟ ਪਿੰਨਾਂ 'ਤੇ ਬਾਹਰੀ ਇਲੈਕਟ੍ਰਿਕ ਸ਼ੋਰ ਨੂੰ ਘੱਟ ਕਰਨ ਲਈ ਤਾਰਾਂ ਦੇ ਚੰਗੇ ਤਰੀਕਿਆਂ ਦਾ ਅਭਿਆਸ ਕਰਦੇ ਹੋ।

ਸਪਿੰਡਲ ਅਤੇ ਕੂਲੈਂਟ ਪਿੰਨ

ਜੇ ਤੁਹਾਨੂੰ ਸਪਿੰਡਲ ਦੀ ਇੱਛਾ ਜਾਂ ਜ਼ਰੂਰਤ ਹੈ (ਡੀ 13) ਜਾਂ ਕੂਲੈਂਟ ਕੰਟਰੋਲ (A3 ਅਤੇ A4) , Grbl ਇਹਨਾਂ ਆਉਟਪੁੱਟ ਪਿਨਾਂ ਨੂੰ ਉੱਚ ਜਾਂ ਨੀਵਾਂ ਟੌਗਲ ਕਰੇਗਾ, ਤੁਹਾਡੇ ਦੁਆਰਾ Grbl ਨੂੰ ਭੇਜੇ ਗਏ G-ਕੋਡ ਕਮਾਂਡਾਂ ਦੇ ਅਧਾਰ ਤੇ। v0.9+ ਅਤੇ ਵੇਰੀਏਬਲ ਸਪਿੰਡਲ PWM ਸਮਰਥਿਤ ਹੋਣ ਦੇ ਨਾਲ, D11 ਪਿੰਨ ਵੋਲ ਦੀ ਇੱਕ ਰੇਂਜ ਨੂੰ ਆਉਟਪੁੱਟ ਕਰੇਗਾtagਸਪਿੰਡਲ ਸਪੀਡ G-ਕੋਡ ਕਮਾਂਡ ਦੇ ਆਧਾਰ 'ਤੇ 0V ਤੋਂ 5V ਤੱਕ ਹੈ। 0V ਇਸ ਕੇਸ ਵਿੱਚ ਸਪਿੰਡਲ ਬੰਦ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਕਿਉਂਕਿ ਇਹ ਪਿੰਨ ਸਾਰੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ 'ਤੇ ਨਿਰਭਰ ਹਨ ਕਿ ਉਹ ਕਿਵੇਂ ਵਰਤੇ ਜਾਂਦੇ ਹਨ, ਅਸੀਂ ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਤੁਹਾਡੇ 'ਤੇ ਛੱਡ ਦੇਵਾਂਗੇ ਕਿ ਤੁਹਾਡੀ ਮਸ਼ੀਨ ਲਈ ਇਹਨਾਂ ਨੂੰ ਕਿਵੇਂ ਨਿਯੰਤਰਿਤ ਕਰਨਾ ਹੈ ਅਤੇ ਉਹਨਾਂ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ। ਤੁਸੀਂ ਸਪਿੰਡਲ ਅਤੇ ਕੂਲੈਂਟ ਕੰਟਰੋਲ ਸਰੋਤ ਨੂੰ ਵੀ ਹੈਕ ਕਰ ਸਕਦੇ ਹੋ fileਉਹਨਾਂ ਦੇ ਕੰਮ ਕਰਨ ਦੇ ਤਰੀਕੇ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਬਦਲਣਾ ਅਤੇ ਫਿਰ Arduino IDE ਦੁਆਰਾ ਆਪਣੇ ਸੋਧੇ ਹੋਏ Grbl ਨੂੰ ਕੰਪਾਇਲ ਅਤੇ ਅਪਲੋਡ ਕਰਨਾ ਹੈ।

ਡਾਇਗਨੌਸਟਿਕ LED ਲਾਈਟ

ਮਸ਼ੀਨ ਕਰੈਸ਼ ਜਾਂ ਅਲਾਰਮ ਕੋਡ ਦੀ ਸਥਿਤੀ ਵਿੱਚ ਵਪਾਰਕ CNC ਮਸ਼ੀਨਾਂ ਵਿੱਚ ਅਕਸਰ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਡਾਇਗਨੌਸਟਿਕ LED ਬੀਕਨ ਹੁੰਦਾ ਹੈ। GRBL ਅਤੇ DIY CNC ਮਸ਼ੀਨਾਂ ਲਈ ਨਵੀਂਆਂ ਲਈ, ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਇਹ ਜਾਣਨ ਲਈ ਬਹੁਤ ਲਾਭਦਾਇਕ ਹੈ ਕਿ ALARM_STATE ਕਦੋਂ ਵਾਪਰਿਆ ਹੈ (ਜਿਵੇਂ ਕਿ ਹੋਮਿੰਗ ਅਤੇ ਸੀਮਾ ਸਵਿੱਚਾਂ ਨੂੰ ਸਮਰੱਥ ਹੋਣ ਨਾਲ ਮਸ਼ੀਨ ਨੂੰ ਘਰ ਬਣਾਉਣ ਵਿੱਚ ਅਸਫਲ ਹੋਣਾ)।

ਮੂਲ ਰੂਪ ਵਿੱਚ GRBL ਵਿੱਚ ਡਾਇਗਨੌਸਟਿਕ LED ਲਾਈਟ ਨਹੀਂ ਹੈ। ਇਹ ਇਸ ਲਈ ਹੈ ਕਿਉਂਕਿ 328p ਚਿੱਪ ਵਾਲੇ Ardunio UNO ਕੋਲ ਪ੍ਰੋਗਰਾਮਿੰਗ ਸਪੇਸ ਸੀਮਤ ਹੈ ਅਤੇ ਲਗਭਗ ਸਾਰੀ ਸਪੇਸ ਵਰਤਮਾਨ ਵਿੱਚ ਵਰਤੀ ਜਾ ਰਹੀ ਹੈ (ਹਾਲਾਂਕਿ ਸਾਰੀਆਂ ਨਹੀਂ!) ਇੰਨੀ ਘੱਟ ਮੈਮੋਰੀ ਵਾਲੇ ਯੰਤਰ 'ਤੇ ਹਰ ਲੋੜੀਂਦੀ ਵਿਸ਼ੇਸ਼ਤਾ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ, ਇਸ ਲਈ ਕਈ ਵਾਰ ਕੁਰਬਾਨੀਆਂ ਕਰਨੀਆਂ ਪੈਂਦੀਆਂ ਹਨ।

ਇਸ ਤੋਂ ਇਲਾਵਾ ਸਾਰੀਆਂ ਉਪਲਬਧ I/O ਪੋਰਟਾਂ ਵਰਤਮਾਨ ਵਿੱਚ ਵਰਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ ਅਤੇ ਅਜਿਹੀ ਰੋਸ਼ਨੀ ਲਈ ਘੱਟੋ-ਘੱਟ ਇੱਕ I/O ਪਿੰਨ ਦੀ ਲੋੜ ਹੈ। ਖੁਸ਼ਕਿਸਮਤੀ ਨਾਲ ਇਸ ਕਾਰਜਸ਼ੀਲਤਾ ਨੂੰ GRBL C ਕੋਡ ਨੂੰ ਹੈਕ ਕਰਕੇ ਆਸਾਨੀ ਨਾਲ ਜੋੜਿਆ ਜਾ ਸਕਦਾ ਹੈ ਅਤੇ 3p ਚਿੱਪ 'ਤੇ ਅਜੇ ਵੀ ਲਗਭਗ 328% ਮੈਮੋਰੀ ਉਪਲਬਧ ਹੈ!

ਬਹੁਤ ਸਾਰੀਆਂ ਮਸ਼ੀਨਾਂ ਇਸ ਵੇਲੇ ਐਨਾਲਾਗ 4 'ਤੇ ਵਿਕਲਪਿਕ MIST COOLANT ਵਿਸ਼ੇਸ਼ਤਾ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰਦੀਆਂ ਹਨ, ਇਸਲਈ ਅਸੀਂ ਆਪਣੀ ਵਰਤੋਂ ਲਈ ਇਸ ਪਿੰਨ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਮੁੜ ਪਰਿਭਾਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹਾਂ। ਇੱਕ ਵਿਕਲਪਿਕ ਤਰੀਕਾ ਇੱਕ ਬਾਹਰੀ Arduino 'ਤੇ ਅਜਿਹੀਆਂ LED ਲਾਈਟਾਂ ਨੂੰ ਕੋਡ ਕਰਨਾ ਹੋ ਸਕਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਫਿਰ ਸਾਰੇ I/O ਪੋਰਟ ਉਪਲਬਧ ਹੋਣਗੇ ਜਿੱਥੇ ਕੋਈ ਚਾਹੇ ਜਿੰਨੀਆਂ LED ਲਾਈਟਾਂ/ਬਜ਼ਰਾਂ ਨੂੰ ਵਾਇਰ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਸੀਰੀਅਲ ਜਾਂ I2C 'ਤੇ ਸੰਚਾਰ ਕਰ ਸਕਦਾ ਹੈ।

CNDY ਸ਼ੀਲਡ 'ਤੇ ਅਲਾਰਮ LED ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ GRBL ਸਰੋਤ ਕੋਡ ਨੂੰ ਹੈਕ ਕਰਨ ਲਈ ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਦਿੱਤੇ ਕੰਮ ਕਰੋ:

ਕਦਮ 1: ਲੀਨਕਸ ਜਾਂ ਮੈਕਿਨਟੋਸ਼ ਉੱਤੇ ਇੱਕ ਟੈਕਸਟ ਐਡੀਟਰ ਖੋਲ੍ਹੋ (ਵਿੰਡੋਜ਼ ਉੱਤੇ ਨੋਟਪੈਡ++ ਦੀ ਵਰਤੋਂ ਕਰੋ) ਅਤੇ ਸੰਪਾਦਿਤ ਕਰੋ cpu_map.h file:

ਇਸਨੂੰ ਬਦਲੋ:

// ਫਲੱਡ ਅਤੇ ਮਿਸਟ ਕੂਲੈਂਟ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ਆਉਟਪੁੱਟ ਪਿੰਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ।
# COOLANT_FLOOD_DDR DDRC ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
# COOLANT_FLOOD_PORT PORTC ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
#define COOLANT_FLOOD_BIT 3 // Uno ਐਨਾਲਾਗ ਪਿੰਨ 3
# COOLANT_MIST_DDR DDRC ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
# COOLANT_MIST_PORT PORTC ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
#define COOLANT_MIST_BIT 4 // Uno ਐਨਾਲਾਗ ਪਿੰਨ 4

ਇਸ ਲਈ:

// ਫਲੱਡ ਅਤੇ ਮਿਸਟ ਕੂਲੈਂਟ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ਆਉਟਪੁੱਟ ਪਿੰਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ।
# COOLANT_FLOOD_DDR DDRC ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
# COOLANT_FLOOD_PORT PORTC ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
#define COOLANT_FLOOD_BIT 3 // Uno ਐਨਾਲਾਗ ਪਿੰਨ 3
//#COOLANT_MIST_DDR DDRC ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
//#COOLANT_MIST_PORT PORTC ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
//#define COOLANT_MIST_BIT 4 // Uno ਐਨਾਲਾਗ ਪਿੰਨ 4

///////////////

// ਅਲਾਰਮ LED ਆਉਟਪੁੱਟ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
#SIGNAL_LIGHT_DDR DDRC ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
#SIGNAL_LIGHT_PORT PORTC ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
#define SIGNAL_LIGHT_BIT 4 // Uno ਐਨਾਲਾਗ ਪਿੰਨ 4

// # ਪਰਿਭਾਸ਼ਿਤ ਸਿਗਨਲ_ਲਾਈਟ(ਚਾਲੂ) (SIGNAL_LIGHT_DDR |= (1<

// # ਪਰਿਭਾਸ਼ਿਤ ਸਿਗਨਲ_ਲਾਈਟ_ਇਨਿਟ() ਸਿਗਨਲ_ਲਾਈਟ(ਬੰਦ)

#ਸਿਗਨਲ_ਲਾਈਟ_ਇਨਿਟ ਸਿਗਨਲ_ਲਾਈਟ_ਆਫ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ

# ਪਰਿਭਾਸ਼ਿਤ ਸਿਗਨਲ_ਲਾਈਟ_ਆਨ (SIGNAL_LIGHT_DDR |= SIGNAL_LIGHT_PORT |= (1<

#ਸਿਗਨਲ_ਲਾਈਟ_ਆਫ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ (SIGNAL_LIGHT_DDR |= SIGNAL_LIGHT_PORT &= ~(1<

///////////////

ਕਦਮ 2: ਲੀਨਕਸ ਜਾਂ ਮੈਕਿਨਟੋਸ਼ ਉੱਤੇ ਇੱਕ ਟੈਕਸਟ ਐਡੀਟਰ ਖੋਲ੍ਹੋ (ਵਿੰਡੋਜ਼ ਉੱਤੇ ਨੋਟਪੈਡ++ ਦੀ ਵਰਤੋਂ ਕਰੋ) ਅਤੇ ਸੰਪਾਦਿਤ ਕਰੋ protocol.c file:

ਇਸਨੂੰ ਬਦਲੋ:

// ਰਨ-ਟਾਈਮ ਕਮਾਂਡਾਂ ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ, ਜਦੋਂ ਲੋੜ ਹੋਵੇ। ਇਹ ਫੰਕਸ਼ਨ ਮੁੱਖ ਤੌਰ 'ਤੇ Grbl ਦੀ ਸਥਿਤੀ ਵਜੋਂ ਕੰਮ ਕਰਦਾ ਹੈ
// ਮਸ਼ੀਨ ਅਤੇ Grbl ਦੁਆਰਾ ਪੇਸ਼ ਕੀਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਵੱਖ-ਵੱਖ ਰੀਅਲ-ਟਾਈਮ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਦੀ ਹੈ।
// ਨੋਟ: ਇਸ ਨੂੰ ਉਦੋਂ ਤੱਕ ਨਾ ਬਦਲੋ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਬਿਲਕੁਲ ਨਹੀਂ ਜਾਣਦੇ ਕਿ ਤੁਸੀਂ ਕੀ ਕਰ ਰਹੇ ਹੋ! void protocol_exec_rt_system()
{

uint8_t rt_exec; // ਅਸਥਿਰ ਕਈ ਵਾਰ ਕਾਲ ਕਰਨ ਤੋਂ ਬਚਣ ਲਈ ਟੈਂਪ ਵੇਰੀਏਬਲ।
rt_exec = sys_rt_exec_alarm; // ਅਸਥਿਰ sys_rt_exec_alarm ਕਾਪੀ ਕਰੋ.
if (rt_exec) {// ਕੇਵਲ ਤਾਂ ਹੀ ਦਾਖਲ ਕਰੋ ਜੇਕਰ ਕੋਈ ਬਿੱਟ ਫਲੈਗ ਸਹੀ ਹੈ

// ਸਿਸਟਮ ਅਲਾਰਮ. ਸਭ ਕੁਝ ਉਸ ਚੀਜ਼ ਦੁਆਰਾ ਬੰਦ ਹੋ ਗਿਆ ਹੈ ਜੋ ਬੁਰੀ ਤਰ੍ਹਾਂ ਗਲਤ ਹੋ ਗਿਆ ਹੈ। ਰਿਪੋਰਟ
// ਉਪਭੋਗਤਾ ਨੂੰ ਗਲਤੀ ਦਾ ਸਰੋਤ. ਜੇਕਰ ਨਾਜ਼ੁਕ ਹੋਵੇ, ਤਾਂ Grbl ਅਨੰਤ ਦਰਜ ਕਰਕੇ ਅਯੋਗ ਕਰ ਦਿੰਦਾ ਹੈ
// ਸਿਸਟਮ ਰੀਸੈਟ/ਅਬੌਰਟ ਹੋਣ ਤੱਕ ਲੂਪ।

sys.state = STATE_ALARM; // ਸਿਸਟਮ ਅਲਾਰਮ ਸਥਿਤੀ ਸੈਟ ਕਰੋ

report_alarm_message(rt_exec);

ਇਸ ਲਈ:

// ਰਨ-ਟਾਈਮ ਕਮਾਂਡਾਂ ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ, ਜਦੋਂ ਲੋੜ ਹੋਵੇ। ਇਹ ਫੰਕਸ਼ਨ ਮੁੱਖ ਤੌਰ 'ਤੇ Grbl ਦੀ ਸਥਿਤੀ ਵਜੋਂ ਕੰਮ ਕਰਦਾ ਹੈ
// ਮਸ਼ੀਨ ਅਤੇ Grbl ਦੁਆਰਾ ਪੇਸ਼ ਕੀਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਵੱਖ-ਵੱਖ ਰੀਅਲ-ਟਾਈਮ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਦੀ ਹੈ।
// ਨੋਟ: ਇਸ ਨੂੰ ਉਦੋਂ ਤੱਕ ਨਾ ਬਦਲੋ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਬਿਲਕੁਲ ਨਹੀਂ ਜਾਣਦੇ ਕਿ ਤੁਸੀਂ ਕੀ ਕਰ ਰਹੇ ਹੋ!
void protocol_exec_rt_system()
{

uint8_t rt_exec; // ਅਸਥਿਰ ਕਈ ਵਾਰ ਕਾਲ ਕਰਨ ਤੋਂ ਬਚਣ ਲਈ ਟੈਂਪ ਵੇਰੀਏਬਲ।
rt_exec = sys_rt_exec_alarm; // ਅਸਥਿਰ sys_rt_exec_alarm ਕਾਪੀ ਕਰੋ.

///////////////////

// ਅਲਾਰਮ LED ਆਉਟਪੁੱਟ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
signal_light_init; // init LED ਬੰਦ ਸਥਿਤੀ ਵਿੱਚ
ਜੇਕਰ (sys.state==STATE_ALARM) {signal_light_on;}
ਹੋਰ ਜੇਕਰ (sys.state!=STATE_ALARM) {signal_light_off;}
// ਹੋਰ {signal_light_off;}

///////////////////

if (rt_exec) {// ਕੇਵਲ ਤਾਂ ਹੀ ਦਾਖਲ ਕਰੋ ਜੇਕਰ ਕੋਈ ਬਿੱਟ ਫਲੈਗ ਸਹੀ ਹੈ
// ਸਿਸਟਮ ਅਲਾਰਮ. ਸਭ ਕੁਝ ਉਸ ਚੀਜ਼ ਦੁਆਰਾ ਬੰਦ ਹੋ ਗਿਆ ਹੈ ਜੋ ਬੁਰੀ ਤਰ੍ਹਾਂ ਗਲਤ ਹੋ ਗਿਆ ਹੈ। ਰਿਪੋਰਟ
// ਉਪਭੋਗਤਾ ਨੂੰ ਗਲਤੀ ਦਾ ਸਰੋਤ. ਜੇਕਰ ਨਾਜ਼ੁਕ ਹੋਵੇ, ਤਾਂ Grbl ਅਨੰਤ ਦਰਜ ਕਰਕੇ ਅਯੋਗ ਕਰ ਦਿੰਦਾ ਹੈ
// ਸਿਸਟਮ ਰੀਸੈਟ/ਅਬੌਰਟ ਹੋਣ ਤੱਕ ਲੂਪ।
sys.state = STATE_ALARM; // ਸਿਸਟਮ ਅਲਾਰਮ ਸਥਿਤੀ ਸੈਟ ਕਰੋ
report_alarm_message(rt_exec);

ਅਸੀਂ ਹੁਣੇ ਹੀ ਐਨਾਲਾਗ 4 (A4) ਦੇ ਪਰਿਭਾਸ਼ਿਤ ਫੰਕਸ਼ਨ ਨੂੰ ਵਿਕਲਪਿਕ ਮਿਸਟ ਕੂਲੈਂਟ ਤੋਂ ਸਾਡੀ LED ਲਾਈਟ ਵਿੱਚ ਬਦਲਣਾ ਸੀ। ਫਿਰ ਅਸੀਂ (PC4) ਪੋਰਟ C 4 (ਐਨਾਲਾਗ 4) ਉੱਚ ਜਾਂ ਘੱਟ ਲਿਖਣ ਦੇ ਯੋਗ ਹੋਣ ਲਈ C ਵਿੱਚ ਕੋਡ ਲਿਖਿਆ, ਇਸ ਗੱਲ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਇਸਨੂੰ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰਨ ਲਈ ਕਿਹਾ ਗਿਆ ਸੀ। ਫਿਰ ਅਸੀਂ GRBL ਸਟੇਟ ਮਸ਼ੀਨ ਦੀ ਜਾਂਚ ਕਰਨ ਅਤੇ ਸਾਨੂੰ ਇਹ ਦੱਸਣ ਲਈ ਇੱਕ ਸਧਾਰਨ if-else ਸਟੇਟਮੈਂਟ ਲਿਖਿਆ ਕਿ ਕੀ ਅਸੀਂ ਇੱਕ ਕਿਰਿਆਸ਼ੀਲ ALARM_STATE ਵਿੱਚ ਹਾਂ, ਅਤੇ ਅਸੀਂ LED ਨੂੰ ਕਦੋਂ ਚਾਲੂ ਕਰਨਾ ਹੈ।

ਜੇਕਰ ਸਭ ਕੁਝ ਠੀਕ ਚੱਲਦਾ ਹੈ ਤਾਂ ਅਸੀਂ Arduino IDE ਵਿੱਚ ਕੰਪਾਇਲ ਕਰ ਸਕਦੇ ਹਾਂ, ਕੋਡ ਅੱਪਲੋਡ ਕਰ ਸਕਦੇ ਹਾਂ, ਅਤੇ ਸਾਡੇ ਕੋਲ ਹੁਣ ਇੱਕ ਕੰਮ ਕਰਨ ਵਾਲੀ ALARM_STATE LED ਡਾਇਗਨੌਸਟਿਕ ਲਾਈਟ ਹੋਵੇਗੀ! ਅਸੀਂ ਵਿਕਲਪਿਕ ਤੌਰ 'ਤੇ ਇੱਕ ਬਾਹਰੀ LED ਬੀਕਨ ਲਾਈਟ ਨੂੰ ਮਸ਼ੀਨ ਦੇ ਉੱਪਰ ਰੱਖਣ ਲਈ ਜੋੜ ਸਕਦੇ ਹਾਂ ਜੋ ਕਮਰੇ ਵਿੱਚ ਦਿਖਾਈ ਦੇਵੇਗੀ।

ਸੰਭਵ ਸਮੱਸਿਆਵਾਂ

ਆਦਰਸ਼ਕ ਤੌਰ 'ਤੇ ਇਹ ਤਬਦੀਲੀਆਂ ਉਪਲਬਧ ਸਭ ਤੋਂ ਮੌਜੂਦਾ grbl ਸਰੋਤ ਕੋਡ ਨਾਲ ਕੀਤੀਆਂ ਜਾਣਗੀਆਂ ਅਤੇ Arduino IDE ਵਿੱਚ grbl “ਲਾਇਬ੍ਰੇਰੀ” ਨੂੰ ਜੋੜਨ ਤੋਂ ਪਹਿਲਾਂ ਕੀਤੀਆਂ ਜਾਣਗੀਆਂ। ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਆਪਣੇ Arduino ਲਾਇਬ੍ਰੇਰੀ ਫੋਲਡਰ ਵਿੱਚ grbl ਹੈ ਤਾਂ ਤੁਹਾਨੂੰ ਹੱਥੀਂ ਬ੍ਰਾਊਜ਼ ਕਰਨ ਅਤੇ grbl ਫੋਲਡਰ ਨੂੰ ਮਿਟਾਉਣ ਜਾਂ ਸੰਪਾਦਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ। files arduino ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਅੰਦਰ. ਮੇਰੀ ਲੀਨਕਸ ਮਸ਼ੀਨ 'ਤੇ "ਲਾਇਬ੍ਰੇਰੀ" ਇੱਥੇ ਮਿਲਦੀ ਹੈ: /home/andrew/Arduino/libraries/grbl. ਸਭ ਤੋਂ ਤਾਜ਼ਾ grbl ਰੀਲੀਜ਼ ਇੱਥੇ ਲੱਭੀ ਜਾ ਸਕਦੀ ਹੈ https://github.com/gnea/grbl/releases. ਕੋਈ ਉਪਲਬਧ ਜ਼ਿਪ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰ ਸਕਦਾ ਹੈ file ਅਤੇ grbl-1.1h.20190825 ਨਾਂ ਦਾ ਫੋਲਡਰ ਅੰਦਰ ਪਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। ਇਸ ਫੋਲਡਰ ਦੇ ਅੰਦਰ grbl ਨਾਮ ਦਾ ਇੱਕ ਫੋਲਡਰ ਹੋਵੇਗਾ ਜਿਸਨੂੰ ਤੁਸੀਂ Arduino IDE ਵਿੱਚ "ਲਾਇਬ੍ਰੇਰੀ" "ਜ਼ਿਪ" ਵਜੋਂ ਜੋੜਨਾ ਚਾਹੋਗੇ। file". cpu_map.h ਅਤੇ protocol.c ਵਿੱਚ ਆਪਣੀਆਂ ਤਬਦੀਲੀਆਂ ਕਰਨਾ ਯਕੀਨੀ ਬਣਾਓ fileਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਤੁਸੀਂ ਇਸਨੂੰ Arduino IDE ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ। ਨਹੀਂ ਤਾਂ ਤੁਹਾਨੂੰ ਸੰਪਾਦਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ fileਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀਆਂ/grbl ਫੋਲਡਰ ਦੇ ਅੰਦਰ ਹੈ। grbl-1.1h zip ਵਿੱਚ ਡਿਊਲ ਐਕਸਿਸ ਫੀਚਰ ਲਈ ਇੱਕ ਜਾਣਿਆ ਬੱਗ ਹੈ file, ਜੇਕਰ ਤੁਸੀਂ ਇਸਦੀ ਬਜਾਏ ਮੁੱਖ grbl ਬ੍ਰਾਂਚ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਦੇ ਹੋ ਤਾਂ ਇਹ ਸਥਿਰ ਹੈ। https://github.com/gnea/grbl

CNDY ਸ਼ੀਲਡ ਅੱਪਡੇਟ ਅਤੇ ਤਰੁੱਟੀਆਂ

*V1.1: ਇੱਕ ਛੋਟੀ ਜਿਹੀ ਸਿਲਕਸਕ੍ਰੀਨ ਗਲਤੀ ਹੈ ਜਿੱਥੇ ਸਪਿੰਡਲ PWM ਅਤੇ ਸਪਿੰਡਲ ਡਾਇਰੈਕਸ਼ਨ ਨੂੰ ਬਦਲਿਆ ਜਾਂਦਾ ਹੈ। ਇਸਨੂੰ V1.2 ਵਿੱਚ ਠੀਕ ਕੀਤਾ ਗਿਆ ਹੈ।

V1.2 ਕੋਲ ਹੁਣ 5v ਲਾਈਨ 'ਤੇ ਵਿਕਲਪਿਕ ਸ਼ੋਰ ਘਟਾਉਣ ਵਾਲੇ ਕੈਪੇਸੀਟਰ ਨਹੀਂ ਹਨ, ਅਤੇ ਹੋਰ ਇਨਪੁਟ ਬਟਨ ਲਾਈਨਾਂ 'ਤੇ ਨਵੇਂ ਹਨ। V1.2 ਵਿੱਚ ਸਪਿੰਡਲ PWM ਦੇ ਸਮਾਨਾਂਤਰ ਇੱਕ ਵਿਕਲਪਿਕ LED ਵਾਇਰ ਹੈ। ਇਹ ਸੁਰੱਖਿਆ ਲਈ ਲੇਜ਼ਰ ਸੈੱਟਅੱਪ ਲਈ ਲਾਭਦਾਇਕ ਹੋ ਸਕਦਾ ਹੈ।

ਅਗਸਤ-28-2021 ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ

ਵਧੀਕ ਜਾਣਕਾਰੀ 'ਤੇ ਲੱਭੀ ਜਾ ਸਕਦੀ ਹੈ RabbitMountainResearch.com.

ਦਸਤਾਵੇਜ਼ / ਸਰੋਤ

CNDY ਸ਼ੀਲਡ GRBL CNC Arduino UNO [pdf] ਯੂਜ਼ਰ ਗਾਈਡ
GRBL CNC, Arduino UNO

ਹਵਾਲੇ

ਇੱਕ ਟਿੱਪਣੀ ਛੱਡੋ

ਤੁਹਾਡਾ ਈਮੇਲ ਪਤਾ ਪ੍ਰਕਾਸ਼ਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ। ਲੋੜੀਂਦੇ ਖੇਤਰਾਂ ਨੂੰ ਚਿੰਨ੍ਹਿਤ ਕੀਤਾ ਗਿਆ ਹੈ *