VFD integration: M3, M4, M5 Macros and RPM measurement
-
@dc42 i dont have the paneldue connected yet -- i will add that after I do the pendant mod and figure out where I want the screen to go -- probably somewhere outside where the coolant and chips would be.
-
@kazolar said in VFD integration: M3, M4, M5 Macros and RPM measurement:
no I cannot -- I tried -- the controller is frozen, webui is unresponsive -- all my M113 does is do emergency stop and software reset in one command
Perhaps you are running an old version of DWC?
-
@dc42 i don't see that -- it just says waiting to connect. I have 3.02 previously, now have 3.1.1 with my code changes
-
@dc42 i did not update the dwc -- since I plan to moving to the ooznest dwc anyway.
-
That's what happens when I send M112 from PanelDue. Running DWC 3.1.1. I can reset it by pressing that Reset button, or by sending M999 from PanelDue. Or by using the reset button of course.
-
@dc42 I'm sure my dwc is older, but again -- I doubt that's supported in the ooznest workbee dwc anyway -- and I intend to move to that to get a better CNC web UI
-
@kazolar said in VFD integration: M3, M4, M5 Macros and RPM measurement:
@dc42 I'm sure my dwc is older, but again -- I doubt that's support in the ooznest workbee dwc anyway -- and I intend to move to that to get a better CNC web UI
I understand that Ooznest is porting their changes to DWC 3.1.1. We're waiting on that before we do any work to make DWC more CNC-friendly, because it seems like a good starting point.
-
@dc42 either way -- I figured out how to do the same estop via an m command as hitting estop on the paneldue or webui -- it's a combination if M112 and M999 in one command -- works perfectly
-
@dc42 after everything is assembled and cutting I will tweak that behavior to retain the coordinate system. I'd like to be able to mimic mach3 on the way hardware limits are handled. I'm not asking you to implement it -- I'll do it myself. I'm coming at this from a perspective that I've been running duet2 on my quad (dual idex) printer and it's been great with i2c stuff now sorted. I have used other CNCs to build that printer and have become pretty comfortable and familiar with how they operate, and I've talked to many folks who do machining for a living. The behaviors I'm implementing are just features which are present on other CNC targeted controllers. I wouldn't run mach3 on a 3D printer. My goal with this CNC mill conversion is to do it without needing a PC to run it - I'm pretty much there -- some minor firmware adjustments and a better web UI, and it's good to go.
-
Duet 3 can drive Nema 34 motors, as long as you are not looking for both high torque and high speed, which would need more than 32V. We're looking at supporting 48v power in future.
Can high torque nema 23/24 stepper motors be used with Duet 3 even if calculated back EMF is much higher than 32V? I couldn't find a motor that had small enough voltage requirement (using documentation recommended calculations for back EMF) and high torque.
Calculated voltages (required due to back EMFs) for few motor candidates (@400 rpm, with about 80% current):
24HS39-4204D, 52V
24HP39-5004S, 37V
23HP45-4204S, 36V23HS41-1804S, 78V (I currently have these on my CNC and they seem to stall at about 300 RPM with 24V PSU).
-
@dc42 I believe what you propose should cover the vast majority of VFD controllers and would be a good step forwards for CNCers.
As you suggest, a small board with optos for each of the VFD input pins plus a PWM to analogue voltage converter would provide a straightforward VFD wiring solution. I’d be happy to share my schematic if it would be helpful.
The only other parameter I would suggest is a delay time to enable the spindle to get up to speed before moving from M3/M4 to the next g-code command. On my spindle, you typically need to wait for around 10 seconds for it to reach the specified speed.
I am not aware of any controllers that use two separate PWM inputs for forward/reverse, but others may know better,
-
@cjm, thanks for the feedback.
-
@Visionary
I have 5mm pitch ballscrews and the 23HS45-4204S steppers.
Here is what I've been able to do with some experimentation.
My PSU is variable voltage, so I tried it at 24v, and 50mm/sec is a no go -- and worse than that, I was getting phase warnings going that fast, dropping to about 30mm/sec works fine.
I increased the voltage to 31v, and it was better and 50mm/sec was achievable, but not consistently, 37mm/sec workes every time.I tried 8x microstepping and it was stalling at 50mm/sec. I also was getting phase errors on one axis, I will need to re-check the wiring, not sure why I would get phase errors at 50mm/sec, but none at 37mm/sec
Edit again.
Might be a wiring and just the issue on the axis. Looks like 50mm/sec may work after I sort all that out at 8x microsteppingLast update. It seems the EMF generated by the stepper at 50mm/sec is too much for the duet, there is resonance at 40 mm/sec, and it stalls at 45mm/sec -- so I'm going back to 37mm/sec -- oh well.
-
Just tried firmware 3.2 beta 1 with CNC mode configured using the new version of M453 that allows three pins to be defined for spindle PWM, run and fwd/rev.
Using this, M3 and M4 are now working very nicely with my VFD/spindle.
Thank you!
-
@dc42 just found that you added the pin assignments -- will definitely try that out -- any thought to the dwell time option -- the dwell would apply to M3, M4, M5 -- do the task, then wait dwell time to move to next line. Basically combining M# with G4. Also if M6 just runs a macro, that would also be really useful. I added that in my code since I added a tool height probe, so M6 runs a macro to doing an assisted toolchange with a tool height probe.
-
@kazolar said in VFD integration: M3, M4, M5 Macros and RPM measurement:
@dc42 just found that you added the pin assignments -- will definitely try that out -- any thought to the dwell time option -- the dwell would apply to M3, M4, M5 -- do the task, then wait dwell time to move to next line. Basically combining M# with G4. Also if M6 just runs a macro, that would also be really useful. I added that in my code since I added a tool height probe, so M6 runs a macro to doing an assisted toolchange with a tool height probe.
Yes, adding a dwell time in seconds would be the icing on the cake...