Skip to main content

Posts

Raise the white flag! Change of Tactics

The inevitable had to come... Introducing the Radian Glider. This will be used as the ultimate airframe to put my autopilot to the test... But for now, I will have to get my flight skills up with a self made trainer ( with foldable prop). I will have to make use of a public park for now until I'm ready to join a flying club. Let the games begin!

The Autopilot board is now GPS-enabled!

I finally managed to get my hands on the em-408 GPS receiver. After making provision on the autopilot board for the sensor and making sure that the OpenLog board could save the data, it was time to put this baby to its paces. It was no small feat I must add although the "old faithful" internet  was right there besides me to give me along. I found that there aren't many scripts that give an modular solution to allocating GPS data to variables in Arduino for further processing. So I made my own :). My approach was not to disrupt the internal timers of chip due to servo control. So the GPS board communicated with the rest of the system through the hardware Serial channels. This also enabled the processing of the data coming in prior to it being used in the rest of the system. So the aim of the board is to give heading coordinates to heading tracker function which in turn controls the roll and pitch controller. My plan is to use the haversine formula to calculate th...

HILS Part Two - Functional Testing

The second part of the HILS was a functional test mainly to observe the functioning of the OpenLog board while the IMU and the servos were running. The logging was set at 38400 bps. The aircraft was moved in pitch, roll and yaw to simulate actual flight. The motor was turned on (without propeller attached) to Success Criteria - The logging should not have a loss of data and all IMU and servo variables should be recorded at a rate is for approximately 50hz. Results:  The figures below show that logging was capable at an approximate rate of 50hz. This will be tested in the field prior to the first logged flight.

HILS Part One - Connectivity test

As mentioned before, the aim of this test was to show that the autopilot board could relay power to the Receiver for servos to work. The InPins of the board connected all Rx signal lines (motor, elevator, rudder, switch (explained later)). The OutPins of the board had the ESC signal line and the corresponding servo signals (elevator and rudder). This configuration could be changed in the future in the event that ailerons are used (different test aircraft). Success Criteria - Displaying transmitter signal pulses coming into the InPins showing on the Serial Monitor.   Results: - The connection test worked albeit for a lengthy debugging exercise. The switch pin on the transmitter was able to enable or disable servo control.The figures of the results are shown below:

Frustation - Microprocessor Interrupt Issues - FIXED

As my eyes began to light up thinking that the circuit board that I had built and script that goes along with it, will fast-track the logged flight, I was brought back to earth. Every time the OpenLog board was activated for logging, excessive jitter was experienced by the servos making a successful flight (and landing) impossible. So although the logging was successful (all data was recorded as expected), the jitter in the servos was not. After trying to debug for a few days, I read on the internet above the possible conflict of interrupts of the Arduino when the SoftwareSerial library (for the OpenLog) and the Servo library (Receiver, Transmitter and Servos). One way to solve the problem is to not use the Servo library for servo control and transmit the transmitter signal via digitalWrite command and wait for the next turn to do repeat the process. The problem with this approach though is that if the loop takes too long to come around, the servo will loose holding power and can ...

HILS Preparation Test

So having concluded the first few flight tests and achieved a aircraft platform that will be suitable to test the first version of the autopilot, the time came to start the HILS (hardware-in-the-loop simulation) phase. The first step was to make sure that the ESC (electronic speed controller) will be able to supply current and the motor could still be controlled by the transmitter.  The next step was to connect the Rx and Tx to the autopilot board and have the display of signals coming to the board via the Serial Monitor. These inputs will in turn be converted to servo object angle inputs. The reason this is required is two fold: The Arduino IDE already has a servo library. So converting the pulses coming from the input channels to servo angles will be transmitted to the servo). The simplicity of this route will enable easy debugging in the event improper relaying of signals does not occur. The end goal of the HILS test is to establish a level of confidence that the...

New Autopilot with logging capabilties: designed, built and tested!

Over the last few days I took the bold step of putting my entire autopilot concept on a single board . Leaving the convenient use of Arduino shields behind and heading towards developing a full blown flight controller comprising of: - 3.3V additional regulator for sensor power supply. - 6DOF IMU - accelerometer and gyroscope - Magnetometer board - Logging capabilities (with OpenLog board) - 4 servo inputs (can be extended to 5 in the future) - Female headers for quick sketch modification and upload - LED light for testing purposes - Provision for a barometric altimeter and GPS sensor - Total board weight: 30g (as compared to the previous board or 90g) I've tested the logging of IMU and servo inputs and the board is ready for it's first Test bench logging test. I would have taken this straight up in the air but having learned that everything is in moderation, I realised that 'baby' steps is your ONLY friend . Complete Autopilot board bar Altimeter and...

Add strength to foamies planes

The coolest thing happened last night. Many posts I've seen tell you that if you want to add shear strength to your foamie aircraft, you need to pray adhesive prior to covering it with packaging tape. I'm afraid to say... that's half the truth!!! You see, eventhough the tape will stick for a while any sharp flexing of the wing during flight will cause the rape to start stretching because it detached from the foam surface. This caused the stretched tape to wrinkle up and no longer add structural strength to the foam. So how do you prevent this from happening? Add heat. You see, with heat the glue of the adhesive tape is activated and the foam surface slightly softens to give you a strong bond. So what temperature should one use? Well I did this part by trial and error. I found that a temperature of 80 degrees was sufficient to activate the adhesive and foam sticking to each other. I still feel that using a spray adhesive over the foam area gives a better chance...

New Chapter: Barebone Arduino

With this new Autopilot Concept Change I decided to move on from Shields build my own Barebone arduino. A bold move but necessary for the future of this project. The major problems with is their size. Now it you don't have a problem with size and weight and Shields is for you. But the most annoying thing about them is the fact that honing on your electronic and soldering skills is no longer expected which I feel is the biggest short change any inventor can do. Hence came the Atmel328 microprocessor. That's right! Every Arduino Uno processing is done by one. So you might just as well get to know it. There's plenty of others but the simple interface of the Arduino IDE, makes this a breeze to program. I need to upload the bootloader (quite easy). A quick trick to change programmer to "Arduino as ISP" and change the board type. It's a no brainer: one Arduino Uno costs R300. Total cost of putting a working Barebone is less than

Autopilot Concept Change

After a bad case of stomach bug, I stayed at home today and got working on he UAV both hardware and software. The goal was simple yet daunting: Transfer 3 shields worth of hardware to one protoshield. Due to the high turnaround of making a custom-made PCB (which I have a fair experience on). I decided to go the perfboard route and make the conceptual design straight on the board. It became quite obvious that a few things could be done to reduce the size of the hardware: Instead of having the 5V regulator (although it will be added as a bakcup option) power supply could be taken straight from the ESC. I measured a voltage of 5.05V The need of transistors on each servo channel can be replaced with the switching done in the controller. This can be managed more efficiently. The sensors are attached on the board using right-angled header pins allowing the sensor boards to stacked upright leaving space for more sensors such as a barometer, and the prize sensor: the GPS. Having mad...