bldc output to Aerotech drives
3 phase drive with a single channel brush motor drive.
Software generated PWM is not much practical use as a servo drive signal
except for very low end systems Even if you can manage a 50 KHz base
thread, this only gives you about 3 bits of resolution
at a barely tolerable 5 KHz PWM rate
Please Log in or Create an account to join the conversation.
Anyway, I'm going to experiment with my drives and see how things work.
Please Log in or Create an account to join the conversation.
I'm thinking someone could produce a basic H bridge module (with eg. 6 big MOSFETs) capable of interfacing with a high speed parallel port using bitwise output controlled by LinuxCNC and the bldc module, say for use with brushless motors under 20 amps peak and 75-90 volts.
Have you seen: uk.rs-online.com/web/p/motor-driver-ics/6880732/
You would need a PWM speed converter (frequency to voltage to frequency maybe) to run it from a parallel port. Keeping the three PWMs in phase with each other might be tricky.
I have run one with an Arduino, but that was trapzoidal commutation, and I had one PWM gating 6 bits through an interface chip.
Please Log in or Create an account to join the conversation.
There may even be ways to improve software PWM generation to at least get better resolution at low PWM duty cycles using a technique similar to the stepgens "reset" mode
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
So far the motherboards with the lowest latency have all been 1Ghz semi-antiques. I'm wondering if they can do this though... even though their latency is good, I am not sure they have enough CPU speed to process the motion loop code when the servo thread is called before it's time to context switch again.
Can you guys give me any idea of how much processing happens when the servo thread is called and how long it takes, assuming I'm using Linuxcnc for commutation of three axes?
Erik
Please Log in or Create an account to join the conversation.
www.linuxcnc.org/docs/2.4/html/hal_basic_hal.html
Reading these parameters will allow you to see where the time goes...
Its known that the Atom MBs will not do more than ~2 KHz servo threads
A couple modern low power MBs that can do 4 KHZ servo threads are:
GIGABYTE GA-E350N
ASUS E45M1-M PRO
Please Log in or Create an account to join the conversation.
Thinking about it... with an appropriate H bridge setup, could bldc be used to control "outrunner" type DC brushless motors like the Turnigy types?
You need to look up how BLDC motors are controlled. It is true that 3 half bridges are needed, but there is also a feedback needed to let the "controller" know when to fire what phase. In almost all of the hobby motors they are sensorless, so they measure the BEMF of the phase not being fired to determine when to fire next sequence. Sensored work the same except they have sensors instead on relying on BEMF, this gives them better ability to run at low speeds.
So the minimum connections for any BLDC is 6 dirve signals (could use some hardware to get complement of A B C) and 3 feedback. So with some creative hardware you can get away with 6 total.
Of course this does not at all address the software side. for a spindle control just use a suitable ESC from the same site as the outrunner. then you need 1 pin to drive it from LinuxCNC. Of course you only have rough estimate of the speed, but in most cases that is prolly fine.
Please Log in or Create an account to join the conversation.
Thinking about it... with an appropriate H bridge setup, could bldc be used to control "outrunner" type DC brushless motors like the Turnigy types?
You need to look up how BLDC motors are controlled. It is true that 3 half bridges are needed, but there is also a feedback needed to let the "controller" know when to fire what phase.
I missed this part first time round.
The answer is, as was said above, "it depends'.
Adding Hall sensors is actually pretty straightforward, and then it becomes easy. Without Hall sensors it is not at all easy and requires the drive to monitor the voltage on the non-driven phase.
This web page describes how to add Halls to a Turnigy:
e0designs.com/documentation/finding-moto...sensor-combinations/
But in the LinuxCNC case, all the sensor swapping can be done in software, so you can align one sensor with one pole, then just change the value of bldc.N.pattern in HAL until you find the one that makes the motor spin.
Please Log in or Create an account to join the conversation.
I'll probably update my mesa hardware to a 5i25+7i77 soon, too.
Erik
Please Log in or Create an account to join the conversation.