Showing posts with label motor. Show all posts
Showing posts with label motor. Show all posts

Friday, October 22, 2021

My bachelor's thesis (brushless actuator report)

 Hey,

This time I'd like to finally share my bachelor's thesis with you. I couldn't do that earlier due to some internal regulations of my university, but since over six months have already passed I'm free to publish it by myself. 

Before you take a look at it I must say it is not an innovative approach to the subject, but rather a report about a homemade brushless actuator. There might be some mistakes along the way as I'm still learning the motor control stuff, but hopefully you'll find it at least a bit interesting ;) 

Here it is: THESIS



Thursday, July 1, 2021

Lots of machining!

Hello again, 

as always I did not plan to make such a long break from documenting stuff, but this time I waited to finish preparing all the parts so that the photos are as good as they can get. Basically, this entry is about making the parts needed for the remaining nine actuators and an additional tenth actuator that's going to serve as a test unit. 

The whole process took me around 1,5 months, but only because I had a few hours available every weekend (I did not want to mess up with my neighbours :P). The first step was to purchase the stock at a local company. I got around 5.5 kg of aluminium stock in 140mm diameter slices cut on a band saw.

The surface finish was quite bad so I had to face mill each side of each slice and then proceed with milling the parts. Besides face milling, each slice was drilled with seven holes to keep it fixed to the table. Each hole was widened on both sides of the slice so that the screw head could hide inside the material for the purpose of face milling.


Basically I've drilled seven 3mm holes, widened them at one end, screwed the stock to the table, face milled it, turned it around, widened holes by hand using a electric drill, screwed to the table and face milled on the other side as well. The whole process of face milling and drilling holes took me around one hour per two slices. 

When first two slices were ready I could proceed with machining parts. I didn't have any particular plan, just started with the parts I've had the least. These were the motor base parts:

During milling I found some things I could optimize for example before I used to mill the distancing part without utilizing the material that's inside the part. It was just cut out and additionally had to be fixed so that it doesn't fly away. I found out that the material could be used to mill the planet carrier and there still will be enough material to cut the distancing part. Additionally the rest of material on the sides could be used to mill sungear mounts. I'm not the best at describing things so I prepared a photo - story of the process :





I like how these PCB caps present in the sunlight (these were actually cut out of a 6mm aluminum sheet, hence the brownish finish on the first six of them): 

I wish I had flood coolant system, as after more aggressive cuts I had to wait for the part to cool down. Moreover I had to stand nearby with a vacuum cleaner to clear the chips in deeper grooves so that they don't build up. Anyway I'm happy with the overall result - the machine did just fine, without any major issues. After all, milling these parts was actually the reason it was created. Group photo: 


After finishing all the custom parts I proceeded with motor parts and gears I had to modify slightly. The rotors were milled with four slots and the top surface was face-milled. The shaft was cut so that the encoder magnet could be glued onto it. 



The thing I'm not particularly happy about is that five out of 12 actuators have the magnets glued to the shaft without any additional fixture. The rest is actually held in place using a miniature 2mm rod going through the shaft and the magnet, because the magnets have a small hole in the center. Unfortunately I ran out of stock on them and had to use regular ones. 

The magnet on the right has a small 2mm hole which helps to align and properly fix it to the shaft

If anyone knows where to buy them (I got these from a friend of mine), I'd be grateful for leaving a comment. 

Next I cut out the stators out of the original case. It was a long and stressful process as I didn't want to mess up the windings or the laminated steel sheets. I centered each motor in a vise and bored a hole through the aluminum case leaving only around 0.4 mm of material on each side. Then I manually milled the remaining material in two opposing spots and used a screwdriver to break the walls to the inside freeing the stator. 

After that each stator was cleaned and a thermistor was glued in between the windings with expoxy.



The sungears had to be modified slightly as well. I had to mill two lobes on opposing sides so that they match the part that is screwed to the rotor. It was quite stressful as well and ended up with one broken tool (the 1.5mm 3 flute endmill) when I wanted to go a bit faster. 

When these were ready I press-fitted them onto the aluminium shafts that are visible on the photos below. 

As for now I've finished soldering the remaining PCBs, without testing them yet. Now it's time to press each stator onto the base part and make sure everything is hunky dory. Some pre-assembly family photos in the end: 





The process of tiling these parts was tedious, but I'm really happy with the photos (could use some more light though). 

Saturday, March 27, 2021

Single leg prototype - jumping tests

Hello!

    I hope this entry will be more exciting than the previous ones, as I'm going to show you the working prototype of Wolfie's leg. The leg was built to confirm that the actuators can withstand high torques occurring while jumping. The setup completed more than 1000 jumps on the test stand and no failures were observed so I guess after some more testing I'll be ready to continue with making twelve of these :) 

    The test stand was built from parts I had lying around. That's why it is kind of ugly. Since it's just a tool to test the actuators I didn't pay special attention to aesthetic aspects. It has a plywood base to which a 400mm long 40x40 extruded aluminum column is mounted. The 8mm rails are the remains of my old printer which got disassembled (I have built a new one - will write about that soon ;)) and so is the cart with linear bearings. The rails are mounted to the top and bottom of the column so in the middle they appear to be a bit wobbly. 


    The hip of the leg was slightly modified to fit the cart and the rest of the leg remained unchanged. It is able to operate its all 3DoFs, however, due to lack of MOSFET transistors, I am unable to operate the hip joint for now. It's a subject for another discussion but long story short I had to replace the MOSFETS some time ago as I found that the ones I was using started to fail at higher voltages due to unknown reasons. I still find this very odd and want to do a more controlled comparison between the two (SIS862DN (failing even though it is "beefier" in parameters) and SISA88DN (which is working just fine)). So for now it's a 2DoF leg, but soon I'll be making an order for powerboard parts and I'll get these MOSFETS restocked. 

    Besides I modified the cabling so that the supply cables are thinner (AWG18 compared to AWG16) and I added some twisted CAN cables for improved noise immunity. Still thinking about the best way to route the cables inside the chassis, which is somewhat linked with the powerboard itself (that I'm currently designing). 


    Actually, there's not much more to it. I derived the kinematic equations once again just to find out that the ones from here are working just fine and are much shorter (I was unable to simplify my equations). Besides I wrote a simple python code to command the trajectory (in reality it's just a few points in space) through my CAN<>USB dongle. Eventually, this came out (sorry for the image aspect ratio - it was the only way to film the test stand without revealing the mess on the desk :P):




    I'm pretty happy with the results. I managed to achieve 15cm of jump height and it could probably be more on a higher test stand and better rails. Moreover, nothing actuator-related failed which is great news. I was particularly worried about the sungear slipping on the shaft and breaking my double keyway connection or just a shaft fracture, but it didn't happen through the tests. The actuators remained cool, at around 30*C even after a few hundred jumps. The only thing that failed was the slipping belt that drives the knee. It turned out that it was not tensioned properly and slipped under big loads. This was resolved by making the leg 1 mm longer so that the belt was initially tensioned and could be tensioned even more with screw tensioners.

    Another failure, that was kind of expected (and isn't taken into account :P), was the rubber material on the foot. For the initial prototype, I have used a very soft (20 shoreA) urethane rubber that I had lying around, just to test my mold and the foot design itself. During testing, the soft rubber got squished and broke off the foot. I have to do some research for a better foot material for sure.

    Anyway, this is probably all I've got for today. Currently, I'm working on a powerboard PCB and battery pack design, so soon I'll post something about that ;) 

Tuesday, January 12, 2021

Static torque testing

Hi!
 
Recently, I haven't posted any updates as I was completely absorbed with my bachelor's thesis. Thankfully, it's almost finished and I'll have some more time for the actuators and quadruped robot soon. This post is going to be short, but I want to post the static torque data that I said I would, but most probably I forgot. So here it is: 


    The test bench consists of a single motor, dynamic torque transducer (it was purchased by our sumo robot club to measure both static and dynamic torques), and a lever to fix the other end of the transducer's shaft to the test bench. Obviously for now the sensor works only in the static scenario. The motor was commanded with incrementally increasing q currents and the measured torque was plotted. I tried to cool the motor down to room temperature before each run in order to minimize the influence of increased temperature. 
       It was able to produce 3Nm of peak torque at about 35A of q-axis current (near 10A on the power supply). The torque constant was determined to be roughly 0.125Nm/A in the linear range. After commanding currents above 25A the motor starts to saturate, so the torque performance is reduced and the motor is heating very quickly. Overall I'm happy with the results, 3Nm of maximum torque should be sufficient to perform basic types of gaits. Especially if I make the quadruped structure lightweight. 







Saturday, November 21, 2020

Actuator thermal testing

 Hi

Today I'd like to post some thermal data that I've gathered recently. I wanted to check what is the maximum continuous torque of my motor module. By continuous I mean the amount of torque the motor is able to produce infinitely without overheating.  It seems that many actuator manufacturers  interpret "continuous torque" differently - sometimes by continuous they mean a short period of time, which is far from being continuous (Josh made a similar observation in his log: https://jpieper.com/2020/08/07/up-rating-the-qdd100-beta-thermal-bounds/). I decided to test my actuators and determine what is their continuous torque rating. The test stand was rather simple - an actuator with  a lever pushing against a table. 

I was simply commanding different torque values and waiting for the actuator to heat up. This was quite a monotonous process as the estimated time constant was about 16 minutes and I stopped each experiment after a duration of five time constants (almost 1,5h). 

I wanted to go one step further and prepare a simple first order system model.  After all the thermal circuit can be modelled similarly to a simple parallel RC circuit, where the resistance is the thermal resistance form the module to air, capacitance is the thermal capacitance, voltage is temperature and current is power loss. The input to the system is power loss that occurs on the winding resistance. The model is able to fit a single curve, however due to changing thermal resistance to ambient it is no good in predicting a few different responses. This is the outcome: 

The ambient temperature was about 25*C, and the actuator initial temperature was 30*C.

As you can see the thermal resistance varies with different currents being applied. This is why it is so hard to predict the resultant temperature response based solely on the current. Nevertheless the real characteristics helped me to determine the maximum continuous torque which is 0.875Nm (7A), and with that current the device should never reach 65*C. 

In the next entry i'm going to publish some static torque data.