View Single Post
Old Jun 03, 2011, 04:21 PM
OlliW is offline
Find More Posts by OlliW
OlliW
Joined Sep 2009
2,923 Posts
Summary of Firmware, Software and Hardware

Latest Firm- and Softwares

GA250 Gyromixer Firmware , Version 0.22: GA250_Coax_GyroMixer_Firmware_v022.hex

Programming Box Firmware, Version 0.14: Olliw_GA250_ProgBox_v014b_m88.hex or Olliw_GA250_ProgBox_v014b_m88pa.hex, depending on the uC of your box

AvrConfig Windows GUI, Version 0.16

These files are available as .zip here: http://www.olliw.eu/uploads/olliw-ga...2012-01-22.zip

Unfortunately, some person seems to intend to not play by the rules, and I hence inactivated the links for downloading the firmware/software. It is still available for free under the conditions stated in the above, but I kindly ask you to register on my web page and to download from there. Sorry for the inconveniences.

Possible Setups
I shortly describe the possible configurations and which hardware/software is needed to get a running system (excluding hardware/software needed for actually building things).

You will - obviously - need the GA250 gyromixer (first attached picture). Additionally you should have the USB-Programming adapter, which consists of a USB-TTL adapter and a selfmade "plug-button-wire-assembly" (last attached picture). Finally you may wish to have the programming box (second attached picture), which is optional but (IMHO) very handy. Pictures of these three units are attached below for better overview.

Working configurations are:
1) GA250 gyromixer + programming box (+ servo cable)
2) GA250 gyromixer + USB-programming adapter + AvrConfig PC program (+ usb cable)

For flashing a new firmware onto the GA250 gyromixer and/or the programming box you need:
USB-programming adapter + AVRootLoader program (+ usb cable)

If you build the gyromixer (and/or the programming box) yourself, you will additionally need an AVR ISP programmer for burning the bootloader into the GA250 (and/or the Robbe Box)(plus cables to solder to the ISP pins). In order to simplify this step I wrote a little Windows GUI program, which I called AvrBurnTool, and which guides you through the process in six simple steps.

Functions of the Servo Plugs on the GA250 Gyromixer
The five servo cables coming out of the GA250-gyromixer are (please compare with the first attached picture below):
- four-wired servo cable with BLACK heat shrink tube: red servo plug = throttle, black servo plug = rudder
- servo cable with RED heat shrink tube: connector to the BESC for motor A (upper rotor)
- servo cable with BLUE heat shrink tube: connector to the ESC for motor B (lower rotor)
- servo cable with YELLOW heat shrink tube: I will call it the PROGRAMING CABLE, it has a triple functionality:
1) connector for flashing a new firmware into the GA250 gyromixer
2) connector for parameter setting via the AvrConfig PC program
3) connector for parameter setting via the programming box

Further Info on the Operation of the GA250 Gyromixer
- The gyromixer can be in a couple of different states, which are indicated by the LED signals. The possible states and the meaning of the LEDs are described in post #160.
- After powering up, the gyromixer waits for certain conditions to happen before it proceeds and actually outputs a PPM signal to the motor BESCs (on the respective plugs, see above). In particular, the gyromixer allows to calibrate both motor BESCs simultaneously WITHOUT having to disconnect the BESCs from the gyromixer or any other "tedious" procedure. These things are (briefly) described in post #162.
- Some ideas on how to tune the parameters of the GA250 gyromixer for finding a first reasonable parameter set are described in post #189.
- an explanation/overview of the gyromixer parameters, and their relative importance is here
- a comment on the four parameters Gyro Mode, Rate Gain, PID Gain and PID I is here
- an effort to explain what P, I, D of a PID controller are is here
- if you are confused by all these things such as ISP AVR programmer, USB programming adapter, USB TTL adapter, USBasp, Arduino USB adapter you may look up this post here
- the rcgroups members bebev and jrjr have some additional good information and reports on their blog pages!


----------------------------------------------------------------------------------------------------------------------------------

Saftey Precautions and Warnings

Pay attention to the correct polarity then connecting the servo plugs. This holds true in particular for connector Mot A as it is not protected internally by a resistor and is hence more susceptible to overvoltages.

You must not apply more than 5V to the power-plug at the usb adapter. 1S of a lipo battery works fine. With the usb-adapter AND the motor BESCs connected to the gyromixer, it is safer to not power the gyromixer through the battery plug at the usb-adapter.

----------------------------------------------------------------------------------------------------------------------------------

Hardware for Modding the GA250
1 x ASSAN GA250 (Hobbyking)
2 x servo extension cables (e.g. 40CM Servo Lead (JR) 32AWG Ultra Light 10pcs/bag, Hobbyking)
1 x piece heat shrink tube 2mm red
1 x piece heat shrink tube 2mm blue
1 x piece heat shrink tube 2mm yellow
1 x piece heat shrink tube 3mm black
1 x piece heat shrink tube 5-6mm black

Additionally an AVR ISP programmer is needed for setting the fuses and burning the bootloader.

A gallery of photos which presents the current remodeling of the hardware in much more detail can be found here: http://www.olliw.eu/2011/ga250-fpkoa...cher/#21072011 ATTENTION: it shows photos with fuses settings which are NOT correct, please use the fuse settings given in this post here below!

Fuses and Bootloader for the modded GA250
lfuse: 0xBF
hfuse: 0xDC
bootloader hex file: BL_4GA250GyroMixer.hex

The fuses are set and the bootloader permanently burned into the microcontroller using an AVR ISP programmer. It has temporarily to be connected to the ISP pins on the GA250 print board; the location of the ISP pins can be seen in post #3 in the first photo (see to the left).

----------------------------------------------------------------------------------------------------------------------------------

Hardware for Building the USB-Programming Adapter
1 x USB-TTL adapter with FTDI FT232RL chip
1 x servo extension cord (e.g. 40CM Servo Lead (JR) 32AWG Ultra Light 10pcs/bag, Hobbyking)
1 x switch
1 x male pin connector 2.54mm with 6 pins
1 x male pin connector 2.54mm with 3 pins
1 x heat shrink tubes as liked
1 x maybe a small piece of evtl. kleines Stück strip board 6×4 holes
1 x maybe a small piece of evtl. kleines Stück strip board 3×3 holes

It's IMPORTANT to use an USB-TTL adapter with FTDI FT232RL chip. Suitable items would be e.g. SparkFun DEV-09873, DEV-09716, or if no plug is desired DEV-10008. My current best suggestion is to use the Arduino USB adapter which are available for less than $10, e.g. at dealextreme or ebay. I recall, pay attention that your USB-TTL adapter uses a FTDI FT232RL chip!

The other stuff is needed to build the "plug-button-wire-assembly" which goes between the USB-TTL adapter and the GA250 gyromixer. The scheme you may find here http://www.olliw.eu/2011/ga250-gyro-...rammingadapter. The resistor R* is not needed for the gyromixer project and can be just a short.

The materials list is just a suggestion of what you may need as there are infinitely many ways to build the "plug-button-wire-assembly" (I myself e.g. are doing it differently now)!

Software for the USB-Programming Adapter
The usb-ttl adapter which is needed here has to have a chip which allows to invert the RX and TX lines. I myself am familiar only with the FT232RL chip. In principle any usb-ttl adapter with this chip can be used. Softwarewise the VCP driver is required, but I recommend to host also the respective D2XX driver and FT_PROG utility program in your GA250 gyromixer folder. If you build the USB-programming adapter yourself, you have to invert the RX and TX pins, which can be done by the FT_PROG utility program, which needs the D2XX drivers.

VCP driver: http://www.ftdichip.com/Drivers/VCP.htm
D2XX driver: http://www.ftdichip.com/Drivers/D2XX.htm
FT_PROG: http://www.ftdichip.com/Support/Utilities.htm

For more descriptions on inverting the RX and TX pins and using FT_PROG go to post #223.

----------------------------------------------------------------------------------------------------------------------------------

Hardware for Modding the Robbe Programming Box
1 x Robbe Roxxy BL Controller Programmer V2 No. 8642
1 x servo extension cord (e.g. 40CM Servo Lead (JR) 32AWG Ultra Light 10pcs/bag, Hobbyking)

Additionally an AVR ISP programmer is needed for setting the fuses and burning the bootloader.

Fuses and Bootloader for the modded Robbe Programming Box
lfuse: 0xCF
hfuse: 0xDF
efuse: 0x4F
bootloader hex for Atmega88: BL_4RobbeProgger_m88.hex
bootloader hex for Atmega88pa: BL_4RobbeProgger_m88pa.hex

Which of the hex files has to be used depends on which microcontroller (ATmega88 or ATmega88PA) is found in your Robbe Programming Box.

The fuses are set and the bootloader permanently burned into the microcontroller using an AVR ISP programmer. It has temporarily to be connected to the ISP pins on the Robbe Box print board; the location of the ISP pins can be seen in post #4 in the first photo (see to the right).

-----------------------------------------------------------------

Software for Flashing the Firmwares into the GA250 Gyromixer or Programming Box
The firmwares are flashed into the GA250 gyromixer (and/or programing box) by connecting the device via the USB-programming adapter to a computer and running Haagen's tool AVRootLoader.

AVRootLoader: http://www.mikrocontroller.net/topic/95839#new

-----------------------------------------------------------------

AVR-ISP Programmer
Any AVR-ISP programmer will be suitable.

As there are really quite many different units available, no further comments as regards usage shall be made here, the other sections at rcgroup or google will help. A very popular AVR-ISP programmer is USBasp, which is available for less than $5 e.g. at hobbyking or ebay. Several softwares are suitable to run it, the most basic and in some way most reliable is maybe avrdude, but it's a command line program and not GUI based.

I have written a little Windows GUI tool I called AvrBurnTool which you can run on your PC and which simplifies using the AVR-ISP Programmer and the burning of the bootloader, firmware and setting the fuses quite significantly. I have not yet officially released it and hence the info is a bit stretched out. Info you can find in post #307 and the zip file for download here http://www.rcgroups.com/forums/showt...0#post21029292 (with further info albeit for the different but related coaxmixer project).

Some time ago I was not aware that the Arduino USB adapter and USBASP programmer are avaliable together for less than $15 incl. shipping, and hence recommended using the SparkFun USB-TTL adapters as they can be used for both the USB-programming adapter and as AVR ISP programmer. This works, but (miss)using them as AVR-ISP programmer is tedious for the unexperienced (I estimate that about 75% of the first 200 posts here are on this)(I applogize, Randy). I keep this note only for historical purposes, since related pieces of information can be found from post #72 on until about #150 or so...

-----------------------------------------------------------------

Pictures of the GA250 Gyromixer, Programming Box, and USB-Programming Adapter
OlliW is offline Find More Posts by OlliW
Last edited by OlliW; Apr 10, 2012 at 10:07 AM.