【外设】拓机控制器-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3597|回复: 4

【外设】拓机控制器

[复制链接]
发表于 2016-8-22 21:08 | 显示全部楼层 |阅读模式
一、电路
3条线,1条是高电位,一条是地线,另外一条是PWM信号线。
file:///C:/Users/YJBO/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png

二、拓机
拓机转角是0-180度,周期是20ms,使用PWM(脉冲宽度调制)信号的占空比来实现,标准PWM是20ms(50HZ)宽度,理论上脉冲宽度在1ms-2ms之间,但是,事实上脉宽可由0.5ms到2.5ms 之间,脉宽和舵机的转角0°~180°相对应。有一点值得注意的地方,由于舵机牌子不同,对于同一信号,不同牌子的舵机旋转的角度也会有所不同。
file:///C:/Users/YJBO/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png

三、拓机原理:
舵机是一种位置伺服的驱动器,主要是由外壳、电路板、无核心马达、齿轮与位置检测器所构成。其工作原理是由接收机或者单片机发出信号给舵机,其内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。经由电路板上的IC判断转动方向,再驱动无核心马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回信号,判断是否已经到达定位。适用于那些需要角度不断变化并可以保持的控制系统。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。一般舵机旋转的角度范围是0度到180 度。

四、编程原理:
用Arduino控制舵机的方法有两种,一种是通过Arduino 的普通数字传感器接口产生占空比不同的方波,模拟产生PWM 信号进行舵机定位,第二种是直接利用Arduino自带的Servo 函数进行舵机的控制,这种控制方法的优点在于程序编写,缺点是只能控制2 路舵机,因为Arduino 自带函数只能利用数字9、10接口。Arduino 的驱动能力有限,所以当需要控制1 个以上的舵机时需要外接电源。




 楼主| 发表于 2016-8-22 21:13 | 显示全部楼层
附上图片:
1、电路图:

2、原理图:
1.png
2.png
发表于 2016-8-22 21:23 | 显示全部楼层
怎么写的拓机
发表于 2016-8-23 04:07 | 显示全部楼层
用的是16路的舵机控制板,需要用I2C的方法控制,能请教下程序怎么写吗?谢谢
 楼主| 发表于 2016-8-23 20:10 | 显示全部楼层
附上代码:
#define SERVO_PIN 2

void setAngle(int angle);

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(SERVO_PIN, OUTPUT);

  return;
}

void loop() {
  // put your main code here, to run repeatedly:
  int val = Serial.read();
  int angle = 0;
  if((val < '0') || (val > '9'))
  {
    return;  
  }

  //transfer val to 0-180 angle
  angle = (val-'0') * (180/9);

  //set the angle of servo
  setAngle(angle);

  //output to the serial
  Serial.print("value:");
  Serial.print(angle, DEC);
  Serial.println();
  
  return;
}

void setAngle(int angle)
{
  int pwm = angle * (2000/180) + 500;
  digitalWrite(SERVO_PIN, HIGH);
  delayMicroseconds(pwm);
  digitalWrite(SERVO_PIN, LOW);
  delay(20-pwm/1000);

  return;
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 03:52 , Processed in 0.601763 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表