实验三 电机驱动及转速测量实验(新板子)概要1.docVIP

  • 3
  • 0
  • 约 14页
  • 2017-07-09 发布于湖北
  • 举报

实验三 电机驱动及转速测量实验(新板子)概要1.doc

实验三 电机驱动及转速测量实验(新板子)概要1

实验三 电机驱动及转速测量实验 1实验目的 (1)掌握单片机通用I/O口的使用; (2)掌握使用单片机定时器产生占空比可调的PWM波; (3)掌握使用单片机定时器2的捕获功能实现电机转速测量的方法。 2实验电路 2.1实验装置硬件说明 电机控制实验箱的原理框图如图1所示。 图1 电机控制实验箱原理框图 从图1可知,控制电机需要两个信号,分别为方向控制和转速控制,控制信号经过驱动电路后驱动电机运转,在电机的轴上安装有塑料转盘,转盘上装有小磁铁,当电机运动时带动小磁铁运动,每个小磁铁经过安装的霍尔传感器后,霍尔传感器都会输出一个脉冲信号,这个脉冲信号在实验中用于检测电机的转速。 电机有两种控制方式,即手动方式和自动方式。在手动方式时,可以通过开关来控制电机方向;通过旋转电位器可以控制电机速度。在自动方式时,通过程序来控制电机的方向和转速。 在本实验中,采用)由) 杜邦线连线 单片机IO口 模块接口 杜邦线数量 功能 P0 J3 8 数码管数据段 P2.2 J2(B) 1 段锁存 P2.3 J2(A) 1 位锁存 P3 J24 8 矩阵键盘数据段 P1.0 示波器 1 输出PWM P1.1 信号发生器 1 捕获计数 GND 信号发生器、示波器 用示波器观察以上PWM波波形。 (2)将测量到的电机转速显示到实验箱的数码管LED3~LED6上,转速单位为“转/分”。电机转速信号用信号发生器模拟产生。 5例程参考 见附录 6实验报告 (1)绘出硬件原理图 (2)给出软件流程图 (3)写出实验步骤 (4)附上带注释的软件源码,并对各模块进行说明 (5)总结实验心得 7注意事项 实验四的程序建立在本次实验的基础上,本实验中的两个功能(测速、输出PWM)并 合理分配好定时器资源。 附录:实验 #includereg52.h uchar PulsNum=0; //脉冲数计数器/ //unsigned int OverFlow=0; //定时器2溢出次数计数器 #define KeyPort P3 //unsigned char Speed=0; //unsigned char Time; #define DataPort P0 //定义数据端口 程序中遇到DataPort 则用P0 替换 sbit LATCH1=P2^2;//定义锁存使能端口 段锁存 sbit LATCH2=P2^3;// 位锁存 #define HIGH (65536-10000)/256 #define LOW (65536-10000)%256 sbit DCOUT = P1^4;//定义电机信号输出端口 sbit DCIN=P1^2; unsigned char flag2=0; unsigned char flag1=0; unsigned char PulsNum=0; //脉冲数计数器 unsigned int OverFlow=0; unsigned datal=0; //捕捉值的低8位 unsigned datah=0; //捕捉值的高8位 unsigned char PwmL=1500; unsigned char PwmH=1500; unsigned long CountPerMinute //每分钟计数值=fosc/12*60=5*fosc=5*11.0592M unsigned int speed=0; unsigned int delay_num = 10; //速度值 void CaculateSpeed(unsigned a,unsigned b); unsigned int TargetSpeed=0,SpeedError,SpeedErrorIntg; unsigned char TISignal=0; /*------------------------------------------------ 全局变量 ------------------------------------------------*/ unsigned char PWM_ON; //定义速度等级 #define CYCLE 10 //周期 Unsigned char code DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值0~9 unsigned char code Wei

文档评论(0)

1亿VIP精品文档

相关文档