前段時間從淘寶上掏到了一塊可控制4個電機的293D驅動板,今天終于有空可以搬出來測試了。
Arduino電機擴展板可使Arduino成為簡易機器人和機電一體化很好的平臺。
2路5V的簡易舵機連接,最多4路雙向直流電機連接,2個步進電機連接。
4個H-橋 L293D芯片提供0.6A每橋(1.2A峰值)帶過熱保護,電壓從4.5V至36V可選。
Arduino 復位按鈕移到了頂層。
它們帶有一個3線母頭插座連接到+5V,地和信號輸入。
電機驅動板只需提供16bit PWM 輸出線至23線連接頭所以操作及其簡單,它們需要消耗大量的電流因此不能使用9v疊層電池來供電。
好消息是使用板載的PWM非常精準和在后臺運行控制。
你可以使Arduino自帶的Servo庫。
使用伺服電機非常簡單,請參考官方的Arduino文檔關于如何使用它們以及IDE中的伺服器例子代碼。
直流電機被使用在各種類型的機器人項目。這款電機驅動板可以驅動四路直流雙向電機。意味著他們可以正轉或者反轉。速度同樣可以以0.5%的增量變化使用內嵌的高質量的PWM。這意味著電機調速非常平滑和穩定!
(注意H-橋芯片的驅動負荷并不是真正超過0.6A 或者峰值超過1.2A 所以只適用于微型電機。查閱數據手冊來確定電機是否適用。)
連接電機只需將焊接電機引線連然后接到板子上的電機連接端子M1, M2, M3,orM4。然后按照下面的步驟來創建你的程序:
1.確定你導入了<AFMotor.h>
2.使用AF_DCMotor(motor#, frequency)創建 AF_DCMotor 對象, 來設置電機H橋和制動。構造器帶有兩個參數。第一個motor#是要鏈接的電機端口,1, 2, 3or4,第二個frequency是電機轉速控制量.
電機1和2你可以選擇MOTOR12_64KHZ,MOTOR12_8KHZ,MOTOR12_2KHZ,orMOTOR12_1KHZ。一個高速例如 64KHz 將聽得見聲音但是一個低速例如1KHz將使用更少的能耗。電機 3 和 4 只能運行在1KHz 并且會忽略任何的設置。
3.然后你可以通過setSpeed(speed)設置電機的速度,speed 范圍從0(停止)到255(全速)。你可以設置任何你想要的速度。
4.為了運行電機,調用run(direction)direction為FORWARD,BACKWARD或者RELEASE。當然,Arduino 實際不知道電機是正轉還是反轉,所以如果你想改變正反轉的方法,只需簡單的交換電機的接線。
#include <AFMotor.h>
AF_DCMotor motor(2, MOTOR12_64KHZ);// 創建電機#2號,速度是64KHz pwm
void setup() {
Serial.begin(9600);// set up Serial library at 9600 bps
Serial.println("Motor test!");
motor.setSpeed(200);// 設置速度,從200/255之間任意
}
void loop() {
Serial.print("tick");
motor.run(FORWARD);// 電機前進
delay(1000);
Serial.print("tock");
motor.run(BACKWARD);// 電機后退
delay(1000);
Serial.print("tack");
motor.run(RELEASE);// 停止
delay(1000);
}