MAP_1A Electronics Module
MAP_1A is just a designation I use. It's a circuit board I've designed to combine the basic electronics and interconnections. At the moment I'm in the process of assembling and testing the first prototype.
This is a double-sided pcb for surface mount components that I've designed to be hand assembled and use soldered wire vias rather than through-plating. This makes it low-cost and reasonably quick to assemble. Once I get it sorted out I'll probably get a few pth/screened boards made.
Ardupilot - CPU:
I wanted to make it Ardupilot compatible but didn't want to use the 32-pin ATMega328. I chose the ATMega324 because I could get it, it's very similar to the 328 and it's in a 44-pin package that doesn't share functions on pins to same extent. I did try to match up the pin functions with Ardupilot to simplify code conversion.
Some extra features of the CPU include:
3 high current fet drivers for LEDs etc. each switching low and capable of >200mA.
An output that can drive audio alerts to the OSD/VTX.
64K bytes of eeprom that cane be used for data logging and waypoint storage.
Flight pack voltage monitoring and one temperature sensor that could be used to monitor the esc, battery, motor or ambient temerature.
The gyros are simply connected in series with the aileron and elevator servos. These can be turned down or bypassed if not required.
Normal IR X,Y,Z sensors for stable flight connect to the CPU. Altitude and airspeed pressure sensros connect to the CPU; analog inputs.
The altitude sensor and CPU audio drive should allow a variometer function to be programmed. I'm not sure about the sensitivity/range of the altitude sensor yet.
The main flight pack battery current is monitored by a shunt resistor/amplifier and fed to the OSD connector with voltage.
The pcb is arranged with power connections at one end and signal connectors in groups all over the board. The plan is to use a multi-way connector like a box header wired on a short ribbon to the various points on the board providing a single connector installation (+ heavy power leads).
On the pcb, one 8-pin connection powers the FPV camera, OSD and video transmitter and connects amps, volts, audio and serial data to the OSD. I'm not sure which OSD I'll use yet.
A 12-pin connection runs to the RC receiver, providing 5V power and bringing back 8 channels of PPM, raw serial PPM and the RSSI. I'm using a modified Corona 35MHz receiver. The raw serial PPM can be linked to the OSD audio as well as going to a dedicated ATTiny25 decoder that feeds the main CPU. This improves the decoding and prevents the CPU getting tied up looking at RX noise.
There is an 18-pin connection for GPS, bootloader, on/off, temperature sensor and IR sensors. The 5V power to the GPS is switched by a p-fet and the CPU.
The on/off function is an experiment. A 150A mosfet switches the flight pack on. A small switch can be used control it or a push-button would allow the CPU to turn it off. This could be useful in a lost plane to save the flight battery from over-discharge or the electronics if it goes down in water. It's experimental because it would be a problem if it wasted power or switched on mid-flight.
The ATTiny25 PPM decoder is also experimental. The idea is to offload PPM or data extraction from RX noise from the main CPU. The way it's wired, a comparator detects the data, the ADC looks at the signal DC level and a PWM output adjusts the detection threshold. This should allow best possible data recovery within reason.