Re: Any Arduino Gyro Projects
Posted: 31 Jul 2020, 14:05
Well it seems to work, and I've updated the sketch which you can download from here:
viewtopic.php?f=42&t=1018&start=10#p8534
Pete, remember that the available gain ranges are now considerably higher than before - so back off your gain setting on your transmitter to perhaps 25%, and then gradually creep it back up again till you get the response you want.
If you're using a digital tail servo, remember that you can edit config.h to give faster frame rates, and you should also set the servo end travel limits in config.h so that the tail slider never binds, regardless of control inputs or gyro corrections. Easiest way I know to find the limits is to use a servo tester and jot down the minimum and maximum microsecond readings when the servo is just about to hit the end stops. Some modern transmitters also display microsecond readings - but if you want to use that feature, it's best to bypass the gyro and plug the tail servo straight into the receiver while finding the limits.
As with many commercial HH gyros, you get rid of the rudder trim offset between heading hold and rate modes by trimming in HH mode and then mechanically adjusting the servo position / linkage in rate mode. With modern transmitters that support it, it's easier to configure two flight modes for HH and rate - and set those flight modes so that they each remember their own trim position.
I've not implemented the 'drift compensation' feature yet - the one I mentioned that would derive its time correction from the (hopefully constant) received frame rates. Maybe it won't be necessary anyhow, but I didn't want to add too much complication, and possible source of new bugs, in one release.
viewtopic.php?f=42&t=1018&start=10#p8534
Pete, remember that the available gain ranges are now considerably higher than before - so back off your gain setting on your transmitter to perhaps 25%, and then gradually creep it back up again till you get the response you want.
If you're using a digital tail servo, remember that you can edit config.h to give faster frame rates, and you should also set the servo end travel limits in config.h so that the tail slider never binds, regardless of control inputs or gyro corrections. Easiest way I know to find the limits is to use a servo tester and jot down the minimum and maximum microsecond readings when the servo is just about to hit the end stops. Some modern transmitters also display microsecond readings - but if you want to use that feature, it's best to bypass the gyro and plug the tail servo straight into the receiver while finding the limits.
As with many commercial HH gyros, you get rid of the rudder trim offset between heading hold and rate modes by trimming in HH mode and then mechanically adjusting the servo position / linkage in rate mode. With modern transmitters that support it, it's easier to configure two flight modes for HH and rate - and set those flight modes so that they each remember their own trim position.
I've not implemented the 'drift compensation' feature yet - the one I mentioned that would derive its time correction from the (hopefully constant) received frame rates. Maybe it won't be necessary anyhow, but I didn't want to add too much complication, and possible source of new bugs, in one release.