Home and Links
 Your PC and Security
 Server NAS
 DVD making
 Raspberry Pi
 PIC projects
 Other projects
 Next >>

Basis of DIY motorised star tracking

Motor control

What is the basic motor control system ?

The basic system consists of a drive motor with some sort of 'switch' to control the motor power, a sensor to detect the movement of the telescope head, an accurate time reference and some sort of control 'circuit'. The control circuit will compare the actual head movement to the desired movement (as defined by the time reference) and use the 'switch' to control the motor power.

'Digital' or 'Analogue' ?

The type of 'switch' you choose will determine your approach. An 'on / off' switch - for example a Relay - means 'digital' control .. whilst a variable power 'switch' - for example a Transistor or Variable Voltage regulator - means 'analogue' control.

Simple digital control can be implemented using simple mechanical means .. analogue requires the use of at least some electronic circuits. The most accurate system is (of course) an electronic digital system, however all approaches will be considered.

How does a simple Digital (On / Off) motor control work ?

Also known as a 'hurry up and wait' system, this is based on the use of a 'change-over' relay. Such a Relay has two control inputs - apply a signal to one and the Relay contacts are switched 'on', apply a signal to the other and the Relay contacts are turned 'off' (needless to say, applying signals to both control inputs at the same time is not to be recommended :-) ).

The Relay contacts are used to switch the Motor power, thus giving us 'motor on' and 'motor off'.

The control signals will be generated by actual head movement (off) and movement of a quartz clock second hand (on).

When the clock is started, it's second hand will start the motor running with an 'on' signal. The Motor then runs at full speed until the gearing has moved the head far enough to trigger the 'off' signal. At this point the Motor stops and the head 'waits' for the next 'on'.

Plainly the motor has to move the head slightly faster than the clock second hand turns, so that the head always stops and 'waits' before the clock triggers the next 'on' = hence "hurry up and wait".

The problem is always generating the required signals. Unless there is some part of the gearing that will be turning at "1 rpm", it is likely that the clock second hand will need to generate multiple 'on' signals per minute.

Note also that change-over relays are limited in both actuation speed (i.e. delay before switching) and duty cycle limit. Actuation delay means there is always an unavoidable wait time and, together with the maximium cycle speed, this will deterimin the on/off cycle speed and thus the accuracy of the system.

The advantage of an 'on-off' system is that no 'calibration' or adjustment is required. Providing the 'wait' time is long enough (so a small drop in motor speed does not lead to the head falling behind the clock) the system is essentially immune to variations in battery voltage, gearing tolerances or motor loading. Whilst there is an unavoidable error (= the 'wait' time) this will not accumulate and no 'drift' is possible.

How does 'analogue' ('resistance') position sensing work ?

Essentially, position sensing is achieved using a rotary potentiometer with no 'limit stop'. This is connected directly to the RA head shaft. As the shaft turns the resistance changes. Once per RA rev the resistance will go 'off scale' before re-engaging with the resistance track again, however the mount head can be aligned so that the 'off scale' position is always 'pointed downwards'.

What are the problems with resistance position sensing ?

In practice the potentiometer track will have some 'granularity', is not 'guaranteed' to be completely linear and the resistance take-off 'wiper' will have imperfections all of which means that the signal (resistance) will jump and jitter during the turn. This means that the motor 'response' can not be immediate - it has to be 'smoothed out' to avoid sudden jumps and drops in speed.

Further, the control system has to 'detect' the 'zero <> infinity' gap at the end of the track (end of the turn) and reset the drive circuits for the next revolution. The circuit design required to cope with all of this is not simple - and I know my limitations :-)

Here the Motor is run at a variable speed (faster or slower) by increasing or reducing it's drive voltage.

The 'actual' position of the head is compared to the 'required' position derived from some reference (e.g. a quartz time source). When the head is 'in front of' the required position, the drive voltage is reduced (so the motor slows down) and when the head is 'behind', the drive voltage is increased (and the motor speeds up). This is known as a 'negative feedback' system ('negative' as in 'if fast, go slower', 'if slow, go faster')

The instantaneous accuracy depends on how quickly the negative feedback system reacts to correct any error, i.e. how quickly it responds to a 'lag' by 'speeding up' & how fast it responds to an 'overshoot' (lead) by 'slowing down'. If the response time is too quick, the system will be constantly switching from 'fast' to 'slow' and back again i.e. 'flip/flopping' between over/under shooting or 'hunting' about the required position.

Note that I have described the control system in terms of POSITION .. many commercial analogue motor control systems measure SPEED = indeed, they have 'motor speed controls'. Plainly a speed control system will lead to accumulated positional errors as there is no mechanism that measures the time spent running 'too fast' in order to balance it against time running 'too slow'. With any simple speed control, the telescope head will gradually 'drift' away from the required position (this is why commercial system has a manually adjustable 'speed control' knob ...).

How does Analogue position control work ?

In many respects, they are more digital than analogue. Most start with a 'positional reference' precision time source. This will generate (digital) 'ticks' at a constant rate.

The head position is typically 'measured' by a sensor positioned under a grating. As the head moves, the grating will cause the sensor to generate (digital) 'pulses'.

The grating gearing and time source frequency will be chosen such that one required 'tick' distance matches one actual 'pulse' distance.

The 'ticks' and 'pluses' will be 'subtracted' and the difference 'accumulated'.

a1. One method is to use a (low loss) capacitor as the accumulator. Each 'tick' adds some 'step' to the capacitor (allows current to flow from a positive voltage source for a set time) and each 'pulse' subtracts the same voltage step (allows an equal current to flow to a negative voltage 'sink' for the same set time).

The capacitors actual voltage is then tested without disturbing it's voltage state (for example by using a high impedance Op-Amp) and then used to control the motor speed.

Plainly, if the head is 'behind' then there will have been one or more extra 'tick' steps and the capacitor will show a positive voltage, if 'in front', 'pulses' will have outnumbered 'ticks' and the capacitor will have a negative voltage. When the 'ticks' exactly balance 'pulses', the capacitor's voltage will be zero.

As you may appreciate it is EXTREMELY difficult to achieve long tern accuracy with such as system - no matter how high an 'internal impedance' all capacitors 'leak' (so they will tend to zero no matter what is happening), and the components in the 'tick' and 'pulse' circuits will be almost impossible to match 'exactly' (so tick and pulse will not deliver exactly equal and opposite voltage steps). Further, the measuring system (Op-Amp circuit) will also 'leak'. Finally, it is very difficult (but not impossible, using op-amps) to design a circuit that will ensure the 'tick' and 'pulse' deliver their 'steps' to the capacitor irrespective of the current voltage on the capacitor.

Of course the effects of leakage can be minimised by making the tick/pulse 'steps' large (so, for example, if each tick/pulse adds/subtracts 0.1v 'per second', then leakage of 0.0001v/s will be largely 'irrelevant' (but will still add to one 'ghost' step over 1,000 seconds = 16 mins)

If the voltage sources are 'large' then the adding/subtracting circuit can almost ignore the capacitor state - so, for example, adding/subtracting one step of +/- 0.1v using a +/- 10v source can largely ignore any single step (+/- 0.1v) already on the capacitor - however if the capacitor's current state is '90' steps (= +/-9v) then adding (or subtracting) 'exactly' 0.1v (using a +/- 10v source) becomes a LOT more difficult.

It is also possible to add some sort of 'null balance' circuit to compensate for 'unequal opposite' tick/pulse source voltages (by adjusting the time each is allowed to connect for) however, unfortunately, leakages and component tolerances etc. in all analogue circuits are VERY temperature dependent (so a circuit adjusted to balance perfectly 'on the bench' never works perfectly 'in the field') and, in the long term, it is almost impossible to prevent analogue systems from 'drifting'.

If analogue control circuits are so poor why are they used ?

They are cheap to 'build' using modern hybrid single chip controllers (such units have multiple op-amps' built in which can be used 'for free') The only external component required will be the capacitor 'accumerlator'

How does Digital position control work ?

Just like the analogue system, the 'positional reference' will be derived from a precision time source. This will generate 'ticks' at a constant rate.

The head position will be 'measured' by a sensor positioned under a grating. As the head moves, grating 'pulses' will be generated.

The grating gearing and time source frequency will be chosen such that one required 'tick' distance matches one actual 'pulse' distance.

The 'ticks' and 'pluses' will be 'subtracted' and the difference 'accumulated'.

... however, in the digital system, instead of a capacitor, an 'up/down' counter is used as the accumulator (ticks count up, pluses count down).

The 'accumulated count' is used to control the motor speed (e.g. via a simple R-2R D-A converter, although (unless very large numbers of exactly matched resistors are used) this limits the 'count' range to approx. 5 bits = +/- 16).

All that is necessary is to ensure that the 'mid count' is approximately equal to the 'required' motor speed - the system will settle down itself to whatever exact 'mid count' is necessary.

Note that such a system ensues both a proper 'start-up' and an automatic 'settle down' to the 'correct' motor speed.

At power-on the count is set to 0 and the motor is stopped. Tracking is activated by turning on the 'tick' timer which means the counter starts to count up. The moror starts when the first count is seen .. as the count increases, the motor speed increases. As soon as the telescope head starts to move, pulses will arrive to oppose the ticks, so the rate of counting up will slow and the rate of motor change will also slow. As the number of ticks and pulses start to balance out, the motor speed will be changing at a slower and slower rate.

Eventually the number of ticks and pulses will exactly balance each other out and the count will have reached some 'mid point' number that results in a motor drive of the EXACT required speed.

If, for any reason, the head moves too slow (e.g. due to a gearing error or motor power voltage drop), then the number of pulses will reduce and the count will creep up again. This will cause the motor to run faster until sufficient extra pulses arrive to bring the count back down to it's 'mid point' again (or, in the case of reduced motor power, the count will find a new, higher, 'mid point').

Next page :- Gearing and control