In the past, I have equipped three mills with stepper motors, and made my own 3-axis 5A/winding motion control hardware (quite a nice piece, because it fits on a 100 x 80 mm board and requires nothing but a computer with a USB port and a potent power supply). Maybe I'll write a blog about it someday as well...
With the availablitiy of low-cost high-performance brushless motors, I decided to say goodbye to the stepper motor aera, and so I am now working on a closed loop brushless motor control. It should serve as a servo controller for my CNC machines, but with significantly improved dynamics in comparison with stepper motors. On my BF70 mill - for instance - I reach a maximum speed with stepper motors of about 3 mm/s. I intend to boost that to about 70 mm/s with the brushless motor control. Also I decided to make the hardware ready for advanced RC-users.
The (theoretic because yet untetsted) limits and specifications of the controller are:
- 100 A peak motor current
- 40 V DC supply (maximum of 100 V if different FETs are used)
- SVPWM (Space-Vector-Pulse-Width-Modulation) of up to 100 kHz with 16 bits resolution
- 10-bit current sensing at each driver (also of negative currents that will be conducted by the freewheeling diodes)
- Hall-type angle sensing with (hopefully) 10 bit resolution (per turn)
- End-/reference-switch(es) support
- IIC bus for additional sensing/IO/control
- SPI as a main control bus
- USB (virtual COM-port) for secondary control, parameter setting, and debugging (on a separable doughter board)
Here is a snapshot of the layout. I do not plan to give out the layout or the schematics for free, so please do not ask unless you have a business model in mind.
Features I have implemented or plan to implement in software:
- Motor current regulation
- Closed-loop motion control - and yes, I mean by that positioning with an accuracy below 1°
- Regulation algorithms starting with straightforward PID control
- Self learning of the motor and drive train (number of poles, inductance, current, momentum of inertia, friction, ...)
- Self configuring of the parameters of the motion controller
- Motion trajectory generation (ramp-up/-down, ...)
- RC-type interface (pulse-width) for speed control (drive train)
- RC-type interface for positioning (using the BLDC-Motor as a servo
Hallo
AntwortenLöschenHab großes Interesse an deinem Projekt! Wie schaut denn der aktuelle Status aus? gibt es die Möglichkeit da mehr vom Projekt zu erfahren und zu bekommen? Schaltplan, Software,....
LG Christian