【某激光切割机运动控制器系统程序与软件实现分析案例4500字】_第1页
【某激光切割机运动控制器系统程序与软件实现分析案例4500字】_第2页
【某激光切割机运动控制器系统程序与软件实现分析案例4500字】_第3页
【某激光切割机运动控制器系统程序与软件实现分析案例4500字】_第4页
【某激光切割机运动控制器系统程序与软件实现分析案例4500字】_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

某激光切割机运动控制器系统程序与软件实现分析案例目录TOC\o"1-3"\h\u3985某激光切割机运动控制器系统程序与软件实现分析案例 190061.1激光切割机运动控制器程序设计 1122501.1.1ARM与MCX314AL并行总线软件设计 1239281.1.2ADC转换完成中断 369541.1.3激光器控制 425961.2对称S型加减算法程序设计 646011.3激光切割机运动控制上位机界面设计 111.1激光切割机运动控制器程序设计底层驱动程序主要包括系统定时器、控制中断的定时器2和3、用于产生控制激光功率的PWM波定时器10、STM32和MCX314之间通信的并行总线FSMC、I/O配置、AD7606模数转换模块与STM32的SPI2通信程序、控制器与激光发生器的RS232串口Uart6通信程序、控制器与上位机通信的SPI3通信程序。上层应用程序主要包括MCX314中断服务程序(EXTI4_IRQHandler)、实时运动程序(Task_MotionProcess)、路径规划程序(Task_PathPlanning)、轨迹规划程序〈Task_TrajectoryPlanning)、插补程序(Intcrpolation)、AD7606中断服务程序(EXTI15_1o_IRQHandlcr)、参数设置程序(Task_ReadSystemData)、指令读取程序(Task_ReadMotionData)、以太网中断服务程序(EXT12_lRQHandlcr)、以太网通讯程序(Communicate_Task)、状态反馈程序(Task_Updatcstatus)等。1.1.1ARM与MCX314AL并行总线软件设计灵活的静态存储控制器(FSMC)能够连接同步、异步存储器和l6位PC存储卡。连接的其它存储器使用同一个地址、数据存储空间和控制信号。但它们也有不同的地方,就是每一个外部存储器都有自己的片选信号。灵活的静态存储控制器同一时间智能连接一个外部存储器进行数据通信。FSMC框图如图1.1所示。图1.1FNCS框图如图1.2所示,bankl-bank4这4个256MB大小相同的存储区域是FSMC的储存区域,灵活的静态存储控制器的内存区域分区如图4-7所示。第一个区域地址从Ox60000000开始到Ox6FFFFFFF结束,总共是256MB的内存区域。此区域含有四个专用的片选信号,可以对四个外部存储器器件。Bank1的地址区间为Ox60000000~Ox6FFFFFFF,那么Bankl划分为四个区域的地址区间分别为Ox60000000~ox63FFFFFF,Ox64000000~Ox67FFFFFF,Ox68000000~Ox6BFFFFFF,Ox6Co0o000~Ox6FFFFFFF。那么就可以将Bankl区域中再分的第一个区域分配给MCX314AL,其基地址为Ox60000000。这样STM32就可以利用基地址和偏移地址对MCX314AL的寄存器进行读写操作了,从而实现STM32和MCX314AL之间的通讯了。图1.2FNCS储存区1.1.2ADC转换完成中断AD7606内部集成了用在转换上的振荡模块,所有通道的ADC转换时间为时序图(1.3)中的tCONY。BUSY信号提示程序设计者,此时数据正在进行转换中。由时序图可知,当把CONVST低电平变为高电平信号时,触发BUSY改变状态--低电平状态改为高电平状态,当数据完成转换之后,状态为“BUSY”的信号状态又将变为低电平模式,当该信号从高电平向低电平状态改变的时候,就会触发跟踪模式,这个时候8个采样放大器中的数据会一起返回。另外在BUSY信号由高电平变为低电平时,此时可以通过DB[15:0]这l6位并行总线读取数据。也可以通过8位并行总线读取数据。图1.3AD7606同步采样时序图1.1.3激光器控制本课题采用的是RFL-C1000锐科多模连续光纤激光器,激光器有两种工作模式:连续和调制。在连续模式中,激光器是连续出光的,用户可以通过设置功率百分比来控制激光器的出光功率大小。在调制模式中,激光器输出的是光脉冲,通过设置频率、占空比和功率百分比来控制出光功率。本课题采用的是RS232外控调制模式,在该模式下,激光器设置方式与内部调制模式相同,只是增加了一个出光条件,即外部24V调制信号,该信号由“MODULATION”电缆输入。当设置了运行参数,出光使能打开,调制信号为高时,激光器输出调制状态的激光。协议代码为lB46XXXX44##50&&0D,XXXX代表频率(50~50000),##-代表占空比(0~100),&&代表功率百分比(0~100),各参数均为l6进制数。图1.4图1.4由于RS232通信是异步的,程序员在编写程序时,必须自己编写一个协议。A和B通信的双方没有时钟同步信号,程序员就不知道什么时候开始发送数据,一般情况下,对于异步的串行通信,AB传输的双方一定有一个规律。包括波特率的约定、起始位、停止位等。因为没有时钟信号,它们之间如果没有约定好,就会无法确定接收到的这个比特数据的时限。串口通信实现过程:我们把接收到的数据个数保存在定义的变量中与此同时把每个接收到的数据保存在一个程序定义的Buffer数组中。程序通过对接收到的每个数据进行结束判断,程序接收结束之后,设置相应的标记,标记结束。外部循环通过判断标记来判断程序结束,然后一次性通过串口6发送出来。发送完成之后,所有标志位和数据量都清零。USART_RX_STABit15Bit14Bit13~0接收完成标志接收到0X0D标志接收到的有效数据个数表1.1串口协议位描述我们的程序要求,发送的字符必须以回车换行结束(0x0D,0x0A)。这样我们每接收到一个数据,第一件事是先判断是否是以0x0D,判断出来后如果是就将bitl4位置l。如果不是0x0D这就说明这个数据对我们来说是有效的,我们就可以将这个数据放在USART_RX_BUF[USART_REC_LEN]数组中,如果上一次接收到的是0x0D,而这一次收到的是0x0A,就将最高位置1。如果上一次接收到的是0x0D,而这一次收到的不是0x0A,将USART_RX_STA清0。循环外面会判断最高位是否为l。我们设计通过调节PWM波的占空比来调节激光切割机的功率。简单一点,就是对脉冲宽度的控制,PWM原理如下图所示:图1.5PWM原理图图1.5PWM原理图上图中第二个波形就是根据第一个波形设置的计数器的参数值输出的波形。ARR为最大溢出值,当计数达到ARR值时,计数会从零开始计数。改变此值会改变输出波形的周期。我们把计数器的值CNT于设定的比较值CCRX进行比较,当CNT大于CCRX时,表现为高电平;当CNT小于CCRX时,表现为低电平。在输出波形周期不变的条件下,如果想改变输出波形的占空比,只需改变比较值CCRx。减小CCRx值的,输出低电平时间缩短,从而达到增大输出的PWM波形的占空比。增大ARR值,提高计数器溢出值ARR,增大PWM的周期,就可以改变PWM输出的脉冲。STM32F103C8T6的定时器Ⅰ和定时器8可以输出7路的PWM波,定时器6和定时器7是不能产生PWM波的,其它定时器都是可以输出PWM波形。有几个特殊的定时器可以产生多路PWM波形,通用定时器可以同步输出高达4路的PWM波,我们仅使用TIM10的CH4产生一路PWM输出。1.2对称S型加减算法程序设计应用比较广泛的加减速算法比较多我这里只提三种来比较,第一种是多应用在柔性加工场所的多项式加减速度曲线;第二种是注重速度响应曲线的梯形加减速度曲线。第三种也是我们设计需要用到的S曲线加减速算法,这种算法在速度响应中反应迅速,工作效率高、运动时产生的振动很小。基于这些特点,让S型曲线成为以上三种曲线中趋于完美的速度曲线。在S曲线加减速在整个加减速过程中,可以得到平滑的S型速度曲线,整个过程可以分为5段,在加速过程曲线参数图像如下图所示τi表示为ki−1段的结束点来作为ki段的时间零点tfi(i=1、2……5)、1i(i=1、2……5)、ai(i=1、2……5)分别为5段(k1、对应每段结束时瞬时的加速度值、速度值、位移值。at=at由s曲线加减速图像可以写出加加速度j(τ)的函数表达式,τij(τ)=j1−j20对式(1.2)的加加速度函数进行积分得到加速度关于时间的表达式,(1.3)式中的jia(τ)=j1τ1A−j对于式(1.3)的加速度函数进行积分得到速度关于时间的表达式,式(1.4)中的fif(τ)=f0+对式(1.4)的速度函数进行积分得到位移关于时间的表达式,(1.5)式中的l;表示第i段结束时的位移值。f。为执行S加减速的一个初始速度值。L(τ)f(1.5)根据式(1.5)中算出的每段结束时的总位移值可以算出每段加减速过程的每段位移S,如式(1.6)所示。sI=s在我们实际应用中,我们需要对k1、k2、k3、k4每个阶段的分界点进行计算。速度从零加速到最大速度和从最大速度减速到零的时间相等,这是对称的S曲线加减速的特点。如果我们给定的位移量很小很小,小到可能不存在匀速过程,这样我们的曲线就成为了4段加减速过程。我们设定新的目标速度对应的加加速度的值必须改变。图1.4对称S图1.4对称S型加减速参数计算如图所示设置完全S曲线加速度来使驱动速度在0.4s内从0增至40kPPS。如果完全要以S曲线进行加/减速,那么驱动速度必须在0.2s时为20kPPS;而后在0.4s时加速至40kPPS。在0.2s时计算最大加速度值Am20000PPS=0.2s×Am/2最大加速度值AmAm=200kPPS/s(计算实际加速度K12×0.2×0.2×K=20000PPS(实际加速度K:K=1000KPPS/S2(1.在完整的S曲线加减速过程中,速度曲线依赖于加速度率。由于加减速并不离开部分S曲线,这样,预设的值就应该超过200kPPS/s。若范围R=800000,M(倍数)=10,则加速度率:1K=10加速度:A=200000/125PPS∙S−1初始速度:SV=1000PPS/M=100PPS(1.13)驱动速度:V=40000PPS/M=4000PPS(1.14)下面是运动控制专用芯片MCX314的实现S型曲线加减速的部分代码:voidInitMCX314Dev(void){intcount=0;Write_MCX(adr+wr0,0x8000);//MCX_RR0=0x8000;//所有命令编码的命令处理时间需要最大250nSECCLK=16MHz时在这期间请不要写入下一个命//令输出信号BUSYN在这个命令处理期间保持低电平for(count=0;count<100;count++);command(0xf,0xf);Write_MCX(adr+wr1,0x0000);//MCX_RR1=0x0000;Write_MCX(adr+wr2,0x0040);//MCX_RR2=0x0040;Writ_MCX(adr+wr3,0x0004);//MCX_RR3=0x0004Write_MCX(adr+wr4,0x0000);//MCX_RR4=0x0000accofst(0xf,0);//A0=0range(0xf,40000);//R=800000M=10acac(0xf,30);//设置加速度率K=1010(619KPPS/S2)acc(0xf,160);//设置加速度A=160PPS/sdec(0xf,800);startv(0xf,100);//设置初始速度SV=100PPSspeed(0xf,4000);//设置驱动速度V=4000PPS}1.3激光切割机运动控制上位机界面设计对于上位机界面的设计我从MCF界面和Qt界面开发软件两者之中相比较对比两者的优缺点,最终基于Qt的优势选择了Qt来开发系统的上位机界面,是在开源绘图软件LibreCAD的基础上进行二次再开发设计的。图1.5控制系统界面结构图控制系统界面的结构图如图1.5所示,主要的模块有菜单栏、绘图工具栏、加工控制栏系统配置等模块组成。打开各个窗口都会有对应的功能,比如打开绘图工具栏里面都是一些常用的绘图指令;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论