目录
一、设计目的
1.熟悉并掌握舵机、直流电机的功能与编程控制方法;
2.熟练掌握红外遥控器的控制原理与按键控制基本方法;
3.通过项目设计实验电路搭建与程序编写,熟练掌握Arduino IDE编程基础,提高理论联系实际、编程应用的实践能力。
二、设计要求
设计任务:
以Arduino UNO通用开源软硬件台为基础,用红外遥控器、舵机、直流电机等设计一个原型电风扇。
红外遥控器电风扇,按键实现的基本功能:(1)电风扇的开、关;(2)弱、中、强风速档的选择;(3)风速大小的连续调节;(4)风扇正传、反转的转向控制。
三、设计原理
1.舵机
(1)舵机结构
舵机是一种位置(角度)控制的直流电机驱动器,主要用于位置、角度等定位与变化的控制系统。舵机主要由外壳、电路板、马达、齿轮与位置检测器组成,舵机是一种俗称,其实是一种伺服直流电机。
普通舵机有3根线:GND(黑)、VCC(红)、Signal(黄)。电机驱动电流较大,建议为舵机单独供电。
(2)舵机原理
控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围内的角度控制脉冲部分,总间隔为2ms。
以180度角度伺服为例,那么对应的控制关系:
0.5ms--------------0度;
1.0ms------------45度;
1.5ms------------90度;
2.0ms-----------135度;
2.5ms-----------180度;
(3)舵机的PWM信号控制
舵机为随动机构,当其未转到目标位置时,将全速向目标位置转动;当其到达目标位置时,将自动保持该位置。由于采用8 为CPU 控制,所以控制精度最大为256 份。目前经过实际测试和规划,分了250 份。将0—185°分为250 份,每份0.74 度。控制所需的PWM 宽度为0.5ms—2.5ms,宽度2ms。2ms÷250=8us;所以得出:PWM 信号= 1度/8us;
(4)舵机库函数ServoServo类
成员函数:
attach(PIN)//连接舵机的接口,接数字接口
write(PWM)//设定舵机