I still have a bit of oscillation, but it's intermittent. If anyone recognizes the behavior exhibited at ~0:45 I'd be happy to hear suggestions on how to correct it. I'm using proportional and derivative (no integral) to keep the integrated gyro values in line with the integrated results from my remote control input.
The crash was all me, but thankfully it was fixed in about 2 minutes. :-)
Comments
The code is actually very simple. The Propeller chip is a dream to work with in many respects - No interrupts required, and a lot of off-the-shelf objects make things easy. I kept everything in integer math for speed and readability. Once I clean it up, I'll post it and the schematic.
I'm currently only using 4 of the 8 cores:
- The servo core updates the (ESCs) at 200hz. It'll handle 8 of them at this rate.
- The receiver core reads the 4 R/C inputs constantly - it handles out-of-order or simultaneous pulse lines.
- The gyro core reads the ITG-3200 values at 200hz.
- The main core takes the receiver and gyro values, runs the 3 PIDs, and sets the output values for the servo core.
With the remaining cores I'm considering:
- SD card interface
- Data logger (uses the SD interface core)
- Standard speed (50hz) servo core for the ailerons / elevators / rudder / gear servos that I still have to add.
- Serial interface for an LCD display for live settings, like PID consts, input scale factor, etc.
- XBee interface for live telemetry and settings changes
It has been a while sense I used my prop stuff, but I could give you the prop spin code I wrote for an OSD that uses 1 pin on the prop.with 1 sync separator chip.8 pin dip.
Earl