Replacement Control Panel for Computerised ‘GoTo’ Telescope
The FPGA can be used to implement an X-Y keyboard scanner to create a multi-function control panel with up to 256 keys. The ability of the PiXi to drive a small LCD module would further enhance the panel design and function.
As an example, a 24-button control panel would require just 10 GPIO lines, 4 outputs (one for each row of buttons) and 6 inputs (one for each column of buttons) leaving plenty of GPIO free to drive LEDs an LCD module etc.
The use of rotary encoders or I2C based LCD ‘screen keys’ could also be incorporated into the design.
In this particular example, a 24-button panel has been created, complete with a 40 character, 2-line vacuum fluorescent display to replace a damaged ‘AutoStar II’ control panel for a Meade LX200 computerised telescope. The design goes one stage further by adding two rotary encoders to speedup the menu navigation and data entry.
The original control panel communicates with the telescope computer via an RS232 serial interface which can be emulated using a simple processor & serial port. In this example the Raspberry Pi provides the basic function of emulating the control panel with the PiXi providing an interface to a replacement control panel’s keypad, rotary encoders, vacuum fluorescent display and the RS232 serial link to the telescope.
The 24-key keypad is connected to the PiXi using just ten wires of the 24-way 3.3V GPIO1 port. Four wires connect to one contact of every switch - one wire per row, while the remaining six wires which connect to the second contact of every switch - one wire per column, are used to sense if a key has been pressed in each row. A dedicated x-y keypad scanner runs in the FPGA on the PiXi to handle the keypad and passes ASCII characters to the Raspberry Pi over the Raspberry Pi’s SPI interface if a key is pressed or released.
The rotary encoders connect to the PiXi using just four wires (two for each encoder) of the 3.3V GPIO1 port. The PiXi runs a dedicated rotary encoder interface to translate the encoder motion into either key-presses or parameter entry.
The vacuum fluorescent display connect to the PiX using eleven wires of the 16-way 5V GPIO3 port. A dedicated display driver prints a welcome message on the display once the PiXi FPGA has been programmed, after that the Raspberry Pi can translate the display commands received from the main telescope computer into commands that are compatible with the size of display used here. Since the display here is bigger than the one on the original keypay, there’s room for extra information such as time & date, user alarm time, or any other information.
An external 12V power supply provides power to the replacement control panel. The panel has a relay-switched 12V outlet that can provie power to the telescope so that the controller also has the capability of turning the telescope on and off.
Not only does this provide a replacement control panel but it also has the potential for providing more complex macro functions, custom controls, shortcuts etc. and an ethernet link (wireless at the moment) for supporting remote access via LAN or even Internet. With the set-up described above the ethernet link would only really have access to the same controls and readouts that relate to the original control panel functions. But with the addition of a second serial port, the Raspberry Pi could provide more complete remote-access function by using this second serial port to communicate directly with the serial port on the main telescope computer. Further to this, a USB camera such as the Meade DSI series of cameras could be connected to the Raspberry Pi (subject to a driver being written…) to provide a complete remote-access robotic telescope… Lots of options here so this is very much work in progress…
The finished project, complete with rotary encoders, two serial ports and a relay-switched power outlet to the telescope to power-up & power-down the telescope.
Possible additions for a later date:
1) USB port(s)
2) LAN connector
3) Internal buzzer (original keypad had one of these…)
4) Panel-mounted GPIO connector for controlling observatory roof, lights, alarm, dew control heaters…
5) HDMI from the Raspberry Pi (?)