网站大量收购独家精品文档,联系QQ:2885784924

实验三电机驱动及转速测量实验新板子.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验三电机驱动及转速测量实验新板子

实验三 电机驱动及转速测量实验 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)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档