Separate names with a comma.
Discussion in 'Mods and Upgrades' started by Peter Krska, Jan 13, 2014.
Flux capacitor. Obv
It's quite clearly driven by a turbo encapsulator.
Doh! You're right. How did we miss that?
It's so obvious now
The concept is to make the simplest, cheapest but functional bed leveling system. I really liked Ziggy's so I remixed the one with the servo. I think Mike's with the actuator is the slickest around. This one though uses a coat hangar for the probe, and basically the same electronics as Ziggy's servo version (an opto coupler with a transistor driven LED - which is sort of superfluous but nice to know power is getting to it). When the bed lowers it presses the hangar against the bed, raising the probe into the opto which sends the signal. When it is done probing the board, you stow it by lifting it up and resting it on the "shelf." There is a 10 second pause (G4 S10 in the start up code) after probing which allows this to be easily accomplished. The electronics are driven by the existing plug for the original Z probe. Simply unplug the other one's power and ground and use its SIGNAL slot for the output. The video shows it being driven by a 9V with the signal line unplugged. It is about as easy an install as you can get. I did use hot glue to keep the wires away from the extruder gear but other than that, it should be simply to size the hangar for your setup (and grind one side as flat/perpendicular as possible, the other slightly rounded for the bed), screw it on in the existing carriage holes, unplug the old limit switch and plug in the three wires from this one. I could probably install one in 15 minutes, and maybe 15 more minutes to get the firmware set and installed. No servo, no additional electronics, and if your hot end is really secure, extremely repeatable accuracy. I'll post the .stl for the bracket and hangar t connection but I am sending out the bracket, electronics installed, and hangar cut to approximate length. The user will have to adjust/grind and glue the hangar and t bolt and install. Something like this should have come on the original. About $5 in parts. (4 resistors, opto, transistor and LED). I have 10+ spare optos now and at least as many transistors so if a bunch of people want them I will send the electronics out unsoldered once I run out of assembled ones. If more than 8 people want them I'll make another order of boards and send them out (through hole version so it is easier for them to solder) with instructions on assembly.
I have failed to illustrate its simplicity in my posts! It really is very simple/basic but functional. The only advantage to the electronics is to be slightly more repeatable and accurate than a limit switch with no mechanical parts in the sensing chain (other than one push rod hangar piece).
Thanks for the extra details. Makes a lot more sense now.
I get it now. I like being able to start prints remotely sometimes so I need something mechanical.
I'd be curious to know the repeatability differences between opto and mechanical switches.
I am sending a board out to someone. These instructions should get you up and running if you get a board, or choose to build your own.
Also the .stl will go up for the bracket if you need to modify it.
I am as well. My assertion lacks backing on the accuracy/repeatability between the two. I know I saw some folks on the forum saying their M565 number would change a little over time. While I am not a high volume printer, so far mine hasn't changed. I originally thought that could be the mechanical switch coupled with the servo's variance, but it also may be a less than totally secure mounting of the hot end (I was a victim of this in the past before this mod). I couldn't find much on google for the comparison between the two for repeatability.
I have noticed some drift with my design but it's hard to know what the contributing factor to it since the mount point has some movement to it. You might be right with your assertion I'm not just familiar enough to know for certain.
I have one of these from @Jeff Mercado and am sorting through getting it installed an configured we will document it a bit further so that it is clear.
The board is nicely done BTW and fits well. Just need to route some wires for it and hack the firmware.
Just supplied to show how it mounts. Work in progress design shown but you get the idea from the video.
http://www.thingiverse.com/thing:798888 has the Solidworks files (picture has Mike's x-carriage file for mounting awareness, but I didn't include that in the files)
One nice thing about the design is if you want a different one, you "peel" off the PCB held on by hot glue and with two screws you swap out. I haven't had the heart to take off the rats nest.... just working too good, but when I land on this new design in those files I probably will. I have made it modular for now so I can cut the pieces on a CNC mill in aluminum but once/if I do that I'll get it all into 3 parts for printing. Solidworks newbie for a week... fantastic software! Goodbye 123D and Sketchup forever. Vets can get student version for $20. Too pricey for me otherwise.
I'm in the process of getting Ziggy's mod working, but have hit a bit of an impasse. I have printed/installed the bracket, and wired the servo and the optical sensor on my Robo. I have also made all the software changes Ziggy has posted, in addition to those posted here (https://github.com/Bevaz/Marlin/tree/Joysmaker_auto_level_1.00). I'm using the Robo Auto_Level_5_17_8mm firmware as my base.
I'm using the simplest g-code file possible to test this (see below):
G28 X0 Y0
G28 X0 Y0
I can manually trigger the z-probe by lifting it up with a finger.
Unfortunately when the g-code runs, the extruder carriage will not probe correctly. I'll describe as clearly as I can.
When I execute the g-code, and the extruder is some nominal height above the build plate (say 3 inches above), the printer will home X and Y (good), then start to rise in Z for an indeterminate distance (sometimes 2 inches, sometimes 8). Once it stops rising, the printer begins the probe sequence (9 points). The extruder starts to lower, but before it reaches the bed, it stops (as if the probe has been triggered), lifts, then lowers again slowly, and finally stops like it has been triggered. At this point it then lifts again to the Z_RAISE_BETWEEN_PROBINGS 5 height and moves to probe point 2, and repeats the process for all remaining points. Each time the extruder lifts, it gets higher and higher, as if it is stair stepping upwards. So by the end of the G29 command, the extruder is about 2 inches higher than when it started.
I've been looking at the code for several hours, and 'm at a loss for what is happening. Any ideas/help would be greatly appreciated.
What happens if you home it first.
Does it still home correctly?
Does starting from home work any different?
Might be (speculating here) a loose wire or switch.
Another speculation not well thought out.
I wonder if it thinks it is triggered immediately at each point, then raises the between point amount, tries to retrigger and immediately thinks it has hit the bed, and raises again, thereby "stair-stepping up." I would ensure it doesn't think it is constantly triggered.
A couple possibilities: If the servo raises up between each point and when doing so triggers the opto (obvious visually if it is being triggered), wiring issue (could test it by measuring the volts out on the signal line while it is probing. If it is above around 2.5v when the bar interrupts the opto, the Mega2560 on your Ramps board reads that as a HIGH signal. Is it behaving the way it should?) You may need to "invert" your signal (Z_MAX_ENDSTOP_INVERTING in firmware, you may need to make it false).
I believe it is more than likely a firmware setup issue than wiring but best verify that now.. when the bar interrupts the opto, what voltage do you get on the signal line? When there is no obstruction, what voltage does it read?
Thanks for the feedback and ideas.
I tried to home it with G28 X0 Y0 Z0 and the printer did not function properly. It kept triggering in mid air. I checked all wires and found them secure.
I then disconnected the servo from the RAMPS board and moved the arm so that the probe would always be at it's lowest point (i.e. the opto sensor would be untriggered (verified with the opto's status LED)) and then re-ran G28 X0 Y0 Z0. It ran perfectly. So I re-ran my start code G28 X0 Y0, G29, G28 X0 Y0, and it too worked just fine. So it seems that Jeff is onto something regarding the printer thinking the Z-probe has been triggered when it is in the stowed position.
At this point it seems that the firmware needs a little more inspection on my part to insert a "servo extend" and "servo retract" commands at the beginning and end of G28 and G29. Does this sound right?
What is your Z_MAX_ENDSTOP_INVERTING value set to in the firmware?
It is set to false.
Sent from my iPhone using Tapatalk
Ok, so now I have the printer running the G28 and G29 codes as expected. Now I have the problem if printing in mid air. I believe I've read about this somewhere, but can't recall the solution.
My code now is:
G28 X0 Y0
M565 Z6.8 (still trying to adjust this number a bit but need to get this issue resolved first)
When the printer gets to the G1 command, the XXL LCD display says "Home X/Y before Z". I think it has something to do with the Z min end stop being triggered when the servo is in the stowed position which prevents the Z axis from lowering.