基于单片机原理的步进电机的正反转程设计报告书(编辑修改稿)内容摘要:

电平变低。 在单片机复位期间, AlE和 信号都不产生。 复位操作将对部分专用寄存器产生影响。 9 上电瞬间由于电容 C上无储能,其端电压近似为零, RST 获得高电平,随着电容器 C 的充电, RST 引脚上的高电平将逐渐下降,当 RST 引脚上的电压小于某一数值后,单片机就脱离复位状态,进入正常工作模式。 只要高电平能保持复位所需要的时间(约两个机器周期),单片机就能实现复位。 图 23复位电路 晶振电路的工作原理 晶振分为有源晶振和无源晶振两种,其作用是在电路产生震荡电流 ,发出时钟信号。 它是时钟电路中最重要的部件,它的作用是向 IC 等部件提供基准频率,它就像个标尺,工作频率不稳定会造成相关设备工作频率不稳定,自然容易出现问题。 一般的晶振振荡电路都是在一个反相放大器 , 两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地, 这两个电容串 联 的容量值就应该等于负载电容,一般 IC 的引脚都有等效输入电容。 图 24 晶振电路 电机驱动电路原理介绍 该电路工作原理:步进电机是一种将电脉冲转化为角位移的执行机构。 解释说明:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动 10 一个固定的角度(及步进脚)。 可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 本次系统采用的是四相八拍电机,电压为 DC5VDC12V。 当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。 每一个脉冲信号对应步进电机的某一相或者两相绕组的通电状态转变一次,也就对应转子转过一定的角度(一个步距角)。 当通电状态的改变完成一个循环时,转子转过一个齿距。 四相步进电机可以在不同的通电方式下运行,通常的通电方式有单(单相绕组 通电)四拍( ABCDA„) 双(双相绕组通电)四拍( ABBCCDDAAB..)八拍( AABBBCCCDDDAA..)。 步进电机必须加驱动 才可以运转,驱动信号必须为脉冲信号,没有脉冲的时候,步进电机静止,如果加入适当的脉冲信号,就会以一定的角(称为步角)转动。 转动的速度和脉冲的频率成正比。 本系统的 28BYJ48 5V 驱动的 4相 5线的步进电机,而且是减速步进电机,减速比为 1:64,步进角为。 如果需要转动 1圈,那么需要 360/*64=4096 个脉冲信号。 图 25 驱动电路 11 系统流程图 图 31系统流程图 系统程序分析 如流程图所示,系统主要是电机控制部分,以及两个外部 中断,下面将一一阐述。 1. 电机控制部分 电机控制主要是靠的 ULN2020 驱动电路。 本次系统采用的是四相八拍电机,电压为 DC5VDC12V。 当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地运转。 每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。 当通电状态改变完成一个循环时,转子转过一个齿距,而八拍( AABBBCCCDDDAA..)。 Uchar F_Rotation[8]={0xE2, 0xE6,0Xe4,0Xec,0Xe8,0Xf8,}。 //正转表格, 0111,0011,1011,1001,1101,1100,1110,0110 //aabbbcccddda 四相八拍方式 void zheng() { uint i,j。 for(j=0。 j64*8。 j++) //步距角 , 8拍,这个循环为一圈。 12 { for(i=0。 i8。 i++) { dianji=B_Rotation[i]。 delay_50us(speed)。 } } } 本文中断只要使用的两个外部中断( int0,int1) ,使用的是下降沿出发方式,所以,让其中的引脚接地,即可得到一个下降沿,系统就会执行中断程序,由于两个中断是独立的,所以不需要考虑优先级问题。 //主程序打开中断 void main() { EA=1。 //全局中断开 EX0=1。 //外部中断 0开 EX1=1。 IT0=1。 // 中断程序 void int0() interrupt 0 { delay(500)。 zdup()。 speed=5。 } include define uchar unsigned char define uint unsigned int define dianji P2 uchar liushui[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff}。 13 uchar F_Rotation[8]={0xE2,0xE6,0xE4,0xEC,0xE8,0xF8,0xF0,0xF2}。 //正转表格, 0111, 0011 1011, 1001 1101, 1100 , 1110, 0110 //aabbbcccddda 四相八拍方式 uchar B_Rotation[8]={0xF2,0xF0,0xF8,0xE8,0xEC,0xE4,0xE6,0xE2}。 //反转表格 void delay_50us(uint t) { uchar j。 for(。 t0。 t) { for(j=19。 j0。 j)。 } } void delay(uint z) { uint x,y。 for(x=z。 x0。 x) for(y=110。 y0。 y)。 } void write_(uchar ) { lcdrs=0。 P0=。 delay(60)。 //stc12 型 MCU,延时乘以 12 倍 lcden=1。 delay(60)。 lcden=0。 } void write_data(uchar date) { lcdrs=1。 P0=date。 delay(60)。 14 lcden=1。 delay(60)。 lcden=0。 } void init() { lcden=0。 write_(0x38)。 write_(0x0e)。 write_(0x06)。 write_(0x01)。 } void xianshi1() { uint i。 //for(i=0。 i2。 i++) { init()。 write_(0x82+0x10)。 for(num=0。 num13。 num++) { write_data(xs11[num])。 delay(300)。 } for(num=0。 num16。 num++) { write_(0x18)。 delay(2020)。 } delay(5000)。 write_(1)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。