Steering The DishIts been a busy few weeks in the workshop here. Researching hardware design criteria, cutting and drilling metalwork and general putting things together to see how they looked.
So the next step in my Radio Telescope Station design has revolved around redesigning the mount for the 2.4 meter mesh dish so I can use the linear actuator I had purchased to move the dish from zero to 90 degrees elevation. The original dish mount was designed as a Polar mount with a single actuator to swing across the ecliptic where Geostationary satellites are located. This has meant changing and adding to the original mount to give the actuator full movement from zero to 90 degrees. Not an easy thing to do.
At the same time I've been looking at options to move the dish around horizontally from zero to 360 degrees. It turns out I have an old antenna rotator in my junk box that may be usable so I'm investigating how to drive it with the rest of the hardware I'm building. The big problem is whether the rotator can handle the weight and stress of the dish. I may even change the dish mount hardware to reduce the overall weight.
Using An ArduinoThe other work has been centered on the dish controller electronics. In a previous post I'd mentioned about using the excellent and somewhat ubiquitous Arduino microcontroller platform in the form of the Arduino Uno. Designed as a modular platform the main board has two rows of connectors allowing other 'Shields' to be plugged in depending on the project needs.
In my case I'm using a Shield with a Motor Driver L298 to control two electric motors, one in the linear actuator for Elevation of the dish and one in a rotator for Azimuth position.
I had ordered two of the Arduino Motor Drive shields from a Hong Kong supplier through Ebay over six weeks ago and after repeated requests to find out where the goods were and why I hadn't received them I eventually had to put in a dispute with Paypal. It was only $20 for two boards but they quickly refunded the amount. If they ever arrive I'm sure I'll be quick to send them back the $20.
|Motor Drive Shield|
I've now managed to put together a pin connection chart for the Arduino.
PB4/MISO...12 Azimuth Motor Direction
PB3/MOSI...11 PWMB - Elevation Motor Drive
PB2/SS........10 LCD Display Backlight Control
PB1/OC1.......9 LCD ENABLE
PB0/ICP.........8 LCD SELECT
PD7/AIN1......7 LCD 7\
PD6/AIN0..... 6 LCD 6 \ LCD 4 Bit Data Bus
PD5/T1......... 5 LCD 5 /
PD4/T0......... 4 LCD 4/
PD3/INT1..... 3 PWMA - Azimuth Motor Drive
PD2/INT0..... 2 Azimuth Pulse Counter
PD1/TXD....... 1 USB Serial Out
PD0/RXD....... 0 USB Serial In
PC5/AD5........Elevation Pulse Counter
PC4/AD4........Elevation switch 90 Degrees
PC3/AD3........Elevation switch 0 Degrees
PC2/AD2........Azimuth Limit Switch 360 Degrees
PC1/AD1........Azimuth Limit Switch 0 Degrees
PC0/AD0........LCD Keyswitch Analog Input
My Arduino hardware design includes a 16x2 LCD Display Shield that sits on top of the Motor Driver Shield. The great thing about this is the ability to get visual feedback when in field adjustments are being performed. The LCD shield also has some small pushbuttons connected through a resistive ladder to one of the A to D pins of the Arduino. Part of the software will be able to read button pushes to adjust UP/DOWN and LEFT/RIGHT control of the dish.
|Ebay image of the LCD Shield|
So far I'm getting together a bunch of example code for the various parts of the controller.
In the next post we'll be looking at the software in some depth and how the dish position is adjusted. I might even have a preliminary enclosure design for the control hardware. There are a few nice IP66 rated waterproof boxes out there that I want to have a look at. I'm steering towards using one with a clear lid that lets me see the LCD Display while the system is in use. I also have control of the LCD backlighting so I can turn it off when not in maintenance mode.