An easy way to see the responses of ENC-03 gyro chip

Chip Gyro of ENC-03 is often used as a sensor to stabilize the aircraft or multicopter using RC. To learn seriously need to know the workings and characteristics of this chip. Data sheet for this sensor can be downloaded here. Chip is famous for its resistance to vibration and is easy to use because it has an analog output.

The sensor works because of the angular velocity, analog output voltage will depend on the angular velocity applied to the sensor.  Sensor output voltage will follow the following equation:

$V_{out}=&space;V_0+S_v\cdot&space;\omega$

V0 is the static output voltage at angular velocity = 0 deg/s. $V_0=&space;V_{ref}&space;\pm&space;0.6&space;V$

From datasheet $\small&space;V_{ref}=1.35V$. Thus the magnitude $\small&space;V_o=1.21V&space;-&space;1.41V$. Sv is scale factor in mV/deg/S = 0.67V. And $\tiny&space;\omega=-90&space;to&space;90deg/S$.

Schematic

This circuit is the simplest. Voltage source connected to the RC tap, 100 ohms and 47uF to eliminate the ripple in the voltage source.

Gyro output voltage tap connected to the RC, 6.8KOhm and 0.68uF, serves as a simple lowpass filter to eliminate the output voltage caused by vibration.

Vref is the output that generates a voltage as a reference that may be required by the circuit on the outside.

At Vref is necessary to add capacitors of 4.7uF.

Microcontroller

To read the response of the output voltage of the gyro, so easy to do I use nano Arduino board. This board contains a microcontroller type ATMega 328p. Because it already has an internal ADC, it will be easy to record responses.

In my Arduino programming using A0 as the ADC to convert the voltage output come from the gyro into digital numbers. Hereinafter ADC conversion result is sent serially to be recorded by using hyperterminal on windows.  I decided to process the data and plotted using Scilab.

Board of ENC-03 Gyro

I got this gyro board by removing the yaw gyro on kkboard. However, it should be added 100ohm resistor and 47uF capacitor on the power supply VCC. And 0.68uF capacitor also needs to be added to the gyro output.

In accordance with the data sheet, this board is placed upright and moved radially. Can also be placed upright and inverted, but the gyro output voltage changes will be reversed as well.

To be able to move freely in the radial, required a dish to put this gyro board. To connect with pin of the Arduino board, can be soldered directly  using  cables.

Additional compenents of resistor and capasitor can be soldered into header pins of this board.

Dish

In order gyro board can be moved radially with ease, need a dish to put the gyro board. The dish is made using styrofoam plate. At the center of the dish, bamboo as a holder mounted to rotate the dish. Arduino board and gyro board placed on this dish.  Furthermore, the Arduino board is connected with usb cable to the computer to record the results of Gyro responses of the radial motions.

This method is the most inexpensive and easy to make because it uses materials easily obtained is styrofoam.

Other Dish

Because I can do the job using mechanical equipment such as lathes, milling machines, drilling machines, welding machines and so forth. I prefer this dish using iron material, because it is more robust and stable during use.

Basic Recording

The basis of recording the response of the gyro output is done by reading through the adc conversion. I am using the Arduino programming with nano board. Arduino program as follows:

void setup() {
Serial.begin(115200);
}

void loop() {
Serial.println(sensorValue);
delay(50);
}

Recording steps:

1. Turn on Arduino by plugging USB’s arduino board to the computer.
2. Open hyperterminal, set baud to 115200 baud, 8bit, No parity, 1 stop bit.
3. Connect communication by clicking “Call” icon. You must ensure that the serial channel selection is correct. You will see the data receive by hyperterminal
4. Rotate the dish, you’ll see a change of data in hyperterminal.
5. To record and stored in a file, select the “Transfer -> Capture Text”. Then asked to fill in your name and the file folder.
6. Turn the dish as the fourth step in accordance with your wishes.
7. Stop record by select the “Transfer->Capture Text->Stop”.

Processing of data

The file name of the data is capture5.txt. Further data will be read and processed using Scilab program. Use the console to process manually. Scilab commands as follow:

-->// read data file into sh matrix

// convert sh matrix string content into d matrix as numeric
-->d=evstr(sh);

// convert adc data (0-1024, 10bit) into analog voltage
-->analog=(d/1024)*5.0;

// how big is the size of data
-->size(analog)
ans  =

694.    1.

// make t matrix as time (axis plot) 0 to 693
-->t=0:693;

// plot data
-->plot2d(t,analog,style=2)

The results of the graph are shown as follows.

Last updated by at .