第三次实验课.ppt

上传人:b****2 文档编号:2648762 上传时间:2022-11-05 格式:PPT 页数:40 大小:1.94MB
下载 相关 举报
第三次实验课.ppt_第1页
第1页 / 共40页
第三次实验课.ppt_第2页
第2页 / 共40页
第三次实验课.ppt_第3页
第3页 / 共40页
第三次实验课.ppt_第4页
第4页 / 共40页
第三次实验课.ppt_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

第三次实验课.ppt

《第三次实验课.ppt》由会员分享,可在线阅读,更多相关《第三次实验课.ppt(40页珍藏版)》请在冰豆网上搜索。

第三次实验课.ppt

20122012年年年年0505月月月月1144日日日日机电控制工程机电控制工程机电控制工程机电控制工程11步进电机基础步进电机基础22步进电机控制步进电机控制步进电机基础步进电机步进电机将将电脉冲信号电脉冲信号变换成相应的变换成相应的角位移或者直线位移角位移或者直线位移的机电执行元件。

的机电执行元件。

步进电机的位移量与输入脉冲严格成比例,不会引起误差积累。

步进电机的位移量与输入脉冲严格成比例,不会引起误差积累。

转速转速取决于脉冲信号的频率,取决于脉冲信号的频率,总位移量总位移量取决于总的脉冲信号数,取决于总的脉冲信号数,转向转向取决于绕组通电顺序。

取决于绕组通电顺序。

应用应用优点:

简化系统,工作可靠,不需要位移传感器就可以达到较精确的优点:

简化系统,工作可靠,不需要位移传感器就可以达到较精确的定位,获得较高的控制精度。

定位,获得较高的控制精度。

缺点:

功率小,输出力矩小。

缺点:

功率小,输出力矩小。

步进电机基础1.SB接通,接通,SA、SC、SD断开,磁极断开,磁极B和和转子子0、3对齐,其他,其他产生生错齿;2.SC接通,接通,SB、SA、SD断开,磁极断开,磁极C和和转子子1、4对齐,其他,其他产生生错齿。

3.依次依次类推,推,A、B、C、D四相四相轮流供流供电,转子子就会沿着就会沿着A、B、C、D转动。

步进电机基础基本概念基本概念步距步距输入一个电脉冲时,转子转过的角度。

齿距齿距各相绕组轮流通电一次,转子就转过一个齿距。

“单单”每次切换前后只有一相绕组通电。

“双双”每次切换前后有两相绕组通电。

“拍拍”从一种通电状态换到另一种通电状态叫做一“拍”。

举例说明(三相步进电机)举例说明(三相步进电机)单相相轮流(三相流(三相单三拍三拍)ABCA双相双相轮流(三相双三拍)流(三相双三拍)ABBCCAAB单双相双相轮流(三相流(三相单双六拍)双六拍)AABBBCCCAA单相相轮流方式下,每次只有一相控制流方式下,每次只有一相控制绕组通通电吸引吸引转子,容易使子,容易使转子在平衡子在平衡位置附近位置附近产生振生振荡,运行,运行稳定性定性较差。

另外,在切差。

另外,在切换时一相一相绕组断断电而另一而另一相控制相控制绕组开始通开始通电,容易造成失步。

,容易造成失步。

步进电机基础基本运算基本运算相数:

相数:

m状状态系数:

系数:

K(单三拍、双三拍时,K=1;单双六拍时,K=2)电脉冲脉冲频率:

率:

f(Hz)转子子齿数:

数:

Z增大增大转子子齿数数Z、定子相数、定子相数m或者运行拍数或者运行拍数K,可以减小步距角,提高,可以减小步距角,提高控制精度。

控制精度。

a.四相四拍四相四拍b.四相双四拍四相双四拍c.四相八拍四相八拍a.四相四拍四相四拍A-B-C-Db.四相双四拍四相双四拍AB-BC-CD-DAc.四相八拍四相八拍A-AB-B-BC-C-CD-D-DA步进电机基础实验中用到的步进电机:

四相实验中用到的步进电机:

四相24BYJ48A电机旋转一周需要多少个脉冲?

电机旋转一周需要多少个脉冲?

360/5.62564=6464=4096步进电机基础11步进电机基础步进电机基础22步进电机控制步进电机控制采用采用AVR单片机作为主控单元,单片机作为主控单元,L298作为驱动芯片。

作为驱动芯片。

控制框图如下:

控制框图如下:

转过的角度:

转过的角度:

脉冲个数脉冲个数转速:

转速:

频率频率转向:

转向:

绕组通电顺序绕组通电顺序步进电机控制步进电机控制环形分配器的实现环形分配器的实现采用软件方式:

采用软件方式:

四相八拍四相八拍环形分配器数值表如下,在单片机程序中延时环形分配器数值表如下,在单片机程序中延时一段时间后按顺序轮转输出以下值以使其正转或反转。

一段时间后按顺序轮转输出以下值以使其正转或反转。

引脚引脚PB1、PB3、PB2、PB4分别控制步进电机的分别控制步进电机的A、B、C、D四相。

四相。

步进电机驱动电路定义定义8个宏个宏#defineA()(PORTB=0B00000010)#defineB()(PORTB=0B00001000)#defineC()(PORTB=0B00000100)#defineD()(PORTB=0B00010000)#defineAB()(PORTB=0B00001010)#defineBC()(PORTB=0B00001100)#defineCD()(PORTB=0B00010100)#defineDA()(PORTB=0B00010010)引脚引脚PB1:

A相相PB3:

B相相PB2:

C相相PB4:

D相相脉冲的产生1、四相四拍:

、四相四拍:

A-B-C-D-A2、四相双四拍:

、四相双四拍:

AB-BC-CD-DA-AB3、四相八拍:

、四相八拍:

A-AB-B-BC-C-CD-D-DA-A控制拍子顺序倒置即让电机反转!

控制拍子顺序倒置即让电机反转!

根据控制算法产生时序脉冲if(step_choice=EIGHTBEATS)/四相八拍四相八拍if(dir_flag=FORWARD)/正正转if(step=0)A();elseif(step=1)AB();elseif(step=2)B();elseif(step=3)BC();elseif(step=4)C();elseif(step=5)CD();elseif(step=6)D();elseif(step=7)DA();elseif(dir_flag=BACKWARD)/反反转step+;if(step=8)step=0;四相八拍环形分配器程序速度控制速度控制实际上就是控制系统发出实际上就是控制系统发出脉冲的频率。

脉冲的频率。

系统可以用两种方法确定系统可以用两种方法确定脉冲的频率:

脉冲的频率:

v软件延时:

通过调用延时子程序的方法实现的,它占用软件延时:

通过调用延时子程序的方法实现的,它占用CPU时间。

时间。

#include“delay.h”v定时器:

通过设置定时时间常数的方法来实现。

定时器:

通过设置定时时间常数的方法来实现。

步进电机速度控制8MHz4MHz从从8MHz到到50Hz需要多少分频?

需要多少分频?

8000,000/50=160000定时器最多到定时器最多到1024分频,因此到最多的分频也不能达到分频,因此到最多的分频也不能达到50Hz的启动频率的启动频率的目的。

的目的。

定时器定时器分频原理以定时器以定时器0为例为例TCCR0:

定时器控制寄存器:

定时器控制寄存器定时器原理以定时器以定时器0为例为例TCNT0:

定时器寄存器(计数):

定时器寄存器(计数)定时器定时器0溢出中断:

溢出中断:

/interruptTIM0_OVFvoidtimer0_ovf_isr(void)目的:

定时器计满后再改变脉冲状态,就达到了分频的目的目的:

定时器计满后再改变脉冲状态,就达到了分频的目的定时器原理/TIMER0initialize-prescale:

1024/desiredvalue:

50Hz/actualvalue:

50.232Hz(0.5%)voidtimer0_init(void)TCCR0=0x00;/stopTCNT0=0x29;/setcountTCCR0=0x05;/starttimer#pragmainterrupt_handlertimer0_ovf_isr:

iv_TIM0_OVFvoidtimer0_ovf_isr(void)TCNT0=0x29;/reloadcountervalue/添加步进电机核心代码添加步进电机核心代码1)11.059M/1024=10799.82)10799.8/50=215.996=0xD73)0xFF+10xD7=0x294)TCNT0=0x29定时器实现定时器实现宏定义宏定义通电方式通电方式正反转正反转脉冲个数脉冲个数每拍状态每拍状态全局变量全局变量转向转向通电方式通电方式当前拍状态当前拍状态当前脉冲个数当前脉冲个数Timer0溢出中断服务程序溢出中断服务程序按键(外部中断)改变电机转向按键(外部中断)改变电机转向定时器实现T0溢出中断溢出中断T0重装载初值重装载初值没有达到没有达到总脉冲数总脉冲数?

是四相八是四相八拍?

拍?

是否正转是否正转?

拍数拍数+1,到,到8清零清零脉冲数脉冲数+1,到,到4096清零清零环形分配器分配环形分配器分配正转脉冲正转脉冲环形分配器分配环形分配器分配反转脉冲反转脉冲结束结束T0关关YNYYNif(current_stepTOTALSTEP)/四相八拍四相八拍if(step_choice=EIGHTBEATS)if(dir_flag=FORWARD)if(step=0)A();elseif(step=1)AB();elseif(step=2)B();elseif(step=3)BC();elseif(step=4)C();elseif(step=5)CD();elseif(step=6)D();elseif(step=7)DA();elseif(dir_flag=BACKWARD)if(step=0)DA();elseif(step=1)D();elseif(step=2)CD();elseif(step=3)C();elseif(step=4)BC();elseif(step=5)B();elseif(step=6)AB();elseif(step=7)A();step+;if(step=8)step=0;current_step+;if(current_step=TOTALSTEP)TCCR0=0x00;/stopTimer定时器实现#defineFOURBEATS0/四相四拍四相四拍#defineDOUBLEFOURBEATS1/四相双四拍四相双四拍#defineEIGHTBEATS2/四相八拍四相八拍#defineA()(PORTB=0B00000010)#defineB()(PORTB=0B00001000)#defineC()(PORTB=0B00000100)#defineD()(PORTB=0B00010000)#defineAB()(PORTB=0B00001010)#defineBC()(PORTB=0B00001100)#defineCD()(PORTB=0B00010100)#defineDA()(PORTB=0B00010010)#defineFORWARD0#defineBACKWARD1#defineTOTALSTEP4096/*GlobalValues*/chardir_flag=BACKWARD;charstep_choice=EIGHTBEATS;charstep=0;intcurrent_step=0;/*/#pragmainterrupt_handlerint0_isr:

iv_INT0voidint0_isr(void)/externalinteruptonINT0dir_flag=FORWARD;#pragmainterrupt_handlerint1_isr:

iv_INT1voidint1_isr(void)/externalinteruptonINT1dir_flag=FORWARD;定时器实现定时中断输出时间序列重载定时寄存器步数+1停止计数器设定步数到YN初始化IO开始初始化定时器初始化AD采集AD开中断显示AD计算定时器初值外部中断1显示数据5678改变方向标志外部中断0显示数据1234改变方向标志作业程序流程图中断触发中断触发+数码管显示数码管显示AD采集采集+LED显示显示融合中断融合中断+AD采集采集+数码管显示数码管显示+电机运动电机运动作业任务分解向导生成初始化程序向导生成初始化程序中断触发+数码管显示AD采集流程采集流程选择参考电压设置分频方式并启动ADC初始化初始化AD开始AD转换选择通道计算AD值输出AD

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

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

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