Bltouch on Raise3d

Topics around mechanical design, controller and electronics. Mods & hacks welcome.
Jetguy
Posts: 1147
Joined: Tue Mar 22, 2016 1:40 am

Re: Bltouch on Raise3d

Postby Jetguy » Thu Mar 02, 2017 2:33 pm

John, let's talk about that for a second. So the first is understanding what you are even doing with a BLtouch and how you use that instead of mechanically tramming/leveling the bed to the nozzle's plane of motion. BL touch is nothing more than a touch probe that attaches to the extruder head beside the nozzle. It is unique in that the BLtouch is an electromechanical probe that has 2 positions, extended and retracted. Retracted is so it doesn't stick down and strike your print object. This is the normal state. Then the extended position is supposed to be a highly repeatable position that is motorized and when commanded pops down to then be able to touch the bed surface and determine distance. Then, to achieve leveling, what you do is load custom firmware and that has a command to probe a grid of physical points on the bed to make a height map. That is then stored in RAM in the mega2560 motion controller processor. Key hint here- RAM- which means the instant that processor resets or is power cycled, you lost the leveling map. Now, in theory, if you ALSO enabled EEPROM in this custom firmware, the entire system could write that table to EEPROM which is NOT erased at power cycle. The problem there is, I only just the other day figured out the settings to make EEPROM work on the Marlin source code. So getting back to the recovery part of this. Great, you lost power or some other reason the print stopped and now you want to resume. The Raise 3D front panel LCD pcDuino has the gcode and is the streaming server sending that gcode to the motion controller board. So on a resume, it does the following. It replays some parts of the starting gcode, but not all of it. In other words, some of it is resume specific code example it ONLY homes XY and NOT Z axis, but uses the temperature, steps per mm (I think, not verified!!!), and flowrate( again, assumption here) from the file, but the basic startup commands are specific to a print recovery. Then it begins playing the next line of gcode from the last stopped position in the file. So here lies the problem. To use BLtouch, you are no longer using the mechanical Z endstop for homing and before a print you have custom gcode that probes the empty bed, builds this map, applies the value of the probe offset (how far the probe was below the nozzle). That map was LOST during the power down. You cannot rebuild it because there is an object on the build surface. So now, the printer is going to not home Z (good thing, because that would result in a crash, but the leveling plane table is gone to offset the gcode and make the bed match the mechanical nozzle plane. So it's HIGHLY likely that even if it did print, the nozzle would crash into the now not perfectly level top surface of the object.

This is why I oppose such plane compensation systems. They don't really solve the problem and create new ones. The proper way is just level the bed mechanically. We have dozens of ways to achieve this and none are expensive. OR buy a $45 BLtouch. Go through everything to set it up, and then find out the entire concept of operation is counter intuitive to print resume function after a power loss.

Now absolutely, I could be wrong on any of these points. I'm not using a BLtouch, nor did I develop the alternate firmware branch, nor do I know everything about the operation. But I think I have shown what I believe to be valid points about the operation and assumptions here. There may be ways to improve this, you could put the table into EEPROM- but I have no idea if the code supports this today.

firesped
Posts: 572
Joined: Mon Mar 21, 2016 9:23 pm
Location: Tucson, AZ

Re: Bltouch on Raise3d

Postby firesped » Thu Mar 02, 2017 3:49 pm

I don't know everything involved with the BLtouch code. I haven't set it up on my printer as it needs a lot of cables run to attach it. I mainly picked one up for the purpose of testing firmware. Now if i could use it on my Trinus, which has a non leveled bed in the first place that would be a diffirent issue but the PCB/Mainboard on that is closed source as it the firmware. I'd have to setup a totally new main board, which I may end up doing in the long run. considering picking up the N-series board to run it but I don't know if the thermalcouple hookups on the mini board can be switched out for a thermister that the Trinus uses in it's extruder design. But this is all off topic.

Here is what I know. People have gotten the probe to do something with modifying the current firmware and I have gotten the Marlin RC8 (bugfix version) to work on the N-series. the marlin RC8 has code in it to support the BL touch.

I can't speak for what the modified current firmware does as I haven't used or the BL touch so you need to ask the people who are using it if it works as intended.

RC8 may save probe information so it can resume after power lose. gcode 999 is a marlin feature not unique to the N-series. You would have to ask the people developing Marlin if this is true or not.
RL name: Michael Nolen

Jetguy
Posts: 1147
Joined: Tue Mar 22, 2016 1:40 am

Re: Bltouch on Raise3d

Postby Jetguy » Thu Mar 02, 2017 4:09 pm

Agreed, but it's dependencies.
#1 we don't have a console to send gcode commands directly. Thus, you have to "print" gcode scripted files to perform certain actions on the motion board and firmware and those would be blind (we cannot see any output or failure). Again functions like a probe bed and store plane data print file, adjust probe offset value in EEPROM print script. The might execute and not be able to display the values or information or even usage instructions to the user.
#2 Again, the storage medium would need to be EEPROM and by default, the firmware does not have EEPROM enabled. Even when EEPROM is enabled, the code must save that data and recall that data from the EEPROM location
#3 Again, the OTHER issue is that upon resume, we may not be able to inject required commands to use the auto leveling plane storage data.

None of this is "impossible", but may require significant effort and testing to implement, and a sound knowledge of the system and code, and understanding of the entire end to end system operation including code and variables sent by the pcDuino that thus far we have been unable to change. I think the current version of the implementation did not account for the dependencies and limitations of the total end to end system and recovery was not well tested before sharing tutorials and guides on the BLtouch mod. Now I know that sounds negative towards the creators of the modification and that is not my intent. I'm just saying from the user perspective of a user coming in with expectations that a mod works and is compatible with all existing features and is truly 100% automatic in every respect might not be true quite yet for the BL touch mod.

User avatar
JohnSays
Posts: 444
Joined: Tue Apr 26, 2016 2:42 pm
Location: Saint Petersburg, FL

Re: Bltouch on Raise3d

Postby JohnSays » Thu Mar 02, 2017 4:29 pm

Thanks JetGuy. Now I understand what Monty was referring to. So here is why I thought it might be a solution for me, and even given the added RAM/Resume problem, it may still be. I did the leveling screw mod on both my printers. Since then I have noted that the heat bed itself is no longer flat and now I think I know why R3D has so many leveling adjustments on the bottom of the heater: It warps! So I thought, put it back to factory, adjust it to as flat and level as I can get it, but then I give up the on-the-fly squish adjustment that I have grown to love. But if I leave it as is I have a warped heater plate that I thought the BLT could compensate for. On the other hand, I have gone to double thickness glass and it seems to be staying nice and flat and i can easily level it. So the BLT becomes somewhat of a curiosity.

Btw, I have had one crash and used Resume when the printer came back up and it did a pretty horrible job of resuming so I'm not to concerned about that. I also have my printers attached to a 20 amp UPS so they can both run for about ~17+ minutes at ~420 watts each. That helps with the power outages.
- John
Raise3D N2 Dual, V2 nozzles, Bondtech hybrid mod, and adjustable table

Phife
Posts: 57
Joined: Thu May 12, 2016 3:47 pm

Re: Bltouch on Raise3d

Postby Phife » Fri Mar 03, 2017 12:42 am

Been using the BLtouch for a while now. I print every day, multiple times a day. My biggest problem was my mount, I had it on the fan mount and when adjusting or changing nozzles, it would never go back on in the same place so the Z offset was off and needed to be recalibrated.

New mount bolts to the hole in the front with a nice thick mount and I havent had any problems since. So nice not to have to level the bed anymore. It does require some work to install, especially running the wires (I used some stranded CAT5 cable, dont use solid core)

User avatar
JohnSays
Posts: 444
Joined: Tue Apr 26, 2016 2:42 pm
Location: Saint Petersburg, FL

Re: Bltouch on Raise3d

Postby JohnSays » Fri Mar 03, 2017 2:26 am

Thanks Phife
- John
Raise3D N2 Dual, V2 nozzles, Bondtech hybrid mod, and adjustable table

fponticelli
Posts: 35
Joined: Thu Mar 24, 2016 3:09 am

Re: Bltouch on Raise3d

Postby fponticelli » Fri Mar 03, 2017 3:15 am

@Phife, I have routed all the cables so the hard part I believe is done already. Do you have a reference to exactly what steps to take now? I read this entire thread but I am still confused on what mount to use and what firmware to use (particularly because I have the Bondtech already installed).

fponticelli
Posts: 35
Joined: Thu Mar 24, 2016 3:09 am

Re: Bltouch on Raise3d

Postby fponticelli » Fri Mar 03, 2017 3:16 am

And how to config the firmware to compensate for z differences.

Monty
Posts: 86
Joined: Wed Oct 19, 2016 6:13 pm

Re: Bltouch on Raise3d

Postby Monty » Fri Mar 10, 2017 6:14 pm

What's up with this bloody printer now :( Starting a print. It warms up, starts the bed levelling test with the BLT, front left then a few points along the front edge, then the bed just goes lower and lower on each following run. :(

biaggiboy
Posts: 36
Joined: Sat May 07, 2016 2:23 am

Re: Bltouch on Raise3d

Postby biaggiboy » Sat Apr 29, 2017 4:21 pm

would bent x and y rods affect the BLTouch from being able to level properly. I have tried 16 probe points all the way to 49 and it still doesn't seem leveled all the way, I still get spots that are too low or to close. I know the BLTouch is working because I can see the z rods moving as the printhead moves around the build plate.

User avatar
JohnSays
Posts: 444
Joined: Tue Apr 26, 2016 2:42 pm
Location: Saint Petersburg, FL

Re: Bltouch on Raise3d

Postby JohnSays » Sat Apr 29, 2017 7:46 pm

Phife did you post your mount design to Thiniverse?
- John
Raise3D N2 Dual, V2 nozzles, Bondtech hybrid mod, and adjustable table

biaggiboy
Posts: 36
Joined: Sat May 07, 2016 2:23 am

Re: Bltouch on Raise3d

Postby biaggiboy » Thu May 11, 2017 12:58 pm

What would cause my bed to still not be level even with the bltouch working. I can see the Z rods moving as the print head moves but it's still not level. Could it be bent rods? Or is my bed just to unlevel for the bltouch to do its job properly? Any help would be greatly appreciated.

User avatar
JohnSays
Posts: 444
Joined: Tue Apr 26, 2016 2:42 pm
Location: Saint Petersburg, FL

Re: Bltouch on Raise3d

Postby JohnSays » Fri May 12, 2017 5:25 pm

Question about multi-point bed leveling: So let's say that my bed does vary from the flat and the BLTouch compensates for this. Would that not mean that the variance from flat now pervades my whole model? I'm not referring to a tilted bed, but one that has a slight waviness to it. Whereas if I did not compensate I would end up with a flat top on my final product but a wavy bottom? Note: assuming I leveled my bed first.
- John
Raise3D N2 Dual, V2 nozzles, Bondtech hybrid mod, and adjustable table

fponticelli
Posts: 35
Joined: Thu Mar 24, 2016 3:09 am

Re: Bltouch on Raise3d

Postby fponticelli » Fri May 12, 2017 5:59 pm

Interesting question ... I assume this could be solved with the right software but I also wonder if these compensations are there.

biaggiboy
Posts: 36
Joined: Sat May 07, 2016 2:23 am

Re: Bltouch on Raise3d

Postby biaggiboy » Sat May 13, 2017 4:05 pm

biaggiboy wrote:What would cause my bed to still not be level even with the bltouch working. I can see the Z rods moving as the print head moves but it's still not level. Could it be bent rods? Or is my bed just to unlevel for the bltouch to do its job properly? Any help would be greatly appreciated.

sylus
Posts: 63
Joined: Fri Aug 05, 2016 9:47 pm

Re: Bltouch on Raise3d

Postby sylus » Mon May 15, 2017 4:43 pm

BLtouch have 2 limits:
-actual marlin not provide mesh leveling but linear compensation (not mapping) if your bed is very irregular it not works well
-distance to the nozzle is important and it occurs not good position of real probing value
an descent leveling (not with case) help BLTouch to do the job

in conclusion Marlin needs to be upgraded (if Raise3D allow to do it with Pcduino screen interoperability)


Return to “Hardware”

Who is online

Users browsing this forum: No registered users and 2 guests