在本教程中,我們將了解伺服電機以及如何將伺服與 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文章
7496瀏覽量
151083 -
msp430
+關注
關注
180文章
2393瀏覽量
229200 -
伺服電機
+關注
關注
85文章
2030瀏覽量
57723
發布評論請先 登錄
相關推薦
評論