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 high-power bursts during deceleration #64

Merged
merged 1 commit into from Oct 10, 2015

Conversation

martinxyz
Copy link
Contributor

The problem was most visible when engraving small shapes at low power.

I haven't actually laser-tested this yet but used an arduino to monitor the PWM output of the firmware. I have triggered an oscilloscope on the large pulse width and was able to reproduce the glitches. Now they are gone and the duty stays below 5%.

The problem was already discussed and narrowed down by "jondale" and others in the google groups: https://groups.google.com/forum/#!topic/lasersaur/1i36ZNAvRFo (I'm not posting there because I don't like the idea of paying or asking for permission to submit a bugfix. Please consider opening the group up for everyone.)

An alternative fix would have been to just make the integer signed. But I'm not sure if the full range is used or not, and whether the other uint32_t in this file should be converted to signed, too.

The problem was most visible when engraving small shapes at low power.
@jondale
Copy link

jondale commented Aug 26, 2015

Big thanks for figuring that out. I'll test this out as well and hopefully it works on the laser too.

I also agree about opening up the group and hopefully that will happen.

@SteveBaker
Copy link

Hmmm...that's annoying. I'd suggested more or less that same fix a while
ago. I didn't have the time to test it myself, but someone else reported
back that it didn't help.

I guess they must have somehow screwed up the change.

Oh well, hopefully this time it's a fix!

Many thanks!

-- Steve

Martin Renold wrote:

The problem was most visible when engraving small shapes at low power.

I haven't actually laser-tested this yet but used an arduino to monitor
the PWM output of the firmware. I have triggered an oscilloscope on the
large pulse width and was able to reproduce the glitches. Now they are
gone and the duty stays below 5%.

The problem was already discussed and narrowed down by "jondale" and
others in the google groups:
https://groups.google.com/forum/#!topic/lasersaur/1i36ZNAvRFo (I'm not
posting there because I don't like the idea of paying or asking for
permission to submit a bugfix. Please consider opening the group up for
everyone.)

An alternative fix would have been to just make the integer signed. But
I'm not sure if the full range is used or not, and whether the other
uint32_t in this file should be converted to signed, too.
You can view, comment on, or merge this pull request online at:

#64

-- Commit Summary --

  • fix high-power bursts during deceleration

-- File Changes --

M firmware/src/stepper.c (6)

-- Patch Links --

https://github.com/stefanix/LasaurApp/pull/64.patch
https://github.com/stefanix/LasaurApp/pull/64.diff


Reply to this email directly or view it on GitHub:
#64

-- Steve

@martinxyz
Copy link
Contributor Author

For the record, the fix was tested on our laser too. All those random black dots are gone.

@stefanix
Copy link
Owner

looks legit, thanks

stefanix added a commit that referenced this pull request Oct 10, 2015
fix high-power bursts during deceleration -- I think adjusted_rate should always be positive so checking for underun is good.
@stefanix stefanix merged commit 4cd92a8 into stefanix:master Oct 10, 2015
@stefanix
Copy link
Owner

BTW, mailing list is now ask-to-join with many old-time members having the permission to add new members.

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.

None yet

4 participants