BLDC & Bipolar Stepper IC!!!
-
This is still miles over my head, so do keep in mind that this is posted here with little to no knowledge on how easy it would be to do but….imma do it anyway!
Trinamic makes the stepper motor drivers current on the Duet Wi-Fi and Duet Ethernet, right? Well I was curious if they had anything for BLDC so I could use the expensive motors I have literally just laying around, stuffed in a drawer.
I came across this:
https://www.trinamic.com/products/integrated-circuits/details/tmc4670-bi/
Yikes, and according to Digi-Key for a few of them they are just shy of 70 euros, which is over 80 usd per IC. And it's only for one motor, that means an extra $480 per board (depending on volume discount of course), if nothing else on the board changed….ouch.
Well........shit. I was super excited about that, ya know, even at that price, if it can do both and all I gotta do is wire it correctly and uncomment a few lines of code to enable BLDC or Bipolar Stepper (we use bipolar or hybrid? It's been so long since I bought motors I don't remember).
This is what I'm looking at using for my version of the Duet Wi-Fi to use the BLDC Servos that I have here, regardless of cost, without gearheads I'm still holding over $2,300 in motors alone, what's a $700-800 circuit board? I mean really. Planned on going with a Cortex M7, without knowing why, I just expected to need more lanes/pins like the PCIe express lanes on a CPU if you want to run RAID 0 M.2 NVMe SSD's and a PCIe 3.0x16 GPU (or two), the number of lanes becomes very relevant. I expect that 8 wires per motor (minimum) with the Hall effect sensors and six motors on the board would need more processor pins, if not much else changed.
If anyone is interested in this knowing all that, I'm emailing Patrick Dell, an applications engineer at MicroMo, the Faulhaber motor distributor 45 minutes north of where I live. I'm going to tour the plant within the next two weeks, and they will help me with whatever I need. Chime in with what I need to ask, say, do, or know in order to have him provide the most amount of help. I'll share everything I do and find out.
These motors better be worth the trouble and the cost haha. They are very well engineered and the quality control is impressive, every motor is pretty perfect and their gearheads appear to be very very well made, expensive? Prohibitively, unfortunately.
Probably too expensive of an IC to consider for the next Duet, I'd pay for it though. BLDC packs a powerful punch for the size, and really needs to get into hobbyist/enthusiasts hands. If nothing else, it should be developed for FabLab's/MakerSpaces so people that cannot afford to build such a machine could at least still benefit from it...Plus, all the industrial/professional machines pretty much use them, especially for an extruder!
Thanks for reading my always long posts and putting up with my ignorance!
-
Have you ever heard the phrase "a solution looking for a problem"?
-
There has been quite a lot of interest in using BLDC motors in 3D printers, especially for extruder drives because of the potential weight reduction. We've considered doing a Duet expansion board that provides BLDC drivers instead of stepper drivers. However, first we need to identify a suitable BLDC motor. Some of the constraints are:
-
It needs to have sensors. The sensorless ones used in quadcopters etc. don't work at low speeds.
-
It needs to be geared. Small ungeared BLDC motors have much higher RPM than we need but too little torque.
-
If BLDC motors are to be used for the axes, then either the gearbox backlash needs to be very low, or a second set of sensors is needed after the gearbox (even better would be a linear encoder mounted on the printer frame). For an extruder, a small amount of backlash is acceptable, it just requires a small amount of additional retraction to be configured to compensate.
-
-
David how about the ones used in Gimbals.
-
-
https://hobbyking.com/en_us/ax-gm2212-72kv-gimbal-motor-for-200-500g-camera-s.html
I have no idea if this sort of motor is suitable at all but it is worth maybe checking them out the one I linked is 72 RPM per Volt applied
-
@dc42 said in BLDC & Bipolar Stepper IC!!!:
There has been quite a lot of interest in using BLDC motors in 3D printers, especially for extruder drives because of the potential weight reduction. We've considered doing a Duet expansion board that provides BLDC drivers instead of stepper drivers. However, first we need to identify a suitable BLDC motor. Some of the constraints are:
-
It needs to have sensors. The sensorless ones used in quadcopters etc. don't work at low speeds.
-
It needs to be geared. Small ungeared BLDC motors have much higher RPM than we need but too little torque.
-
If BLDC motors are to be used for the axes, then either the gearbox backlash needs to be very low, or a second set of sensors is needed after the gearbox (even better would be a linear encoder mounted on the printer frame). For an extruder, a small amount of backlash is acceptable, it just requires a small amount of additional retraction to be configured to compensate.
After a while of research, I still believe that BLDC is the way to go if CNC milling machines are ever a pursuit and whatnot, I have 4 pole motors from the motor that supports myMakerspace/FabLab. The motor line I am referring to is here:
http://www.micromo.com/brushless-dc-servomotorsI've been thinking though, while I do believe BLDC support should indeed be an active project already, I wholeheartedly believe that it would be prudent to limit these to XY&Z unless a rotary or a trunnion is the goal.
I think it would be more prudent to have brushed servo motors with encoders and/or speed sensors that allow for relatively precise positioning, perhaps even going as far as to design and have encoders manufactured, whether an optical encoder disk is laser cut or whatever.
By definition all a servo motor is, is a rotary or linear actuator designed for precise positioning.
When you think about what technically classifies as a servo, that's a LOT of motor combinations. I had about a 2 hour in-depth conversation with an applications engineer from MicroMo (headquarters of Faulhaber Motor Group in Clearwater). To say it was educational, is such a severe understatement. He must've been impressed because gave me a bag of these:
http://www.micromo.com/company/news-events/new-product-releases/faulhaber-2668-cr-dc-motor
Geared 23:1 which should give me about 340 rpm I think? Idk. But these, before the gearbox, is about 86 percent efficiency, according to the datasheet: http://www.micromo.com/coreless-dc-motors-data-sheets
I don't know what these typically go for, the larger size similar to this starts at like $400 and the size just below is like $230 starting. Then you think about it being, idk, a $200+ gearbox/gearhead on it, so he easily gave me like $2,000-4,000 worth of motors. You guys should help me, I got some plans trust me, ima contribute to the community.
I'm not necessarily saying everyone should run out and use these motors, although I do absolutely believe they are about the best motors I've ever seen or heard about...they may be unnecessarily expensive....but...God damn they're good motors. The amperage these motors use is legitimately unbelievable. Like the 4 pole motors I have only use like an amp at 12 volts and like 0.54 of an amp at 24, according to the data sheet. Most of the brushed motors I've used use less than a quarter of an amp, and some of them are big geared motors. It's actually hysterical to me how little amperage some of these motors use. The Faulhaber coil design is the reason for this too: https://goo.gl/images/MMS8CH
The magnet is attached to the top of the motor housing and the coil along with the spindle spins, dear God, it's brilliant.
The Stratasys uPrint at our FabLab uses either a Maxon BLDC motor or a Faulhaber Brushed, Geared motor with a sensor (probably a speed controller). I think they use a 2230 series motor, mechanically "limited" by the correct gear ratio and some kind of sensor. If that is a less expensive motor combination, regardless of motor manufacturer, let's go that route for extruders?
Steppers are great for a lot of applications, but the same level of precision with proper encoders with heaps more torque is not too far out of the realm, in my opinion, for high-end systems, especially if different forms of manufacturing such as CNC lathe, mill, laser, and a metal printer is an inevitable goal.
What do you guys think of this?
https://drive.google.com/folderview?id=1QpdYfvW_jezLq0KYjmJWZuWuCJVKvrybThis is specific to the 2232 BX4S 4 pole, three-phase brushless motor. These motors are about $184(ish) each, starting. Any gear ratio you want but then a gearbox means servicing the gearbox, idk I think he said like every 10,000 hours of use is what he personally recommended. But I have like a dozen of them with spur gears on them so I'm going to use them.
https://www.micromo.com/2232s012bx4.html
Just a bit of an update, I haven't touched any firmware, I just designed this with one of my friends at the lab.
Starting a new job at a place that does industrial stuff with PLC....stuff. Does that mean anything to anyone?
https://www.sunshinemachining.com/about-us
https://www.sunshinemachining.com/services-information
(Certainly not without thought either! )
-
-
@dc42 Have a look at the open source VESC developed by Benjamin Vedder (http://vedder.se/) It works great both for sensored and sensorless mode even at low speed. To adapt that hardware (and software) for lower power would be an excellent addon. Perhaps even as a CAN-bus node for Duet3 mounted on the extruder.
For a extruder the type of motors usually used for gimbals would be ideal. The high pole-count and high torque constant adds both to precision and torque with the cost of maximum speed (which still is orders of magnitude above whats needed for an extruder)
https://hobbyking.com/en_us/turnigy-hd-5208-brushless-gimbal-motor-bldc.html
This for example have a Kv rating of 31 rpm/v which translates to a torque constant Ki = 1/(31 * (2*pi/60)) = 0.3 Nm/A hence you only need about 100 mA to match a common stepper in torque Most gimbal motors have at least 14 magnetic poles (12N14P with DLRK winding is common) which is 7 full sine periods/rev. To get the same resolution as a normal 1.8 deg stepper you need to have a sine wave resolution of 1/29, with 1/256 resolution of the generated sine waves (which is reasonable) would be similar in precision to a 1/8 stepping on a normal stepper. -
@lhelge That is interesting, I'm going to look into that. I would want some type of feedback loop though. The efficiency of that is probably pretty high and is anywhere from half to a third the cost of what I'm planning on doing. I still want a sealed, enclosed motor, but that is interesting.
-
Another option that has recently appeared for cheaper motors is double shaft BLDC motors from omc-stepperonline that have built in commutation sensors, just need to mount an encoder to the back.
As an example for 40 USD
https://www.omc-stepperonline.com/24v-4000rpm-025nm-105w-64a-42x42x100mm-brushless-dc-motor-42bls100-24-01.htmlAnd encoder option that I posted about in another thread that is fairly low cost for incremental encoder
AMT10 series can be had for about 23 dollars on digikey.
https://www.cui.com/amt-modular-encoders look at the incremental options.They also have commutation encoders for BLDC motors that lack commutation sensors.
It's not as cheap as steppers are but if enough people started going for BLDC motors I would expect motor prices to come down some the way stepper prices have fallen. The combined price for this setup is still an significantly lower than "pro industrial" BLDC motors from the major players
Do be aware there are a lot of a BLDC motors on ebay and even stepperonline that are single shaft output, they are not what you would want for use with an encoder.
-
@mabover The more I think about encoders, the more interesting:
- use at double shaft stepper to see lost steps
- take two at each side of a gearbox to find out backlash
AMT encoders are single-turn or multi-turn. I expect the mutli-turn to be useful for us:
https://www.digikey.de/en/product-highlight/c/cui/amt-absolute-encoders -
@joergs5 There are some industrial servo controllers that will take input from two encoders one for the motor and one for the motion axis for detecting backash like you mentioned. Its a really hand feature for geared servo motors, smaller high speed motor with gearbox to bring the speed down to something useable at a usefull torque.
Multi-turn for absolute positioning would be a nice feature have for sure but they require battery powering of the encoder when the machine is turned off to retain position information in the encoder. For me personally I have no problem with the lower cost incremental encoder options from AMT and having to home a machine after power cycling but I can see why others would like to not have to home their machine and the other benefits that absolute position offers. -
@mabover I meant we need multi-turn not for homing, but because we have about 8 full turns for 300 mm and I want to know the total distance. I was not aware of the battery buffer, but it's logical what you say. I've already ordered the AMT212D-V, let's see.
I saw one can set absolute position by rs-485 commands, so at a CNC machine one could set the reference point to one edge of the workpiece.
The RS-485 chip of the AMT21 is 3.3 V based, so one needs 3.3 V Arduino or a level shifter.
I don't understand the technical detail of 0.2 degree absolute precision, when the AMT model has 16384 pulses, because this would be about 0.02 degrees. (So could even analyse microstepping angles)
=>ok, I found the explanation:
https://www.cui.com/amt-faq#question10I found an interesting tutorial here:
https://www.digikey.jp/ja/ptm/c/cui-inc/amt203-absolute-rotary-encoders/tutorial
It explains the internals of the AMT. -
@joergs5 ahh, I see what you are going for.
All of the controllers I have used in the past with incremental encoders, non absolute, keep track of the position in the controller and increment/decrement the position based on the incoming signals from the encoder.
I do like the idea of being able to read the position directly out of the encoder like you can due with the multiturn absolute as it makes doing simple verification of position with steppers easier.If encoder support is something that is implement in a future duet 3 expansion board hopefully it will support both incremental and absolute type encoders to offer the most flexibility
-
This post is deleted! -
This post is deleted!