当前位置: 首页> 交通专利数据库 >详情
原文传递 一种步进电机控制移动扫描的磁记忆声光报警方法
专利名称: 一种步进电机控制移动扫描的磁记忆声光报警方法
摘要: 一种步进电机控制移动扫描的磁记忆声光报警方法属于金属材料的移动扫描探伤监控检测技术领域,尤其涉及一种步进电机控制移动扫描的磁记忆声光报警方法。本发明包括系统调用及数据处理主程序、步进电机双通道数据采集子程序、水平分量H p(x)判断子程序,法向分量H p(y)判子程序和作为中断服务程序的临界值采集子程序;系统调用及数据处理主程序利用汇编伪指令设置ADTURN1作为水平分量H p(x)数据存放地址。
专利类型: 发明专利
国家地区组织代码: 辽宁;21
申请人: 沈阳工业大学
发明人: 刘斌;张贺;何璐瑶;于小芮;刘子淇;任建
专利状态: 有效
发布日期: 2019-01-01T00:00:00+0800
申请号: CN201810543232.X
公开号: CN108776172A
分类号: G01N27/85(2006.01)I;G;G01;G01N;G01N27;G01N27/85
申请人地址: 110870 辽宁省沈阳市沈阳经济技术开发区沈辽西路111号
主权项: 1.一种步进电机控制移动扫描的磁记忆声光报警方法,程序包括系统调用及数据处理主程序、步进电机双通道数据采集子程序、水平分量H p(x)判断子程序,法向分量H p(y)判子程序和作为中断服务程序的临界值采集子程序,系统调用及数据处理主程序利用汇编伪指令设置ADTURN1作为水平分量H p(x)数据存放地址;ADTURN2作为法向分量H p(y)数据存放地址;ADTURN3作为临时处理数据存放地址;LINEADR0作为水平分量H p(x)极值存放地址;LINEADR1临界值数据存放地址,LINE0作为水平分量H p(x)极值位置标记量,LINE1作为法向分量H p(y)零值位置标记量;系统调用及数据处理主程序首先调用步进电机双通道数据采集子程序,将水平分量H p(x)以及法向分量H p(y)数据分别存入ADTURN1、ADTURN2为首地址的存储区中;调用水平分量H p(x)判断子程序,判断水平分量H p(x)极值大小,并判断极值点的位置;调用法向分量H p(y)判断子程序,判断法向分量H p(y)零值点的位置;判断极值点与零值点是否在同一位置,如果在不同一位置则结束程序,如果在同一位置则判断极值是否大于临界值,如果极值小于临界值则结束程序,如果极值大于临界值,则系统启动声光报警系统进行报警;步进电机双通道数据采集子程序将R0作为数据指针指向水平分量H p(x)数据存储区首地址ADTURN1,将R1作为数据指针指向法向分量H p(y)数据存储区首地址ADTURN2,将步进电机正转表首地址TABLE放入数据指针DPTR中,将R2寄存器内容置‘0’;启动IN0通道进行A/D转换,延时等待一段时间,将转换后的数值放入R0指向区,R0指针指向下一存储单元,启动IN1通道进行A/D转换,延时等待一段时间,将转换后的数值放入R1指向区,R1指针指向下一存储单元;将R2寄存器内容放入A寄存器作为指针偏移量,将指针DPTR+A指向内容取出放入A寄存器,即为步进电机转动第一步所需输出值,将寄存器A中的值由与步进电机连接的P1口输出,则步进电机就转动了一步;然后将R2指向下一存储单元,判断R2寄存器值是否为‘4’,即是否达到4次循环,没有则再次启动IN1通道进行A/D转换,进行一个小循环,到了4次循环,则判断是否到了大循环次数,没有则将R2寄存器内容置‘0’,继续进行大循环,达到,则停止步进电机转动,即将R2内容加一,并将R2寄存器内容放入A寄存器,并由与步进电机连接的P1口输出;这样步进电机向前走了设定的步数,传感器也同时采集了与所走步数相同的水平分量H p(x)以及法向分量H p(y)数据,并分别存入ADTURN1、ADTURN2为首地址的存储区中;水平分量H p(x)判断子程序首先将R0指向Hp(x)分量存储区首地址ADTURN1,再将R1指向临时存储区首地址ADTURN3,将R2寄存器中数值作为计数使用,将R0指向值放入R1指向存储单元中,再将R0、R1指针分别指向下一存储单元,经过多次的循环,将ADTURN1为首地址的存储区数据复制到ADTURN3为首地址的存储区中作为临时计算存储区;将R0指向临时计算存储区首地址ADTURN3,再将R0指向值放入3CH寄存器中,将R0指向下一存储单元,将3CH寄存器中值与R0指向值比较大小,当R0寄存器指向值大时,将3CH寄存器值与R0指向值互换位置,当3CH寄存器值大时,将R0指向下一存储单元进行继续循环,循环多次后ADTURN3为首地址的存储区中值按从小到大排列,并且将最大值放到3CH寄存器中;将R0指向Hp(x)分量存储区首地址ADTURN1,判断R0指向值是否与3CH寄存器中值相同,不相同则将R0指向下一存储单元并进行重新判断,相同则将R0寄存器中值放入LINEADR0存储单元中作为极值使用,将R0指针的地址去除基地址取偏移地址,将偏移地址放入水平分量H p(x)极值‘位置标记量’LINE0存储单元等待调用;法向分量H p(y)判断子程序将R0指向Hp(y)分量存储区首地址ADTURN2,R1寄存器内容设为‘0’,作为Hp(y)分量数据位置记录初始值,将R1寄存器内容作加‘1’记录处理,判断是否到限定次循环,当到达限定次循环时将R1寄存器内容放入LINE1存储区作为Hp(y)分量数据位置记录值,当没有到限定次循环时,判断R0指向值是否为‘0’,不为‘0’R0指针指向下一存储单元并返回将R1寄存器内容作加‘1’记录处理进行新的循环;为‘0’则将R1寄存器内容放入LINE1存储区作为Hp(y)分量数据位置记录值;临界值采集子程序将R1中寄存器值作为循环数值,将R0指向存储区首地址ADTURN1,启动IN0通道进行A/D转换,延时等待采集一段时间,将转换后的数值放入指向R0指向区,R0指针指向下一存储单元,经过多次循环,将临界值采集多次等待滤波处理;将R0指向Hp(x)分量数据存储区首地址ADTURN1,将R0指向值放入寄存器3CH中,将R0指向下一存储单元,将3CH寄存器中值与R0指向值比较大小,当R0指向值大于寄存器3CH中值时3CH寄存器中值与R0指向值互换位置,然后将R0指向下一存储单元,如果R0指向值小于寄存器3CH中值时,R0直接指向下一存储单元,循环多次,将Hp(x)分量数据存储区的值按从小到大排列;将R0指向存储区值,将R0指向值放入3CH寄存器中,将R0指向下一地址单元,将R0指向值与3CH寄存器中值相加,结果放入3CH寄存器中,然后将R0指向下一地址单元,循环多次将Hp(x)分量数据存储区中间多个值相加,并将结果放入3CH寄存器中,再将3CH寄存器中值除以循环次数得到平均值即为滤波后的临界值,将其放入LINEADR1存储区中等待使用;所述临界值通过外部中断部分采集。
所属类别: 发明专利
检索历史
应用推荐