将伺服电机与PIC微控制器连接的教程

描述

在本教程中,我们将了解伺服电机以及如何将伺服与 MSP430 连接。MSP-EXP430G2 是德州仪器提供的开发工具,又名 LaunchPad,用于学习和练习如何使用其微控制器。该板属于 MSP430 超值系列类别,我们可以在其中对所有 MSP430 系列微控制器进行编程。

伺服电机和脉宽调制器:

在详细介绍之前,首先我们应该了解伺服电机。

伺服电机是直流电机、位置控制系统和齿轮的组合。伺服系统在现代世界中有许多应用,因此,它们有不同的形状和尺寸。我们将在本教程中使用SG90伺服电机,它是流行且最便宜的一种。SG90是180度伺服。因此,使用此伺服器,我们可以将轴定位为0-180度。

伺服电机主要有三根线,一根用于正电压,另一根用于接地,最后一根用于位置设置。红线连接到电源,棕色线连接到地,黄线(或白线)连接到信号。

msp430

msp430

每个伺服电机在不同的PWM频率上运行(本教程中使用的最常见频率是50HZ),因此请获取电机的数据表以检查伺服电机在哪个PWM周期工作。

PWM(脉宽调制)信号的频率可能因伺服电机的类型而异。这里重要的是PWM信号的占空比。根据此负载配给,控制电子设备调整轴。

如下图所示,要使轴移动到 9 点钟,打开口粮必须为 1/18.ie。在 18ms 信号中,1ms 的导通时间和 17ms 的关闭时间。

msp430

<

对于要移动到 12 点时钟的轴,信号的导通时间必须为 1.5ms,关闭时间应为 16.5ms。该比率由控制系统在伺服中解码,并据此调整位置。此处的PWM是使用MSP430生成的。

所需材料:

MSP430

SG90 舵机

公-母线

电路图和说明:

msp430

在MSP430中,我们有预定义的库,并且 PWM 函数已经在这些库中编写,因此我们不必担心 PWM 值。您只需输入要旋转轴的角度,其余部分由这些库和微控制器操作。

在这里,我们使用引脚6,即P1.4,这是MSP430的PWM引脚。但是您可以使用任何 PIN 码。没有必要将PWM引脚用于伺服,因为所有PWM功能都写在库本身中。

用于控制伺服的头文件是“servo.h”。

我们将使用Energia IDE来编写我们的代码。代码简单易懂。它与Arduino相同,可以在“示例”菜单中找到。

#include  


Servo sg90servo; // create servo object to control a servo 

int angle = 0; // variable to store the servo position 

void setup() 



Sg90servo.attach(4); // attaches the servo on pin 4 to the servo object 



void loop() 



for(angle = 0; angle< 180; angle++) // goes from 0 degrees to 180 degrees 

{ // in steps of 1 degree 

Sg90servo.write(angle); // tell servo to go to position in variable 'angle’ 

delay(20); // waits 20ms for the servo to reach the position 



for(angle = 180;angle>=1; angle--) // goes from 180 degrees to 0 degrees 



Sg90servo.write(angle); // tell servo to go to position in variable 'angle' 

delay(20); // waits 20ms for the servo to reach the position 



}


 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分