bdring / 6-Pack_CNC_Controller

MIT License
289 stars 71 forks source link

Feature request: ODrive interoperability / CAN protocol #44

Open lav8org opened 3 years ago

lav8org commented 3 years ago

Mostly want to make sure you're aware of @odriverobotics closed loop BLDC motor controller project--feel free to close.

My read of ODrive's current accessibility is closer to EE pastime than ambitious maker, and it seems to me that your motion controller could flatten that learning curve. Your motion controller with the momentum of grbl on more capable silicon and their motor controller could prove mutually beneficial and broaden the market for both. AFAICT there's a huge gap between grbl and centroid, and it looks like an opening for the the title of de facto DIY closed loop/CNC electronics toolstack.

I gather from posts on their community forum that ODrive is working on V4 hardware now and it is a more modular design (undoubtedly related to the volume of demands for n axes, where n != 2). There was an experimental PR started in 2017 cribbing grbl's gcode in & motion planner, but it petered out and was recently closed. Seems to me like that's just good focus/avoiding mission creep, but also signals openness/need for a motion controller to bridge from gcode to motor commands.

To be clear, the 6 Pack is already marginally compatible since ODrive is able to interface via step/dir, but they're quite clear about step/dir being the least desirable option. As of ODrive 3.6 alternatives are native commands and a CAN skeleton; I reckon their CAN is likely to be fleshed out. Their documentation here: https://docs.odriverobotics.com/can-protocol FWIW the latest revisions of BTTs copy (S42B V2 & S57B V2) of the SmartStepper also sports CAN, so the seeds for demand of a CANable DIY motion controller are planted...

Regardless, great work, and thanks for sharing! I'm very much considering ordering a 6 Pack, because I've been running a shoehorned (heaterless, just need 3 axes) 3DP board w/ Marlin HALd on LPC1768, and after lots of attention on the mechanics motion control is increasingly a suspect wrt some positioning issues I've been trying to iron out--consistently good precision but inconsistent accuracy, and not improved by low velocity or v^2.