Trying to work out how to smooth the pitch servo movement. The Futaba S3003 servos seem fast but very low resolution. Controller is a Paris MultiWii board. You can see the pitch movement is jittery in this video.
try putting a bit of mechanical resistance in the pitch system. I used to use bearings,... but found the same problem. Now I use a bush with a bit of rubber and tighten to suit. You don't need much !!
Thanks Steve. It actually gets worse in my case as I have the camera gimbal mounted to a board and that board is attached to the base of the copter via cable ties and silicone tubing. When the camera rotates it giggles the whole mechanism where the silicone vibration isolation attaches. So I really need to smooth out any movement. I have a servo rate reducer I've had for 10 years that I might try out to see how much it does slow down the movement. Failing that I will need to introduce some resistance as you suggested.
Seems that adding smooth friction seems to be the only way to reduce the staggered movements of the servo's. Even with the weight around the roll pivot point counterbalanced you still need to contend with counter-torque. Just wish the MultiWii controller had smoother PWM output for the camera servo's. I've tried high res servo's and get the same thing. I might have a hack at the code to see if I can smooth the PWM values it sends out to the servo's. Could be a case of the PWM position being calculated less frequently than the motor PWM. Might see what impact it has increasing it so that it is calculated as frequently as the motor PWM.
Ok, digging deeper into why the servo movement is so low-res/staggered/jittery (or whatever way you could describe it) it appears that the two servo outputs on the MultiWii Paris board have to use software servo outputs rather than hardware which is reserved for the ESC PWM outputs. To get around this (for those using the 328P chip) people are using a dedicated second MultiWii with just the Gyro and Acc installed and set the code to GIMBAL. This sets it up to use hardware driven PWM for the camera gimbal servos, which should produce smoother servo movement. Luckily I found a $30 ebay Crius SE rip-off controller set to Gimbal mode with a gyro and acc. Looking forward to seeing what a difference that makes.
To some degree setting the servo refresh to 160Hz in the code seems to make the two digital servo's move a bit smoother, so I may try the same with the dedicated gimbal board.
I will at some stage give the old ArduCopter V1 a go as well since it uses the Mega and should be using HW PWM on the gimbal servo outputs.
Hello John. I have same concerns. Did you test the separate controller for the gimbal? You still have this jittering?
Hi Nick, the separate gimbal controller did make a difference along with creating some mechanical resistance. I'm trying something a little different at the moment with a separate Arduino Nano - it is connected to the main MultiWii board via I2C and the MW code has been modified to feed the angle[ROLL] and angle[PITCH] values to it. The code in the Nano performs some PID smoothing on the stream of angles and outputs using the Servo.microseconds() to the servos connected to the Nano. So the main board is freed up from any gimbal calcs while the Nano handles moving the gimbal smoothly. Just trying to get the PID settings all working is proving the tricky part. The Nano is also responsible for analogRead calls for my Sonar, volts and current (via AttoPilot 90A). The main MW board makes requests for those values just before it feeds the angle values. I found analogRead was eating into clock cycles on the main board so the offload to the Nano seemed the way to go.
Thanks John! It seems you work a lot on that! There is another interesting thread here:
Join DIY Drones
Welcome toDIY Drones
Sign Upor Sign In
Or sign in with:
© 2020 Created by Chris Anderson.
Report an Issue |
Terms of Service
Please check your browser settings or contact your system administrator.