Tracker system. Overview. A system to control an arbitary number of solar tracking arrays. Rather than operating the linear actuators of all arrays at the same time and just hoping they track properly (which they won't), each array will have its own low-cost autonomous control. A central host periodically broadcasts Sun angle position and each array will position itself as best it can. The entire system runs with a robust two-wire connection which carries both power for the actuators and low-speed two-way communications. In detail. The end not where the actuators are, will be called the "local" end for the purposes of reference here. Currently, there are two main modes of operation defined. One is an instruction to move to a specified position, the other is to query current position. The protocol has provision for two more (as yet undefined/unused) function/modes for future. The local end initiates all communications. The bus will generally be powered down so nothing "downrange" will have power unless actually required. The basic communications strategy is for the local end to initially activate the downrange electronics by turning on the power. (Refer to http://general.rossw.net/webcontrol/tracker-bus.pdf) This is done by turning off Q7, which allows the "low power" mode. Q6 turns on providing a nominal 12V (courtesy ZD1) through R17 to the remote bus. The remote electronic will initialise. Low bitrate data is sent over the bus by turning off Q9, thus allowing Q8 to provide full power to the bus, nominally to about 24V. A start bit is sent to allow the remote receivers to synchronise. Following the start bit are three address bits followed by two command bits. The low datarate will provide ample latitude for the remote receivers to sample the bus voltage at a time sufficient to read the bit. Reading from the bus. VR2 is adjusted so Q10 turns on when the bus voltage is more than 9V. The downrange boards communicate by pulling the bus voltage down to around 7V. (process described later). Command 0. Set angle. At the conclusion of the two command bits, and after the receiver has identified that the address bits were for it (or were a broadcast to all receivers), and if the command is "0", a further 8 data bits are sent, representing an angle from 0 to 180. 0 degrees requests the arrays be aligned vertically, facing east. 90 degrees requests the arrays be aligned horizontally, facing straight up, and 180 degrees is vertical, facing west. Immediately following the transmission of these 8 bits, the bus is set high, providing power for the actuator (or all actuators) to be positioned. After a period of time, determined by the local site, actuators etc, the local end will power down the bus. Command 1. Read angles At the conclusion of the two command bits, and after the receiver has identified that the address bits were for it (or were a broadcast to all receivers), and if the command is "1", the receiver will enter data transmission mode. If it was a broadcast, the node will wait for a period equal to (30 bit intervals * its node address), then send a start bit, followed by 3, 8-bit words describing the X and Y angles, and the actuator current of the last move in 20mA increments. Downrange. The downrange equipment can be fed over inexpensive "figure-8" cable. Polarity is unimportant, as each board has an input through a bridge rectifier. Not shown is lightning and transient protection in the form of MOVs, transorbs, gas discharge tube(s) and filters etc as appropriate for the local conditions. A voltage divider formed by R19/R20 feeds an an ADC, permitting the remote end to monitor the bus voltage, to read command words, and to adjust the actuator drive PWM based on supply voltage. ZD3 is purely to protect the device against excessive inputs voltages. IC1 provides a regulated 5V supply for the PIC, opamps and accelerometer. A 3-axis accelerometer is mounted to the arrays, such that its X and Y axis read the panels east/west angle and inclination (elevation). Output is nominally 2.5V at 0G and changes 800mV/G. Opamps U2a/b/c form non-inverting amplifiers with a gain of 3, producing an input of between 0.1 and 4.9V. VR3 trims the reference voltage while C3 helps reduce noise and provides an AC path to ground to minimise any interaction between channels. Output C.4 simply drives a local LED for diagnostic and status display. Output C.3 is actuator drive, and is expected to be a PWM output. The small emitter resistor on Q5 is approx 24mm of track printed on the PCB, which has a resistance of about 0.037 ohms. Opamp U2d gain is trimmed by VR1 to provide a relevant current input to the PIC on B.1 Output C.2 operates a relay configured to reverse the actuator polarity. By operating C2 when Q5 is off will ensure maximum contact life. Output C.1 is only used when the bus is in low voltage mode (12V) which is current limited. To signal back to the local end, the PIC will turn on Q3 which will pull the bus down to (approximately) 6V. ZD2 will ensure the bus is not pulled below the minimum operating voltage of the regulator and PIC chips.