机电小组论文-基于步进电机dm5654c的单轴运动实现加减速设计

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

机电小组论文-基于步进电机dm5654c的单轴运动实现加减速设计

前言电机及其控制在随着现代科学技术的进步,特别是电力电子技术、微机应用和自动控制理论的进展,显得越来越重要,电机不在只是要求其起停,还要求对速度、位移和转矩的控制,使被驱动的机械运动符合预想的要求。本次机电系统的设计根据设计的要求,完成了对步进电机的控制,实现了单轴的正转和反转,用单片机最小系统通过按键实现对单轴的加速和减速控制,着重分析了步进电机单片机控制系统的软硬件设计理论和方法,在本次硬件设计中采用了STM32f103的单片机开发板、电机驱动模块的核心芯片L298N以及电平转换电路,对步进电机、驱动模块L298N的结构和工作原理加深了理解,软件设计使用的是编程软件Keil5,实现对单轴的控制,最后,进行测试,用示波器测试脉冲的波形和幅值,测试结果可以带动电机,并使轴转动起来。\n1设计的目的和要求1.1设计目的1)根据设计要求,完成对步进电机的控制,并实现单轴的加减速。2)了解步进电机DM5654C的参数。3)加深对STM32f103的单片机开发板和电机驱动模块的核心芯片L298N的结构和工作原理的理解。4)理解PWM脉冲波的原理,并用示波器测试。1.2设计要求内容:设计基于步进电机DM5654C的单轴运动,实现加减速。指标:开关电源的输出12V-24V脉冲波的频率范围10Hz<=f<=1000Hz2系统的总体方案2.1总体方案的设计测量元件PC机单片机驱动电路步进电机工作台本方案硬件采用STM32f103的单片机开发板、电机驱动模块的核心芯片L298N和电压拉升电路,软件用编程软件Keil5。系统的方案整体框图如图2.1图2.1系统整体方案图上位机与单片机进行通信,单片机最小系统产生PWM脉冲信号,通过驱动芯片L298N驱动步进电机运转,同时相应的测量元件(光电编码器)测量电机转速反馈给上位机,实现闭环控制。下图2.2是系统模块搭建图:\n图2.2系统模块搭建图3硬件的具体设计3.1步进电机DM5654C本文采用的步进电机为DM5654C,是两相4线的混合式步进电机.根据步进电机的工作原理可以看出,步进电机是依靠驱动电路给其提供脉冲来实现步进电机的转动,理论上是步进电机每得到一个脉冲信号就应该转动一个步距角,但是实际应用中,如果脉冲信号变化太快,由于惯性步进电机将跟随不上电信号的变化,产生堵转和失步现象,所以步进电机在启动时,必须有升速过程,在停止时必须有降速过程.本文所使用的步进电机带有减速比为100:1的减速器。3.2光电编码器光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器,是目前应用最多的传感器。一般的光电编码器主要由光栅盘和光电探测装置组成。在伺服系统中,由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转.经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号。通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。本次设计采用的编码器为157线。齿轮传动比1:4,电机转4圈,编码器4圈,编码器输出157个脉冲。3.3微控制器STM32f103\nSTM32f103是中等容量增强型,32位ARM核心的带有64或128K字节闪存的微控制器,含有USB、CAN、7个定时器、2个ADC和9个通信接口。其实物图如图3.1:图3.1开发板STM32f103RC的实物图STM32f103RC的引脚图如下图:图3.2STM32f103RC的引脚图功能:1)内核:ARM32位的CortexTM-M3CPU,最高72MHz工作频率,在存储器的0等待周期访问时可达1.25Mips/MHz,单周期乘法和硬件除法。2)存储器:从64K或128K字节的闪存程序存储器;高达20K字节的SRAM。\n1)时钟、复位和电源管理:2.0~3.6V供电和I/O引脚;上电/断电复位;产生CPU时钟的PLL;带有校准功能的32KHzRTC振荡器。2)快速的I/O端口:所有的I/O可以映像到16个外部中断,几乎所有端口均可容忍5V信号。3)多达7个定时器:3个16位的定时器,每个定时器有多达4个用输入捕获/输出比较/PWM或脉冲波计数,2个看门狗定时器。4)低功耗:睡眠、停机和待机模式的功耗低,VBAT为RTC和后备寄存器供电等。3.4驱动模块L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。驱动模块的实物图如图3.3:图3.3L298N实物图特点:1、具有信号指示;2、转速可调;3、抗干扰能力强4、具有过电压和过电流保护;5、可单独控制两台直流电机;6、可单独控制一台步进电机;7、PWM脉宽平滑调速;8、可实现正反转。\n3.5电平转换电路电平转换模块比较简单,其功能是将控制模块输出的3.3v高电平转换成驱动模块能够识别的5V高电平。其实物图如图3.3:图3.3电平转换实物图电平转换的电路图如下:图3.4电平转换电路图工作原理:如上图,电路接好之后,在输入端口输入3.3V的高电平,三极管导通,输出口输出低电平,当输入端口输入低电平时,三极管截止,脉冲输出口输出高电平,即5V高电平。这样就完成了电平上拉的作用。3.6开关电源模块本文我们采用的是型号为HX-60-12的开关电源,输出为12V的电压,给驱动板供电。3.6通信模块目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通信中增加通信距离的单端标准。RS-232采用不平衡传输方式,收发端的数据信号,是相对信号地。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在5V~15V,负电平在-5V~-15V;在接收数据时,接收器的典型工作电平是3V~12V和-3V~-12V。9针串口引脚和25针串口引脚定义如表3-1所示。表3-19针串口引脚和25针串口引脚定义\n4软件的具体设计通过编程软件Keil5,实现对单轴的控制,程序流程图如图4.1YYY开始各模块初始化输出端口初始化增加定时时间减小频率,减速KEY0KEY1KEY2减小定时时间增大频率,加速关定时器,停电机NNN图4.1程序流程图4.1主程序intmain(void){\nu8t;u32v=100;Stm32_Clock_Init(9);//系统时钟设置delay_init(72);//延时初始化uart_init(72,9600);//串口初始化LED_Init();//初始化与LED连接的硬件接口KEY_Init();//初始化与按键连接的硬件接口RCC->APB2ENR|=1<<2;//使能PORTA时钟GPIOA->CRL&=0X0FFFFFFF;GPIOA->CRL|=0X;//PA7推挽输出GPIOA->ODR|=1<<7;//PA7输出高LED0=1;while(1){t=KEY_Scan(0);//得到键值switch(t){caseKEY0_PRES:v=v+10;TIM3_Int_Init(v,7199);//10Khz的计数频率TIM3->CR1|=0x01;break;caseKEY1_PRES:v=v-10;TIM3_Int_Init(v,7199);//10Khz的计数频率TIM3->CR1|=0x01;//使能定时器3break;\ncaseWKUP_PRES:TIM3->CR1&=0xFE;//关定时器3;break;}}}在定时器3(timer3)初始化时,没有对其进行使能,故定时器不工作。先点亮LED0,红灯亮;下面看看while()函数内容。首先开始按键扫描。如果KEY0按下,延时时间加10ms,使能定时器,输出脉冲频率变小,同理,KEY1按下,频率变大;WKUP按下,关闭定时器,脉冲输出停止。注意,脉冲的输出口是PA7。延时时间的改变是通过改变定时器初始化函数中的值做到的,缺点是频率减少和增加的数值不一定,因此调速功能不完善。4.2中断程序voidTIM3_IRQHandler(void){if(TIM3->SR&0X0001)//溢出中断{//GPIOA->ODR^=0x0100;GPIOA->ODR^=0x0080;LED0=!LED0;}TIM3->SR&=~(1<<0);//清除中断标志位}主要功能是:当定时时间到,进入定时器中断服务程序,输出口电平状态改变(低变高或者高变低),指示灯(红灯)状态反转。5调试调试过程中所遇困难及现存问题包括以下几个部分:1).电平转换问题因为开发板发出的脉冲波其高电平为3.3v,低电平为0v,而驱动模块需要的脉冲式高电平为5v低电平为0v的脉冲,所以需要加一个电平转换电路就3.3v高电平上拉成5v高电平。2).驱动电路存在的问题\n所使用的LN298驱动模块,在使用过程中芯片发热很厉害,应该是功率过高所致,需要解决。3).按键问题可能是程序逻辑方面考虑的不够周全,当按键频率过快的话,会出现短暂死机的情况。
查看更多

相关文章

您可能关注的文档