Using the first version of satNOGS hardware we figured out that some times due to various reasons (software, mechanical or power malfunctions) the rotator might end up in an unknown position.
At that point, the only way to resolve that situation was to manually reset the rotator to home position (pointing at the north with zero altitude). Therefore, since we wanted the rotator to operate without human supervision, we decided that an automatic homing system was crucial.
At first thought we tried an IMU, which turned out to be too noisy and affected by the rest of the systems so we ended up with a pair of opto-swithes which are manually set at the first run.
The mounts and activators of the switches are designed in a way that they remain modular and independent of the rest of the tracking hardware so that they can be fitted in previous or future versions.
Our intention is to write two homing functions in the arduino code
The first one, which is already written, is called when the arduino boots for the first time or after power loss. In this function, the rotator scans around the current location until it finds home position. Below you can see a video in action:
The second one runs after every tracking job or on demand through the serial interface and just moves the tracker to the home position. This way, whenever a new traking job begins the user knows that the job starts from zero position.
You can check the code in our repo, and the designs for the hardware too.
It was always our intention to have SatNOGS ground station as unattended as possible in terms of operation. We are now much closer to it!
Stepper motor and axis movement should be accelerated, decelerated and smooth. This is important for a variety of reasons including less strain on the axis and the gears, plus inertia compensation.
Agis with Manthos spend some time looking into some options and finally agreed to implement acceleration resulting to smooth tracking using an Arduino Library and amending it a bit. The results is pure awesomeness for our tracker:
This code and implementation goes straight in our v2 design. Code can be found in our repository.
It was time for us to test out the designs for our PCB that would take care of the motor control.
In a true hackerspace fashion instead of ordering the PCB we decided to built the capacity to produce our own (much needed moving forward). We could not settle for a simple single-side capability with no solder mask, so we shot for a typical side-project extravaganza 🙂 What we ended up with was a double side capable UV exposer controlled for timing and after many tests the expertise to apply solder mask for uber cool finishing for our diy PCBs.
Back to SatNOGS specific PCBs the design was slightly changed from v1. We changed the capacitor, rerouted for optimal setup the board and thanks to [n0p] comments we added breakouts for unused Arduino pins (you never know what you will need!).
Production went smoothly and the PCB test showed that everything was in place correctly!
Having the finished v1.1 motor control PCB ready we thought that we could tidy up our power circuits too. That called for a PSU PCB tailored to our needs. Agis, our team electronics expert, quickly designed a PSU PCB based around a Voltage Regulator capable of having an input of 12V DC and an output of again 12V DC plus 5V DC stable through USB Type A too.
Production once again was smooth and we ended up with our PSU PCB. Pics below are from a slightly modified version with a cap (both designs can be found in our repo).
Detailed designs and Gerber files can be found in our Github repo
Next steps for our electronics will be to focus on the auto-homing circuits (using the handy breakouts!). A separate log on that will follow!
For v0.2 of our ground station we have been working on consolidation of our electronics trying to minimize size and upgrade the components. Combined with the current minimized approach for the gear assemblies, this will enable us to deliver a smaller more rigid and reliable ground station.
The electronics that needed to be fitted in are the following:
* An Arduino. We selected Pico for the size advantage
* Two stepper drivers. We are using Pololu compatible A4983 based stepper drivers.
Agis (our electronics expert) designed an integrated board to fit everything in. Here is the result
And the schematic:
We are printing the PCB as we speak and will be posting a new log with the construction and testing.