(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
RadioFox
Purpose
*Board to give radio uplink commands to the badger2 and badgercub series of flight computers.
*Uses the icom7000 radio transceiver to transmit the command via CW mode. The RadioFox uses the PTT and Key inputs of the transceiver to do this.
*The board is also used to automatically track payloads by controlling an AlphaSpid rotating head, via the Spid control protocol.
*A GPS (EM406) chip is used so that the board knows its own location, balloon location is piped to the board via usb, and great circle direction is calculated. The rotating head must first be zeroed to be horizontal and north facing.
*The board has magnetometer and accelerometer input channels for this (which have not been used yet), and it can also be done manually.
Spec
*Atmega168 (or 328 upgrade) TQFP package processor, using arduino bootloader and computer environment.
*EM406 GPS
*FTDI chip for USB serial interface
*RS232 serial output to the antenna rotator
*Ethernet and 1/4" audio jack connection to hack into the CW mode of the ICOM7000
*3 axis magnetometer and accelerometer breakouts for mounting onto the antenna head.
Radio Fox Rev.1 Issues:
*For programming bootlader break trace from sclk and replace with 100R resistor.
*The plans currently have a resistor from the RTS and DTR pins of the FTDI chip to the reset of the atmega. Programming a sketch only works when one of these is blank and the other has a capacitor (100nF used). It was not tried with both having capacitors, or both blank.
*One of the other resistors is removed (CHECK WHICH!!).
*The connection to the serial connector to the antenna rotator is wrong. The wires are switched, then mirrored. The original RadioFox is misleadingly bodged with wires underneath. The wires are also switched with a bodge under the jack socket.
*The ground plane is not connected to the ground trace in enough places, especially near the crystal capacitors.
*The crystal should ideally be on the same side as the atmega.
*The accelerometer/magnetometer breakout has not been tried.
*The ISP connector is too close to the back of the audio jack socket and cannot be used once the socket is on the board.
*The silk screen is conflicting and cannot be chosen specifically with Olimex. The 5V and GND markings are incorrect on at least one pin header (!).
Bootloading:
*REMEMBER TO NOT PUT RESISTORS IN THE DTS AND DTR LINES. BOOTLOADING WILL NOT WORK. TRUST. SEE ABOVE. REV1&REV2.
*Problem was initially with the crystal not being soldered nicely.
*USBASP with avrdude used eventually, AVR dragon may have been submitted to bad mojo.
*100R put between SCK input and chip, and trace broken. (Rev 2 does not need this)
*Need low clock speed for first contact (switch 2 ON, switch 1 OFF on the usbasp lite)
*Programming without external power is fine.
*Use following commands to burn bootloader:
*(ERASE)
*avrdude -v -c usbasp -p m168 -P usb:05dc -e
*(UNLOCK)
*avrdude -v -c usbasp -p m168 -P usb:05dc -U lock:w:0x3f:m
*(EXTENDED FUSES)
*avrdude -v -c usbasp -p m168 -P usb:05dc -U efuse:w:0xf8:m
*(BOOTLOADER)
*avrdude -v -c usbasp -p m168 -P usb:05dc -U flash:w:/home/cusf/Desktop/ATmegaBOOT_168_diecimila.hex
*(LOCK BOOTLOADER)
*avrdude -v -c usbasp -p m168 -P usb:05dc -U lock:w:0x0f:m
*usb:05dc must be changed to match the usb port of the usbasp device
*Make sure the high fuse is DD, low fuse is FF, extended fuse can be 00/ignored.
*First run through may need to be on slow clock system.
*The cable on the usbasp may be a touch on the spaffy side.