Skyler Update – Update 1

Servo in Verilog

In order to control the servo, we are going to generate a PWM (pulse width module) signal in every 20 ms. The servo expects to see a pulse every 20 ms.

ServoPwm

However, to change the servo position, we need to know how wide a pulse needed to be change. For example, at neutral position we need to generate a pulse of 1500 microseconds. To make servo change to -90 degrees, we generate 1000 microseconds, and 2000 microseconds for 90 degrees.

Sinais_controle_servomotor

Generate a pulse to change its position might be not enough because the servo needs to take time to move, so we constantly generate more than a pulse and keep it the same.

Speed: The speed is defined on how quick the pulse is change. For this lab, we increment or decrement by 10.

Block Diagram:

servo

This is the top level of servo block diagram that is written in verilog.

 

Here is a short demonstration of servo:

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s