Re: Open source low cost servomotor controller
By and large the GT2 belts will transmit quite enough power. I use them. When used on a 3D printer they are working at something lke 1% capacity. 6 mm wide belts are very easy to come by; 9 mm are harder. That said, the Chinese version of the GT2 profile is NOT the same as the original Gates design. How well they would mix - I don't know.
But the big thing about toothed belts is that the GT2 design is effectively free of backlash, while the original ones (X, L etc) are NOT. The HTD design is certainly better than the older sort-of rectangular ones, but I am not sure how good. It has rounded teeth, which is better. But the 5 mm pitch is coarser than the GT2 2 mm pitch, which makes for more 'noise' in the rotation with small pulleys.
Cheers
Roger
1 Attachment(s)
Re: Open source low cost servomotor controller
Fellow CNCer's, "Cake-Nibbling-Customers"
Here are some belt torque rating spec's for future reference.
JoeyB
Re: Open source low cost servomotor controller
Quote:
Originally Posted by
jfong
My brother makes e-bikes using larger RC brushless motors and big lipo packs. He uses high current 12volt Dell server power supplies in series to charge them. I think these power supplies are around 40-50amps and can be bought on eBay for $10 each. One way to to get the high current demand that these RC brushless require.
I understand this and I myself use Lipo batteries as I am an avid RCer. Lipo batteries are great for model airplanes, or even electric bikes because they have high storage density. However my milling machine will never fly, so I don't need high storage density. My concern is safety. Your brother may charge with simple power supplies, but if he ever had a first hand runaway of a Lipo battery he probably wouldn't. I had a 1500 mAh 3S lipo catch fire while charging and lost a work bench and could have easily lost a house had I not got to it in time. I still use Lipos for my airplanes but now use fire resistant charging bags, better chargers, and a steel box that the batteries are placed in while charging. I take charging of Lipo batteries very seriously. If the driver here doesn't absolutely need to use a Lipo battery then I won't use a Lipo.
Open source low cost servomotor controller
I hear ya. He knows first hand how much damage a Lipo fire can do. He's been flying r/c since early 80's. gas now electric.
What I am saying is don't use any batteries at all and use high current power supplies for the driver.
He bought a expensive lipo charge controller after the fire. I believe he still uses the dell supplies as the power source for the charge controller.
Re: Open source low cost servomotor controller
Quote:
Originally Posted by
joeybagadonuts
This 6,000 r.p.m. encoder also looks promising and can be found for $25.00 or less.
See the data sheet for more info.
JoeyB
The last encoder is intended for use on a large inertia <3,500RPM keyed shaft motor where the shaft DIA is >30mm or for example belt driven from a lathe spindle.
Quote:
Originally Posted by
joeybagadonuts
Roger,
Will the encoders I posted work reliably within the r.p.m. limitations of a 5tpi ballscrew?
JoeyB
Quote:
Originally Posted by
macdowswe
Thanks for the heads up.
I have tried to make sure that there is as much copper as possible in the current path that is expected to carry the motor current. The copper track impedance going around the motor current loop is approximately 1 milli ohm. This is 5 times smaller than the impedance through the MOSFETs in the same current path, so hopefully the amount of copper should be fine.
I have designed the board so that you can add a single heatsink for all the MOSFETs. There is also a thermistor placed as close as possible to each of the MOSFET group (3 thermistors total). The control algorithms will also have thermal control, so hopefully it should be fine with the current design. Of course if it turns out that things get too hot, we can always beef up the tracks at the cost of a larger PCB, or thicker copper at the cost of price.
3oz copper PCB isn't expensive and would impact your per unit cost by about $0.25 at most and still be less than $5.00/ea with FR4, 1.8mm, HASL, Blue/White board.
How a pad is situated on the trace along with transitions along it's path are also important and you have to pay attention for current loops and ground loops on voltage and ground traces.
Re: Open source low cost servomotor controller
Quote:
Originally Posted by
jfong
I hear ya. He knows first hand how much damage a Lipo fire can do. He's been flying r/c since early 80's. gas now electric.
What I am saying is don't use any batteries at all and use high current power supplies for the driver.
He bought a expensive lipo charge controller after the fire. I believe he still uses the dell supplies as the power source for the charge controller.
Oh. Sorry I misunderstood. I actually kind of like the idea of having a battery for the reserve allowing use of a relatively small PS otherwise. Just hoping it can be done with a lead-acid battery.
Open source low cost servomotor controller
Quote:
Originally Posted by
109jb
Oh. Sorry I misunderstood. I actually kind of like the idea of having a battery for the reserve allowing use of a relatively small PS otherwise. Just hoping it can be done with a lead-acid battery.
I don't see why it wouldn't work since the peak current for these motors are 53amps. Industrial servo motors peak currents are only for a few seconds. The datasheet typical gives you time/heat duration for current peak. The Applied Motion/Copley brushless servo drives that I use, have a programmable peak current time setting. I set them around 1/2second and then it drops the current down to continuous current rating. It protects the motors from over heating if a axis stalls etc.
I'm not sure if the odrive does that but it should. Anyone know what the typical continuous current rating for this RC brushless motor is. The brushless motors I have, continuous current ratings are around 1/4 of peak value.
Re: Open source low cost servomotor controller
Quote:
Originally Posted by
109jb
That would likely be pushing that little motor to its limits during accel.
If you want more power, you can simply get a bigger motor ;D
I know we have beed using the ~1Nm motor as an example, but you can get something like this motor (link), which should happily do 4Nm.
Re: Open source low cost servomotor controller
Quote:
Originally Posted by
109jb
A few questions I have about the drive:
1. It uses a battery as a reserve for high load motions to stabilize the bus voltage. I think this is a pretty smart way of doing it, butt the battery linked on the Odrive page shows a 3S Lipo, does it have to be a 3s Lipo battery or can other size/type batteries be used. For example, a 12V car/motorcycle/lawn tractor battery?
2. If it has to be a Lipo, is there protection from overcharging? I have seen Lipo batteries combust and it isn't pretty
3. The documentation says that the bus voltage is 24V. Is the system using a step up converter to achieve this?
So in the project page I link to this (link) battery, which is a 6S Lipo. However, you can run with any battery you want: 6S LiPo, 3S LiPo, 12V car battery, 24V two-car-batteries-in-series. Basically anything as long as the bus voltage doesn't go much over 25-ish volts, and the motor top speed will be scaled down if you use a lower voltge. There is voltage measurement on the DC bus which should be accurate enough to prevent overcharge. But that's not all, you can actually run the ODrive in two different topologies.
The first one is the one is the one that I presented in the project page, which is to have the battery connected to the DC bus. This means the bus voltage is the battery voltage, and we can draw current by discharging the battery, or we can dump decelleration energy into the battery by charging it. There is a DC-DC converter that can be used as a step-up (with the addition of an external power-inductor) to charge the battery from a power supply with a lower voltage than the battery/DC bus voltage. So a fairly good setup would be a 24V (car or lipo, your choice) battery on the DC bus, and an inexpensive 12V power supply on the step-up input.
The other topology is to have a power supply connected directly on the DC bus. This is what was running on the ODrive v2 demos. In this case, we can connect anything to the DC-DC converter. We could connect a power inductor and a lower voltage battery here, although I would say that the other topology is more efficient when using a battery. More importantly, we can just simply connect a power resistor to dump decelleration energy into. So basically, the power comes from the power supply directly, and we dump braking energy into a power resistor (this is also called a brake chopper in some terminology), and we don't need to worry about managing a battery.
Re: Open source low cost servomotor controller
Quote:
Originally Posted by
joeybagadonuts
Fellow CNCer's, "Cake-Nibbling-Customers"
Here are some belt torque rating spec's for future reference.
JoeyB
Wow I wasn't aware that GT2 5mm can handle so much! Thx for the reference! ;D
Re: Open source low cost servomotor controller
Quote:
Originally Posted by
jfong
I don't see why it wouldn't work since the peak current for these motors are 53amps. Industrial servo motors peak currents are only for a few seconds. The datasheet typical gives you time/heat duration for current peak. The Applied Motion/Copley brushless servo drives that I use, have a programmable peak current time setting. I set them around 1/2second and then it drops the current down to continuous current rating. It protects the motors from over heating if a axis stalls etc.
I'm not sure if the odrive does that but it should. Anyone know what the typical continuous current rating for this RC brushless motor is. The brushless motors I have, continuous current ratings are around 1/4 of peak value.
Yeah it will have thermal control as part of the motor control algorithm. I think the best way would be to have a thermal model of the motor, but if that's not available, a simple time-based backoff could be implemented.
The current ratings given on these hobby motors are very ambigous. They don't state wether it is peak or continous (the way it is presented makes it seem like it is continous, but it is never explicitly stated). Also, they all have a fan on the rotor which cools the stator. But this only works when the motor is spinning, and for a CNC type of application, we may be loading it when it is not spinning (this never happens when spinning a propeller). Basically the current ratings given are very approximate.
So I think that the best way to deal with this is to bury a thermistor in the windings and maybe also add an external cooling fan. With this we can either run the thermal control with the thermistor as feedback, or we could even gather data for a thermal model for that specific motor, so that others may use this motor but without having to add the thermistor.
1 Attachment(s)
Re: Open source low cost servomotor controller
Quote:
Originally Posted by
macdowswe
If you want more power, you can simply get a bigger motor ;D
I know we have beed using the ~1Nm motor as an example, but you can get something like this motor (
link), which should happily do 4Nm.
I pulled the prop off my china Aerodrive SK3 6364-245kv clone and attached it to my dyno, the motor is 2.7KW/245KV output power (input power = max 37VDC@70A) and spins at 40KRPM no load at 32V/15.8A and delivered 6.84Nm, the one you show is 2.25KW/149kv and guessing will give around 6Nm.
You're driver wont power it to get the torque you want and a drive reduction to see <3K RPM for linear motion would kill any machine precision unless you used expensive zero backlash gearboxes or large high power harmonic drives (way too expensive for hobby/home use) because belts will stretch and distort and plastic gears will explode due to inertia at those speeds and power levels and the thought of HTD8M x 50mm wide belts and pulleys would be bulky and extremely noisy not counting the lack of precision from stretch and bounce.
I would prefer a more appropriate motor around 500W@3KRPM which gives you 1.5Nm and is more than sufficient to drive a BT20 mill utilizing linear rails (least amount of drag linear motion platform) at 590IPM, I have 600W BLDC 60V@4KRPM motors that delivers 1.9Nm on an ISO20 turcite coated dovetail machine and 750W BLDC 60V@3KRPM motors that delivers 2.4Nm on a small BT30 hard way machine.
One of the issues I see with machine design and conversions is motor selection and power, example, my steppers deliver 3.7Nm @300RPM (turn faster reduces power, at 2KRPM it's about 0.09Nm) and my servos are rated at 1.5Nm so the general conclusion is the steppers have more power and this is incorrect, steppers are rated at peak power, servos rated at nominal power, the peak on my 500W servos is 4.56Nm and my 600W servos have a peak of 5.78Nm and my 750W servos have a peak of 7.3Nm, now which is more powerful?
During some preliminary testing I have found that 250W motors (0.8Nm/2.43Nm peak) deliver enough power for a linear rail machine to cut stainless smoothly and unless you're driving a large DIA endmill (1in and larger) it shouldn't have any issues cutting most material at reasonable speeds and feeds provided the spindle has sufficient power to cut the material, 800W or 1KW (1HP to 1.25HP) wont cut it and 1.5KW (2HP is the minimum I would recommend) and there is a difference between input power rating which most motors are rated as and output power which most real spindle motors are rated by (2.2KWinput = 1.5KW output) so your 1.5KW water cooled spindle is really only 1KW and OK for aluminum, wood and plastic in shallow cuts if you expect to move the head at some speed.
Regardless of the motor requirements, what is needed is an inexpensive driver system and it is my opinion that ODrive can be that driver.
Ideally I think a single, dual and triple stage driver would be sufficient to configure just about any machine from 1-axis to 9axis or you could just do 2-axis, 3-axis and 4-axis drivers and call it a day.
So, have you given any thought to adding the MAX3097ECSE for direct connect and encoder input flexibility and also to take advantage of encoder signal error detection?
Here is a plugin schematic, works will all A/B/Z encoders,
for single line encoders you would connect all - lines to GND,
operates from 3.3VDC, can also use MAX3098ECSE.
Attachment 344242