Found it:
M574 X1 S1 P"!xstop" that ! turns normally closed switches to normally open (active high to active low)
successfully homed
hope that helps someone else as well
Best posts made by id104335409
-
RE: Limit switches always triggered
Latest posts made by id104335409
-
RE: CoreXY Mirrored and flipped prints
So I started fresh and I think I know where I took the easy road.
When configuring X and Y motion you are asked to test in which diagonal the head moves. If you test X and it goes +X+Y all is fine. But it's not. Because Y needs to be tested as well. I assumed that it needs to go +Y-X.
But then when you test the home buttons - X and Y are switched - If you home X - Y is being homed and vice versa.
Swapping the motors or changing direction in the config file only makes everything go in reverse. So when I first tested the printer I just "decided" that my X axis will be used as Y and my Y as X. (and that is what came to bite me when I found that I have been printing mirrored prints)
Now, how do I make correct movements AND homing if I am looking at the printer from the "front" where the XY motors are, one of them is reversed (one goes over, one goes under with the belts), and my XYZ stops are located in the lower left corner and G1 H2 X10 moves +X+Y while G1 H2 Y10 moves +Y-X
but when I try to home = Home X pulls the gantry Y towards me while Home Y pulls the print head X to the left?
My setup is like that because of the cabling. Cables won't reach if I put the XY motors on the back and they are 2 meters long. Also I assembled/disassembled this bastard 3 times already.
Here is my new config:; Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v2.1.8 on Mon Feb 24 2020 22:48:22 GMT+0200 (Eastern European Standard Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"QB" ; set printer nameM667 S1 ; select CoreXY mode
; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S0 ; physical drive 0 goes backwards
M569 P1 S1 ; physical drive 1 goes forwards
M569 P2 S1 ; physical drive 2 goes forwards
M569 P3 S1 ; physical drive 3 goes forwards
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z410.00 E407.00 ; set steps per mm
M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X700 Y650 Z800 S0 ; set axis maxima; Endstops
M574 X1 S1 P"!xstop" ; configure active-low endstop for low end on X via pin xstop
M574 Y1 S1 P"!ystop" ; configure active-low endstop for low end on Y via pin ystop
M574 Z1 S1 P"!zstop" ; configure active-low endstop for low end on Z via pin zstop; Z-Probe
M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M557 X15:215 Y15:195 S20 ; define mesh grid; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M143 H1 S280 ; set temperature limit for heater 1 to 280C
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on; Tools
M563 P0 D0 H1 F0 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C; Custom settings are not defined
-
CoreXY Mirrored and flipped prints
After laying down my thoughts to clear them out it became more difficult to understand what IS my question. So my condensed question is: From mirrored print to correct print - Homing and printing all works in the desired direction, but when I cancel the print - it goes to the opposite direction. How is that possible?
So I noticed that my CoreXY machine was printing flipped at 180 degrees from what the slicer thinks is correct, but that didn't bothered me. (Viewed from front - X and Y motors on the right side, gantry moving right to left). Then I found that it was also printing mirrored. So I decide to change things around. I flipped the X and Y directions in the config.g (many many times) until I was confident I understand everything correctly. This created the endstop problem, as now the print head was homing all wrong. I fixed that as well by switching low end/high end X and Y endstops. Now the printer was homing correctly.
Now that the print head was moving in the right direction I tested with a print only to crash in the wrong direction. The print bed was now with the wrong coordinates. I changed everything again until I had every axis homing and moving correctly and the bed correct starting point. Print started flipped back to normal (as it should) and this should have been it, BUT as soon as I aborted it - the head went in the wrong direction! How is this possible? Homing and printing all works in the desired direction, but when I cancel the print - it goes to the opposite direction.
I flipped everything again to try to compensate for that and I got the print printing flipped at 90 degrees, but still mirrored. Aborted and still the print head went in the wrong direction. Which means no matter how much I home and flip, unless I rebuild my whole printer in a conventional orientation (all homing censors to the bottom left, X and Y motors to the back) (Which I am about to do as a last resort) I can't get rid of the mirroring effect. I simply couldn't find a working option for that. Which makes the many options for custom positioning of endstops and motor directions worthless. As even with a working machine the prints would always be either flipped or mirrored or both.
Anyways, I would love to give you my config file, but as it is - it would not help anyone understand how to solve the problem. I even ripped the board from it's place and all the cables. I need to start with a fresh config.I decide to post to General discussion, as I don't really see a way it can be helped. If anyone has experienced this - leave a comment.
-
RE: Heater can't keep temperature up
Oh, Im so sorry - this is just a test run , no need for filament all over the place. I'm just adjusting the printer.
Heater, sensor, e steps, bed level and so on.
Is there a failsafe that doesn't allow extrusion under certain temperature? -
RE: Heater can't keep temperature up
100 degrees, graph is straight line. Dips are just down from 100 to 99.99.
otherwise I can go up 225 I believe. Temperature is not an issue. -
RE: Heater can't keep temperature up
there is only one fan - the heatsink fan, but the problem is heating is not turning on and off in a way that keeps the head above the printing temperature and if it drops by 0.1 degree it just refuses to push filament so not to cause jams. the fan should be at 100% anyway, but I was surprised to see the slider didn't control it anymore.
-
Heater can't keep temperature up
Hi, I am having trouble keeping the temps constant. As soon as they drop to .99 I get this :
Warning: Tool 0 was not driven because its heater temperatures were not high enough or it has a heater fault
I did an auto PID tuning twice and saved it, but the heater just can't keep up and I don't know how to boost it up.
Also while the test print job runs I have no control over my cooling fan. So I can't lower it to test if it is too high.
Normally I can set it to run at whatever percentage I want, but not while it prints?
Duet WiFI
The printhead is a Titan Aero with just the cooling fan.This is my config:
; Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v2.1.8 on Thu Jan 30 2020 16:44:56 GMT+0200 (Eastern European Standard Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"QB" ; set printer nameM667 S1 ; select CoreXY mode
; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S0 ; physical drive 0 goes backwards
M569 P1 S1 ; physical drive 1 goes forwards
M569 P2 S1 ; physical drive 2 goes forwards
M569 P3 S1 ; physical drive 3 goes forwards
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z500.00 E420.00 ; set steps per mm
M566 X900.00 Y900.00 Z900.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y18000.00 Z1800.00 E1200.00 ; set maximum speeds (mm/min)
M201 X3000.00 Y3000.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
M906 X2000 Y2000 Z2000 E700 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X500 Y500 Z500 S0 ; set axis maxima; Endstops
M574 X1 S1 P"!xstop" ; configure active-low endstop for low end on X via pin xstop
M574 Y1 S1 P"!ystop" ; configure active-low endstop for low end on Y via pin ystop
M574 Z1 S1 P"!zstop" ; configure active-low endstop for low end on Z via pin zstop; Z-Probe
M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M557 X15:215 Y15:195 S20 ; define mesh grid; Heaters
M140 H-1 ; Disable heated bed
M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M143 H1 S280 ; set temperature limit for heater 1 to 280C
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on; Tools
M563 P0 D0 H1 F0 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C; Custom settings are not defined
; Miscellaneous
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power lossM501
and the override config file
; config-override.g file generated in response to M500 at 2020-02-02 18:34
; This is a system-generated file - do not edit
; Heater model parameters
M307 H0 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H1 A662.8 C268.2 D8.4 S1.00 V12.0 B0
; Workplace coordinates
G10 L2 P1 X0.00 Y0.00 Z0.00
G10 L2 P2 X0.00 Y0.00 Z0.00
G10 L2 P3 X0.00 Y0.00 Z0.00
G10 L2 P4 X0.00 Y0.00 Z0.00
G10 L2 P5 X0.00 Y0.00 Z0.00
G10 L2 P6 X0.00 Y0.00 Z0.00
G10 L2 P7 X0.00 Y0.00 Z0.00
G10 L2 P8 X0.00 Y0.00 Z0.00
G10 L2 P9 X0.00 Y0.00 Z0.00 -
RE: Limit switches always triggered
Found it:
M574 X1 S1 P"!xstop" that ! turns normally closed switches to normally open (active high to active low)
successfully homed
hope that helps someone else as well -
RE: Limit switches always triggered
Oh pff, and I bought them because I thought they look fancy. serves me right. Should have bought something smaller anyway, they are too long and stick out.
I don't know what other components can there be on it, honestly. They seem to work. The LED is visibly flashing when they are triggered. Everything is connected on the Duet. Stop/3v/ Ground (on the switch stop is marked as signal if that helps) I used this picture because it is inconvenient to go the back of the duet every time :
https://d17kynu4zpq5hy.cloudfront.net/igi/duet3d/vqBUAZPsxMC5tRgt.huge -
Limit switches always triggered
Hi, so today I am messing around with switches. I am using these limit switches:
https://openbuildspartstore.com/xtension-limit-switch-kit/ (Configuration Normally Open)
wired to the Duet WiFi running firmware 3.0 on a CoreXY printer, but when using the Configurator I clicked Active High and I got this config g:
M574 X1 S1 P"xstop"
M574 Y1 S1 P"ystop"
M574 Z1 S1 P"zstop"
so all the switches were triggered and I couldn't home the the axis. So when I held the switch down - the motors would start homing. I used the Configurator (because I am still learning what G-code does) again and changed to Active Low and I got this config g:
M574 X1 S0 P"xstop"
M574 Y1 S0 P"ystop"
M574 Z1 S0 P"zstop"
but after changing those values the switches were still marked as triggered in the web control menu. So I stopped being lazy and found this:
Endstop type S0 (active low switch) is no longer supported in M574 commands. Instead, use type S1 and invert the input by prefixing the pin name with '!'.
So in firmware 3 there is no S0? However there is no example of how that looks in G code
is it like this - M574 X1 S1 !P"xstop"
I just don't want to mess around and break something. Ask first, break later!
Also if this is what the error actually is - that means the Configurator is not making proper setting for those using firmware 3 specifically for the endstops.