Conversion Manual for HobbyKing Type H Revision 1.1 BL-Controllers
(This conversion manual was originally written for the authors Blog)
Requirements
I used this elements to do the conversion. You can reprogram the Atmel with others programmer too...
- Thin (~0.1mm2), isolated wire oder enamelled wire
- Solderiron and thin solder
SerCon and computer with RS232 port
- Motor and a NG UAVP to verify if they are working
TowerPro w25A, Type H Brushless Controller
Step 1 - Remove unneeded parts
The small parts should be no problem to remove. The voltage converter (the big black parts) are somewhat cumbersome, they absorb a lot of heat (I used a soldering iron with only 40 watts, somewhat more would be better). With this method i get the best result: First I unsoldered the two legs. Then heat them up at the head until they can be removed by a tweezer. I also added some PB-solder, which lowered the melting point.
Step 2 - Remove unneeded conducting paths
Then two conducting paths have to be disconnected. This are the light green lines on the PCB. First the lacquer have to be removed, then the copper comes in sight. This has to be removed too. I did this with a cutter, some also reported good results with an auger. Make sure you not disconnected the conducting paths nearby! Anther idea is to just turn the resistors (The 33kohm, which have to be connected with the upper two pins of the microcontroller) by 180° and connect the pins then. This way no conducting paths have to be disconnected. But take care to not connect them to the small pads of the removed voltage converter.
Step 3 - Add new paths
New connections have to be made. You need a calm hand for that. I used to do that this way: Cut the wires in the right length, bend them as needed, removed isolation. Then I added a bit of solder to the leg of the micro controller and soldered the wire on it. Make sure you haven't connected two legs of the micro controller by using a circuit indicator.
Step 4 - Connect the programmer
The programmer pins have to be connected. I used a dual-row pin-header for the connection.
* Programming using an Atmel Programmer like AVRISP mk2
* Programming using SerCon: SerCon on port ISP1 by using pre tailored wires (these are in the NG UAVP part list anyway). The SerCon has to be supplied with 5V, so GND and +5V has to be connected too (the green LED should light up).
Step 5 - Load new firmware
The Software for I2C communication was written by Quax. Aggressiva made changes to support the 25A Type H controllers. The firmware is already in a binary form as a hex-file available. Now you can flash the controller with avrdude.
You can download the firmware here.
% avrdude -p m8 -c avrispmkII -P usb -U flash:w:tp-25a-new-m1.hex avrdude: Version 5.10, compiled on Jan 19 2010 at 18:43:51 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x1e9307 avrdude: safemode: lfuse reads as A4 avrdude: safemode: hfuse reads as DF avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: reading input file "tp-25a-new-m1.hex" avrdude: input file tp-25a-new-m1.hex auto detected as Intel Hex avrdude: writing flash (2132 bytes): Writing | ################################################## | 100% 0.82s avrdude: 2132 bytes of flash written avrdude: verifying flash memory against tp-25a-new-m1.hex: avrdude: load data flash data from input file tp-25a-new-m1.hex: avrdude: input file tp-25a-new-m1.hex auto detected as Intel Hex avrdude: input file tp-25a-new-m1.hex contains 2132 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 0.63s avrdude: verifying ... avrdude: 2132 bytes of flash verified avrdude: safemode: lfuse reads as A4 avrdude: safemode: hfuse reads as DF avrdude: safemode: Fuses OK avrdude done. Thank you.
After several seconds the firmware should be flahed. You are ready to start the controller.
Step 6 - Start
When you power up (connecting to a power source and a motor) the newly flashed brushless controller you should here a noise like this:
As opposed to the original sound:
Step 7 - Tests
Using a flying HAL
When you have a flight control you can connect the brushless controller to that. Make sure you connect SCL to C and SDA to D on the flight control.
Type this command to detect the actor:
# scan actors Scanning I2C1 actor bus... Scan finished. Busscan results I2C1 [0x10..0xf6] --------------------------------- Found device at 0x56 Found actor addresses: Actor state machine will be STARTED in Holger BL-Ctrl mode! Found actors in current setup: 1 Needed actors in current HAL: 0
As yo can see, my flight control found motor number three. To test it you have to connect all actors your hal needs (four for normal four motor quadrocopter, "set HW.HAL quadcopter"). Then you can use the command enable/disable motor to start a motor:
# enable motor 1 # show actors ... Actor Activation Status: Actor 1: enabled (front) Actor 2: disabled (back) Actor 3: disabled (right) Actor 4: disabled (left) # disable motor 1
Using the BLC test HAL
See here.











