Sergiu's Posts (4)

Sort by

Autopilot with XMEGA128A1 and ADXRS453 gyros

My latest autopilot with new ADXRS453 gyros is ready for testing.




- Two switching power supplies (Traco Power) at 6.5V and 5V for low power dissipation

-  Separated reference voltage with RLC filter for sensors

-  Separated reference voltage with RLC filter for ATXMEGA's ADC reference input

-  Separated power supply with RLC filter for MCU's digital side

- Two MCU's  ATXMEGA128A1 @ 40Mhz (40+40 MIPS), one for AHRS and one for navigation

- ADXRS453 ultra high vibration rejection gyros, digital output (SPI)

- LIS344ALH Accelerometer

- HMC5883L  3D Compass

- MPL3115A2    I2C Precision Altimeter - internal ready calculated altitude !! - saving MCU time for other tasks

- 6 R/C inputs

- 8 PWM outputs (460Hz)

- 2 PWM outputs for servo camera stabilization

- 8 digital outputs (500mA/each) for buzzer, external LED's,payload trigger,etc

- 2 spare analogical inputs @ 12bit

- 4 general purpose I/O's (I2C, UART, PWM)

- battery voltage monitoring

- Serial COM. for GPS

- Serial COM. for XBEE

- Serial COM. @ analogical input for ultrasonic Sonar

- Four LED's for GPS,XBEE,etc.

I will start doing testings with the AP in high vibration environment - by using unbalanced propellers + motors and see how well gyros will perform. In following days, MPL3115A2 will be also delivered. Just waiting to see the altitude precision of  this new IC.

Will keep you posted about testing results.



Read more…

ADXRS453 Gyros with Ultrahigh vibration rejection

I just got 3 pcs. ADXRS453 gyros from Analog Devices ( Farnell price was 100US$ for one piece.)


  I added also one ADXRS610 in the picture to compare the size of the gyros. As you can see it can be connected vertical for pitch/roll  or horizontal for yaw.This is from data sheet:

±300°/sec angular rate sensing
Ultrahigh vibration rejection: 0.01°/sec/g
Excellent 16°/hour null bias stability

Internal temperature compensation
2000 g powered shock survivability
SPI digital output with 16-bit data-word Low noise and low power 3.3 V to 5 V operation
−40°C to +105°C operation.

Rotation sensing in high vibration environments
Rotation sensing for industrial and instrumentation applications

High performance platform stabilization.

"An advanced, differential, quad sensor design rejects the influence of linear acceleration, enabling the ADXRS453 to offer high accuracy rate sensing in harsh environments where shock and vibration are present.The ADXRS453 uses an internal, continuous self-test architecture."

Specifications like ultrahigh vibration rejection and internal temperature compensation were enough to trigger a flag from 0 to 1 inside my brain. So in less than one month I will have ready one autopilot with XMEGA and this promising gyros.

I will keep you posted about results.



Read more…

XMEGA AP's and ESC's

This is my first blog here so just few words about me:  I’m an electronic engineer, I'm from Romania and my hobby is obvious.

By more than one year now, I spent lot of time working with Atmel XMEGA family. My first autopilot with XMEGA 128A1 had external 16bit ADC (ADS8344) because at that time, internal 12bit ADC and DMA were still unclear to me. MPX pressure sensors for air speed and altitude, HMC5843 compass, ADXRS610 gyros and LIS344 accelerometer.


This video is during flight testing of above mini-quattro:

Same AP I used for one Hexa:

Mean time, getting more familiar with XMEGA, I decided to go forward. The second AP I made, had different design: separate PCB for sensors. Dedicated XMEGA128A1 PCB for sensors and dedicated XMEGA128A1 PCB for PID and GPS navigation. This way I wanted to avoid MCU speed limitations during testing of different sensor filters/navigation algorithms. The AP is made of 3 PCB's.


From top to bottom:

 -Analogical PCB is using LIS344 accelerometer, IDG500/ISZ500 gyros, HMC5843 compass and BMP085  absolute pressure sensors. The PCB have 94% of area covered by ground plane. Dedicated reference low noise IC with RLC voltage filter. All gyros and accelerometers outputs passing through 2nd order active Sallen Key low pass filter. Cut off freq.  is 75Hz for gyros and 10Hz for accelerometers.

-Next PCB has XMEGA128A1 at 40Mhz (40MIPS). Separate power supplies  for analogical and digital sides, each power supply IC having its  own RLC voltage filter at input. To keep conversion speed as high as possible, gyros are connected to ADCA and accelerometers to ADCB.  Both ADCA and ADCB can be triggered practically in the same time, each of ADCA and ADCB having 4 channels and because this is a  pipeline ADC (see XMEGA manual), 8 separated inputs can be sampled and converted in almost same time. ADC’s are running at 1.25MHz. This configuration will run 7 state EKF at 350Hz for time update and 300Hz for measurement update. Complementary filter with integer numbers is running at 2600Hz.

One I2C channel is used for HMC5843 and one hardware UART for serial communication with navigation MCU.  Serial com is at 500Kb/s and is using DMA transfer triggered at 2.5KHz. Several pins are directly connected to navigation MCU and used as  I/O flags in program. UART for PC comm. with DMA transfer (for logs and firmware update). There is also analogical input for temperature sensor from IDG500 (for temperature compensation).

-Last PCB is using  XMEGA128A1 at 40MHz (40MIPS), having also separate power supplies for analogical and digital sides with separate RLC voltage filters. All of the MCU’s and sensors supply IC’s are feed  by 6.5V switching mode power supply (TSR 1-2465). This way, dissipated power is kept at minimum. There is another 5V switching mode power supply (TSR 1-2450) used for GPS, R/C receiver, XBEE, SONAR and two small servos for camera .  All I/O are using dedicated hardware:

-  battery voltage monitoring

 - 8 PPM R/C inputs

- 8 PWM outputs (max 495Hz) better than 14bit resolution

- 2 PWM outputs for servos (camera control)

- I2C input for BMP085 from analogical card

- UART for PC comm. with DMA transfer (for logging and firmware update)

- UART with DMA transfer for GPS with activity LED

- UART with DMA transfer for XBEE with activity LED

-UART with DMA transfer for SONAR with activity LED

- Analogical 12bit input for SONAR

- 8 digital outputs at 500mA/each (ULN2803) for Buzzer, external LED’s and payload trigger

-2 ADC inputs 12bit resolution

-4 general purpose I/O used also as additional UART, PWM I/O or I2C

- one red LED for different status signalization


Below is one test flight with one oktokopter ( I had to buy the frame because at that time I did not had yet my own CNC machine ):

Last AP with XMEGA I made, is one PCB only. I wanted to make one multicopter where all electronic parts are kept between the two carbon fiber plates which are fixing the ALU arms and all cables to pass inside  ALU arms. This way copter is looking simpler, there is no need for canopy and electronic circuits are well protected. MCU used is XMEGA128A1 at 40MHz.


Same ADC configuration was used as previous AP, but with simple 1st order low pass RC filter  for gyros and accelerometers; LIS344 accelerometer, IDG500/ISZ500 gyros, HMC5843 compass and BMP085 abs. press. sensor. Analogical input for temperature sensor from ISZ500 (for temperature compensation). Following are the I/O’s dedicated hardware:

- battery voltage monitoring

- 6 PPM R/C inputs

- 8 PWM outputs (max 495Hz) better than 14bit resolution

- 2 PWM outputs for servos (camera control)

- separate I2C channels for BMP085 and HMC5843

- UART for PC comm. with DMA transfer (for logging and firmware update)

- UART with DMA transfer for GPS with activity LED

- UART with DMA transfer for XBEE

-UART with DMA transfer for SONAR

-2 general purpose I/O used also as additional UART, PWM I/O

Following are two BLDC ESC’s made with XMEGA16A4 at 40Mhz. First ESC I made did not had current reading but for second one, 0.005Ohm shunt was added together with smaller size MOS transistors.

First type ESC:


The pictures below are for type2 ESC with shunt resistor; Motor and battery cables are in same side making easier connection inside frame:


The ESC is using special hardware output for BLDC motor control from XMEGA (with AWEX extension).

The PWM freq. is  20KHz with 1000 steps between 0 and max PWM. One ADC channel running in free mode at 1.25Mhz with DMA transfer configured as differential input is used to read the current passing the shunt resistor. By reading the current have few advantages: improved starting up, limit of the maximum desired current, checking integrity of MOS transistors/motor coil and cable connection between motor and ESC during initializing at power up .

Command to the ESC can be send by any of PPM input, I2C or UART .

Two LED’s (red and blue) for error/run signalization. 

Rotor stall detection.

Few pictures of the copter with all electronic parts "inside" :


Here is one video taken during initial PID testings. The ESC’s are of type2   with XMEGA16A4:

Work in progress is for one Hexa Y frame also with all electronic cards between the two CFK plates:



Last video is with one 3m wingspan airplane during first flight test. Engine used is ZENOAH 68cc. When Spring will be back, will start testing this platform with AP and keep you posted.




Read more…