Motor sync issue
Closed this issue · 9 comments
My printer is equipped with a belay. I followed the wiki for its configuration and the correct information is displayed by the mmu_sensor command
(triggered when I compress the belay by hand)
config extract:
sync_feedback_tension_pin:: ^mmu:gpio3
sync_feedback_compression_pin:
nevertheless even with an extreme value forsync_multiplier
example :
sync_multiplier_high: 1.2
sync_multiplier_low: 0.8
The filament is never under tension so the switch is never activated as if the sync_multiplier_low parameter was not taken into account.
I tried to get more information with log level: 2 but no information is displayed even when I manually force the activation of the switch during printing
Note: I am sure that I do not have a difference of 20% between my extruder and the mmu_gear, both were calibrated with a caliper
I will just say, that I'm having these kinds of problems too. I have supper belay, that has both compression and tension sensors, and to me it seems like they are not affecting anything. The sensors work according to the MMU_SENSORS. And I have successfully being using them some time ago.
Edit. I will try to recalibrate my gates again. Will get back to you!
Edit 2. Yeah, sorry. Seems like my problem was beacuse I hadn't calibrated all of my gates.
thanks for the feedback. I use a tradrack so the problem does not come from that side for me
Faced with a similar problem.
During printing, the rotation distance parameter does not change when the compression or tension sensors are triggered. Unfortunately, before that they worked during the first printing, and then they stopped. Then they started working again, but inverted.
The very fact of pressing the Happy Hare sensor determines, but does not change the coefficient.
Thanks. I'll take a look at this since there are a few of you reporting but I'd need mmu_log
to diagnose specific problems.
One this you might like to try is the v3beta
branch. This will be pushed to main
very soon. It would be good to know if the problem still exists on this release because this is where I would be addressing any problems.
Reminder. To switch to a specific branch:
./install.sh -b v3beta
To switch back to "main" when released:
./install.sh -b v3beta
After more testing:
The belay operates normally for the first 5-10 minutes and then it is no longer controlled until the end of printing (it remains in the compressed position opposite the sensor)
To succeed in making it work I need at least (the problem is the same by increasing these values)
sync_multiplier_high: 1.15
sync_multiplier_low: 0.85
My MMU.log with level 2
mmu.log
I just did the test with a turtleneck (2 sensors).
The behavior is the same: the tension sensor is never reached and little by little the belay moves less and less away from the compression sensor until it no longer leaves it until the end of printing
i'm using the V3.0.1
Can you send a mmu.log
with log_file_level: 3 (I need the TRACE output). You can do this temporarily with:
MMU_TEST_CONFIG log_file_level=3
I just ran a test and it worked as expected. Here is some (simplified) log output where I annotate what is happening...
This is at the start of the print. Neither tension or compression sensor is triggered. Here the gear stepper is synced at the default calibrated rotation distance:
14:06:00 TRACE: New sync direction: extrude
14:06:00 TRACE: Updated sync multiplier: 1.0000
14:06:00 TRACE: Setting gear motor rotation distance: 22.731687
Later the tension triggers:
14:06:04 TRACE: Got sync force feedback update. State: -1
14:06:04 TRACE: Updated sync multiplier: 1.0500
14:06:04 TRACE: Setting gear motor rotation distance: 21.649226
The rotation distance is smaller, meaning HH will turn the gear stepper faster to relieve the tension
The tension sensor un-triggers (and normal speed is restored):
14:06:07 TRACE: Got sync force feedback update. State: 0
14:06:07 TRACE: Updated sync multiplier: 1.0000
14:06:07 TRACE: Setting gear motor rotation distance: 22.731687
Later the compression triggers:
14:06:10 TRACE: Got sync force feedback update. State: 1
14:06:10 TRACE: Updated sync multiplier: 0.9500
14:06:10 TRACE: Setting gear motor rotation distance: 23.928091
The rotation distance is larger, meaning HH will turn the gear stepper slower to relieve the compression
The tension sensor un-triggers (and normal speed is restored):
14:06:12 TRACE: Got sync force feedback update. State: 0
14:06:12 TRACE: Updated sync multiplier: 1.0000
14:06:12 TRACE: Setting gear motor rotation distance: 22.731687
Maybe you can help and review your mmu.logs
and see if you can detect what is (or not happening).
Note that in a real print you might have retraction sufficient to cause a rotation distance change opposite to what is shown here. I.e. compression must be treated like tension if retracting...
If you find the print continues in one of compressed/tension states and stays there, it is likely that calibration might be slightly off (or grip is being lost on a particular gate.. is the servo active all the time?). Alternatively and good thing to do when testing is to increase the spread of HIGH/LOW multipliers to make it artificially bounce more than necessary as you tried.:
sync_multiplier_high: 1.15
sync_multiplier_low: 0.85
thank you for your investigation. the problem was on my side, the adjustment of my extruder was not at all good. synchronization now works with belay and turtle neck. Thank you for your work
You're welcome. Closing issue.