April 22, 2019, 05:11:37
News: Skyartec for 9x project is now up

LunarFlow R/C

Show Posts

* Messages | Topics | Attachments

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - chris

Pages: 1 2 [3]
Projects / Easily build simonk firmware on Windows
« on: March 31, 2012, 15:51:00 »
This project is to make changing the simonk ESC firmware settings a little easier if you're using Windows.  This assumes you have downloaded the simonk firmware and have a directory with all the files in it.

First download this zip and extract the two files inside in to your simonk directory.

Now edit the "tgy.asm" file with a text editor to change the settings you want.  You may need to use Wordpad or other editor because Notepad may not work correctly.  If you scroll down a bit in this "tgy.asm" file you will see settings like:
Code: [Select]
.equ  MOTOR_BRAKE = 0   ; Enable brake during neutral/idle ("motor drag" brake)
.equ  LOW_BRAKE   = 0   ; Enable brake on very short RC pulse ("thumb" brake like on Airtronics XL2P)
.equ  MOTOR_REVERSE  = 0   ; Reverse normal commutation direction
.equ  RC_PULS_REVERSE   = 0   ; Enable RC-car style forward/reverse throttle
.equ  RC_CALIBRATION = 1   ; Support run-time calibration of min/max pulse lengths

For example if you wanted to reverse the motor direction then change MOTOR_REVERSE to be equal 1.

Once you have made these changes and saved the tgy.asm file then just run the "make.bat" command you extracted earlier and it will build new hex files with your new settings.

As always, make sure to use the correct hex file for your ESC and take appropriate precautions when testing the first time.  Make sure to read the simonk documentation about testing on this page:  https://github.com/sim-/tgy

Projects / MultiWii 3D
« on: March 14, 2012, 16:19:00 »

MultiWii simonk reverse motor test (for inverted flight)

Projects / Arduino USB Linker
« on: October 22, 2012, 21:26:00 »

Projects / MultiWiiCL
« on: March 16, 2013, 15:37:00 »

This is a command line text based tool for configuring MultiWii. It also provides a full scripting environment for whatever fancy future use. I needed this because MultiWiiConf wouldn't run at all on my old laptop and on my newer laptop it was really slow and too fat. :P I also wanted a way to save and restore my PID settings that MultiWii keeps erasing when I load different versions and I wanted to be able to very accurately set my PID settings where the GUI has problems getting it right every time.I just started working on this and it's currently in a very alpha state but it works. Source code is available on the project page and binaries are available that run on Linux, OS X, and Windows. Most have no dependencies on external libraries or anything, simply run it. :)

As a quick test/intro you can run:

Code: [Select]

Substitute COM7 for your serial port or use something like /dev/ttyUSB0 on Linux.

I'm working on the documentation. help() will show a list of commands and help("commandname") will display help for that command. The commands consist of basically all the MSP_* commands in MultiWii and other functionality. It has some initial support for my Arduino USB Linker project.

MultiWiiCL downloads and link to project page.

Donations are accepted if you feel the desire.

To be continued

Projects / Re: DEVO 9x
« on: December 02, 2012, 01:19:00 »
Attached are two er9x models. Note these are a work in progress and not fully tested. The "beginner" model basically uses less throttle in its curves and more expo. These settings are based on some recommendations I found for DEVO radios (here, here, and here). Personally I run much less expo than even the advanced model (around 15% or less even) for more control.The current gyro sensitivity settings may be incorrect because I believe the DEVO settings are based on a 0 to 100 scale where the 9x is -100 to 100. The current values are 82% and 60% but I believe that it may need to be changed to 64% and 20%. Testing needs to be done.
  • The throttle kill switch does what it is suppose to (-100 throttle and 0 collective pitch to help prevent boom strikes). Once set throttle kill can not be turned off until throttle stick is set to -100 and flight mode is idle down (ID0).
  • ID switch sets the flight mode, ID0 for normal mode idle down, ID1 and ID2 for "stunt" idle up modes.
  • GEAR switch sets the gyro sensitivity, 0/OFF/BACK is high sensitivity strong hold, 1/ON/FORWARD is less hold which helps with certain 3D maneuvers.
The Genius is using a 7 channel RX so you must be in 8 channel mode.

The channels:
  • Channel 1 = Elevator
  • Channel 2 = Aileron (needs to be inverted)
  • Channel 3 = Throttle
  • Channel 4 = Rudder (needs to be inverted)
  • Channel 5 = Nothing (?)
  • Channel 6 = Collective
  • Channel 7 = Gyro sensitivity (?)
  • Channel 8 = Nothing (?)

Do not use a "heli" setup on the 9x with swash mixing, the collective is done on channel 6. Do use the "swash ring" feature at about 80% otherwise the swash can bind.

Gyro sensitivity must be above 0 (on a -100 to 100 scale) otherwise the gyros are turned off. A low gyro value will make the tail have very fast response to stick input but it will not hold as well. A high gyro value will slow the tail down and have a more solid hold. If you go too high then the tail will wag/hunt a lot and not be stable.

When in 3 axis mode after binding make sure you have a solid green light on the Genius RX board. If not then that means you're not sending a gyro sensitivity (channel 7) above 0 and flying like that is near impossible. In 6 axis mode the heli will drift and yaw badly if this gyro sensitivity setting is not transmitted. I have no idea how this transmitted gyro sensitivity interacts with the gyro sensitivity pots on the RX board (anyone know?).

Be careful about trim settings when doing the bind. Apparently the Genius RX will (sometimes? always?) remember some of these values (elevator, aileron, and rudder it seems) and offset the channels by whatever trim you had set during bind which essentially removes the trim or makes the trim too much or other adverse effects. In fact if you don't send anything on channel 7 (for example you can use only 6 channels) then it's possible to set up the trims in such a way while binding that the heli will sort of fly nicely in 6 axis mode without channel 7 (I don't recommend this though). It's weird, I haven't quite figured out how it works.

Wow, it seems so simple now after all that I learned then writing this down. It was a real struggle for a while. Especially figuring out channel 7, before that I thought the GCP really sucked. It took lots of broken parts to bring this to you so feel free to send Genius CP blades, canopy, frame, etc. :D

Projects / DEVO TX module for the 9x
« on: December 02, 2012, 01:19:00 »
I have been flying a Genius CP (DEVO) with a 9x for a few days now and while I probably don't have all the issues worked out I figured it's time to post some information. This will be a continuous work in progress.

BEWARE, the MTC-01 is known to be flaky at times and especially running this nonstandard configuration it could be dangerous. This is for informational purposes only, everything below could be incorrect, don't try this at home.

First a quick start for the impatient:
  • Models created to be used with the MTC-01 should use a 23.5ms frame time with 400us pulse separator length. Do not use more than 8 channels (less is better) and if you're using an old MTC-01 with the original firmware it is a good idea to set any channels you're not using to -100 to help prevent the "channel mixup" issue. Newer MTC-01's don't have this problem.
  • Binding requires first plugging the MTC-01 into your 9x, then turn on the DEVO RX, finally turn on the MTC-01. MTC-01 should have a solid blue light and the DEVO RX should have a flashing light.
  • Next wiggle the stick, switch, or whatever that is on channel 2. The MTC-01's blue light should start flashing. Within a second or two the DEVO RX's light should go solid.
  • Wiggle the stick on channel 2 again. Now the MTC-01's green light should start flashing. Within a second or two the DEVO RX should initialize (on my Genius CP the heli "comes alive" and wiggles the collective at this point).
  • Now you're ready to fly.
Once bound if you do not power off the MTC-01 then it will rebind to the same RX automatically without having to go through the steps above.

Apparently there are two versions of the MTC-01, the new one just being released recently. Lets call these v1 and v2. I do not know what the differences are but there are hardware changes and probably firmware. Supposedly the v2 fixes some issues with failsafe and possibly the "channel mixup" issue. There is also a new firmware for the v1 that fixes the "channel mixup" issue but it's unclear if that actually fixes it or not.

The channel mixup issue is where the MTC-01 will get out of sync with the PPM stream and start transmitting the wrong channels to the receiver. In other words the channel order gets mixed up. Obviously this is very bad and dangerous when flying.

The failsafe issue comes in to play if you disconnect a v1 MTC-01 from your radio while it's still powered on. Apparently it can start sending random channel data like full throttle to your model. If that happens you need to turn off the MTC-01 as fast as you can, this will hopefully send your DEVO RX into its own failsafe mode.

My MTC-01 is a v1 and it also runs the old buggy firmware. This is all I have experience with and is what all my testing has been done with. I would be happy to try a new v2 MTC-01 or upgrade the firmware on mine if someone sends me one of the v2 MTC-01's and/or a DP02 firmware upgrade cable. :D

Alright, lets get into the details.

The first thing that needs to be done is to connect the MTC-01 to the 9x. The MTC-01 comes with a cable that can be plugged into the 9x's trainer port and this works fine. However, I put my MTC-01 board inside a 9x style TX module. This gives me a little more range because of the better external antenna and I power the MTC-01 from my radio so I never have to worry about its battery. I built a small PCB that has a 3.3V voltage regulator to supply power and connect to the 9x module pins (make sure the regulator can handle the full battery voltage from the radio). The audio plug needs to be removed from the board for it to fit in the case. The internal antenna can be removed and coax soldered in for an external antenna. I'm thinking of adding an RF amplifier in there as well to get a power boost and more range.

Once the MTC-01 is connected to the 9x now we need to create a model. I'm using er9x on my 9x which gives great control of everything. Other firmwares may be slightly different or possibly not work at all if they can't be configured properly, let me know.

Some adjustments need to be made to the PPM signal for the MTC-01 to recognize it. The frame length should be no longer than 24ms. I use 23.5ms. The most important setting is the pulse separator length should be 400us. The MTC-01 will also accept 350us but I have had problems with glitching when using that timing. My WK radio actually uses around 423us so I'm not sure how precise this value needs to be. On the v1 with the old firmware my guess is the channel mixup issue is caused by the PPM frame sync pulse not being long enough so if you use too many channels or too many channels have long enough pulses then the MTC-01 goes haywire and loses sync. To avoid problems either run less than 8 channels or with 8 channels I run the longest frame time I can and I set any channels I'm not using to -100 which makes their pulse as short as possible therefore giving a longer sync pulse.

See the quick start above for binding information.

Well, that's it for now! Simple right? Now the hard part, :), I will make a follow up post below to describe how I set up my Genius CP to work with my 9x.

Projects / Warthox inspired 400mm quad project
« on: October 30, 2012, 22:34:00 »
First I used LibreCAD to create a frame design. Inspired by Warthox but smaller. Then I printed it on copper clad board using an inkjet so I would have an accurate pattern to follow. I drilled all the rounded corners then cut the rest with a cut off wheel. I can't easily express how much I hate cutting thick tough nasty fiberglass PCB.  >:(

Next I used KiCad to create a circuit board for the electronic bits. Printed on a laser printer with magazine paper, ironed on, etched in my home-grown cupric chloride (love that stuff). This is a temporary design because I don't have any 90 degree headers which means this one is going to be messy but I want to fly now:)

Drilled and painted board.

Power distribution. Silicon wire is heavy. I started with PVC insulated wire for testing and the quad was 10g lighter.

Putting together the final bits. I intentionally left the copper on the frame. It's painted with enamel clearcoat to prevent oxidation.

As it flies today.

  • Custom frame.
  • Custom cut/drilled aluminum arms with custom blood red metallic candy paint. 1/2" tube, 390mm motor to motor.
  • BlueSeries 12A ESC flashed with simonk.
  • Suppo 2208/17 1100kv motors.
  • 8x4.5 Gemfan "carbon" props.
  • Custom control board with Pro Mini, 10 DOF IMU (MPU6050, MS5611, HMC5883L).
  • Battery warning buzzer made from the piezo buzzer out of an old V911 TX.
  • Running MultiWii_shared from svn with my custom ArduinoUSBLinker firmware for re-flashing the ESC's.

Weight is 396g without battery (was 385g with PVC wire  ::)).

575g AUW with 2200 mAh 25C lipo. Around 20 minutes flight time.

Pages: 1 2 [3]

© 2019 Lunarflow
© 2019 Simple Machines