MTK 446 electronic timer: writing SETUP programs

The SETUP program defines:

Model type Sets the timer operation for F1A (glider), F1B (rubber) or F1C(power).
RCDT code This lets your model respond to signals from your RCDT transmitter and ignore other signals.
Servo calibration values These are used to translate FLIGHT program servo positions into movements of an installed servo. This allows almost any servo to be used without needing to alter the FLIGHT programs.
Altimeter correction data This may be provided to correct for individual altimeter performance.

A SETUP program must be created for each new fuselage or model. After it is loaded into the timer the SETUP data is kept in the timer's non-volatile flash memory.

setup 446 2002 the name of the program
a 99 "a" for F1A, "b" for F1B or "c" for F1C. "99" is your RCDT code. Omit if no RCDT.
servo servo calibration
gain1 1.00 servo 1
neutral1 0.00
gain2 1.00 servo 2.
neutral2 0.00
alt 1.000 the altimeter correction factor
end the end of the program

If only one servo is used, set gain2 to 1.00 and neutral2 to 0.00.

If you need to replace a servo or recreate a SETUP program, here is some background information and a suggested procedure for calibrating a new servo and creating a SETUP program to match it.

Background

An RC servo is designed to have its position set by a continuous series of pulses. If the pulses stop, the servo stays at its last position, so you can stop the pulses and turn off its power during the glide to save battery. The servo receives a pulse every 20 mS. The rate is not critical, but the longer the interval the slower the servo will move. The width of the pulse, which can vary between 1 and 2 mS, sets the servo position. The minimum pulse length corresponds to position 0.00 in the FLIGHT program and the longest pulse corresponds to 90.00.

Two things can affect the exact servo position: the clock speed of the timer and the make of servo. The MTK clock is a ceramic resonator whose speed can vary because of production tolerances. Manufacturers typically quote +/- 5% but in practise the spread is usually much less. If you are keen you could compare different timers with a stopwatch but the error is probably less than 1 second in 180. This is under 0.5%, so can be ignored.

Servos differ quite a lot. The exact pulse widths and corresponding servo positions vary between makes and sometimes between models of the same make. In other words, if you need to replace a servo when the original make and model is no longer available you may have to tweak the FLIGHT program so that the 0.00 and 90.00 positions leave the stab in exactly the same position as they were with the old servo.

Replacing a SETUP program

If you manage to lose a model's SETUP program but have another model with the same make and model of servo, the latter's SETUP program should be very close to correct and can be copied and installed in place of the lost SETUP. If the servo is the same make but a different model the SETUP program is probably still OK because servo makers like their users to be able the swap an old servo for a new one and go fly.

Making a SETUP program for a new type of servo

If you're using a completely new type of servo it would be sensible to calibrate the servo and use this information to create a new SETUP program from scratch. An incorrect SETUP can destroy the servo by driving it against its stops and burning it out.

The procedure given below deduces neutral and gain values that match the servo. As a bonus this procedure will compensate for differences in the ceramic resonator frequency. The relationships between neutral, gain and the servo position are:

FLIGHT program setting Servo position
0.00 neutral
n neutral + (gain * n)
90.00 neutral + (gain * 90.00)

If you have to calibrate a new servo, BE CAREFUL. Incorrect settings can cause a servo to spin or drive it against its stops. This is enough to wreck some makes. This procedure needs a servo tester and an oscilloscope. Its a very cautious approach:

  1. Make a special FLIGHT program with the tow and glide stab positions at 0.00, d/t at 90.00 and d/t time set to 30 seconds. You'll use this to measure stab positions while adjusting the SETUP neutral and gain values. Neutral will be checked and adjusted first to set the 0.00 position and, when that's right, gain is used to set the correct 90.00 position.
  2. Measure the angle the servo must be driven through in the model as accurately as possible but certainly within 5 degrees or so.
  3. Mount the servo on a piece of card or ply with a pointer attached to its output disk. The pointer needs to be 50-70 mm long to give reasonable accuracy and the mounting card must be big enough to extend beyond the pointer.
  4. With the power off, move the servo by hand and mark where the stops are on the card.
  5. Run the servo using the servo tester, starting with the knob at the centre, and drive the servo through the same angle it will travel in the model, being careful to keep this range more or less centred between the stops. Mark the two positions ON THE SERVO TESTER as well as the card.
  6. Use the oscilloscope to measure the pulse widths corresponding to the marks you made on the servo tester and write them down.
  7. Connect the timer's servo output to the oscilloscope.
  8. Load the SETUP and test FLIGHT programs. Run the timer and read the position 0.00 pulse width off the oscilloscope. Edit the SETUP program's neutral setting and repeat the test run until you see the same pulse width that you read off the servo tester.
  9. When the position 0.00 pulse width is right, repeat the process for the gain setting until the position 90.00 pulse width is also correct.
  10. Now, when you connect the servo to the timer, you can be confident that you won't immediately drive it against its stops and wreck it.
  11. Finally, install the timer and servo in the model. Run the test FLIGHT program and check the stab's 0.00 and 90.00 positions.
  12. If the stab's 0.00 and 90.00 positions aren't quite right, carefully tweak the SETUP program until they are correct.

Oliver Cai replaced a broken tail boom but did not replace the servo. He offers this advice:

I recently repaired a broken fuselage with a entire new boom. All the innards in the fuselage were intact including the lines. I found out that I needed to offset a bunch of lines in the program for stabilizer movements by the same amount and change the neutral position for the stabilizer servo.

Here is some stuff that I learned. When putting the model together, make sure that the neutral position of the servo is as close as possible to the middle of the movement of whatever the servo moves. For example, if you are moving the rudder then the rudder's neutral position should be as close as possible to somewhere near the straight position to allow equal movements to the left and right. Once you change the neutral parameter in the setup program, you have less movement to work with on one side of the servo than the other.