[Noisebridge-discuss] getting that goddamned mill to work
Michael Wright
mike at smallip.com
Fri Oct 2 19:10:28 UTC 2009
I think Jon pretty much summed it up.
We've got it to work as well as can be done using the UI on EMC2. It
looks like the EMC2 HAL (hardware abstraction layer) allows for making
pretty significant changes to the motor signaling (Seph basically
changed everything of how EMC2 talks to make it use 4 pins per motor
to control the MaxNC10OL), we have the MaxNC10CL (closed loop) so we'd
have to do slightly less work to make it do quadrature on 2 pins per
motor. This would be a pure software hacking adventure, probably most
of the work could be done using EMC2 on a VM on a laptop, with final
testing requiring a real machine and the mill.
I've downloaded and played with Mach3 demo-ware in a VM. It actually
has a menu option for MaxNC CL mode. This along with the other things
I've read makes me think it will work. If it's possible to believe,
it actually looks more esoteric and harder to use than EMC2 (at least
for someone who doesn't know CAM yet). That said if it makes the mill
work, someone can make an instructable on how to do CAM. The demo of
Mach3 allows 500 lines of Gcode, the licensed version allows 10,000
and costs $175. My plan is to arrive with a windows 2k hard drive and
put it in one of the three boxes (2 compaqs from Dr. J plus one from
Jonathan L). If that works, then it works and other hacking can be
done for fun rather than "necessity".
In terms of other hacking for fun, I'm thinking it would be pretty
easy to make an Arduino/Sanguino based 4 knob control box that
converts the perfectly good CNC mill into a functional power-feed only
manual mill. For the kinds of one-off things I tend to do, having
direct control is nice (plus the learning curve is lower).
The important things we learned in EMC2:
If you have the enable pins set correctly the mill humms at about 10
khz (actually all 3 stepper motors)
If you have the enable pins set correctly any one of the steppers will
resist externally applied torque
If the steppers don't behave closed loop (hum and resist torque),
something's not enable and no other testing has any chance of success
Spindle is pin 1, inverted, it pwm's fine (if not set inverted it runs
by default, which I don't recommend)
The spindle may not be affected by the enable pins (needs more testing)
Here's the pin config that made the most sense (and made controllable
noise)
outputs:
1 Spindle PWM Invert Checked
2 A Step
3 A Dir
4 Y Step
5 Y Dir
6 X Step
7 X Dir
8 Z Step
9 Z Dir
14 ESTOP Out Invert Checked
16 ESTOP Out
17 ESTOP Out Invert Checked
Inputs
10 All Limits
11 Unused
12 Unused
13 Unused
15 Unused
On Oct 2, 2009, at 10:48 AM, Jonathan Foote wrote:
> I don't think jitter is an issue. On the worst machine last night it
> was less than 25 us. Mike's borrowed machine got it down to less than
> 5 (thanks for bringing that in, Mike!)
>
> Seeing as how the actual stepper pulses are generated by 4 Mhz PICs, I
> think we are, if anything running too fast.
>
> But we made some progress, we got the spindle motor PWM working, and
> found magic enable pins. We can enable the stepper feedback so they
> will fight you if you try turning them out of position, and I'm pretty
> sure we're giving them drive signals because we can hear them whine.
> But they still don't move.
>
> I think the final hurdle is generating true quadrature drive signals
> rather than step + direction. This is an easy hardware hack (two
> flip-flops and some logic should do it), or we could improve the
> open-source EMC2 code to generate the signals we need. The hardware
> solution strikes me as much easier than mucking about in the guts of
> that Linux port driver, but I could be convinced otherwise, especially
> if there's anyone else on the planet with a similar problem. (Is
> anyone on the EMC2 list/forum/IRC that could ask?)
>
> I think the next step is testing that hypothesis by feeding one axis
> some true quadrature signals from hardware. I have some AVR code to do
> just that.
>
>
> OK, enough hacking, back to the drama.
>
> -J
>
>
> On Fri, Oct 2, 2009 at 10:13 AM, Andy Isaacson <adi at hexapodia.org>
> wrote:
>> On Thu, Oct 01, 2009 at 11:56:29PM -0700, Jesse Welz wrote:
>>> 2009/10/1 dpc <weasel at meer.net>:
>>>> Michael Wright <mike at smallip.com> writes:
>>>>
>>>>> After running the Jitter-Test program on the computer I have the
>>>>> sinking suspicion that the machine we're trying to use isn't good
>>>>> enough to send step and direction commands.
>>>>
>>>> hmmm.... i never got around to schleping down the machine for the
>>>> reversing stuff but just noticed it has a prallel port. how good is
>>>> good enough?
>>
>>
>> The problem is that some low-end computers from about 1998 to 2003
>> (and
>> some up to the current day) use SMI mode (System Management
>> Interrupt)
>> to do stuff on the CPU without letting the OS know about it. This
>> means
>> that at any moment your code may stop executing for up to a few
>> hundred
>> microseconds -- plenty long enough to totally hose a PWM or stepper
>> motor pulse sequence.
>>
>> The motherboard I last saw being used for the mill was a Via Eden
>> CPU,
>> which is known to potentially have such issues.
>>
>> Most "real" AMD or Intel CPUs' motherboards don't have these issues,
>> although it's not guaranteed (it depends on the BIOS and system
>> vendor,
>> and laptops are also known for having such problems), so check for a
>> better mobo -- I know I saw a few in the E-Waste pile.
>>
>> -andy
>> _______________________________________________
>> Noisebridge-discuss mailing list
>> Noisebridge-discuss at lists.noisebridge.net
>> https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss
>>
> _______________________________________________
> Noisebridge-discuss mailing list
> Noisebridge-discuss at lists.noisebridge.net
> https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss
More information about the Noisebridge-discuss
mailing list