Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FR] TMC2130 Homing Sensorless For Z Probe #8781

Closed
campy opened this issue Dec 14, 2017 · 22 comments
Closed

[FR] TMC2130 Homing Sensorless For Z Probe #8781

campy opened this issue Dec 14, 2017 · 22 comments
Labels
F: Trinamic T: Feature Request Features requested by users.

Comments

@campy
Copy link

campy commented Dec 14, 2017

Hi, i test the new driver tmc2130 with homing sensorless and work perfect for X and Y axis, its possible implement new feature for use sensorless for Z probe?, i don´t know how about the precission of sensorless homming repetitive values.

But may be we can implement this features and no need put any Z probe like a BLtouch, inductive sensor etc...

For now in marlin only i can use for X and Y axis, if any user tell me what code need for this funtion i can test it

Thanks!

@campy campy changed the title [FR] TMC2130 Homing Sensorless For Z Probe [FR] TMC2130 Homing Sensorless For Z Probe Dec 14, 2017
@campy campy changed the title [FR] TMC2130 Homing Sensorless For Z Probe '[FR] TMC2130 Homing Sensorless For Z Probe' Dec 14, 2017
@campy campy changed the title '[FR] TMC2130 Homing Sensorless For Z Probe' [FR] TMC2130 Homing Sensorless For Z Probe Dec 14, 2017
@lonelymyp
Copy link

use any of the autocalibration sensor setup instructions. Instead of the sensor, connect the signal from the Z driver.

@teemuatlut
Copy link
Member

Sensorless homing requires a setup routine or at least be configured to work and it deliberately has not been done for the Z axis. The reason being that Z axis can have a very large torque multiplier with the screw ratios and when you ram you nozzle into the heat bed, the motors may not see much resisting force. I did not want people to start breaking their expensive E3D heatbreaks because of a feature that may not be suitable for Z axis homing.
If you really want to try it, at your own risk, you can use the TMC2130_ADV macro to configure your Z driver.

@marcio-ao
Copy link
Contributor

marcio-ao commented Dec 14, 2017

I agree with teemualut. I attempted to do sensorless probing on Z and it did not work very well because of the torque multiplier. I was able to get the motor to stall by drastically lowering the motor current, but it wasn't very precise at all, certainly not precise enough for Z probing or leveling.

@lonelymyp
Copy link

Which screw do you use?
A screw with a pitch of 8 mm does not create a large force.

@megablue
Copy link

Depending on the type of Z axis, for example, doing this on belts driven Z axis, like delta, might even cause the belt to deform by a lot before the stall detection kicks in.

@Grogyan
Copy link
Contributor

Grogyan commented Dec 15, 2017 via email

@garv3
Copy link

garv3 commented Jan 21, 2018

Well, for some printers sensorless homing on Z might be a nice feature. See the Anet A8 (with the correct modifications). When homing Z while X is at min, nothing will crash into the bed since the carriage is outside of the bed dimensions. By printing two identical physical tubes that you put on your Z rods you could additionally make sure, both sides are at the same height. After homing you would level using a probe anyways. I would love to see this feature in marlin.
The Prusa i3 mk3 does the calibration at the top of the Z axis. A modified Anet A8 for example could do this at the bottom while homing. This would be awesome!

@teemuatlut
Copy link
Member

You can use M915 for the Z calibration. It's supposed to work roughly the same way as in Prusa printers. But the feature is very much in beta! Use with caution!
Basically what it will do is

  • Reduce current
  • Move the axis to Z_MAX_POS + CALIBRATION_EXTRA_HEIGHT
  • Restore normal current level
  • Re-home Z axis because we intentionally lost steps when ramming the axis to its physical limit

@garv3
Copy link

garv3 commented Jan 21, 2018

I can't do this because my threaded rods are shorter than the linear rods. The carriage can not move up until it hits the limit or it would leave the threads.
Additionally this would mean that it would have to travel all the way up to do this (like the i3 mk3). Would it not be much nicer if we could do this by running against fixed blocks on both sides while homing?

@Bazeone
Copy link

Bazeone commented Jan 25, 2018

to use the M915 feature does the data pin need to be connected to the Max Z endstop?

@teemuatlut
Copy link
Member

No because the firmware will just try to push the axis higher than it physically can. But it'll first (greatly) reduce the current to prevent parts from breaking. There are no endstops or other sensors used.
I'd still recommend caution when you use it the first time. I know it worked for me and I hope it will work for others as well.

@tcm0116
Copy link
Contributor

tcm0116 commented Feb 13, 2018

I attempted to do sensorless probing on Z and it did not work very well because of the torque multiplier. I was able to get the motor to stall by drastically lowering the motor current, but it wasn't very precise at all, certainly not precise enough for Z probing or leveling.

@marcio-ao I was having a similar issue when trying to get this to work on my delta machine. I tried to lower the current, but that didn't really work. What I learned is that the stallGuard works better when the motor is moving at higher velocities. Increasing the probing speed to 100 mm/s actually produced consistent and usable results. It seems counter-intuitive, but at the lower speeds, the steppers were skipping, especially at the perimeters. At the higher speed, it bounces the nozzle nicely off the bed without applying too much force to the bed. Seeing as my delta runs at 100 steps/mm, perhaps you could use that as a reference for tuning the homing/probing speed on your cartesian machine to see if that makes a difference.

@marcio-ao
Copy link
Contributor

@tcm0116 : Interesting! At the moment, we have decided to continue with Z endstops on our printers, but this is good to know!

@jpasqua
Copy link

jpasqua commented Jul 3, 2018

I'm coming into this late and trying to catch up. I have an Einsy Rambo board with integrated TMC2130's for X/Y/Z/E. I have configured sensors homing in Marlin-bugfix-1.1.x. Endstop functionality is working for X and Y, but Z just keeps on running when it reaches a hard stop (I need to reset quickly).

Am I interpreting the discussion correctly that I need to stick with a traditional end stop for Z? I've got a Prusa i3 Mk3 which doesn't have a traditional end stop for Z and uses the same Einsy board. Is it using the PINDA probe as an endstop? I'm planning to add a z probe, so that would be OK if needed.

Thanks for any insights.

@Nenzyz
Copy link

Nenzyz commented Jan 16, 2019

While experimenting with Z sensorless homing on my MPCNC, noticed strange behaviour: on G28 everything works fine, but when using G29 looks like signal from driver is ignored?

@tcm0116
Copy link
Contributor

tcm0116 commented Jan 16, 2019

@Nenzyz - you'd have to enable sensorless probing to use G29.

@boelle
Copy link
Contributor

boelle commented Feb 19, 2019

i might be wrong but i think i remember that someone got this to work

but i'm not sure and cant remember how

@BenderskiyMA
Copy link

Hello!
I use SKR 1.3 board and TMC 2130 SPI on my delta printer.
i want to use simultaneously sensorless_homing and sensorless_leveling
how can i configure firmware and hardware for this?

@boelle
Copy link
Contributor

boelle commented Jun 22, 2019

missing label

@boelle boelle added T: Feature Request Features requested by users. and removed F: Trinamic labels Jul 21, 2019
@prasarnh
Copy link

i think this can be done use separate motor such as nema 8 and use through hole shaft to make independent z probe utilized stallguard feature.

@sjasonsmith
Copy link
Contributor

I assume this is complete, since SENSORLESS_PROBING is supported (although not necessarily recommended) in our configuration files.

@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked and limited conversation to collaborators Nov 11, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
F: Trinamic T: Feature Request Features requested by users.
Projects
None yet
Development

No branches or pull requests