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

fix(motor-control): catch falling 96 channel #810

Merged
merged 4 commits into from
Oct 24, 2024

Conversation

ryanthecoder
Copy link
Contributor

So from the various logs I have found 2 different cases where the 96 channel can fall down to the deck

  1. During the first home after a boot up, the 96 sometimes falls, it's a little unclear on why this happens, there could be some static friction condition that happens when things are powered off.

  2. If there is a Stop Request sent while the 96 is moving faster than the discontinuity speed in the downward direction, the steps immediately stop without acceleration and the momentum of the 96 overcomes the head motor, creates a resonate condition and falls.

This PR makes it a bit better by "catching" the pipette when this happens. First of all when a "stop request" is sent we will automatically call disable motor from the motion controller. This will activate the brake if there is one on that axis.

Second, specifically to address the first cause, this PR adds a new way of detecting when a fall is happening during a home by seeing if the axis starts moving in the wrong direction and triggering a collision detected. Since the python side already spits out a stop request immediately upon receipt of a collision detected this will trigger the brake.

Copy link
Member

@sfoster1 sfoster1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, that's really nice. Nice work!

@ryanthecoder ryanthecoder force-pushed the RQA-3394-uncontrolled-96-crash branch 2 times, most recently from 18523af to 7f8c99d Compare October 24, 2024 14:45
@ryanthecoder ryanthecoder merged commit 2ffc6ce into main Oct 24, 2024
30 of 31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants