FPV Control Station
Built a new control station for my rover.
It work with my old rover: FPV Rover but i work on a new rover with 8 wheels and suspension.
Below is a work log and some explanations of features of my control station.
WiFi
Solder together metal boxes for the different parts, this is the wifi card.
Thought it would shield a little, but is probably completely unnecessary ... but fun to build...
I use the WiFi when i develop the code. Steelsquid Kiss OS that i use will automatically upload changes to the Raspberry Pi in the control station via ssh.
Transceiver
The transceiver i use to send and receive command to and from the rover.
It is a HM-TRLR-S LoRa transceiver. It has pretty long range 5km LOS in only 100mW.
But it is slow, when only sending (not wait for answer) a command takes about 80ms to send.
You can speed it up by changing the settings for the LoRa, but then the range will suffer.
I found a setting i think is good, about 1km range with trees and houses in the way...
It is easy to use just send a serial TTL signal on one side and it will apper on the other....
Send request:
I send a simple package like this <Request byte>|<command>|<parameter>|<parameter>...<new line>
Server:
<Response OK byte>|<parameter>|<parameter>...<new line>
Or
<Response ERROR byte>|<error message><new line>
Client can also send broadcast:
<Broadcast byte>|<command>|<parameter>|<parameter>...<new line>
Server just read the request and to what it tell, but do not answer back with any response...
Audio/video switch
I can switch the audio and video from the internal receiver to a external and also connect a external monitor (goggles).
I do not use the buck converter you see in the first picture, it resulted a lot of noise in the picture, and it did not help with an LC filter.
Monitor, WiFi and transceiver
The monitor and final WiFi and transceiver.
ADC and extra GPIO
The Raspberry Pi do not have any ADC so i use a BYVAC P012-I2C to read joystick location and battery voltage.
I also need more GPIOs, for that i use 2 MCP23017.
Briefcase
The painted and strengthened briefcase.
Starting to fit stuff
Panel for buttons and other controls
- USB and LAN to Raspberry Pi
- Buttons for different controls
- Move the camera
Right side
- External power or internal power
- LED bar with remote and rover voltage
- OLED bar with remote and rover voltage
- OK led: A ok event, example a message on the OLED
- ERR led: Example a bug in the code.
- Enable or disable the WiFi
- Enable disable the transceiver
The remote will send a signal to the rover every second for update of example voltage.
I can disable it here. - Enable disable the receiver and monitor.
- Steer the rover
Rat's nest of wires
The wiring on the pack of the panel :-)
Antenna pole
The pole for my Crosshair antenna.Equipment bag
A detachable bag for equipment on the lid of the case.
Protection for my IBcrazy Airblade antenna.
A simple drainpipes stop part...
Finished closed case
The "finished" case with equipment.
Finished open case
Here is the "finished" case.
Added a DVR and a small keyboard.
The keyboard i will use to send text to the rover and a text to speech engine on the rover speaks it :-)
I also made a Moxon antenna.
Text To Speech
If you write a text on the keyboard and press enter the text will speak on the rover.
The LCD show a simple webpage where you can write the text and when you press enter it is handled by Steelsquid Kiss OS python webserver that send it to the rover.
I Use eSpeak as text to speech on the rover.
Control my Squid Rover
- CPU: Raspberry Pi
- Power source: 3S LiPo
- Programming language: Python
- Target environment: outdoor