I am now in the process of configuring my CNC phase of my multufunctional machine (3d printer, laser, cnc, etc.). Is it better to use a fan output (M106) rather than a heater output (M42) to control the speed?
Latest posts made by dawgheart
-
CNC speed control
-
RE: Heater setup RRF3.1.1
Hi both, so I have solved this issue using the following configuration. Basically i separated out the M950 commands. Having the F0 & F1 command in the same line as the others was what was causing the problem. I have upgraded from firmware 2.04 to 3.1.1 so some of the changes are all new to me so I am learning as I go along.
;EXTRUDER HEATER 1
M591 S1 P1 C"e0stop" ; Heater 1 uses E0 stop for the filament sensors for drives 0.
M308 S1 P"e0temp" Y"Thermistor" T4606017 B5848 C5.548428E-8 R4700 A"Dyze Hotend" ; Create thermistor sensor + ADC parameters for heater 1 (E0)
M950 H1 C"e0heat" T1 ; Assign Heater 1 and associate it with temperature sensor 1
M950 H1 F0 ; Associate Heater 1 with fan0
M950 H1 F1 ; Associate Heater 1 with fan1
M143 H1 S490 ; Set temperature limit for heater 1 (E0) to 490C
M307 H1 A659 C363.6 D14.3 S0.50 ; Heater 1 (E0) process parameter for 24V system
M563 P0 D0 H1 F0:1 ; Define tool 1
G10 P0 X39 Y20 Z0 ; Set tool 1 axis offsets
G10 P0 R0 S0 ; Set initial tool 1 active and standby temperatures to 0Cthanks for your help with this.
-
RE: Heater setup RRF3.1.1
The inversion was me trying different things to solve the issue. Removing the exclamation marks from the heaters didn't solved the issue either. I still can't actively use the hotend. I've tried so many things I've now run out of options. Please see my entire config.g file below. I am still in the testing phase and have only managed to get to the heaters which is where I am stuck at the moment:
;Kinematics type
M669 K0 ; Set kinematic movements as Cartesian
;***************************************************************************************************************************************************************************************
;****************** Drives Movement Direction******************************************************************************************************************************************* ;***************************************************************************************************************************************************************************************
M569 P0 S1 ; X axis motor physical drive 0 goes backwards
M569 P1 S1 ; Y axis motor physical drive 1 goes backwards and controls 1 of 2 motors
M569 P2 S0 ; Z axis motor physical drive 2 goes forward and controls 1 0f 4 z motors.
M569 P3 S1 ; E0 (Extruder 0) motor physical drive 3 goes backwards
M569 P5 S0 ; E2 motor on duex5 physical drive 5 goes forwards and also controls 1 of 4 Z motors
M569 P6 S0 ; E3 motor on duex5 physical drive 6 goes forwards and also controls 1 of 4 Z motors
M569 P7 S0 ; E4 motor on duex5 physical drive 7 goes forwards and also controls 1 of 4 Z motors
M569 P8 S0 ; E5 (Y) axis motor on duex 5 physical drive 8 goes backwards and controls the second Y motor
;M569 P9 S0 ; E6 motor on duex5 physical drive 9 goes forwards
;****************************************************************************************************************************************************************************************
;**************** DRIVE MAPPING********************************************************************************************************************************************************** ;****************************************************************************************************************************************************************************************
M584 X0 Y1:8 Z2:5:6:7 E3 ; Drive 0 controls X, drive 1 & 8 controls Y, drive 2a/2b & 9 controls Z, drives 3 controls extruder 0 (dyzend)
;****************************************************************************************************************************************************************************************
;**************** DRIVE STEPS/MM ********************************************************************************************************************************************************
;****************************************************************************************************************************************************************************************
M350 X16 Y16 Z16 E16 I1 ; Configure 16x micro-stepping with interpolation to 256x for X,Y,Z motors.
M92 X214.81 Y79.21 Z400.04 ; Set steps/mm for X,Y,Z motors.
M92 E642.22 ; Set steps/mm for Extruder motor.
G21 ; Work in millimeters
;****************************************************************************************************************************************************************************************
;**************** DRIVE SPEEDS*********************************************************************************************************************************************************** ;****************************************************************************************************************************************************************************************
M566 X900.00 Y900.00 Z300.00 E300.00 ; Set maximum instantaneous speed changes (mm/min)
M203 X10000.00 Y10000.00 Z500.00 E2000.00 ; Set maximum speeds (mm/min)
M204 P540 T2700 ; Set print speed to 540 mm/s and travel speed to 2700 mm/s.
M201 X10000.00 Y10000.00 Z3600.00 E3600.00 ; Set accelerations (mm/s^2)
M593 F80 ; Set dynamic acceleration adjustment to 80Hz
;****************************************************************************************************************************************************************************************
;**************** DRIVE CURRENT********************************************************************************************************************************************************** ;****************************************************************************************************************************************************************************************
M906 X2000 Y2000:2000 Z1000:1000:1000:1000 E640 I80 ; Set motor currents (mA) and motor idle factor in per cent
M84 S60 ; Set idle timeout
;****************************************************************************************************************************************************************************************
;*************** AXIS LIMITS************************************************************************************************************************************************************* ;****************************************************************************************************************************************************************************************
M208 X0 Y0 Z0 S1 ; Set axis minima
M208 X525 Y460 Z425.25 S0 ; Set axis maxima
;****************************************************************************************************************************************************************************************
;ENDSTOPS************************************************************************************************************************************************
;****************************************************************************************************************************************************************************************
; Enstops names are: xstop,ystop,zstop,e0stop,e1stop,duex.e2stop,duex.e3stop,duex.e4stop,duex.e5stop,duex.e6stop
M574 X1 S1 P"!xstop" ; X min active low endstop switch
M574 Y1 S1 P"!ystop" ; Y min active low endstop switch
M574 Z1 S2 ; Z min active high endstop switch controlled by probe
;****************************************************************************************************************************************************************************************
;Z Probe***********************************************************************************************************************************
;****************************************************************************************************************************************************************************************
M558 P5 C"!zprobe.in" H3 F500 T6000 A3 ; Set Z probe type (P5 NC) to switch, the dive height (3mm), dive speed (500mm/min) + speed of travel to probe coordinates (6000mm/min).
G31 P1000 X39 Y20 Z1.8135 ; Set Z probe trigger value, offset and trigger height
M557 X0:530 Y0:460 R19 P30 ; Define mesh grid co-ordinates with X axes separated by 120mm, Y axes separated by 88mm, probe radius = 9mm and 30 probe points (max 32 probe points).
M671 X550:-40:90:460 Y-100:-100:385:385 ; Z axis leadscrews are at X-40:Y-100, X550:Y-100, X90:Y385 and X460:Y385.
;
;********************************************************************************************************************************************************************************************************************
;HEATERS & TOOL ASSIGNMENT******************************************************************************************************************************************************************************************************
; Heater names are !bedheat (H0), !e0heat(H1),!e1heat(H2),!duex.e2heat(H3),!duex.e3heat(H4),!duex.e4heat(H5),!duex.e5heat(H6),duex.e6heat(H7)
; Temperature sensors are bedtemp(T0,S0), e0temp(T1,S1),!e1temp(T2,S2),!duex.e2temp(T3,S3),!duex.e3temp(T4,S4),!duex.e4temp(T5,S5),!duex.e5temp(T6,S6),duex.e6temp(T7,S7)
;BED HEATER 0
M140 H0 ; Heater 0 is the Bed Heater
M308 S0 P"bedtemp" Y"Thermistor" T100000 B3950 R4700 A"Bed Heater" ; Create bed thermistor sensor + ADC parameters for heater 0
M950 H0 C"bedheat" T0 ; Assign Heater 0 and associate it temperature sensor 0
M143 H0 S150 ; Set temperature limit for heater 0 to 150C
M307 H0 B0 A1.889 C2077.6 D6.0 S1.00 ; Select bang-bang mode for the bed heater
;M304 P327.8 I2.94 D1374.3 ; Set bed PWM
;
;EXTRUDER HEATER 1
M591 S1 P1 C"e0stop" ; Heater 1 uses E0 stop for the filament sensors for drives 0.
M308 S1 P"e0temp" Y"Thermistor" T4606017 B5848 C5.548428E-8 R4700 A"Dyze Hotend" ; Create thermistor sensor + ADC parameters for heater 1 (E0)
M950 H1 F0:1 C"e0heat" T1 ; Assign Heater 1 and associate it with F0 & F1, pwm at 100Hz. Associate it with temperature sensor 1
M143 H1 S490 ; Set temperature limit for heater 1 (E0) to 490C
M307 H1 A659 C363.6 D14.3 S0.50 ; Heater 1 (E0) process parameter for 24V system
M563 P0 D0 H1 F0:1 ; Define tool 1
G10 P0 X39 Y20 Z0 ; Set tool 1 axis offsets
G10 P0 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C
;
;CHAMBER HEATER 5
M141 H2 ; Heater 2 is chamber heater.
M308 S2 P"e1temp" Y"Thermistor" T100000 B3950 R4138 A"Chamber" ; Create chamber thermistor + ADC parameters for heater 2 which is connected to sensor 4 channel
M950 H2 C"e1heat" T2 ; Assign Heater 5 and associate it temperature sensor 4 on the duex5 board.
M143 H2 S90 ; Set temperature limit for heater 2 (E1) to 90C
M307 H2 B0 S1.00 ; Disable bang-bang mode for the chamber heater and set PWM limit
;
;****************************************************************************************************************************************************************************************************************************************
;***************************************************************************************************************************************************************************************************************************
;SWITCHES************************************************************************************************************************************************************************************************************************
;OXYHYDROGEN GENERATOR PWM SWITCH
M950 H3 C"nil" ; Disable Heater 3 (E2) to free up PWM channel on the Duex board.
M950 P3 C"exp.heater2" Q500 ; allocate GPIO port 3 to heater3 on expansion connector, 500Hz
;
;ACTIVATED CARBON HEPA FILTER PWM SWITCH
M950 H4 C"nil" ; Disable Heater 4 (E3) to free up PWM channel on the Duex board.
M950 P4 C"exp.heater3" Q500 ; allocate GPIO port 4 to heater3 on expansion connector, 500Hz
;
;LASER
;M950 H5 C"nil" ; Disable Heater 5 (E5) to free up PWM channel on the Duex board.
;M950 P5 C"duex.e5heat" Q500 ; allocate GPIO port 5 to heater5 on expansion connector, 500Hz
;M452 C"duex.e5heat" F100 ; laser uses heater6 pin, PWM frequency 100Hz
;****************************************************************************************************************************************************************************************************************************************
;FANS
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S1 H1 T35 ; set fan 0 value. Thermostatic control is turned on
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H1 T35 ; set fan 1 value. Thermostatic control is turned on
;
; Automatic power saving
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss
;
; Custom settings are not configured
;
; Miscellaneous
M575 P1 S1 B57600 ; enable support for PanelDue
M501 ; load saved parameters from non-volatile memory -
Heater setup RRF3.1.1
I've just about finish setting up my heaters but ran into an issue which is confusing me. This is the config.g layout below:
; Heater names are !bedheat (H0), !e0heat(H1),!e1heat(H2),!duex.e2heat(H3),!duex.e3heat(H4),!duex.e4heat(H5),!duex.e5heat(H6),duex.e6heat(H7)
; Temperature sensors are bedtemp(T0,S0), e0temp(T1,S1),!e1temp(T2,S2),!duex.e2temp(T3,S3),!duex.e3temp(T4,S4),!duex.e4temp(T5,S5),!duex.e5temp(T6,S6),duex.e6temp(T7,S7)
;BED HEATER 0
M140 H0 ; Heater 0 is the Bed Heater
M308 S0 P"!bed_temp" Y"Thermistor" T100000 B3950 R4700 A"Bed Heater" ; Create bed thermistor sensor + ADC parameters for heater 0
M950 H0 C"bedheat" T0 ; Assign Heater 0 and associate it temperature sensor 0
M143 H0 S150 ; Set temperature limit for heater 0 to 150C
M307 H0 B0 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit
;
;CHAMBER HEATER 5
M141 H2 ; Heater 2 is chamber heater.
M308 S2 P"!e1_temp" Y"Thermistor" T100000 B3950 R4138 A"Chamber" ; Create chamber thermistor + ADC parameters for heater 2 which is connected to sensor 4 channel
M950 H2 C"duex.e4heat" T2 ; Assign Heater 5 and associate it temperature sensor 4 on the duex5 board.
M143 H2 S100 ; Set temperature limit for heater 2 (E1) to 100C
M307 H2 B0 S1.00 ; Disable bang-bang mode for the chamber heater and set PWM limit
;
;EXTRUDER HEATER 1
M591 S1 P1 C"!e0_stop" ; Use endstop 3 for the filament sensors for drives 0.
M308 S1 P"!e0_temp" Y"Thermistor" T4606017 B5848 C5.548428E-8 R4700 A"Dyze Hotend" ; Create thermistor sensor + ADC parameters for heater 1 (E0)
M950 H1 F0:1 C"e0heat" Q100 T1 ; Assign Heater 1 and associate it with F0 & F1, pwm at 100Hz. Associate it with temperature sensor 1
M143 H1 S490 ; Set temperature limit for heater 1 (E0) to 490C
M307 H1 A659 C363.6 D14.3 S0.50 ; Heater 1 (E0) process parameter for 24V system
M563 P0 S"Dyze Hotend" D0 H1 F0:1 ; Define tool 1
G10 P0 X39 Y20 Z0 ; Set tool 1 axis offsets
G10 P0 R0 S0 ; Set initial tool 1 active and standby temperatures to 0CWhen I go back onto the dashboard of the web control, I can see the bed and chambers heaters are configured properly. However the bed and current temperature are displayed as n/a
When I click on "extra" I can see the hotend temperature value. Is this how it's meant to appear?
Also, I have loaded filament through the filament sensor but its still saying load filament for Tool 0. On the filament sensor the red indicator light is also on but the board is not recognising that filament has been loaded.
I would really appreciate some assistance on this. Many thanks in advance.
-
RE: "Z probe already triggered at start of move error" message
Thank you all...I have made those recommended changes above and have managed to solve my motor problem. Turns out, it was an imbalanced bed that was causing the issue.
So all my endstops and probe are now working fine but I can't see the filament sensor under "Machine Specific" in the web control. I have tested the sensor and it seems to be fine. Am I being paranoid? PSB filament sensor config.
M591 S1 P1 C"e0_stop" ; Use endstop 3 for the filament sensors for drives 0.
-
RE: "Z probe already triggered at start of move error" message
Hi JoergSS,
Thank you for that clarification which initially misinterpreted. Your solution seems to have resolved my issue but I've also found out that 1 of 4 Z motors is not working. So I haven't been able to home Z as yet. I will solve this and let you know the outcome of the z homing.
kind regards.
-
"Z probe already triggered at start of move error" message
I have just decided to upgrade from firmware 2.03 to 3.0 then to 3.1.1. I have a NPN (NC) Capacitative touch probe installed and had no problems with it working before I upgraded. The black wire is connected to the "Zprobein" pin and the other 2 wires are connected to the power supply.
I have been trying to get the Z axis to home but keep getting the error message "Z probe already triggered at start of move error" although the bed is far from the probe. I even placed a metal object near the probe to see if the light come on and goes off and that worked fine. When I issue the G30 command the error message also appears.
I tried going through config.g to figure out what the issue is and I hate to say it but I am stuck.
Here is my homez.g configuration:; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool v2 on Wed Jul 03 2019 21:11:39 GMT+0100 (British Summer Time)
;
G91 ; relative positioning
G1 H1 X-535 F3000 ; move quickly to X axis endstop and stop there (first pass)
G1 X5 F6000 ; go back a few mm on X axis
G1 H1 X-535 F300 ; move slowly to X axis endstop once more (second pass)
G90 ; absolute positioning
G91 ; relative positioning
G1 H1 Y-465 F2000 ; move quickly to Y axis endstop and stop there (first pass)
G1 Y5 F6000 ; go back a few mm
G1 H1 Y-465 F300 ; move slowly to Y axis endstop once more (second pass)
G90 ; absolute positioning
G1 X265 F3000 ; move to centre of X
G1 Y230 F2000 ; move to centre of Y
G30 F1000 ; home Z by probing the bed. Stop when probe triggered and set Z trigger height.
G90 ; absolute positioning
G91 ; relative positioning
G1 H2 Z0.2 F100 ; lift Z relative to current position. Ignore endstops whilst moving (S2).
G90 ; absolute positioning
G1 Z0.25 F100 ; Move the z axis to be 0.25mm from the bedI haven't yet completed all my config.g yet but my setup so far is like this:
;Kinematics type
M669 K0 ; Set kinematic movements as Cartesian
;*************************************************************************************************
;****************** Drives Movement Direction***********************************************
;*************************************************************************************************
M569 P0 S1 ; X axis motor physical drive 0 goes forwards
M569 P1 S1 ; Y axis motor physical drive 1 goes forwards and controls 1 of 2 motors
M569 P3 S1 ; E0 (Extruder 0) motor physical drive 3 goes backwards
M569 P5 S0 ; E2 motor on duex5 physical drive 5 goes forwards and also controls 1 of 4 Z motors
M569 P6 S0 ; E3 motor on duex5 physical drive 6 goes forwards and also controls 1 of 4 Z motors
M569 P7 S0 ; E4 motor on duex5 physical drive 7 goes forwards and also controls 1 of 4 Z motors
M569 P8 S0 ; E5 (Y) axis motor on duex 5 physical drive 8 goes backwards and controls the second Y motor
M569 P9 S0 ; E6 motor on duex5 physical drive 9 goes forwards
;*************************************************************************************************
;**************** DRIVE MAPPING******************************************************************* ;*************************************************************************************************
M584 X0 Y1:8 Z5:6:7:9 E3 ; Drive 0 controls X, drive 1 & 8 controls Y, drive 2a/2b & 9 controls Z, drives 3 controls extruder 0 (dyzend)
;*************************************************************************************************
;**************** DRIVE STEPS/MM *****************************************************************
;*************************************************************************************************
M350 X16 Y16 Z16 E16 I1 ; Configure 16x micro-stepping with interpolation to 256x for X,Y,Z motors.
M92 X214.81 Y79.21 Z400.04 ; Set steps/mm for X,Y,Z motors.
M92 E642.22 ; Set steps/mm for Extruder motor.
G21 ; Work in millimeters
;*************************************************************************************************
;**************** DRIVE SPEEDS***********************************************************
;*************************************************************************************************
M566 X900.00 Y900.00 Z300.00 E300.00 ; Set maximum instantaneous speed changes (mm/min)
M203 X10000.00 Y10000.00 Z500.00 E2000.00 ; Set maximum speeds (mm/min)
M204 P540 T2700 ; Set print speed to 540 mm/s and travel speed to 2700 mm/s.
M201 X10000.00 Y10000.00 Z3600.00 E3600.00 ; Set accelerations (mm/s^2)
M593 F80 ; Set dynamic acceleration adjustment to 80Hz
;*************************************************************************************************
;**************** DRIVE CURRENT****************************************
;*************************************************************************************************
M906 X2000 Y2000:2000 Z1000:1000:1000:1000 E640 I80 ; Set motor currents (mA) and motor idle factor in %
M84 S60 ; Set idle timeout
;*************************************************************************************************
;*************** AXIS LIMITS*****************************************************************
;*************************************************************************************************
M208 X0 Y0 Z0 S1 ; Set axis minima
M208 X530 Y460 Z443.7 S0 ; Set axis maxima
;*************************************************************************************************
;ENDSTOPS********************************************************
;*************************************************************************************************
M574 X1 S1 P"!xstop" ; X min active low endstop switch
M574 Y1 S1 P"!ystop" ; Y min active low endstop switch
M574 Z1 S2 ; Z min switch controlled by probe
;*************************************************************************************************
;FILAMENT MONITORING*******************************************
;*************************************************************************************************
M591 D0:1 C"e0_stop" P2 S1 ; Use endstop 3 for the filament sensors for drives 0 & 1.
;*************************************************************************************************
;Z Probe*************************
;*************************************************************************************************
M558 P5 C"^zprobe.in" H3 F500 T6000 A3 ; Set Z probe type (P5 NC) to switch, the dive height (3mm), dive speed (500mm/min) + speed of travel to probe coordinates (6000mm/min).
G31 P1000 Z0.882 ; Set Z probe trigger value, offset and trigger height
M557 X0:530 Y0:460 R19 P30 ; Define mesh grid co-ordinates with X axes separated by 120mm, Y axes separated by 88mm, probe radius = 9mm and 30 probe points (max 32 probe points).
M671 X550:-40:90:460 Y-100:-100:385:385 ; Z axis leadscrews are at X-40:Y-100, X550:Y-100, X90:Y385 and X460:Y385.
;
;*************************************************************************************************Can you spot where I am going wrong here?
-
RE: Servo Direction
@dc42
OK..I will try a different approach. Thank you. -
RE: Servo Direction
The approach I am using is both a servo and a large N52 Magnet. Thought about using an electromagnet but my prototype was drawing too much power and getting very hot. The magnet is the main tool holder but I am just using the servo for stability.
-
RE: Servo Direction
I set this up using:
M307 H5 A-1 C-1 D-1
M42 P5 I1 S1 F500.I connected it up to the PWM3 channel on the Duex5. When I send the M280 P5 S90 command, it moves anti clockwise.