The intended purpose is for RC control with telemetry of FPV and larger planes or multi-rotors. The link is two-way; RC control to the plane and telemetry back. With a GPS module plugged in at the plane, position, speed, altitude etc. can be returned in real time to the transmitter. I may look at including stability control later on; in theory this would only require the connection of a I2C based IMU and the tricky part, a firmware update.
A work in progress – Today I received the V2 prototype board. I have assembled one and been looking at the firmware.
The smaller V1 board has a PIC16F88 with minimal features and a bit-bashed SPI connection to the Hope-RF module. The SPI worked fine but could be faster and the 16F88 has only 8 levels of stack, which makes it difficult to handle a number of interrupts and subroutines that are all time sensitive.
The V2 board uses a PIC18F26K20 with the hardware SPI port and 31 levels of stack.
Features:
- Hope-RF 433MHz 100mW RF transceiver
- PIC18F26K20 micro (3.3V, 60+MHz, 64K flash, 4K ram, 1K eeprom etc.)
- Pressure sensor for altimeter/vario
- Operates from external 5V supply
- 63 x 51 mm – single sided pcb
Connector functions:
- 8 ppm servo channels (via 4017)
- ppm serial in and out
- I2C port (possible use for data memory and/or stability control using gyros/accelerometers)
- Serial UART for GPS module
- Analog inputs for battery voltage/current monitoring
- Digital I/O
The pressure sensor outputs a analog voltage representing altitude over a wide range. An op-amp adjusts this to set zero and span to more useful limits to be fed to the ADC in the micro. The ADC is only 10-bit and to resolve smaller altitude changes for the variometer function, oversampling will be required. We’ll have to see how this works out. The signal should have some noise and the ADC is fast, so I expect it will work.
The 2 boards on the bench. The dual resistors standing off each board are 50 ohm dummy loads for the transceivers. The pressure sensor has not been fitted yet; they should be here in about 10 days.