ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:344.50KB ,
资源ID:27257895      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27257895.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验项目技术报告减速电机测控系统设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验项目技术报告减速电机测控系统设计.docx

1、实验项目技术报告减速电机测控系统设计实验项目技术报告-减速电机测控系统设计实验内容 减速电机-PWM调速; 增量式编码器和74LS163计数器电机角位移、速度的测量; 单片机串口通讯、定时器、带校验字节的数据传输; VC中使用仪表类进行角度和位移的显示以及定时器的使用; VC中滑块控件的使用; VC中MSCOMM串口通讯控件的使用; VC中数据的保存;实验结果实现PC机对步进电机角位移及速度的实时显示,利用测控系统操作界面对电机速度的连续调节,实现电机的启动、制动和速度及转向的控制。实验所需元器件 减速电机(1只)、编码器(1024P)、74HC74-D触发器、HD74HC00P与非门(2只)

2、、74LS193计数芯片(3片)、单片机(80C52一片)、L298N电机驱动模块(1片)、串口套件1套。1. 实验项目的整体结构图1电机测控系统结构图实验项目的整体结构如图1所示,其中, 光电编码器通过联轴节与旋转电机连接,电机旋转编码器输出计数脉冲和校准脉冲信号; D触发器、与非门及74LS193计数芯片完成编码器输出脉冲的计数和校准脉冲的自动清零; 单片机采集计数器的数字信号,并将其通过串行总线RS232传送至计算机; 计算机通过串口接收单片机发送的电机位置信息,进行动态显示、处理及保存; 计算机通过串口发送控制电机旋转的电压控制量(0-255)和转向控制量(0或255); 单片机通过串

3、口接收上位机发送的转速和转向控制数据,将其转换为相应的PWM波,经L298N电机驱动模块完成电平转换,控制电机的转速和转向;2. 编码器脉冲计数电路2.1 光电编码器工作原理光电编码器通过光电转换将电机轴上的机械几何位移量转换成脉冲数字量,其工作原理如图2所示,在圆盘上有规则地刻有透光和不透光的线条,在圆盘两侧,安放发光元件和光敏元件。当圆盘旋转时,光敏元件接收的光通量随透光线条同步变化,光敏元件输出波形经过整形后变为脉冲,码盘上有定相标志,每转一圈输出一个校准脉冲。此外,为判断旋转方向,码盘还可提供相位相差90的两路脉冲信号。 1-轴;2-光源;3-A、B、C相狭缝;4-旋转板(光栅码盘);

4、5-A、B、C受光元件;图2 光电编码盘原理图3光电编码器的正反转信号顺时针旋转时,通道A输出波形超前通道B波形90;逆时针旋转时,通道A输出波形迟通道B波形90;光电编码器每旋转一圈,输出一个基准脉冲Z,基准脉冲的波形中心对准通道A输出的波形中心,用于基准点定位,如图3。光电编码盘的检测精度是一个重要的性能指标,它表明了光电编码每旋转一周可以输出多少个脉冲,显然,输出脉冲数越多,说明码盘的精度越高,本系统采用的光电编码盘输出1024个脉冲。2.2 光电编码盘的计数与鉴向 实验中采用的码盘是增量式码盘,增量式编码盘需要累加计数来完成角度检测,通常采用的计数电路大同小异,都是对编码器产生的脉冲进

5、行计数来得到角度值,考虑到转盘转动是双向的,既可顺时针旋转,也可逆时针旋转,需要对编码器的输出信号鉴相后才能计数。典型的编码器计数与鉴向电路如图4所示,鉴相电路用1个D触发器和2个与非门组成,计数电路用N片74LS193组成,N由所需的计数范围确定,本实验中,使用3片74LS193完成1024个脉冲的计数。将编码器输出A相接D触发器D端,B相接触发器CP端,Z相接计数器74LS193的复位端RD,计数器复位初值为0000,即ABCD接地处理。图4编码器典型的计数与鉴向电路当光电编码器顺时针旋转时,通道A输出波形超前通道B输出波形90,D触发器输出Q(波形W1)为高电平,Q(波形W2)为低电平,

6、上面与非门打开,计数脉冲(B相)送至双向计数器74LS193的减脉冲输入端CPD,进行减法计数;此时,下面与非门关闭,其输出为高电平给CPU。当光电编码器逆时针旋转时,通道A输出波形比通道B输出波形延迟90,D触发器输出Q为低电平,上面与非门关闭,下面与非门打开,计数脉冲通过B相脉冲送至双向计数器74LS193的加脉冲输入端CPU,进行加法计数。编码器每旋转一周,送出一个校准脉冲(高电平有效),计数器复位,所有计数器输出为0。考虑到编码器旋转一周输出1024个脉冲,因此我们实验中使用单片机接收13位电机的位移信息,其中前11位为三个74LS193计数器输出,高2位分别接Q和/Q用来鉴相,11位

7、数据与角位移的关系如表1所示。 表1 计数电路输出与电机角位移对照表11位二进制十进制角位移x/1024*3600 1 1 1 1 1 1 1 1 1 110231023/1024*3600 0 0 0 0 0 0 0 0 0 111/1024*3600 0 0 0 0 0 0 0 0 0 0001 1 1 1 1 1 1 1 1 1 12047-1/1024*3601 0 0 0 0 0 0 0 0 0 11025-1023/1024*360由表中可以看出,使用11位来描述电机的角位移信息,当接收到的数据在01023围之内时,对应01023 /1024*360,当接收到的数据在1025204

8、7范围之内时,对应角度范围是10252047-1024/1024*360。3. L298N电机驱动3.1 L298N工作原理从单片机的I/O口输出的一定脉宽的PWM波,经过L298n驱动电路对脉冲进行处理,输出直接控制电机的脉冲信号。图5 L298驱动L298N是ST公司生产的一种高电压、大电流电机驱动芯片,如图5,采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情

9、况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动两个二相电机,也可以驱动一个四相电机,可以直接通过电源来调节输出电压;并可以直接用单片机的I/O口提供信号;电路简单,使用比较方便。3.2 L298N结构及连接连接方法如图6所示。图6 L298N与减速电机连接图4. 单片机主要程序4.1 PWM波 图7 PWM波形PWM波如图7所示,其中PWM_T为PWM波周期,实验中PWM_T=50000;PWM_H为PWM波高电平持续时间,与速度控制量对应,实验中上位机发送0255的电机控制量,

10、PWM_H:050000。相应地,低电平持续时间PWM_L:500000,并利用单片机的定时器0完成电平持续时间,即高电平FlagHL = 1保持PWM_H时间,高电平FlagHL = 0保持PWM_L时间,。注:上位机每个采样周期发送两个字节的数据给单片机,其中第一个字节为0255范围的电机转速控制量,第二个字节为0xff或0x00的电机正、反转向控制量。减速电机A、B两相,当A相接PWM波,B相接GND时电机正转;当B相接PWM波,A相接GND时电机反转,实验中我们设置标志FlagDir = 1/0来标记单片机管脚输出PWM或GND:利用单片机接收到第二个字节正反向控制量设置,若0xff

11、= FlagDir =1;若0x00 = FlagDir = 0。生成PWM波的单片机程序流程图如图8所示,其中单片机P0.0接电机A相,P0.1接电机B相。图8 PWM波形生成4.2 单片机主要程序#include #define uint unsigned int#define uchar unsigned charsbit PWM_PIN=P00; /定义PWM引脚sbit _PWM_PINh=P01;unsigned int PWM_HIGH,PWM_LOW,PWM; uchar flagDir; /*H为正向,0为负向*/uchar flagHL;/*=H,加高电压;=L加0电压*/

12、uchar b_Recving,n_Recved,fst_ch;uchar DIPos2=0,0;/13位有效,11+2位鉴相uchar DAIn2=0,0;uchar DAInTemp3=0,0,0;void delay(uint z) uint t1,y; for(t1=z;t10;t1-) for(y=110;y0;y-);void PWM_Init(void) TMOD=0x21;/设置定时器1为工作方式2 TH1=0xfd;/定时器1装初值,波特率设置9600 TL1=0xfd; TH0=(65536-PWM_HIGH)/256; TL0=(65536-PWM_HIGH)%256;

13、PWM_PIN=1; /初始化先输出高电平 _PWM_PIN=0; EA=1;/开总中断 ES=1;/开串口中断 ET0=1;/设置定时器0中断标志位,响应定时器0中断 TR0=1;/启动定时器0 TR1=1; /启动定时器1 REN=1;/串口通讯设置 SM0=0; SM1=1;void main() PWM_HIGH=1; PWM_LOW=49999; flagDir=0;/H为正向,0为负向 flagHL=0; b_Recving=0; n_Recved=0; PWM_Init(); while(1) void time0() interrupt 1/定时器0,调整PWM波脉宽 if (

14、flagDir)/正转 if(flagHL=0) PWM_PIN=0; /初始化先输出高电平 _PWM_PIN=0;/正反向 TH0=(65536-PWM_LOW)/256;/50ms TL0=(65536-PWM_LOW)%256; flagHL=1; else PWM_PIN=1; /初始化先输出高电平 _PWM_PIN=0;/正反向 TH0=(65536-PWM_HIGH)/256;/50ms TL0=(65536-PWM_HIGH)%256; flagHL=0; else if(flagHL=0) PWM_PIN=0; /正反向 /初始化先输出高电平 _PWM_PIN=0;/PWM T

15、H0=(65536-PWM_LOW)/256;/50ms TL0=(65536-PWM_LOW)%256; flagHL=1; else PWM_PIN=0; /初始化先输出高电平 _PWM_PIN=1;/正反向 TH0=(65536-PWM_HIGH)/256;/50ms TL0=(65536-PWM_HIGH)%256; flagHL=0; void ReadSer() interrupt 4/接收上位机送出的两字节数据,低8位为0255控制量,高8为0x00或0xff分别为反转和正转标志 if(RI=1) RI=0; if (0=b_Recving) fst_ch=SBUF;/No.1控

16、制电机转速数据;No.2为控制电机转向数据 if (0x55=fst_ch) b_Recving=1; n_Recved=0; else /b_Recving=1; DAInTempn_Recved=SBUF; n_Recved=n_Recved+1; if(3=n_Recved) n_Recved=0; b_Recving=0; if( (DAInTemp0+DAInTemp1)%256 =DAInTemp2) DAIn0=DAInTemp0; DAIn1=DAInTemp1; PWM_HIGH=(0x00ff&DAIn0)*50000/256; PWM_LOW=50000-PWM_HIGH

17、; flagDir=DAIn1; /0xff-正转,0x00-反转 DIPos0=P1;/取角位移低8位; DIPos1=P2;/取角位移高8位 /向上位机发数据 ES=0;/关串口中断,收数据不响应串口中断 SBUF=0xff;/发数据给上位机,引导码0xff while(!TI); TI=0; SBUF=DIPos0;/发数据给上位机 while(!TI); TI=0; SBUF=DIPos1; /发数据给上位机 while(!TI); TI=0; SBUF=(DIPos1+ DIPos0)%256;/发数据给上位机,校验码 while(!TI); TI=0; ES=1; 5. PC机上位

18、机数据读取和显示VC+ 6.0下新建MFC AppWizard工程,命名为PWMotr,创建基于对话框的应用程序,Finish。为了解决串口控件在使用ColeSafeArray对象接受数据时引起的内存溢出的问题,需进行如下其一设置:1设置“Release”发布模式。菜单项-Build-Configurations-(Remove)Win32 Debug模式。 ProjectProject settingc/c+Program Database2. 程序运行于Debug模式,设置设置Project-setting -general 中Use MFC in a share dll 改为 static dll。推荐使用第二种方法。5.1 用户界面减速电机测控系统用户界面如图9所示。图9 减速电机测控系统用户界面电机测控系统用户界面如图9所示。系统用户界面主要由按钮(滑块)操作和显示两部分组成。其中按钮部分主要有系统的启动按钮、停止按钮、数据保存按钮、帮助按钮和退出按钮,以及电压调节滑块、电压编辑框(IDC_EditVolt)、采样频率设置(IDC_EditFreq)和串口选择组合框(IDC_CommList)。显示部分主要包括主显示面板(曲线显示当前的转速和电压),表盘显示电机当前角度位置。设计过程同霍尔直流电机上位机类似,详细过程不再赘述。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1