Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. Steve Lynch
    • Profile
    • Following 0
    • Followers 0
    • Topics 29
    • Posts 199
    • Best 9
    • Controversial 0
    • Groups 0

    Steve Lynch

    @Steve Lynch

    12
    Reputation
    7
    Profile views
    199
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Steve Lynch Unfollow Follow

    Best posts made by Steve Lynch

    • Just sharing Lessons I've learned over the last year or so.....

      Hey Guys! I'm always asking for help, and as I finished a new custom machine yesterday, I'm feeling pretty proud, and thankful for all of Y'all and the help you give so freely.... I wanted to share a few things that I've learned, that hopefully might help someone else who's fighting a pesky problem, or contemplating taking an "ok" machine to the next level.... I'm a machinist, and I make all sorts of plates and brackets for my different machines.. I've personally found that a nice thick Z plate like 1/4" (or 6.4mm) is more than sufficient for a Z plate. With 50 Lbs on a 500MM x 500MM plate, there is almost imperceptible deflection (using a mitutoyo guage). On top of the Z plate, I use 8 stand offs (1/4-20 nuts work fine) and I use a 3mm aircraft grade aluminum plate for the build surface. I adhere my 750 watt Keenovo 120v silicone heater to the bottom of this plate. The benefit is that you get almost instantaneous heat penetration, and it's easily replaceable if you ever need to. I have one bed with a Borosilicate glass top for smooth prints that require glass. For the rest, I use a magnetic sheet, and a PEI Powder coated Spring steel sheet from TheKKIINNGG on ebay. (I've never met him, just swear by his products, as do anyone else who's bought from him) ....As I've been building machines for people, I've learned that 99% of 3D printers come from the manufacturer in about a 50% complete state. I know that for every person you talk to about a problem, you'll find one that swears their $89 China i3 clone prints better than a prusa, but from experience, I've found that even $2000 machines need upgrades, and the single greatest upgrades that can be done are: 120V heat Bed, E3d V6 hotend (I know there are many others that are good, but this seems to be the magic bullet hot end for people who are ready to give up on their machine) Flexible PEI Powder Coated build plate, BL-Touch probe over all inductive makes and models, Bondtech BMG Extruder is GOLDEN!!!! (whether clone, or BT Factory supplied) Even the ones I print from thingiverse seem to cure all ailments.... A duet is of course on that list. (I used to be a Rambo head.. I've learned to love duet now) and lastly.... Wherever possible, use linear rails if possible.... They only make a great machine even better....

      This is all opinion, but based on my stable of 9 printers, and about 40 "mail it to me and I'll send it back working" customers. I only repair CNC, Laser and 3D printers in the "off season", so I'm not soliciting new customers... I'm far from an expert. I do it out of love for the hobby (though believe it or not, I use my machines to make a living)... I just have received so much help from those in the 3D community, that I am always eager to spread the "printing Flu" wherever I can. I seem to specialize in helping "old timers" with limited computer skills get up and going... I also teach a bit at the middle school, and high school. (basically learning here and on my many facebook groups, and passing the info on). I've been very thankful for @dc42 , and also Tim from Filastruder. What customer service! ....And anyone else who's helped out, Thank you immensely!

      Here's the FT-5 Duet 2 Wifi build I did..... Everything was going to hell until I went with the Duet... Changed everything! It's been a long hard battle to dial it in, as I was a new reprap user, but I finally have it acting like it should!!! 🙂0_1550468837191_2019-02-18 00.46.27.jpg

      posted in General Discussion
      Steve Lynchundefined
      Steve Lynch
    • RE: *SOLVED* Updating firmware results in The same firmware version?

      Hey Danal, Thanks a ton! I'm back up... I had to step the wifi server version back, then I could connect again. Sometimes it's really nice to have a second set of eyes... The Ol' brain shuts off when I'm under pressure. I really sincerely appreciate you sparing me the obligatory lectures, and just saying "Dude! Do this!" I'll be sure to do my homework before hopping firmware versions again... Cheers!

      posted in Firmware installation
      Steve Lynchundefined
      Steve Lynch
    • RE: Having a small problem with my FT-5 + duet 2 wifi first layer.

      OK.... I found my problem.... And it was also the problem with my paneldue.

      My power supply, though it shows that I'm putting out +14v Drops substantially under load. It also makes the receive circuit not work for whatever reason. Filastruder tested and sent back my Paneldue and duet, and it would not connect again. I swapped out for a nice big 800watt ATX power supply, and son of a gun! Hotend heats in 40 seconds, screwy layers Gone! Hotbed is swapped over to 120V with SSR now, and Paneldue connected right up. I must have an open cap, or something in the old power supply, because voltage was volatile, and amp draw was not Jiving with what it should be. So, It's in the trash! All is well in Steve Land!

      Thanks so much for all the help @DC42 and @Elmoret!

      posted in Tuning and tweaking
      Steve Lynchundefined
      Steve Lynch
    • RE: Baby Stepping.. can it, or can it not be permanent?

      The point is, you don't have to go into the web interface to fix it if it's a bit off. for example, My CoreXY all have Volcano nozzles for the different parts I make for my products.. Say I run plate after plate of a bracket at 1mm nozzle size, then I switch to .6 for the next few runs... Being able to just run the same file from the card that I always use, and simply tune the print in one shot, would be awesome... OR: I use 3 or 4 different build surface types... I have one for Nylons, I have textured PEI, Smooth, Glass, etc... it's nice on my other printers to be able to adjust the "Live Z", or "Z offset" in real time. If you don't want to call it Baby stepping, call it Z offset, It's all semantics.... Just give me an "UP / Down" adjust for god's sake! 😉
      For reference, Marlin has the option to make baby steps persistent. Upon re-boot, it applies it to the Z offset, and baby steps report zero again until you make a change. The "back and forth" between the config.g and the printer is just annoying sometimes... Save Config, test, make a change, re-home, test again... Oops! It's a bit off, stop print, re-start again, and re-baby step it, then dial it in... in a production environment, anything that saves 2 or 3 steps is appreciated.

      Really, what would be the harm in allowing an easy way to dial in your offset from the PanelDue? I'm not asking for a strange function, it's a function in most other firmware.

      I'm talking about an S0 / S1 option for "Apply baby steps to Z offset" if you are diametrically opposed to using this feature, don't enable it... For those of us who miss it's glaring absence on the Duet platform, Let us be happy!.

      I'm running anywhere between 5 and 15 machines all day, printing about 30 different functional parts for machines, and I have to make a lot of little changes every day. This is just one simple way to make life a tad easier. My few "fun" machines? I don't mind messing with all the settings and tweaking... But when for example, (We're a small business run out of a building on my property) My wife, or My kids, or one of My employees pulls a magnetic plate of parts off to cool, puts a new one on, and re-starts a new batch, I don't want them in the Config file. Dial it in during the skirt loops, and let it go....

      Anyhow, Hopefully you understand why I want this so badly.

      Thanks!

      posted in General Discussion
      Steve Lynchundefined
      Steve Lynch
    • RE: Just a little lost re: upgrading to 3.0 firmware.

      Excellent info! Thanks! I've worked my way up to 3.1.1, and actually got 2 other people upgraded and configured now as well. Thanks for all of the help!

      I realize it can be frustrating, when people like me who don't really have a solid grasp of the language are trying to learn. But I am learning, and I'm always willing to help others when I can, so I will pass the knowledge on to others at every opportunity..

      And again, I understand this new naming convention a lot better. i like what you did. It was a bit confusing at first, but the more I read, the more it makes sense! Kudos!

      I do have one small issue left, and I've put a day into it myself, without trying to bother you... I'm just stumped though.

      My bed heater keeps erroring out.... I've pid tuned several times... It's just not liking it.. It reaches about 50 degrees, and then errors...

      Here are My 2.5 values, which work fine in 2.5....

      ; Thermistors
      M305 P0 T100000 B3950 R4700 H0 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
      M305 P1 T100000 B4725 R4700 H0 L0 C7.06e-8 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction

      M307 H0 A240.3 C608.7 D8.2 S1.00 V24.1 B0 ; Bed Heater
      M307 H1 A270.7 C90.4 D6.7 B0 S1.0 ;Heater 1 model
      M570 S360 ; Hot end may be a little slow to heat up so allow it 180 seconds
      M143 S285

      Here are My 3.1.1 values. Do you see any problem?
      ; Heaters
      M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; 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
      ;M307 H0 B0 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
      M140 H0 ; map heated bed to heater 0
      M143 H0 S120 ; set temperature limit for heater 0 to 120C
      M308 S1 P"e0temp" Y"thermistor" T100000 B4725 ; 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
      ;M307 H1 B0 S1.00 ;Temp Comment out for experimentation ; disable bang-bang mode for heater and set PWM limit

      M307 H0 A340.0 C140.0 D8.2 S1.00 V0.0 B0
      M307 H1 A622.1 C260.5 D3.1 S1.00 V24.0 B0

      Also, should bed be in PID mode? I've not used Bang Bang before.. Pid seems safer..

      Thanks!

      posted in Firmware installation
      Steve Lynchundefined
      Steve Lynch
    • Got my paneldue... It says "connecting" and controls nothing...

      I just got my brand new paneldue 7i from Filastruder today. I plugged it into my brand new Duet 2 wifi, and it lights up, gives me all of the menus, beeps, but controls nothing... it just says "connecting." I tested the cable with an RC cable tester, and it's got 100% continuity on all 4 leads. I followed your diagram, and the din, gnd, +5v, etc are connected the right way. Is there anywhwere in the firmware where we have to tell it that is using the paneldue or something??? I have read every page mentioning a paneldue, but instructions are sparse. This leads me to believe that it's as simple as hooking it to the cable Filastruder sent me, and it should connect. It does not however. I tried all baud rates, and reset in between... No Joy! Any ideas??? Thanks!

      posted in PanelDue
      Steve Lynchundefined
      Steve Lynch
    • RE: 3 point leveling help Please.

      After playing, I think I have figured it out... As long as the proper location of the pivot point is set in the config.g, then the Bed.G is ok to merely be "close enough".

      posted in Tuning and tweaking
      Steve Lynchundefined
      Steve Lynch
    • RE: Got my paneldue... It says "connecting" and controls nothing...

      Hello, Thanks for the reply..

      There was not an M575P1 command anywhere in my Config.g Perhaps the Paneldue instruction page should include this?

      The Paneldue instructions make no mention of this anywhere.

      So I searched the M Codes Until I found an explanation.. I set my board using this command: M575 P1 B57600 S1

      I reboot the Paneldue and the Duet.. Still nothing. Just "Connecting"

      Here's my complete Config.G do you see any problems? I've done everything every youtube tutorial, or forum post has suggested.. Thanks so much!

      ; Configuration file for Duet WiFi (firmware version 1.21)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v2 on Thu Dec 20 2018 18:06:49 GMT-0500 (Eastern Standard Time)

      ; General preferences
      G90 ; Send absolute coordinates...
      M83 ; ...but relative extruder moves
      M575 P1 B57600 S1 ;Set baud rate Duet Board.
      M575 P0 B57600 S1 ;Set baud rate USB
      ; Network
      M550 P"My Printer" ; Set machine name
      M552 S1 ; Enable network

      ;*** Access point is configured manually via M587
      M586 P0 S1 ; Enable HTTP
      M586 P1 S0 ; Disable FTP
      M586 P2 S0 ; Disable Telnet
      M564 H0
      ; Drives
      M569 P0 S0 ; Drive 0 goes forwards
      M569 P1 S1 ; Drive 1 goes backwards
      M569 P2 S0 ; Drive 2 goes forwards
      M569 P3 S0 ; Drive 3 goes forwards
      M569 P4 S0 ; Drive 4 goes forwards
      M584 X0 Y1:4 Z2 E3 ; Apply custom drive mapping
      M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
      M92 X80.00 Y80.00 Z400.00 E415.00 ; Set steps per mm
      M566 X480 Y480 Z12.00 E1200.00 ; Set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; Set maximum speeds (mm/min)
      M201 X1200 Y1200 Z250.00 E250.00 ; Set accelerations (mm/s^2)
      M906 X1200 Y1200 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 X290 Y290 Z360 S0 ; Set axis maxima

      ; Endstops
      M574 X1 Y1 Z0 S1 ; Set active high endstops

      ; ** BLTouch
      ;
      M307 H3 A-1 C-1 D-1 ; disable heater 3, BLTouch - servo pulse on heater 3 pin (expansion 😎
      M558 P5 X0 Y0 Z1 H5 F200 T5000 ; Type 5 for BLTouch (Normally closed switch on Z-probe inputs)
      G31 X33.00 Y0.39 Z2.74 P5 ; Z=trigger height, P=trigger value, not needed for contact probe, X/Y distance from nozzle
      ;

      ; Heaters
      M305 P0 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 0
      M143 H0 S120 ; Set temperature limit for heater 0 to 120C
      M305 P1 B4725 C7.06e-8 R4700 ; Set thermistor + ADC parameters for heater 1
      M143 H1 S280 ; Set temperature limit for heater 1 to 280C

      ; Fans
      M106 P0 I0 S0 F500 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
      M106 P1 F500 I0 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on

      ; Tools
      M563 P0 D0 H1 ; 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

      ; Automatic saving after power loss is not enabled

      ; Custom settings are not configured
      G29 S1 ; load stored bed height map

      posted in PanelDue
      Steve Lynchundefined
      Steve Lynch
    • RE: Euclid Probe / Railcore frustration. Any advice?

      @paulhew

      Hey Man,
      I just noticed I had never responded to thank you for sending me these files. I wanted to apologize.
      I know you probably don't Remember, but either way, it bothered me that I had not acknowledged you...

      So again Thanks so much!

      Being able to see how you had it set up really helped me to understand how the different instruction sets interacted.

      Take care!
      Steve

      posted in Tuning and tweaking
      Steve Lynchundefined
      Steve Lynch

    Latest posts made by Steve Lynch

    • RE: Euclid Probe / Railcore frustration. Any advice?

      @paulhew

      Hey Man,
      I just noticed I had never responded to thank you for sending me these files. I wanted to apologize.
      I know you probably don't Remember, but either way, it bothered me that I had not acknowledged you...

      So again Thanks so much!

      Being able to see how you had it set up really helped me to understand how the different instruction sets interacted.

      Take care!
      Steve

      posted in Tuning and tweaking
      Steve Lynchundefined
      Steve Lynch
    • RE: Euclid Probe / Railcore frustration. Any advice?

      @sinned6915

      I'm not a discord user, I mean, I occasionally log in if I have to, but I can't stand the platform. I have been seeking help in the railcore group, and a couple other 3d printing groups. I didn't know there was an official support discord.

      My probe is behaving as it should. Probe value is zero if it's connected, and 1000 if button is depressed, or probe is removed.

      I actually want to use the conditional code, I just don't understand it. I have the example .g files you provide, but I don't know what to uncomment, or any of that.

      I build CNC tool changers, I'm quite aware that errant debris can cause huge problems in devices. I realize a probe will probably just break, or fall off, but I'm used to a 3 LB razor blade going 25,000 rpm.... one of those gets away from you, and it's a real shit show. So I'm a big fan of safety checks.

      I'll follow your link for the meta commands.

      If I can't sort it out, I'll bite the bullet, and hop on discord I guess.

      posted in Tuning and tweaking
      Steve Lynchundefined
      Steve Lynch
    • RE: Euclid Probe / Railcore frustration. Any advice?

      @arnold_r_clark

      Thank you very much! The conditional code is what I'm struggling with. I'm concerned about it crashing if it doesn't get stowed before it gets turned off, or if a print fails, and I re-start it remotely, or whatever.

      Your code is basically how I started off.... Just a series of movements.

      Then everyone started telling me that I was going to destroy my machine, and I had to set it up to detect the presence of the probe.

      I think at 48 years old, considering that I've never stepped in front of a moving train, or fallen off a building, or anything like that, It's probably safe to say that I'm capable of checking the head before I start a print.. 😁

      It would just be nice to have the safety of the code.

      posted in Tuning and tweaking
      Steve Lynchundefined
      Steve Lynch
    • RE: Euclid Probe / Railcore frustration. Any advice?

      @zapta Thanks for the second set of eyes on this dude!

      That's kind of where I'm at... I can make the machine move anywhere I want, moves are easy... it's the conditional code as you guys call it, that's got me twisted. I understand that it's supposed to be an "If This, Then That" type of flow, but That's kind of above My pay grade. I'm not finding much in the manual to outline how that type of code works.

      Like I always do, I'll at least document, and share My working code with others if I ever get it sorted.

      I'm almost 100% certain that My problem is that I need to either uncomment, or change variables in the conditional stuff. The problem is, the example scripts provided by Euclid don't really make it clear to a non-coder like me, what variables are there for reference, and which ones should be changed.

      posted in Tuning and tweaking
      Steve Lynchundefined
      Steve Lynch
    • RE: Euclid Probe / Railcore frustration. Any advice?

      @alex-cr said in Euclid Probe / Railcore frustration. Any advice?:

      @steve-lynch

      Can you please re-submit your code from your first5 post but using the code insert function of the forum? (The button looks like </>).

      Fixed! Submitted as requested.

      I have a sneaking suspicion that your code is not indented properly so your if commands are not working properly so it is just aborting instead of jumping past the abort.

      This is the 2nd time someone has mentioned indentation today... I'm not clear as to what the rules are for indent.

      posted in Tuning and tweaking
      Steve Lynchundefined
      Steve Lynch
    • RE: Euclid Probe / Railcore frustration. Any advice?

      @zapta Probe value is reading properly as you asked.

      This is what it's showing for probe value in console:

      1/16/2022, 12:48:55 AM G28
      Object Model deployuser token =false
      Lift Z in advance of deploy

      1/16/2022, 12:49:00 AM Probe Value =0
      deployprobe start value Probe already picked up. Manually return probe to the dock
      Object Model deployuser token =true
      Lift Z in advance of deploy

      1/16/2022, 12:49:05 AM Probe Value =0
      deployprobe start value Probe already picked up. Manually return probe to the dock
      Error: Homing failed

      posted in Tuning and tweaking
      Steve Lynchundefined
      Steve Lynch
    • RE: Euclid Probe / Railcore frustration. Any advice?

      @alex-cr My apologies... I didn't even know that was a thing.... I fixed it! I can see where this makes it much easier.. again, sorry about that.

      posted in Tuning and tweaking
      Steve Lynchundefined
      Steve Lynch
    • RE: Euclid Probe / Railcore frustration. Any advice?

      @steve-lynch

      This is the error I keep getting....

      1/15/2022, 9:23:15 PM deployprobe start value Probe already picked up. Manually return probe to the dock
      Error: Homing failed

      I was told that the script setup as I have it, should be able to tell whether or not the probe is already picked up, and simply act accordingly.

      That does not appear to be the case.

      Using the three wires, My probe lights are on all of the time, and turn off when it probes.

      Normal probe state shows "not triggered" and changes if I hit the micro switch.

      My homeall.g is the only script that runs all the way through.

      If I try to home only Z, it defaults to the above error.

      posted in Tuning and tweaking
      Steve Lynchundefined
      Steve Lynch
    • RE: Euclid Probe / Railcore frustration. Any advice?

      @steve-lynch

      Euclid provides a 4 point bed leveling example, I have a railcore, which uses 3 point tramming, so I pointed the script to My Bed.g script.

      I assume that is correct?

      sorry for the huge post.

      posted in Tuning and tweaking
      Steve Lynchundefined
      Steve Lynch
    • Euclid Probe / Railcore frustration. Any advice?

      Hey all!

      I've been running absolutely fine for quite some time, so I decided to make life interesting, and change probes.
      I've been reading for days.

      Running: Board: Duet 2 WiFi (2WiFi)
      Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.1.1 (2020-05-19b2)
      Duet WiFi Server Version: 1.23

      I tried about 3 different people's scripting for the euclid, and I still cannot complete a homing cycle.

      I was finally pointed to the euclid example firmware files for the probe, and while they get "most of the way there", they continually tell me I have to replace the probe to it's dock manually"

      If I post My files, would anyone mind checking to see where I'm going wrong?

      Thanks so much!
      -Steve

      ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.1 on Tue Jun 09 2020 01:46:51 GMT-0400 (Eastern Daylight Time)
      
      ; General preferences
      G90                                            ; send absolute coordinates...
      M83                                            ; ...but relative extruder moves
      M550 P"RailCore II ZL"                         ; set printer name
      M669 K1                                        ; select CoreXY mode
      
      ;Paneldue
      M575 P1 B57600 S1	                           ; paneldue comms parameters
      
      
      
      ; Network
      M552 S1
      M557 S"Lynch WiFi Main" P"internet4u" 
      M586 P0 S1                                     ; enable HTTP
      M586 P1 S0                                     ; disable FTP
      M586 P2 S0                                     ; disable Telnet
      
      
      ;Filament Sensor
      M591 D0 P1 C"e0_stop" S1 D0; Simple Filament sensor for extruder drive 0 is connected to E0 endstop input, enabled, 
      M591 D0 ; display filament sensor parameters for extruder drive 0
      
      ;Leadscrew locations
      M671 X-16.22:-16.22:290 Y23:274:150 S10 ;Front left,(-10,22.5) Rear Left (-10.,227.5) , Right (333,160) S7.5 is the max correction - measure your own offsets, to the bolt for the yoke of each leadscrew
      
      ; Drives
      M569 P0 S0 ; physical drive 0 goes forwards
      M569 P1 S1 ; physical drive 1 goes backwards
      M569 P2 S1 ; physical drive 2 goes forwards
      M569 P3 S0 ; physical drive 3 goes backwards
      M569 P5 S0							; Drive 5 goes backwards	Front Left Z
      M569 P6 S0							; Drive 6 goes backwards	Rear Left Z
      M569 P7 S0							; Drive 7 goes backwards	Right Z
      M584 X0 Y1 Z5:6:7 E3 
      
      ; set drive mapping
      M350 ; configure microstepping without interpolation
      M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
      M92 X201.50 Y201.50 Z800.00 E386 ; 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 X3000.00 Y3000.00 Z500.00 E1200.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 X320 Y320 Z280 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
      
      ; EUCLID Probe
      
      
      
      M574 Z1 S2                                       ; configure Z-probe endstop for low end on Z
      
      ;
      M558 K0 P5 C"^zprobe.in" H8 F300 60 T9000 A3 S0.01      
                                                    ; K0 for probe 0, P5 for NC switch, C for input pin, 
                                                    ; ^ for enabling the native pullup resistor on Duet 2 
                                                    ; hardware running RRF3  
                                                    ; H dive height of 8mm, F300 probing speed 6mm/sec, 
                                                    ; T9000 travel speed 150mm/sec,   
                                                    ; A3 number of probes 1, S0.01 max tolerance of 0.01 
      
      ;
      G31 K0 P500 X-16.4 Y-29.4 Z0.90               ; CHECK for LOOSE things first! set Z probe trigger 
                                                    ; value, offset and trigger height.  Higher numbers
                                                    ; makes nozzle closer to bed
                                                    ; switch plunger is 16.4mm to the LEFT and 29.27mm in
                                                    ; FRONT of the nozzle. Switch triggers 0.9mm BELOW nozzle
                                                    ; 
                                                    ; if you have to move the nozzle away from the bed, 
                                                    ; decrease the G31 Z value by the amount of baby stepping used.
      M557 X7:305 Y1:303 S20                        ; define mesh grid
      
      
      ; Heaters
      M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; 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
      ;M307 H0 B0 S1.00                              ; enable bang-bang mode for the bed heater and set PWM limit
      M140 H0                                        ; map heated bed to heater 0
      M143 H0 S120                                   ; set temperature limit for heater 0 to 120C
      M308 S1 P"e0temp" Y"thermistor" T100000 B4725  ; 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
      
      M307 H0 A240.3 C608.7 D8.2 S1.00 V24.1 B0 ; Bed Heater
      M307 H1 A270.7 C90.4 D6.7 B0 S1.0 ;Heater 1 model
      
      ; 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 S0 H1 T45                              ; set fan 1 value. Thermostatic control is turned on
      ;M950 F2 C"fan1" Q500                           ; create fan 2 on pin fan1 and set its frequency
      ;M106 P2 S1 H1 T45                              ; set fan 2 value. Thermostatic control is turned on
      
      
      ; Tools
      M563 P0 S"Extruder" 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
      M950 F3 C"duex.fan3"
      M950 F4 C"duex.fan4"
      
      
      M106 P3 S0.5 ; LED half brightness
      M106 P4 S0.5 ; LED half brightness
      
      ; Miscellaneous
      T0                                             ; select first tool
      
      ; ***********************************************************
      ; Euclid Probe Fixed Dock M401 Deploy Probe Macro
      ; RRF3.X Firmware Example
      ; saveas system/deployprobe.g
      ; comments and echo statements throughout are provided for convenience
      ; ***********************************************************
      ; echo "Running deployprobe.g"
      ; if !move.axes[0].homed || !move.axes[1].homed     ; If the printer hasn't been homed, home it
      ;    M98 P"0:/sys/homexy.g" 
      
      ; uncomment next line to echo the probe deploy state 
      echo "Object Model deployuser token =" ^sensors.probes[0].deployedByUser
      
      
      
      M564 H1 S0               ; Allow movement BEYOND axes boundaries (for Y to reach probe dock)
      
      G91                      ; relative positioning
      echo "Lift Z in advance of deploy" 
      G1 H2 Z15 F3000          ; move Z 15 for clearance above dock.
      ;                        ; need to figure out some safety check on this
      G90                                   ; absolute positioning
      
      ; echo "Probe Value =" ^sensors.probes[0].value[0]
      
      if sensors.probes[0].value[0]!=1000    ; if sensor is value other than 1000 do this
        ; uncomment next line to echo the probe deploy state 
        ; echo "deployuser token = " ^sensors.probes[0].deployedByUser
        ; echo "Probe State = " ^sensors.probes[0].value[0]
          abort "deployprobe start value Probe already picked up.  Manually return probe to the dock"
      
      
      
      ; if we're here we know it's becasue the above is true which I assume is because you have an NC switch as a probe.
      ; echo "Passed first logic test to deploy probe"
      ;G1 x17 y292 ; Stow Clear point
      ;G1 x17 Y295 ; Stow Home Point
      ;G1 X48 Y295 ; Stow Enter Point
      
      
      
      G1 x17 y292 F6000           ; move adjacent to probe dock location
      M400                         ; wait for moves to finish
      
      ; echo "Probe Pickup while loop running"
      
      ; uncomment next line to echo the probe deplot state 
      ; echo "Object Model Deployuser token (before while loop) = " ^sensors.probes[0].deployedByUser
      
      while sensors.probes[0].value[0]=1000
        G1 x17 Y295 F3000            ;  move over dock 
        G4 S1                       ; pause for pickup 
        echo "Probe Value =" ^sensors.probes[0].value[0]
        G1 X48 Y295 F1200           ;  slide probe out of dock - slowly
        M400
        ; G4 S1                     ; pause 1 seconds
        ; the following check is to halt the while loop from repeating after 1 try at deploying the probe
        echo "Iteration = " ^iterations
        if iterations=1
           break
      
      echo "Probe Pickup while loop complete"
      
      ; uncomment to echo the probe deplot state 
      ; echo "Object Model Deployuser token (after while loop) = " ^sensors.probes[0].deployedByUser
      
      G90                           ; absolute positioning
      G1 X150 Y150 Z10 F3000        ; move bed to clear probe from build surface 
      M400                          ; wait for moves to finish
      
      
      if sensors.probes[0].value[0]!=0
        ; uncomment to echo the probe deploy state 
        echo "Object Model Deployuser token (in abort if section)= " ^sensors.probes[0].deployedByUser
        abort "Deployprobe endvalue not 0 Probe not picked up!  Deploy cancelled."
        
      M564 H1 S1                    ; Restrict movement to within axes boundaries (for normal Y movement)
      
      echo "Macro deployprobe.g complete"
      
      
      ; ***********************************************************
      ; Euclid Probe homez.g Example Macro
      ; RRF3.X Firmware Example
      ; saveas system/homez.g
      ; comments and echo statements throughout are provided for convenience
      ; ***********************************************************
      
      
      if !move.axes[0].homed || !move.axes[1].homed     ; If the printer hasn't been homed, home it
         M98 P"0:/sys/homexy.g"  
      
      M561                                            ; clear any bed transform
      M290 S0 R0                                      ; clear baby steps per Wes C
      G91                                             ; relative positioning
      M400
      
      ; G1 H2 Z6 F6000                                ; lift Z relative to current position
      G90                                             ; absolute positioning
      
      ; echo "Call deployprobe.g macro" 
      M401 P0                                         ; This runs macro file deployprobe
      
      ; echo "Return"
      G1 X145 Y162.5 F9000                            ; go to first probe point
      M400
      
      ; echo "G30 S-2 Command"
      G30 -2
      
      G1 Z10
      M400
      G4 P500
      ; echo "Call bed.g macro"
      M98 P"0:/sys/bed.g"                       ; tram bed
      
      ; echo "Return"
      G1 X145 Y165 F9000                              ; go back to the first probe point and reprobe 0 in case it moved
      G30
      
      ; echo "Call retractprobe.g macro"
      M402 P0                                         ; retract probe
      ; echo "Return"
      
      G1 Z10 F600                                     ; lift Z relative to current position
      G90                                             ; absolute positioning
      M564 S1 H0
      ; G1 X150 Y0 F9000                              ; move carraige to center front
      
      posted in Tuning and tweaking
      Steve Lynchundefined
      Steve Lynch