Ouh, that looks exquisite! Im currently rocking the predecessor of my JBC CDB but it doesnt have a hot air function. I was looking at a 858D Rework Station. They are dirt cheap (40ā¬) but I am not sure if you can go wrong with those
Hm, but how to measure thisā¦? The force required to do what? If I am flying at a constant speed in one direction, then pulling with a torque of lets say 1Nm and the plane rolls. I am not sure if I can calculate the force with that.
One thing I came up with was the following:
1: I hang a weight of around 1kg on the Aileron an then measure the force required to keep it up. This gives me the leverage of the Aileron ā Yoke connection.
2: In the next step I would measure the surface area of the alearon and calculate the wind load at different speeds for a deflection of X degrees.
3: Multiplying the force with the leverage should result in the required torque.
Or am I missing something here?
Another idea I just came up as I re-read your text could be to measure the force required to turn the yoke x degrees while flying. Here I would only need to draw some lines on the yoke with a sharpie. This actually sound like way more fun than my approach. You only have to do it fast in order not to end up inverted
Yes I tried it before. I mainly print with PETG and had to do some verifications as I wanted to use it on an amateur build plane (no structural parts ). One of the test was tempering. It increases the strength in Z-Direction through reflowing (favourably salt or plaster).
It decreases the precision of the fittings. You would also need to print with a very high infill. On the other hand, it allows you to calculate the forces for your parts unidirectional and eases the simulation process. But if you need to rely on annealing for your parts to not rapidly dissasemble, you may need to fix your design but thats only my opinion.
In the meantime I scrapped my old design and simplified it. The motor for the roll axis is now in the back. This allows the pitch motor to be mounted right next to it if fully sled back. This greatly decreases the size needed and at the same time eliminated the need for a second row of linear bearings.
In general, I did not do a structural analysis yet but, I am quite confident that there is no problem in building this Yoke from PETG if some considerations have been made during the design phase.
One thing I am not sure in (yet) is if the pulleys could also be 3D printed. Currently they are off the shelf pulleys made from steel. But as you have some uncertainties about weigth might worth a tryā¦
The Rails have been increased to 12mm with LM12UU linear bearings.
Againā¦ a work in Progress. (one step forward, two steps back). Now with modelled belt pulleys
That was my idea (not ending up inverted ), measure directly the force you apply to move the controls and the force of the reaction of the controls when they go back to neutral position.
But ok, doing it flight, might not be the safest optionā¦
I have made a quick test. I have printed a few cubes to check the change in dimension and a stick to check the resistance.
Cubes were designed 10x10x10mm, one cube had a 4mm diameter hole in the center. Printed, came out 10.2x10.2x9.85mm (10.2x10.2 is on the printing plane, 9.85mm in height), and the hole 3.47mm diameter (I know, my printed makes all holes smaller).
I have then baked one set for 1h at 60 degrees, covered on the printing tray.
The result is 10.07x10.07x10.02mm cube and 3.42mm diameter hole.
The stick was designed 110mm long, also 10x10. It came out 110.2mm long, and 10.2x10.2 like the cubes, and baked became 108.35mm, with the same increase in thickness (10.02mm) and decrease in width (10.09mm).
This was printed with 50% fill.
Iāll invent something tomorrow to see when they bend and break.
I have never printed in anything but PLA. I had a look and for PETG apparently you need the better teflon pipe for the plastic wire, but everything else should be ok even with my printer.
But Iāll try first with PLA, although I really hate parts changing size by themselves. I made a box with a panel for an LCD last summer, it has lost 2.5mm over 130mm and, apart from being all bent, Iāll have to break it to remove the display. So I really wonder about the stability of printed parts.
But I completely agree, the design should be correct. My issue is that I could never found someone able to tell me if I need to resist X force, I need to make it Y thick.
Pulley is something where I would definitely go for off the shelf, and pay a lot of attention about tension too, after my experience with the focuser of my telescope.
Your 3D are spectacular. Iām really impressed.
I need to see where to buy mechanical parts, I normally get them from RS but they are rather expensive.
Some quick, empirical tests on the parts I have printed. I havenāt broken them yet as I donāt have any way to measure the force, so I made a simple load test.
The micrometer was starting from 6mm for all tests. With 2Kg on 8cm long (from clamp), 1cm thick bar:
the first (non baked) part bent 6.15mm, while the second one 5.38mm.
So baking makes it slightly more rigid, but not by that huge amount. My bench bent a bit with the 5kg, so that might have affected slightly the result, but the micrometer was clamped very closeā¦
Not many updates for nowā¦ Iām still trying to sort out the mechanical design.
I found these things here
that would have been just fantastic, unfortunately they cost a fortune.
I still think that there is an advance to leave both motors firmly fixed on the frame and transmit the movement to the whole yoke, but I think I will end up with a traditional design. I canāt find a solution with a good chance to work at a reasonable price.
I have received the motors today, pretty big beasts
I will start to work on the driverā¦ but seen the size and the weight, I will give a second try to find a way to keep them fixed on the frame.
you can see that the motor is actually spinning.
One thing I can see is that I need to implement a speed limitation: the update of the phases has to be limited to a maximum frequency, so even a high torque the motor will actually more slowly.
I have also noticed that current sensing is needed indeed: when the motor stalls, the current goes up a lot. And Iām running at 12V instead of 48Vā¦
At the moment Iām applying a trapezoidal waveform -standard way to control these motors. I have no other feedback than the hall sensor. The movement seems to be fairly smooth -when itās running. When itās not, you feel the jumps every 120 electrical degrees, like on a stepper motor. I will try to implement a sine wave control, but I need more feedback for that than the simple hall sensor.
So, first thing first.
Limit speed to, letās say, 1Hz.
Add a potentiometer to read position (this isnāt as straightforward as it sounds, because right now the phases are applied to make it move, while I need to understand how to apply them to make it stop and hold position)
Go from the trapezoidal control to a sine wave control based on the read position, basically limiting the movement to the potentiometer readout. Without breaking the potentiometer, possibily, as these motors have pretty high torque even with 12V at 10% PWM I should have some 10-turns pot somewhereā¦
For current reading I need a real PCB, but at the moment I have someā¦ budget constrain I need to do with what I have for now.
Much better, easier, and safer is to apply a magnetic rotary encoder, like AS5048 or AS5600, for the shaft position sensing. All you need to attach to the motor is a small magnet, so the motor still can rotate freely. See ā Random Access Projectsā movies on YT for some examples.
Yes, but the motor cannot rotate freely, there will be the yoke attached
Depending on the reduction applied, for the roll axis the motor will do 1-10 turns at worse, no more than that.
In my idea, the driver will receive the position read by the main board together with the torque setting, so putting now a potentiometer and read it is just to be able to develop the code separately from the rest.
I was actually thinking if it is necessary at all. At the end, the (torque) feedback on the position is given by the main board while calculating the effects, so I should just handle the speed limit and end-of-movement situations. But, on the other side, I need it for the control waveformsā¦ I need to think about it.
How do you want to move the yoke by hand? Iām afraid that with this big motor and the gear ratio 1:5 ā¦ 1:10, the force needed for moving the motor would be too big.
Well, the entire purpose of the yoke is to be moved by hand, so Iāll need to adjust the torque to be able to do it. I can see that the nominal 48V for these motors seems to be way too high, at 12V you would struggle already to hold the shaft by hand. There will be of course some adjustment once I sort out the mechanics.
But in any case, reduction is not mandatory. I normally see them reduced on the roll axis. If there is no reduction, then the motor will do less than one turn.
Actually, @tsaG13374551 , you might want to give a second thought to these motors, it feels like the are pretty oversized for the application. Although they might be good for a ā¦ aā¦ whatās the nameā¦ not the yoke, the other one that looks like a joystick from the floor. In that case, you would have a very long lever and what these two motors can give might be necessary. But for a yokeā¦ they do look too big.
Iām still working on the motor control, Iām looking on a decent way to map the sine waveforms with the potentiometer. I have printed this simple part to allow 270 degrees movement and read the potentiometer:
Some slamming here and there, now I can map the potentiometer reading at each change of the hall sensor.
But I have a question.
Are āweā really, really sure that going for a brushless motor is the right choice?
With the trapezoidal control I can clearly feel the jumps at each phase change like if it were a stepper motor.
These motors are made to spin fast, not be used stalled. Even the traditional sine control doesnāt work in this application (according to the application notes Iām reading, the sinusoidal algorithm uses the speed of the motor to estimate the point on the sine waveform, and itās explicitly written that it wonāt work at the start of the motor due to the lack of speed).
I will continue to try to develop the sine control, but at the moment a plain DC motor seems to perform quite better than the brushless for this workā¦
I believe there are fancy controllers designed to overcome the issues with brushless motors at low speed but I know nothing about it really. There is always gearing of course.
Yes, all BSDC controllers are fancy up to a degreeā¦ the sinusoidal control should be the fanciest of the fancy. But you canāt avoid feeling the poles, even when itās unpowered, like a stepper motor.
I can implement a 128 step sine (which is not even a sine, you can have a look at this application note if you are curious http://ww1.microchip.com/downloads/en/Appnotes/00003453A.pdf ), butā¦ this motor has a cycle of 6 āstepsā every 90 degrees, so you feel 24 steps over a turn. A 1.2 degree/step stepper motor has 300 steps per turn, and a 64-steps microstepper driver is quite standard stuff. The moment you need to implement sine control on a quasi-stalled BLDC you canāt use the hall sensor any more and you need an absolute encoder (the potentiometer, here), which is what you would need also on a stepper motor in the same situation.
Iām not sure if Iām chasing some ghost here, I read that you would feel the commutation on a DC motor while the BLDC are more smooth, but 1) I donāt see force feedback devices with BLDC, 2) I donāt see a reasonable way to make a BDLC motor smoother than a DC motor in these conditionsā¦
No doubt about being easiest and Iām starting to think also about being the best choice. Iāll just finish my attempt with the brushless since I have them, and the circuit to drive a brushless can easily be used also with a standard DC motor.
Iām not sure the feedback will be that complex either. The loop is closed by the PC (the simulator), the force feedback device just receives the force setting and provides the position. Since the force itself is not an absolute value but just a percentage, that can be scaled up and down through the settings of the device, the internal feedback on the PWM would just be limited to the protection of the driver or, if you want to be particularly precise, on the level of the current itself.
But in terms of operations, the device alone works rather in open loop, at least as far as I understand up to now.
You cannot control the torque of a stalled DC motor, at least not very precisely. DC motors, for making controlled torque, must spin, and we need making controlled torque in a stable position of a yoke/joystick. You can easily control the torque of a stalled BLDC motor. All that is needed is (1) apply the electrical phase shift in the range -90ā¦+90 degrees from the current electrical phase and (2) apply the required phase voltage amplitude (by PWM gain factor). This way the torque can be set from maximum to left, through no torque, to the maximum to right. The current electrical phase must be always known (by estimation/integration in software or by measurements from a feedback encoder).
I see.
So what is needed ideally is a servo motor, which is a bit what I am doing by linking a potentiometer to the axis and using the reading of the potentiometer to set the phase combination.
Interesting workā¦
Yes I definitely need to implement the sinusoidal control and see how smooth it becomes.
BLDC motors are usually made to spin fast, but they also willingly hold their position when the voltage is hold steady too. In that condition the torque is 0, but it is enough to slightly move the shaft from this position and the torque increases dramatically (depending on the applied voltage).
BLDC motors are not that different from stepper motors, although the windings are in different configurations.
Sine control works beautifully and it doesnāt need position feedback at all if the speed is not too fast. Position feedback is needed when a motor is expected to spin as fast as possible. It is also needed when we want to know the exact shaft position. And we need this latter case for a precise control of the torque of a stopped or slowly moving motor.
You canāt avoid feeling the poles just when a motor is unpowered. By applying the proper voltage to all 3 windings you effectively move the poles to different positions. This way, by changing voltage on the fly, you can effectively remove the poles at all, or set the exactly in desired positions. Magic!