Pages

Subscribe:

Ads 468x60px

Labels

2013年5月27日 星期一

05-mood-cue-控制伺服馬達

第五章的難度是2,耗時1小時


這一章的零件列表
伺服馬達*1
100uf電容*2
可變電阻10K*1
這一章的電路可以說是很簡單的,但是Ervin 在組裝的電路時卻掙扎了很久,因為伺服馬達的接線和書上面不一樣,還好一開始沒有直接接上去,不然就燒掉了。燒電路板還好,電腦燒壞就慘了。
This image has been resized. Click this bar to view the full image. The original image is sized 800x600px.

不過還好看了書上這一段:紅色是電源,黑色是接地,白色是控制訊號。

一開始要先幫馬達做一個接頭,以後使用在麵包板上比較方便,先拿出針腳,剪下三個,放到麵包板上面調整適合的長度

再插到伺服馬達上面

接下來把這個簡單的電路完成,要注意的是電容的極性不要插錯了

程式碼的部分:
以下是示範影片
但是我發現上面的
在最後超過167以後會讓馬達一直無法定位,發生抖動的情況
所以可以設定成
就好了

RoBoard魔人的每週日誌: [延伸範例] 用wii搖桿控制小機械手臂

RoBoard魔人的每週日誌: [延伸範例] 用wii搖桿控制小機械手臂:  小機械手臂 手臂上共有4顆馬達為KONDO的KRS-786馬達 有feedback的功能 而前端的DMP小手之前介紹過 所以這邊不多說 介紹影片: 第一次上鏡頭有點緊張啦... 啟動的時候會震動是因為手臂下方過輕... 原本想要塞一些東西的  ...

中國機器人網


推薦一下

中國機器人網提供豐富的機器人產業相關資訊

前往網站

Arduino通过电位计控制2自由度云台

今天抽些时间编写了一个简单的通过电位计控制2自由度云台的实例,说到这相信会有人开始担心了,以前也有说过Arduino不能控制甚至多于一个舵机,其根本原因在于供电问题,Arduino本身是可以控制少数量的舵机的,今天我使用了V5.0传感器扩展板有外接电源的功能,这样解决了舵机的供电问题。
    我曾介绍过两种控制舵机的方法,一种是使用Arduino数字PWM接口的舵机控制方法一种是Arduino自带函数的控制方法,这里我就用自带函数的方法控制2自由度云台了(幸好云台只有两个舵机,再多一个可就不能用这种方法了)。PWM接口控制云台也很简单,就留给大家自己去试验了。Arduino通过电位计控制2自由度云台
    按老套路还是先说明一下我们要用的硬件设备:Arduino控制器V5.0传感器扩展板电位计模块2个2自由度舵机云台、5V电池、3P传感器线2条、电池连接线。
    按下图连接好电路,电位计1接模拟口4,电位计2接模拟口3,用3P传感器连接线顺次插接即可(黑线-GND、红线-VCC、S-S),云台两个舵机分别接数字9、10接口(只能是这两个接口,前面博文已说明清楚,不详见前文),电池接好在红端子处。
Arduino通过电位计控制2自由度云台
电路连接完成图
源程序如下:
#include
Servo myservo;
Servo myservo1;
int analogPin = 3;
int analogPin1 = 4;
int val,val1;
void setup()
{
  myservo.attach(9);  // 9号引脚输出电机控制信号
  myservo1.attach(10);
  Serial.begin(9600);         //仅能使用9、10号引脚
}
void loop()
{
  Serial.print("servo:");
  Serial.println(val);
  delay(15);
  Serial.print("servo1:");
  Serial.println(val1);
  val = analogRead(analogPin);
  val1 = analogRead(analogPin1);
 // 读取来自可变电阻的模拟值(0到1023之间)
  val = map(val, 0, 1023, 0, 179);     // 利用“map”函数缩放该值,得到伺服电机需要的角度(0到180之间)
  val1 = map(val1, 0, 1023, 0, 179);
  myservo.write(val);     // 设定伺服电机的位置
  myservo1.write(val1);
  delay(15);             // 等待电机旋转到目标角度
}
    程序到此结束,希望对大家能有所帮助。