实验4,电机控制与综合实验
渤海大学学生实验报告(理工类)课程名称:
单片机 开课实验室:
EDA 技术实验室 实验室位置:
理工 3 号 楼 707 室 完成实验时间:
年 月 日 学院 新能源学院 专业/年级/班 微电子/2012/1 姓名 ##### 实验题目 定时计数器 学号 ####### 实验环境 指导教师 成绩 成绩评定标准:
序号 项目 满分成绩 备注 1 预习、实验原理 2 2 实验内容与实验步骤 3 3 分析、解决问题及创新能力 2 4 实验结果、数据处理 2 5 讨论及建议 1 一、实验目的:
1、掌握电机的应用; 2、掌握综合系统的设计。
二、实验设备(名称、型号):
联想启天 M710E 计算机、连接导线等 Techshine® EL-NC800 综合创新实验实训系统 三、实验(设计)原理概述:
步进电机相数:产生不同对极 N、S 磁场的激磁线圈对数。常用 m 表示。
步进电机拍数:完成一个磁场周期性变化所需脉冲数或导电状态用 n 表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即 A-B-C-D-A,四相双四拍运行方式即 AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A。四相双四拍方式(AB-BC-CD-DA-AB),各线圈通电顺序如下。
顺序/相 A B C D 0 1 1 0 0 1 0 1 1 0 2 0 0 1 1 3 1 0 0 1 按这种顺序切换,电机轴按顺时针方向旋转。若通电顺序相反,则电机轴按逆时针方向旋转。为提高步进电机负载能力和运行平稳,可使用四相八拍驱动方式。
步距角:对应一个脉冲转子的角位移。θ=360°/mZC(m 定子相数、转子齿数、C 单双拍)。
实验箱步进电机 28BYJ48,面板标注一周 64 格,每格 5.625°。
28BYJ48 基本参数及驱动方式:
5V,5 线(含共电源线)4 相,转子 8 齿,双拍步距角 360/(4×8×2)=5.625°,减速比1/64。其中红色 5 号线,橙色 4 号线,黄色 3 号线,粉色 2 号线,蓝色 1 号线,由 74LS07驱动。
四、实验内容与步骤(方法)、实验数据(表格)、数据处理:
1 1、步进电机控制(四相 8 8)拍)。
编程 :
连线:将 MCU 的 IO1---IO4 分别连接到 STEP MOTOR 的 ORANGE、YELLOW、PINK、BLUE管脚。
#include
} } void delay(unsigned int endcount){ count=0;/ // 定时中断计数 =0, 保证进入如下循环 do{}while(count
步骤 :
1 1))箱、将甲、乙两个实验箱 U MCU 模块的跳线帽 2 JP2 端都短接在 上侧。甲做发送设备,乙做接收设备。
2 2))、连线:
发送设备甲:
(1 1)将 MCU 的 的 TXD、RXD、IO1(P0.0)和 0 INT0 分别连接到 5 RS485 的 的 TXD、RXD、5 E485 和单脉冲输出 P P--孔。
(2 2)顺序连接甲、乙两个实验箱的 5 RS485 的 的 1 UR1 差分接口(A A、B B 分别对接)。
(3 3)将 MCU 的 的 0 INT0 连接到 DC_MOTOR 的 的 SPEED,DC_MOTOR 的 的 DRV 连接到ANOUT。
接收设备乙:
(1 1)将 U MCU 的 的 TXD、RXD、INT0(P P3 3..2 2)分别连接到 5 RS485 的 的 TXD、RXD、E485 ;(2 2)8 IO1~IO8 顺次连接 LED_A~LED_DP,CAP0、SDA、L SCL 顺次连接 LED_C1、LED_C2、LED_C3 3、LED_C4 4。
3 3))备、分别连接好仿真器,上电,在甲设备 PC 机上打开 Keil C 环境,编译如下程序,进入调试状态,即将程序下载到“ “ 发送设备甲” ” 的仿真器中。
#include
void init(void){ PCON = 0x80;TMOD = 0x21 1;;SCON = 0x50;TH1 = 0xfa;TL1 = 0xfa;TH0 0 = 0x 3c;;TL0 0 = 0x b0;;TR1 = 1;TR0 = 1;IT0 = 1;PX0 = 1;EX0 = 1;E ET T 0 = 1;EA = 1;EN = 1;} } void Speed_ISR(void)interrupt 0 { // 电机计数 中断程序 speedNum ++;;} } void T0 _ISR(void)interrupt 1 1 { // 定时 s 1s 中断程序 timerCounter ++;;if(timerCounter==20){ timerCounter=0;SBUF = speedNum;;while(!TI);TI = 0;speedNum=0;} } TH0 0 = 0x 3c;;TL0 0 = 0x b0;;} } void main(void){ { init();while(1);;} } 再在乙设备 PC 机上打开 Keil C 环境,编译 如下程序,进入调试状态,即将程序下载到“ “ 接收设备乙” ”的 的 CPU 板中。
#include
} } } } void Display(){ unsigned char i;;unsigned char Pos;un signed char LED;Pos = 0x 08;// 初始位选字,从左边开始显示 for(i = 0;i < 4 4;i++){ OUTBIT = 0;// 关所有八段管 LED = LEDBuf[i];// 取段码 OUTSEG = LED;OUTBIT = ~ ~ Pos;// 显示一位八段管 Delay(2 2;);Pos >>= 1;} } } void UART0_ISR(void)interrupt 4{ 0 //UART0 中断服务子程序 u u nsigned char temp;if(RI){ RI = 0;temp = SBUF;LEDBuf[0] = LEDMAP[temp /10 00;];/ // 千 LEDBuf[1] = LEDMAP[temp /100 %10];/ // 百位 LEDBuf[2] = LEDMAP[temp /10];/ // 十位 LEDBuf[3] = LEDMAP[temp %10];/ // 个位 } } } } void main(void){ { init();while(1){ { Display();;} } } } 4 4))、运行接收设备乙的程序,并把跳线帽 2 JP2 短接在 下侧,让出串行口。
5 5))、运行 发送设备甲 的程序帽,并把跳线帽 2 JP2 短接在 下侧,让出串行口。
观察“ “ 接收设备乙” ” 实验箱上的 显示 变化。
调整发送设备甲 上的 电位器旋钮,观察“ “ 接收设备乙” ” 实验箱上的 显示 变化。
6 6))、备注:在该 5 RS485 的通讯中,关键是设置 5 RS485 的 的 5 E485 端的状态,从而决定是接收回来数据还是发送出去数据。
结果:
3 3、将直流电机的转速直接显示在当前实验板的数码管上。
五、实验结果及误差分析:
六、讨论的问题及结论、改进实验的建议:
1、显示设计的方法有几种,分别是什么,它们的原理是什么? 2、LED 显示接口电路为什么需要驱动?如何解决驱动的问题? 3、键盘设计方法有几种,分别是什么,它们的原理是什么? 批注 [l2]: 此处描述实验现象,写出实验结果。
批注 [l3]: 参考题目 2 自行编写程序,连接电路。
批注 [l4]: 对实验做必要的分析说明。
批注 [l5]: 作答以下问题,以及写下改进实验的建议。
版权声明:
1.大文斗范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《实验4,电机控制与综合实验》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。
