在本教程中,我们将了解伺服电机以及如何将伺服与 MSP430 连接。MSP-EXP430G2 是德州仪器提供的开发工具,又名 LaunchPad,用于学习和练习如何使用其微控制器。该板属于 MSP430 超值系列类别,我们可以在其中对所有 MSP430 系列微控制器进行编程。
伺服电机和脉宽调制器:
在详细介绍之前,首先我们应该了解伺服电机。
伺服电机是直流电机、位置控制系统和齿轮的组合。伺服系统在现代世界中有许多应用,因此,它们有不同的形状和尺寸。我们将在本教程中使用SG90伺服电机,它是流行且最便宜的一种。SG90是180度伺服。因此,使用此伺服器,我们可以将轴定位为0-180度。
伺服电机主要有三根线,一根用于正电压,另一根用于接地,最后一根用于位置设置。红线连接到电源,棕色线连接到地,黄线(或白线)连接到信号。
每个伺服电机在不同的PWM频率上运行(本教程中使用的最常见频率是50HZ),因此请获取电机的数据表以检查伺服电机在哪个PWM周期工作。
PWM(脉宽调制)信号的频率可能因伺服电机的类型而异。这里重要的是PWM信号的占空比。根据此负载配给,控制电子设备调整轴。
如下图所示,要使轴移动到 9 点钟,打开口粮必须为 1/18.ie。在 18ms 信号中,1ms 的导通时间和 17ms 的关闭时间。
<
对于要移动到 12 点时钟的轴,信号的导通时间必须为 1.5ms,关闭时间应为 16.5ms。该比率由控制系统在伺服中解码,并据此调整位置。此处的PWM是使用MSP430生成的。
所需材料:
MSP430
SG90 舵机
公-母线
电路图和说明:
在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
}
}
-
微控制器
+关注
关注
48文章
7714浏览量
152628 -
msp430
+关注
关注
181文章
2404浏览量
229967 -
伺服电机
+关注
关注
85文章
2069浏览量
58575
发布评论请先 登录
相关推荐
将步进电机与PIC微控制器连接的方式

如何将GPS模块与PIC微控制器连接以获取当前位置的纬度和经度

如何将超声波传感器HC-SR04与PIC微控制器连接

如何使用AVR微控制器Atmega16连接伺服电机的方法
怎么才能使Atmel Studio 7.0将伺服电机与Atmega16 AVR微控制器连接起来?
MAX1169 ADC与PIC微控制器的接口

PIC微控制器技术及应用 13-23章
如何将伺服电动机与PIC微控制器连接
使用PWM技术通过ATtiny13微控制器控制伺服电机

如何将指纹传感器与PIC微控制器连接

评论