moggieuk/Happy-Hare

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.