PIC 16F917 Gyroscope Interface

About: For me, instructables is more than a website. It is a lifestyle. It gave me the chance to live my dream. Share what I do with the world. I am an embedded Systems Engineer. Love to travel , run , design usefu...

In this post we will study the ADC ( Analog-to-Digital ) Module of the MicrocontrollerPIC16F917 . We will study a real circuit of PIC16F917 interfacing to a semiconductor Gyroscope.


The Gyroscope is a motion sensor that senses tilt in a certain direction . The used sensor is a yaw rate sensor ( free sample from Analog Devices . The GyroscopeADXRS613 was sent in an evaluation package EVAL-ADXRS613 ) . Yaw means rotation around the vertical access . And rate means the acceleration of this rotational motion.



The output from this sensor is analog signal which represents the Yaw rate in certain direction ( Left or Right ).

The analog signals are converted in the ADC module of the PIC16F917 and are represented on an LED column according to the yaw rate and direction.



The program is very simple and straight forward. It starts by configuring the ports of the Microcontroller for input and output. Then the ADC Module is also configured ( Channel , sampling rate and result data format ).



Then the infinite loop of the program starts which contains the step of

starting the conversion ,

waiting for conversion to complete and

displaying the result on the LEDs.



When the circuit moves in clock wise direction , number of LEDs in one half of LEDs column illuminate according to the rate of change in angular motion.

And When the circuit moves in counter clock wise direction , the other half of the LEDs illuminate indicating change in direction and indicating rate of change in angular motion.





This is the circuit as shown on Proteus 7 simulation environment


The Gyroscope is replaced in simulation by a variable resistance because Proteus 7 does not contain a Gyroscope model.






Step 1: Software and Simulation

The code is written in C and compiled with Hitec C Compiler.

The program is very simple and straight forward. It starts by configuring the ports of the Microcontroller for input and output. Then the ADC Module is also configured ( Channel , sampling rate and result data format ).

Then the infinite loop of the program starts which contains the step of

starting the conversion ,

waiting for conversion to complete and

displaying the result on the LEDs.

When the circuit moves in clock wise direction , number of LEDs in one half of LEDs column illuminate according to the rate of change in angular motion.

And When the circuit moves in counter clock wise direction , the other half of the LEDs illuminate indicating change in direction and indicating rate of change in angular motion.

I added a software part that makes the buzzer sound in two different sound when the board is rotated to the Right or to the Left.



The Gyroscope is replaced in simulation by a variable resistance because Proteus 7 doesn't contain a Gyroscope model.



Here is part of the software used to convert the Analog output into Yaw direction and amplitude.


Step 2: Hardware

Components

PIC16F917 from Amazon US , Amazon UK, Amazon CA, Amazon DE, Amazon FR or eBay , or Aliexpress


Analog Devices Rate Gyro EVAL-ADXRS613 from Amazon US , Amazon UK, Amazon CA, Amazon DE, AmazonFR or eBay , Banggood or Aliexpress

LEDs from Amazon US , Amazon UK, Amazon CA, Amazon DE, Amazon FR or eBay , Banggood or Aliexpress

Verro board from Amazon US , Amazon UK, Amazon CA, Amazon DE, Amazon FR or eBay , Banggood or Aliexpress

9 volt battery connector from Amazon US , Amazon UK, Amazon CA, Amazon DE, Amazon FR or eBay , Banggood or Aliexpress

sound buzzer from Amazon US , Amazon UK, Amazon CA, Amazon DE, Amazon FR or eBay , Banggood or Aliexpress

40 pin IC Socket from Amazon US , Amazon UK, Amazon CA, Amazon DE, Amazon FR or eBay , Banggood or Aliexpress


Connect the circuit as in the schematic diagram.

You need to load the Microcontroller with the Hex file ( Code Program ).

Here is an instructable on PIC16F917 programming with a programmer circuit I 've built.



Then , you need to put the Microcontroller into the IC socket.

Step 3: Tilt to Tick

Here is the final step. You 'll connect power to the circuit and see it working.









Here is the post on my blog Embedded Egypt

http://embedded-egypt.blogspot.com/2010/11/yaw-rate-gyroscope-interface-to.html



يمكنك قراءة هذه المقالة باللغة العربية على مدونتى

You can also read this article in Arabic on my blog

http://arabic-embedded-egypt.blogspot.com/2010/11/blog-post.html

=============================================================

Thank you for reading my instructable.

If you like this instructable you can support us by many ways:
--------------------------------------------------------------------

1. Leave comments stating your point of view about this article.

2. Buy our book on Amazon Learn By Making.

Thank you for visiting our instructable.

Here are some of my latest books on Amazon.

Learn By Making

Backyard Wind Turbines

Share

    Recommendations

    • First Time Author

      First Time Author
    • Make it Glow Contest 2018

      Make it Glow Contest 2018
    • Toys Contest

      Toys Contest

    Discussions