Page 1 of 1

Servo Shield

Posted: April 11th, 2018, 11:42 am
by cuthbertsj
Hello,

Are there any tutorials on how to use the servo shield? I need to control 12 servos for my senior project and am having difficulty. I just need them each to toggle from 0 degrees to 180 degrees at the push of a button.

Any advice would be greatly appreciated.

Thanks,
Joe

Re: Servo Shield

Posted: April 11th, 2018, 6:42 pm
by cerkit
I found this one on the Embedded Micro site under the product page for the servo shield.

https://embeddedmicro.com/blogs/tutorials/servos-1

Hope this helps.

Re: Servo Shield

Posted: April 26th, 2018, 12:41 pm
by cuthbertsj
I did see this. I am trying to use the servo shield in verilog and cannot figure out how to do the constraints file. I tried copying the lucid servo shield file into verilog with no success. Any ideas?

Thanks,
Joe

Re: Servo Shield

Posted: May 7th, 2018, 1:47 pm
by beckerdo
The "simple servo" project from the book hooks up the server to P50. It's constraint file server.ucf looks like this:
NET "servo" LOC = P50 | IOSTANDARD = LVTTL;

The hexapod example has the servo user constraints in mojo.ucf. There are 3 banks of 1 enable and 8 servo outputs. Here is what that looks like:
NET "servo_en<0>" LOC = P29 | IOSTANDARD = LVTTL;
NET "servo_en<1>" LOC = P27 | IOSTANDARD = LVTTL;
NET "servo_en<2>" LOC = P30 | IOSTANDARD = LVTTL;

NET "servo_a<0>" LOC = P79 | IOSTANDARD = LVTTL;
NET "servo_a<1>" LOC = P78 | IOSTANDARD = LVTTL;
NET "servo_a<2>" LOC = P75 | IOSTANDARD = LVTTL;
NET "servo_a<3>" LOC = P74 | IOSTANDARD = LVTTL;
NET "servo_a<4>" LOC = P67 | IOSTANDARD = LVTTL;
NET "servo_a<5>" LOC = P66 | IOSTANDARD = LVTTL;
NET "servo_a<6>" LOC = P58 | IOSTANDARD = LVTTL;
NET "servo_a<7>" LOC = P57 | IOSTANDARD = LVTTL;

(same for servo_b and servo_c 8 bit array)

You must set the enable to 1 in order to get output on the Servo Shield.
Thanks, Dan