Bed leveling firmware - Holy crap it works.

Code hacking talk

Bed leveling firmware - Holy crap it works.

Postby ei8htohms » 2014-Apr-Tue-21-Apr

So I'm engaged in some experimentation to see if I can get probeless automatic tram correction (bed leveling) working.

viewtopic.php?f=22&t=6885

I've made some progress on the hardware side and will be ready to test the idea soon, but I can't figure out how to shut off the power to the probe in the "bed leveling" firmware. And what I mean by that is that I can't see what changes were made to send power to the inductive probe through the end stop connector.

Can anyone help me figure out what changes were made our how this aspect works? I've searched every tab in bed leveling ino in Arduino's IDE for probe, inductive, servo, etc. but with no luck.

Thanks for any assistance or advice you can provide!

**************************************************************

update: next problem

**************************************************************

So after some testing (see below), it appears that the probe is not powered unduly afterall, so I went ahead with the hardware/software experimentation to see if I can get probe-less automatic tram correction working (I'm trying to call it some variation of this since I believe it to be a more accurate description of what we're really talking about) by using simple contact switches on the sprung bed posts.

I'm still working on the hardware side (it looks like I'll need very precisely adjustable spring tension in order to get consistent probe reading for each of the three support posts), but still struggling with the software as well.

Using the firmware from this link:

https://github.com/Printrbot/Marlin/rel ... edlevel_v1

I can't seem to get the Y axis to home at all. I undid the setting "#define Y_HOME_DIR 1" (changed it to "#define Y_HOME_DIR -1") and otherwise set up all the obvious Configuration.h and Configuration_adv.h options to match the old firmware I've been using but I can't see to get Y to home at all.

I can move (via Repetier-Host) Y in the positive direction from wherever it starts and then move it in the negative direction back to that same position, but when I tell it to home it resets Y=0 to wherever it is at that time (without moving at all). It is acting like the Y end stop is always open more or less, but I don't believe this to be a mechanical or electrical problem since Y homing works fine with the other firmware.

I've tried setting the probe offset to X=1 and Y=1 in case there was a divided by zero error happening somewhere (with this set up it seems that the probe offset X=0 and Y=0 is warranted), but that didn't seem to make any difference.

Any thoughts on what the heck is going on here?

******************************
Update: temporary solution to Y axis homing - flip connector
******************************
So when thinking about the problem late last night I remembered folks talking about some Metal Simples shipping with the connector for the Y motor flipped and there being multiple versions of the firmware floating around, some of which resulted in an inverted Y axis for some folks.

So I decided to reset the "#define Y_HOME_DIR 1" and just reverse the Y motor connector and it seems to work. I imagine this will mean that my Y direction is in fact reversed and we'll result in flipped prints along that axis, but at least it homes and the G29 code seems to run the automated probing routine, so I should be able to continue testing and determine if this avenue is a dead end or warrants continued development. Looks like I have a busy weekend ahead. :-)

******************************
Update: it works
******************************
So this is still very early in the testing to call this method of automatic tram correction a success or not, but it seems to be working even with my pretty crude hardware set-up and the only slightly modified Metal Simple firmware (v.1) installed.

As mentioned above, I reversed the connection for the Y motor so that everything would play nice and the only clear downside is that the Y axis is reversed. I'm so tickled with this working that I may just invert my .stl files for now so that I can continue using it. I'll try to write up the whole process in the near future, but the quick and dirty is this:

Turned each sprung bed leveling post (well, all three that is: I did away with one of the them before starting this experiment - no one but no one thinks that four leveling points is a good idea) into a simple contact switch with a certain amount of adjustability as far as spring tension goes. The nylock nut at the top of the post actually has the washer below it welded in place for continuous contact and to give the contact switch a nice large surface. A single, male lead then sticks into a hole in the side of the nut and the other lead is soldered to a partial washer that is JB welded to the glass bed. This is repeated on each of the three posts and wired in series and plugged into the Z end stop switch. In this way, the three act as a single end stop switch and when the nozzle presses down on the bed, it compresses the spring, opens the connection and triggers the switch.

The carriage on the GO wants to flex a decent amount with each contact, but I just tried to dial in the spring tension so that the flex was more or less consistent at each of the three posts. I'm not sure how repeatable this will really be, but my next step will be to make some smoother, more elegant posts with precisely adjustable spring tension and a sliding action to set the height while being held in place with wire hose clamps (you'll have to see it, it's a slightly complicated design).

At any rate, having the end stops working, I then started tinkering with the Metal Simple bed leveling firmware to much aggravation and with little progress. It is deeply confusing with regards to how the Y axis is being handled, but I couldn't stand to just wait for Laine to put the unified bed leveling firmware together, so I just left Y reversed (including flipping the motor connection) and went for it. After a lot more tinkering, I got a decent print out of it even.



***********************
update: finally found the right firmware
***********************

https://github.com/Printrbot/Marlin/releases/bedlevel-v2

This firmware seems to have the Y direction correct (for the GO! v.1, one assumes also for the Plus and maybe others; one also assumes it's backwards for the Metal Simple at least).

My only immediate complaint about the firmware is that I don't seem to have room to enable the accurate bed leveling, something that seems like a good idea with my setup since the consistency of the probings is surely the greatest source of potential error at the moment. The accurate bed leveling feature "costs" an extra 10Kb of memory that the printrboard's flash doesn't have to spare and I don't know enough about the firmware to know what else (in the range of 10Kb) might be possible to leave out in order to use the accurate bed leveling.

Documenting the progress thus far:

http://ei8htohms.tinyparts.net/?p=1073
  • 0

Last edited by ei8htohms on 2014-May-Sun-13-May, edited 7 times in total.
Printrbot GO v.1 - steampunk
Auto bed compensation via endstop wired bed mounts
Thrust bearings and Oldham couplers for the
8mm Igus trapezoidal leadscrews w/
Igus DryLin nuts
PB LCD/encoder
GT2 belts
X and Y motors upgraded to Kysans
Twin 30mm fans

http://ei8htohms.tinyparts.net
User avatar
ei8htohms
ACME leadscrew
 
Posts: 364
Joined: 2013-Jan-Sat-18-Jan
Location: NYC
Reputation: 23

Bed leveling firmware - Holy crap it works.

Sponsor

Sponsor
 

Re: Bed leveling firmware - how is probe powered?

Postby RetireeJay » 2014-Apr-Wed-08-Apr

Power to the end stop connectors is not switched; it's always-on.
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
"My next printer is..." Prusa i3 MK3, upgraded to MK3S
User avatar
RetireeJay
My next printer is...
 
Posts: 4995
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 498

Re: Bed leveling firmware - how is probe powered?

Postby ei8htohms » 2014-Apr-Wed-09-Apr

I understand that in the usual firmware there is some power to the end stops that is always on. In the bed leveling firmware, Brook said that they had done something to the firmware send power to the probe. This fits with my initial experience of trying to run that firmware with my crude contact switches, because there was enough current drawn to throw sparks when the connection was broken. I suppose I could take some measurements of the leads coming out of the end stop connector with and without the bed leveling firmware to compare the results.
  • 0

Printrbot GO v.1 - steampunk
Auto bed compensation via endstop wired bed mounts
Thrust bearings and Oldham couplers for the
8mm Igus trapezoidal leadscrews w/
Igus DryLin nuts
PB LCD/encoder
GT2 belts
X and Y motors upgraded to Kysans
Twin 30mm fans

http://ei8htohms.tinyparts.net
User avatar
ei8htohms
ACME leadscrew
 
Posts: 364
Joined: 2013-Jan-Sat-18-Jan
Location: NYC
Reputation: 23

Re: Bed leveling firmware - how is probe powered?

Postby thawkins » 2014-Apr-Wed-10-Apr

ei8htohms wrote:I understand that in the usual firmware there is some power to the end stops that is always on. In the bed leveling firmware, Brook said that they had done something to the firmware send power to the probe. This fits with my initial experience of trying to run that firmware with my crude contact switches, because there was enough current drawn to throw sparks when the connection was broken. I suppose I could take some measurements of the leads coming out of the end stop connector with and without the bed leveling firmware to compare the results.


If you are getting sparks, then you must be across the wrong pins, the gnd and 5v pins on the endstop connector are hardwired into the regulated powersupply, there is no physical way for the firmware to turn off the power, its permenantly on.

Normaly the switches are wired across the outermost two pins which are gnd and signal input, the signal input is just a input connection to the microproccessor that is pulled up to 5v with a 4.7k resistor, so that when the switch is disconected or open the signal is read as high. The switch is normalyclosed, and opens when the stop is activated, becuase it is normalyclosed, when the axis is not at its end position, the signal pin is shorted to the ground pin, and the microprocessor reads a low signal.

The 5v is on the center pin, and is wired to the sensor supply, it is permenatly on and cant be turned off.
  • 1

Jonbot+
225mm x 200mm - Heated Bed
RAMPS 1.4 running Marlin 1.1.0
Full Graphic display.
-------------------------------
Zen Toolworks CNC/3d printer
230mmx360mm bed
Dual j-head hotends.
Dual heated beds.
RAMPS 1.4 running Marlin 0.98
-------------------------------
Flashforge 3d Creator Pro
Dual Extruder
220x143x150mm
Mightyboard rev e, runnimg Sailfish 7.7r1234
-------------------------------
Photon, self designed printed printer.
User avatar
thawkins
Print winner 2nd
Print winner 2nd
 
Posts: 1636
Joined: 2013-Aug-Sun-10-Aug
Location: Manila, Philippines
Reputation: 172

Re: Bed leveling firmware - how is probe powered?

Postby RetireeJay » 2014-Apr-Wed-11-Apr

+1 for thawkins answer.

Here is how the "endstop" connectors are wired on the board.
It is possible in software to enable or disable the 4.7k pullup resistor on the "signal" lead - but that's not the "power supply" to an active probe. As far as I can see, if you use only the pins on the "endstop" connectors, your active probe will be powered all the time.
PrintrboardEndstops.PNG
  • 0

You do not have the required permissions to view the files attached to this post.
Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
"My next printer is..." Prusa i3 MK3, upgraded to MK3S
User avatar
RetireeJay
My next printer is...
 
Posts: 4995
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 498

Re: Bed leveling firmware - how is probe powered?

Postby ei8htohms » 2014-Apr-Wed-12-Apr

Thanks gentlemen.

I'm using the two outermost pins only, just like the other end stops, so I should only be seeing the signal input and the ground. When I was first playing with the bed leveling firmware and my crude switches I did also try turning off the pull-up resistor for that end stop, so maybe that's when I unleashed more juice and got sparks?

I'll take some measurements with a multimeter with both types of firmware and see how much voltage is present.

The thing I'm trying to make sense of is what Brook mentions at the 2:50 mark in this video.

Printrbot Auto Level Sensor Setup: http://youtu.be/lgVmNuwMH68

Any clue what he's referring to?

****************************
update
****************************
Ok, so I took some readings across the outermost pins on the Z end stop with the old firmware I'd been using in comparison to the bed leveling firmware from this link:

https://github.com/Printrbot/Marlin/rel ... edlevel_v1

They both read 4.98V, so unless it somehow powers up when running the probing routines, I can't see that there's any difference. Got an email from Dave at printrbot earlier and replied with the question about what Brook is referring to about the firmware change to power the probe in that video, so hopefully he'll be able to dig something up (or confirm that no changes were made of that sort). For now my experimentation continues.
  • 0

Printrbot GO v.1 - steampunk
Auto bed compensation via endstop wired bed mounts
Thrust bearings and Oldham couplers for the
8mm Igus trapezoidal leadscrews w/
Igus DryLin nuts
PB LCD/encoder
GT2 belts
X and Y motors upgraded to Kysans
Twin 30mm fans

http://ei8htohms.tinyparts.net
User avatar
ei8htohms
ACME leadscrew
 
Posts: 364
Joined: 2013-Jan-Sat-18-Jan
Location: NYC
Reputation: 23

Re: Bed leveling firmware - how is probe powered?

Postby RetireeJay » 2014-Apr-Wed-15-Apr

Maybe he just misspoke a little and meant something more like "empower" the probe to work - i.e. maybe they had to invert the polarity of the signal as sensed by the software. The I/O pins on the Atmel chip are generally very versatile. They can be inputs or outputs; if inputs, they can have 4.7k pullup resistors, etc.
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
"My next printer is..." Prusa i3 MK3, upgraded to MK3S
User avatar
RetireeJay
My next printer is...
 
Posts: 4995
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 498

Re: Bed leveling firmware - (next problem) Y not homing?

Postby ei8htohms » 2014-Apr-Thu-14-Apr

Thanks Jay, I'm guessing that must be the case (misspeak). Now to get Y homing sorted...
  • 0

Printrbot GO v.1 - steampunk
Auto bed compensation via endstop wired bed mounts
Thrust bearings and Oldham couplers for the
8mm Igus trapezoidal leadscrews w/
Igus DryLin nuts
PB LCD/encoder
GT2 belts
X and Y motors upgraded to Kysans
Twin 30mm fans

http://ei8htohms.tinyparts.net
User avatar
ei8htohms
ACME leadscrew
 
Posts: 364
Joined: 2013-Jan-Sat-18-Jan
Location: NYC
Reputation: 23

Re: Bed leveling firmware - (next problem) Y not homing?

Postby lwalkera » 2014-Apr-Thu-18-Apr

If you're using a inductive sensor, you'll need to to use the middle pin to give the sensor power so that it can work. The power is not controlled by firmware; it's always on. The PNP (orange) type of inductive sensor uses the same endstop polarity as the current microswitch, the NPN (blue) version is reversed. The firmware linked in the beginning is only for the Metal Simple, since it has specific changes that are unique to it. I'm working on integrating those changes into another unified firmware, but that doesn't exist at the moment.
  • 0

Laine Walker-Avina
Printrbot Beta-tester and Printrboard Designer
lwalkera
Honeycomb infill 25%...
 
Posts: 291
Joined: 2012-Feb-Sat-04-Feb
Location: Folsom, CA
Reputation: 33

Re: Bed leveling firmware - (next problem) Y not homing?

Postby ei8htohms » 2014-Apr-Thu-19-Apr

Thanks Laine,

I'm not using an inductive sensor, but attempting to incorporate simple contact switches on the bed leveling posts as an end stop. The theory being that the nozzle pressing down on the bed and opening the switch would serve the same purpose as a probe.

So if it's not as simple (pun intended) as just telling me how to get the Y axis to home, I guess I'll keep playing with it and see if I can get it working before you release the unified version with bed leveling.

Thanks again!

_john

**************************************
update: working (sorta?)
**************************************

OK, so for now, I've just gone back to the "#define Y_HOME_DIR 1" configuration in the Metal Simple firmware and just reversed the connector for the Y motor and darned if I am not able to home all axes and even run the G29 command (nifty). So now I just need to tweak the spring tension on each of my bed leveling springs for maximum consistency (how well I can really do that and how well it holds up over time will be the make-or-break issue for this technique I imagine) on the Z homing command for each of the three and then run some test prints. Very exciting.
  • 0

Last edited by ei8htohms on 2014-Apr-Thu-22-Apr, edited 1 time in total.
Printrbot GO v.1 - steampunk
Auto bed compensation via endstop wired bed mounts
Thrust bearings and Oldham couplers for the
8mm Igus trapezoidal leadscrews w/
Igus DryLin nuts
PB LCD/encoder
GT2 belts
X and Y motors upgraded to Kysans
Twin 30mm fans

http://ei8htohms.tinyparts.net
User avatar
ei8htohms
ACME leadscrew
 
Posts: 364
Joined: 2013-Jan-Sat-18-Jan
Location: NYC
Reputation: 23

Re: Bed leveling firmware - (next problem) Y not homing?

Postby thawkins » 2014-Apr-Thu-20-Apr

lwalkera wrote:If you're using a inductive sensor, you'll need to to use the middle pin to give the sensor power so that it can work. The power is not controlled by firmware; it's always on. The PNP (orange) type of inductive sensor uses the same endstop polarity as the current microswitch, the NPN (blue) version is reversed. The firmware linked in the beginning is only for the Metal Simple, since it has specific changes that are unique to it. I'm working on integrating those changes into another unified firmware, but that doesn't exist at the moment.


Laine, what is the posability of pushing some of the printrbot specific changes back into the upsteam Marlin, im using upsteam with RAMPS on my printrbot, and its a pain to lose some of the niceties like m211 and m212.
  • 1

Jonbot+
225mm x 200mm - Heated Bed
RAMPS 1.4 running Marlin 1.1.0
Full Graphic display.
-------------------------------
Zen Toolworks CNC/3d printer
230mmx360mm bed
Dual j-head hotends.
Dual heated beds.
RAMPS 1.4 running Marlin 0.98
-------------------------------
Flashforge 3d Creator Pro
Dual Extruder
220x143x150mm
Mightyboard rev e, runnimg Sailfish 7.7r1234
-------------------------------
Photon, self designed printed printer.
User avatar
thawkins
Print winner 2nd
Print winner 2nd
 
Posts: 1636
Joined: 2013-Aug-Sun-10-Aug
Location: Manila, Philippines
Reputation: 172

Re: Bed leveling firmware - Holy crap it works.

Postby ei8htohms » 2014-Apr-Sat-13-Apr

Updated first post with first successful print.
  • 0

Printrbot GO v.1 - steampunk
Auto bed compensation via endstop wired bed mounts
Thrust bearings and Oldham couplers for the
8mm Igus trapezoidal leadscrews w/
Igus DryLin nuts
PB LCD/encoder
GT2 belts
X and Y motors upgraded to Kysans
Twin 30mm fans

http://ei8htohms.tinyparts.net
User avatar
ei8htohms
ACME leadscrew
 
Posts: 364
Joined: 2013-Jan-Sat-18-Jan
Location: NYC
Reputation: 23

Re: Bed leveling firmware - Holy crap it works.

Postby ei8htohms » 2014-May-Sun-13-May

Added blog post link to first post.
  • 0

Printrbot GO v.1 - steampunk
Auto bed compensation via endstop wired bed mounts
Thrust bearings and Oldham couplers for the
8mm Igus trapezoidal leadscrews w/
Igus DryLin nuts
PB LCD/encoder
GT2 belts
X and Y motors upgraded to Kysans
Twin 30mm fans

http://ei8htohms.tinyparts.net
User avatar
ei8htohms
ACME leadscrew
 
Posts: 364
Joined: 2013-Jan-Sat-18-Jan
Location: NYC
Reputation: 23

Re: Bed leveling firmware - Holy crap it works.

Postby pomonabill221 » 2014-Jun-Thu-22-Jun

Just a FYI if you are going to use the extruder for auto level sensing....
It will grow (get longer) when it is hot, by about 0.32mm at 230C, so if you probe with the extruder cold, your z axis will be off when the extruder is hot.
I measured:
0.19 @170
0.21 @ 180
0.24 @ 190
0.26 @ 200
0.28 @ 210
0.30 @ 220
0.32 @ 230
0.35 @ 240

I did repeat the test with decreasing temp as well and the values were the same, so you might want to heat up the extruder first before probing.
  • 0

PBplus V2 kit.
* Modded power supply (my own)
* heavier power cable (#12) and connector (Cinch-Jones 2 pin) as 4 pin ATX was getting hot!
* extruder and heated bed indicators on bot.. I like to know
* cable dressing using ideas from other members and my own
* machined Z axis couplers.. my own design
* filament guide tubing (drip sprinkler tubing).. keeps filament from possible tangling
* flat washers under ALL screw heads.. spreads out force over wood
* Al machined printbed, opto limit switches on ALL axis, Acme Z lead screws
* Highly modified printbed/stiffened
* Dual Z axis limit switches (selectable) for glass or aluminum bed
* Illuminated extruder with 2 white leds
* NOW with AUTOLEVEL!!!!
* RAMPS board with graphic display
pomonabill221
Solid infill...
 
Posts: 228
Joined: 2013-Jul-Tue-21-Jul
Reputation: 0

Re: Bed leveling firmware - Holy crap it works.

Postby RetireeJay » 2014-Jun-Fri-10-Jun

Are you saying that the point at which the auto-leveling sensor triggers changes due to the heat on the extruder nozzle???

I don't have an auto-leveling setup (and frankly see no need for one) but...

I would have thought that the auto-leveling sensor would be quite independent of heat on the extruder. Yes, in your preliminary setup, I guess you need to "calibrate" the proper offset for the extruder versus the sensor while the extruder is hot. But after that preliminary step, then it shouldn't matter whether or not your extruder is hot when you probe the bed with the auto-leveling sensor.
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
"My next printer is..." Prusa i3 MK3, upgraded to MK3S
User avatar
RetireeJay
My next printer is...
 
Posts: 4995
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 498

Re: Bed leveling firmware - Holy crap it works.

Postby KDog » 2014-Jun-Fri-10-Jun

It is independent but you should set the offset between the hot end and sensor with the hot end heated. This is done manually as explained in brooks video.
  • 0

Printrbot Metal Simple
Printrbot Original (printed on a PBJ)
Dec. 2013 ..... Kossel PRO (still waiting for it to arrive!!!)
KDog
Layer 300 of 1234
 
Posts: 324
Joined: 2013-Jul-Fri-17-Jul
Location: Honolulu
Reputation: 21

Re: Bed leveling firmware - Holy crap it works.

Postby ei8htohms » 2014-Jun-Fri-11-Jun

There are two ways to handle this with the set up I have (and to be clear, there is NO sensor/probe, just electromechanical end stops).

I can either run the probing routine when the nozzle (and bed) is/are cold and then adjust the "probe" offset in the Z direction accordingly OR (what I'm actually doing) set the Z offset as appropriate for the nozzle and bed being hot and then run the probing routine in that same state, right before every print in fact.
  • 0

Printrbot GO v.1 - steampunk
Auto bed compensation via endstop wired bed mounts
Thrust bearings and Oldham couplers for the
8mm Igus trapezoidal leadscrews w/
Igus DryLin nuts
PB LCD/encoder
GT2 belts
X and Y motors upgraded to Kysans
Twin 30mm fans

http://ei8htohms.tinyparts.net
User avatar
ei8htohms
ACME leadscrew
 
Posts: 364
Joined: 2013-Jan-Sat-18-Jan
Location: NYC
Reputation: 23

Re: Bed leveling firmware - Holy crap it works.

Postby pomonabill221 » 2014-Jun-Fri-15-Jun

RetireeJay wrote:Are you saying that the point at which the auto-leveling sensor triggers changes due to the heat on the extruder nozzle???

I don't have an auto-leveling setup (and frankly see no need for one) but...

I would have thought that the auto-leveling sensor would be quite independent of heat on the extruder. Yes, in your preliminary setup, I guess you need to "calibrate" the proper offset for the extruder versus the sensor while the extruder is hot. But after that preliminary step, then it shouldn't matter whether or not your extruder is hot when you probe the bed with the auto-leveling sensor.

Hi J;
I was mainly commenting on the use of non-probe autoleveling. Earlier in the thread, ei8htohms was referring to using the extruder as the autolevel probe, and depending on how hot the extruder is, this would change the bed mapping for probe (extruder) height.

As you said though, the probe/sensor is independent of the extruder, and as long as "you" know the hot extruder Z offset at the temperature that you are going to run it at, this should not be a problem.

I also have reservations about using the extruder pressing on the printbed and sensing the pressure by moving the printbed. You really don't want to move the bed at all as there is no real guarantee that it will return to the exact location from "press to press". This is my feeling though and if it works... great!
  • 0

PBplus V2 kit.
* Modded power supply (my own)
* heavier power cable (#12) and connector (Cinch-Jones 2 pin) as 4 pin ATX was getting hot!
* extruder and heated bed indicators on bot.. I like to know
* cable dressing using ideas from other members and my own
* machined Z axis couplers.. my own design
* filament guide tubing (drip sprinkler tubing).. keeps filament from possible tangling
* flat washers under ALL screw heads.. spreads out force over wood
* Al machined printbed, opto limit switches on ALL axis, Acme Z lead screws
* Highly modified printbed/stiffened
* Dual Z axis limit switches (selectable) for glass or aluminum bed
* Illuminated extruder with 2 white leds
* NOW with AUTOLEVEL!!!!
* RAMPS board with graphic display
pomonabill221
Solid infill...
 
Posts: 228
Joined: 2013-Jul-Tue-21-Jul
Reputation: 0

Re: Bed leveling firmware - Holy crap it works.

Postby pomonabill221 » 2014-Jun-Fri-15-Jun

ei8htohms wrote:There are two ways to handle this with the set up I have (and to be clear, there is NO sensor/probe, just electromechanical end stops).

I can either run the probing routine when the nozzle (and bed) is/are cold and then adjust the "probe" offset in the Z direction accordingly OR (what I'm actually doing) set the Z offset as appropriate for the nozzle and bed being hot and then run the probing routine in that same state, right before every print in fact.

Yes, this is another way to do this.... taking the extruder expansion into account and compensating for it.
  • 0

PBplus V2 kit.
* Modded power supply (my own)
* heavier power cable (#12) and connector (Cinch-Jones 2 pin) as 4 pin ATX was getting hot!
* extruder and heated bed indicators on bot.. I like to know
* cable dressing using ideas from other members and my own
* machined Z axis couplers.. my own design
* filament guide tubing (drip sprinkler tubing).. keeps filament from possible tangling
* flat washers under ALL screw heads.. spreads out force over wood
* Al machined printbed, opto limit switches on ALL axis, Acme Z lead screws
* Highly modified printbed/stiffened
* Dual Z axis limit switches (selectable) for glass or aluminum bed
* Illuminated extruder with 2 white leds
* NOW with AUTOLEVEL!!!!
* RAMPS board with graphic display
pomonabill221
Solid infill...
 
Posts: 228
Joined: 2013-Jul-Tue-21-Jul
Reputation: 0

Re: Bed leveling firmware - Holy crap it works.

Postby ei8htohms » 2014-Jun-Fri-16-Jun

pomonabill221 wrote:I also have reservations about using the extruder pressing on the printbed and sensing the pressure by moving the printbed. You really don't want to move the bed at all as there is no real guarantee that it will return to the exact location from "press to press". This is my feeling though and if it works... great!


As it turns out, getting the bed to actuate up and down repeatably is a bit of a challenge, not so much for the upper limit (a nice secure stopping point at the top of the travel is not so difficult) as for the pressure required to trip the switch. Since the carriage has quite a bit of flex to it that needs to be compensated for as well, the bed mounts have to be VERY precise. This is the design I'm working on now.

2014-05-31 14.07.37.jpg
  • 1

You do not have the required permissions to view the files attached to this post.
Printrbot GO v.1 - steampunk
Auto bed compensation via endstop wired bed mounts
Thrust bearings and Oldham couplers for the
8mm Igus trapezoidal leadscrews w/
Igus DryLin nuts
PB LCD/encoder
GT2 belts
X and Y motors upgraded to Kysans
Twin 30mm fans

http://ei8htohms.tinyparts.net
User avatar
ei8htohms
ACME leadscrew
 
Posts: 364
Joined: 2013-Jan-Sat-18-Jan
Location: NYC
Reputation: 23

Re: Bed leveling firmware - Holy crap it works.

Postby pomonabill221 » 2014-Jun-Fri-16-Jun

Nice design!
So as long as the bed doesn't flex when pressed on by the extruder (spring stiffness), this would allow the bed to move down when "probed" by the extruder.
What are you using to sense bed movement? Micro switches / optical switches (slots) / prox. sensors? Where are they located? At each "spring stop"? and wired in series so any one of them will sense movement?
Where are you "probing"? at each corner (2X2) or more points?
  • 0

PBplus V2 kit.
* Modded power supply (my own)
* heavier power cable (#12) and connector (Cinch-Jones 2 pin) as 4 pin ATX was getting hot!
* extruder and heated bed indicators on bot.. I like to know
* cable dressing using ideas from other members and my own
* machined Z axis couplers.. my own design
* filament guide tubing (drip sprinkler tubing).. keeps filament from possible tangling
* flat washers under ALL screw heads.. spreads out force over wood
* Al machined printbed, opto limit switches on ALL axis, Acme Z lead screws
* Highly modified printbed/stiffened
* Dual Z axis limit switches (selectable) for glass or aluminum bed
* Illuminated extruder with 2 white leds
* NOW with AUTOLEVEL!!!!
* RAMPS board with graphic display
pomonabill221
Solid infill...
 
Posts: 228
Joined: 2013-Jul-Tue-21-Jul
Reputation: 0

Re: Bed leveling firmware - Holy crap it works.

Postby ei8htohms » 2014-Jun-Fri-16-Jun

Thanks!

The internal "clamp" portion of this design is electrically isolated from the larger "mount" except by the single screw at the top (the plastic spacer at the bottom is obvious, not so clear is that the set screws in the sides have nylon tips). The clamp and the mount each get one of the leads from the end stop (all three wired in series) so that the downward pressure of the nozzle breaks the contact and triggers the end stop.

The firmware I'm using is too large as is to enable the "accurate leveling" for more than three probe points (too many bytes to fit on the printrboard when compiled) so I'm just using three probe points for now.
  • 0

Printrbot GO v.1 - steampunk
Auto bed compensation via endstop wired bed mounts
Thrust bearings and Oldham couplers for the
8mm Igus trapezoidal leadscrews w/
Igus DryLin nuts
PB LCD/encoder
GT2 belts
X and Y motors upgraded to Kysans
Twin 30mm fans

http://ei8htohms.tinyparts.net
User avatar
ei8htohms
ACME leadscrew
 
Posts: 364
Joined: 2013-Jan-Sat-18-Jan
Location: NYC
Reputation: 23

Re: Bed leveling firmware - Holy crap it works.

Postby CaptKirk » 2014-Aug-Tue-15-Aug

Sorry to resurrect an older thread but I had to comment. Your method sure seems like a LOT of work to go to through and relies on the repeatability of a mechanical system (difficult to acheive) vs the non-contact probe. The sensor used for autoleveling is $3 shipped on EBay right now. http://www.ebay.com/itm/371102209790

Just sayin'!! But your attempt certainly is an interesting way to approach this and is definitely fun to think about and to track your progress so thank you for that!!
  • 0

CaptKirk
Waiting to connect to printer...
 
Posts: 5
Joined: 2014-May-Thu-21-May
Reputation: 0

Re: Bed leveling firmware - Holy crap it works.

Postby ei8htohms » 2014-Aug-Wed-10-Aug

Undoubtedly more work. In fact, I still haven't completed the next iteration of the bed mounts (learning CNC is hard, but mostly I've just been busy) so I can't predict how well they'll work. I'm a watchmaker, so I'm a lot more comfortable with mechanical systems, no matter how finicky and delicate and difficult to make and in fact that's a lot of the appeal to me. Plus it seems to go better with the steam punk theme of my bot. I do not anticipate this method taking off. :-)
  • 0

Printrbot GO v.1 - steampunk
Auto bed compensation via endstop wired bed mounts
Thrust bearings and Oldham couplers for the
8mm Igus trapezoidal leadscrews w/
Igus DryLin nuts
PB LCD/encoder
GT2 belts
X and Y motors upgraded to Kysans
Twin 30mm fans

http://ei8htohms.tinyparts.net
User avatar
ei8htohms
ACME leadscrew
 
Posts: 364
Joined: 2013-Jan-Sat-18-Jan
Location: NYC
Reputation: 23

Re: Bed leveling firmware - Holy crap it works.

Postby ei8htohms » 2014-Sep-Sun-12-Sep

  • 0

Printrbot GO v.1 - steampunk
Auto bed compensation via endstop wired bed mounts
Thrust bearings and Oldham couplers for the
8mm Igus trapezoidal leadscrews w/
Igus DryLin nuts
PB LCD/encoder
GT2 belts
X and Y motors upgraded to Kysans
Twin 30mm fans

http://ei8htohms.tinyparts.net
User avatar
ei8htohms
ACME leadscrew
 
Posts: 364
Joined: 2013-Jan-Sat-18-Jan
Location: NYC
Reputation: 23

Re: Bed leveling firmware - Holy crap it works.

Postby Mooselake » 2014-Sep-Mon-10-Sep

That's pretty cool, and fits nicely with your steampunk theme! Wish I was good enough to make something like that.

I wonder if an (uglier) other approach would be to use a spring loaded bed and small microswitches, having the bed movement trip the switch(es). I did some dial gauge testing with my CNC router's cheap switches repeatability, and it was basically within the error of the also cheap gauge. I'm not all that interested in auto bed leveling thanks to RJ, but this would eliminate dealing with any expansion from temperature change, slightly different thickness glass (or glass/PEI pallets), or my micrometer head adjuster moving around a bit in it's mount.

Kirk
  • 0

Modified KickStarter Classic Plus 7/2012
KS Thingybot Delta Pro 10/31/16
User avatar
Mooselake
My next printer is...
 
Posts: 3604
Joined: 2011-Dec-Tue-23-Dec
Location: Moose Swamp, Upper Michigan, USA
Reputation: 177

Re: Bed leveling firmware - Holy crap it works.

Postby thawkins » 2014-Sep-Mon-11-Sep

Mooselake wrote:That's pretty cool, and fits nicely with your steampunk theme! Wish I was good enough to make something like that.

I wonder if an (uglier) other approach would be to use a spring loaded bed and small microswitches, having the bed movement trip the switch(es). I did some dial gauge testing with my CNC router's cheap switches repeatability, and it was basically within the error of the also cheap gauge. I'm not all that interested in auto bed leveling thanks to RJ, but this would eliminate dealing with any expansion from temperature change, slightly different thickness glass (or glass/PEI pallets), or my micrometer head adjuster moving around a bit in it's mount.

Kirk


You can use force sensative resistors, they are quite amazing, even the smallest change in force on them results in quite a big change in resistance.
  • 0

Jonbot+
225mm x 200mm - Heated Bed
RAMPS 1.4 running Marlin 1.1.0
Full Graphic display.
-------------------------------
Zen Toolworks CNC/3d printer
230mmx360mm bed
Dual j-head hotends.
Dual heated beds.
RAMPS 1.4 running Marlin 0.98
-------------------------------
Flashforge 3d Creator Pro
Dual Extruder
220x143x150mm
Mightyboard rev e, runnimg Sailfish 7.7r1234
-------------------------------
Photon, self designed printed printer.
User avatar
thawkins
Print winner 2nd
Print winner 2nd
 
Posts: 1636
Joined: 2013-Aug-Sun-10-Aug
Location: Manila, Philippines
Reputation: 172

Re: Bed leveling firmware - Holy crap it works.

Postby ei8htohms » 2014-Sep-Mon-12-Sep

Thanks Kirk!

Isn't the problem with FSRs the temperature range? I understand they max out at around 70 C. If you can thermally isolate them from the heated bed then that could work.
  • 0

Printrbot GO v.1 - steampunk
Auto bed compensation via endstop wired bed mounts
Thrust bearings and Oldham couplers for the
8mm Igus trapezoidal leadscrews w/
Igus DryLin nuts
PB LCD/encoder
GT2 belts
X and Y motors upgraded to Kysans
Twin 30mm fans

http://ei8htohms.tinyparts.net
User avatar
ei8htohms
ACME leadscrew
 
Posts: 364
Joined: 2013-Jan-Sat-18-Jan
Location: NYC
Reputation: 23


Return to Hack talk

Who is online

Users browsing this forum: No registered users and 2 guests