基于单片机的数字安匝仪的制作方法

文档序号:9373595阅读:479来源:国知局
基于单片机的数字安匝仪的制作方法
【技术领域】
[0001] 本发明属于电子检测仪器领域。
【背景技术】
[0002] 目前,一般的数字安匝仪系统有两种检测方式,一种通过供电检测,另一种是供磁 检测,对于供电检测的优点是可以很好地控制电路的电压电流,而一般的供电检测方案不 仅检测周期比较长,而且检测出来的干簧管的AT值得精度不高,尤其是航天领域的设备, 根本无法满足系统对器件稳定程度的要求,以往只能是多次检测,但是多次检测时间长,容 易增加干簧管的物理故障率,因此国内的干簧管检测设备重复操作,精度不高,而且容易带 来不稳定的因素。

【发明内容】

[0003] 本发明的目的是通过单片机利用多路AD将基准电压分成多份,从而提高了干簧 管检测精度的基于单片机的数字安匝仪。
[0004] 本发明是由CPU处理器、丝杠电机、图像采集单元、键盘单元、图像存储单元、电压 调节单元组成: CPU处理器:采用MC9SXS128最小系统; 丝杠电机:通过步进电机驱动,将电机连接到CPU处理器的主控芯片上;电机的 0UT1~0UT4 接到 ULN2003 的 16~13 脚; 图像采集单元:通过主控芯片的控制来切换摄像机,摄像头0V7620的11~18脚连接到 CPU处理器的24~31脚,3、4接CPU处理器的8、7脚;摄像头NV628电源接升压电路的12V 输出端,视频输出端接到PDS模块,然后经过AV转USB模块连接到USB转SCI中的USB端; 键盘单元:4X4键盘的PA0~PA7接到CPU的57~64脚; 图像存储单元:将采集到的图像存储在存储工具中,为了以后的图像融合,SD卡中的 1、2、7、8、9脚经电阻接VCC,2脚接CPU处理器的96脚,5脚接CPU的95脚,7脚接CPU的 93脚,8脚接CPU的94脚; 电压调节单元:5V端接供电电源的5V,12V端接nv628的电源端; 其具体流程是: 1、 系统初始化阶段:锁相环初始化函数、模数转换初始化函数、PIT定时器初始化函 数、SCI串口通信初始化函数、IXD显示屏初始化函数、GPIO 口初始化函数、SAMPLE采样初 始化函数; 2、 系统检测阶段: ① 等待干簧管的插入,如果没有干簧管插入,处于一直扫描状态,直到有干簧管插入; 当有干簧管插入时,等待100毫秒,再次检测是否有干簧管插入; ② 处于吸合状态,通过提高电压值来促使干簧管内部导通,当增加的叫压使干簧管导 通时,将当前的DA输出电压值赋给变量ActuationDAData,此时的吸合标志位被置位,通过 公式计算吸合时的AT值,公式: ActuationSensitivity[MeasureCounter] = 0· 9544*ActuationDAData/4096* 供电电 压值八线圈电阻+限流电阻1+限流电阻2)*线圈匝数; ③ 定时器每0.1 ms扫描下是否释放,由于释放时的AT值比吸合时大,因此在减少电压 时,是增加电压的2倍,当释放完时,定时器将释放标志置位,同时将当前的DA输出值赋给 ReleaseDAData,这些都是在PIT定时器中完成; ④ 测量完成,检测干簧管是否拔出,即判断测量是否结束了,将DA的输出值清零; 3、显示阶段:设置固定时间,将测量的结果送到显器显示。
[0005] 本发明解决了以往的干簧管检测设备检测周期长和检测精度低的问题,设计了一 套由单片机和显示单元组成的检测系统。本系统通过12路AD检测,提高了检测精度,很大 程度上解决了一般检测设备的检测精度问题,同时通过程序设计和优化降低了检测程序的 运行时间,解决了检测设备检测周期长的问题,而且将各个单元集成在一起,节省了空间, 并且线路连接简单方便,操作比较简单。本数字安匝仪的突出特点是将单片机与高精度AD 结合,提高了检测精度,同时程序的优化,降低了检测周期,提高了检测效率。
【附图说明】
[0006] 图1是本发明工艺流程图; 图2是本发明检测单元电路图; 图3是本发明主控单元电路图; 图4是本发明输出显示单元电路图; 图5是本发明安匝管的线圈驱动单元电路图; 图6是本发明安匝管的供电电源单元电路图; 图7是本发明安匝管的系统整体框图。【具体实施方式】 本发明是由CPU处理器、丝杠电机、图像采集单元、键盘单元、图像存储单元、电压调节 单元组成: CPU处理器:采用MC9SXS128最小系统; 丝杠电机:通过步进电机驱动,将电机连接到CPU处理器的主控芯片上;电机的 0UT1~0UT4 接到 ULN2003 的 16~13 脚; 图像采集单元:通过主控芯片的控制来切换摄像机,摄像头0V7620的11~18脚连接到 CPU处理器的24~31脚,3、4接CPU处理器的8、7脚;摄像头NV628电源接升压电路的12V 输出端,视频输出端接到PDS模块,然后经过AV转USB模块连接到USB转SCI中的USB端; 键盘单元:4X4键盘的PA0~PA7接到CPU的57~64脚; 图像存储单元:将采集到的图像存储在存储工具中,为了以后的图像融合,SD卡中的 1、2、7、8、9脚经电阻接VCC,2脚接CPU处理器的96脚,5脚接CPU的95脚,7脚接CPU的 93脚,8脚接CPU的94脚; 电压调节单元:5V端接供电电源的5V,12V端接nv628的电源端; 其具体流程是: 1、系统初始化阶段:锁相环初始化函数、模数转换初始化函数、PIT定时器初始化函 数、SCI串口通信初始化函数、IXD显示屏初始化函数、GPIO 口初始化函数、SAMPLE采样初 始化函数; 2、 系统检测阶段: ① 等待干簧管的插入,如果没有干簧管插入,处于一直扫描状态,直到有干簧管插入; 当有干簧管插入时,等待100毫秒,再次检测是否有干簧管插入; ② 处于吸合状态,通过提高电压值来促使干簧管内部导通,当增加的叫压使干簧管导 通时,将当前的DA输出电压值赋给变量ActuationDAData,此时的吸合标志位被置位,通过 公式计算吸合时的AT值,公式: ActuationSensitivity[MeasureCounter] = 0· 9544*ActuationDAData/4096* 供电电 压值八线圈电阻+限流电阻1+限流电阻2)*线圈匝数; ③ 定时器每0.1 ms扫描下是否释放,由于释放时的AT值比吸合时大,因此在减少电压 时,是增加电压的2倍,当释放完时,定时器将释放标志置位,同时将当前的DA输出值赋给 ReleaseDAData,这些都是在PIT定时器中完成; ④ 测量完成,检测干簧管是否拔出,即判断测量是否结束了,将DA的输出值清零; 3、 显示阶段:设置固定时间,将测量的结果送到显器显示。
[0007] 以下结合附图对本发明做进一步详细的描述: 本数字安匝仪是有检测单元、主控单元、输出显示单元、程序烧录单元组成: 检测单元:正极探针与主控单元的MC9S12XS128芯片的51脚相连,微动开关的2脚与 主控单元的MC9S12XS128芯片的54脚相连; 主控单元:采用MC9S12XS128芯片的最小系统; 输出显示单元=IXD的1~4脚与主控单元的MC9S12XS128芯片的14~11脚相连,IXD的 8~12脚与主控单元的MC9S12XS128芯片的21~17脚相连; 程序烧录单元:JAl为BDM烧录模块,BDM的BK⑶脚与主控单元的MC9S12XS128芯片的 23脚相连; 线圈驱动单元:AD转换芯片AD7541的1和18脚接LMC6482的2脚和1脚,AD7541的 4~15脚接主控单元的MC9S12XS128的IO 口,LMC6482的6和7脚接主控单元的32脚; 图2中的Sl为待检测的干簧管,由于需要将是否有干簧管放入和检测干簧管的AT值 的数据传输给单片机,故将微动开关的2脚接主控单元MC9S12XS128的54脚,将整机探针 接 MC9S12XS128 的 51 脚。
[0008] 图3中的PlA和PlB是主控芯片MC9S12XS128的引脚图,由于需要将检测的数据 传输给主控芯片,因此将IO 口连接到检测单元。
[0009] 图4中的IXD为输出显示屏,本系统将检测的数据显示在此IXD,以便检测人员记 录。
[0010] 图5是线圈驱动电路,通过AD7541将检测到的模拟信号转换为数字信号传递给单 片机,以便系统判定干簧管的优劣。
[0011] 本发明通过12路AD转换芯片和16位单片机组成的系统,以期望提高干簧管检测 的检测精度同时缩短检测周期,从而达到又快又高精度的完成检测过程。本数字安匝管是 由检测单元、主控单元、输出显示单元、线圈驱动单元、供电电源单元共同组成。将干簧管放 入线圈中后,开启电源给系统供电,系统将逐步增加电压进而使干簧管的簧片接触,检测单 元将检测到的信号传递给主控单元的主控芯片,通过主控芯片的处理得到干簧管的AT值, 然后显示在显示屏上,方便检测人员的读取与记录。由于本数字安匝管的检测精度高、检测 周期短,所以适用于那些对于干簧管的稳定性和精度要求高的工业方面,例如航空方面。
[0012] 干簧管检测步骤: 打开检测系统的电源,给硬件提供电源,同时软件系统开始工作: 1)系统初始化阶段: 锁相环初始化函数: 设置总线频率为80M hz,设置锁相环频率为160M hz,同时设置PLLCLK作为系统时钟, 并且使能锁相环,使之能为系统使用,由于系统时钟的确定,那么相应的内部那些依赖系统 时钟的部分就可以以该频率为基准频率进行相应的操作来满足那些工作频率不同于此频 率的片内模块的使用; 模数转换初始化函数: 启动AD模块,模块设置为转换完成后,标志位快速自动清零,禁止使用中断,选用12位 模数转换,每次只转换一个通道,并且AD模块的时钟频率为BUSCL0CK/2APRS+1) =80M/2/ (4+1)=8M ; 该部分对应的外部电路是线圈驱动电路中的AD7541引脚,由系统的A和B 口给AD7541 的BIT0~11脚按位写数据,相应的输出作用于运算放大器LMC6482的IN A-端口,经过放大 器的模拟信号经由AD7引脚接入到单片机内,由于采用12位模数转换,而供电电压是5V直 流电源,则理论上的分辩力为5*1/4096,就是约等于0. 00125V,即I. 25mV ; PIT定时器初始化函数: 装载8位计数器0和1的初值,并将16位计数器0和8位计数器1相连,同时装载16 计数的初值,使能通道〇的溢出中断,使能16位计数器通道0,使能PIT模块;在定时器中 断中对系统的一些参数进行变更,以方便对于干簧管状态的判断; SCI串口通信初始化函数: 计算波特率并设置:ubgs = fsys/(波特率*16)(其中fsys=sysclk*1000000);根据 函数的给定参数计算ubgs=40*100000(V(115200*16),设置允许SCI正常码输出8位数据, 无校验,允许SCIO接收和发送,通过串口的通信来观察程序运行中的一些错误,另外,当系 统检测的数据存在问题时,可以通过串口通信的方式,来判断是检测过程有问题,还是后边 的显示部分有问题,能够更快的判系统的故鄣出在什么位置,更利于对系统缺陷的发现与 改进,能够缩短系统的开发周期; IXD显示屏初始化函数: 通过对一些引脚的电平设置以及高低电平转换,完成启动之前的准备工作,然后将显 示屏的对比度进行设置,分别为粗调和微调以达到最好的显示效果,设置完这些之后,控制 显示屏使其将整个屏幕从上支下、从左到右的扫描一下,并且从第一行开始,使整个显示屏 都开显示。
[0013] 由于显示器的反应速度不如单片机,在初始化时,需要慢慢的进行,并且需要一步 步的进行,当没有外部的电位器可以改变对比度时(通常的电位器的精度不够,会使调节中 的显示器的对比度变化比较大),只能通过对该部分的函数调用的参数的修改来达到改变 对比度的效果,由于系统中分为粗调和细调,则会达到更好的显示效果,LCD的初始化是整 个系统中最慢的,本部分对应于LCD显示屏的电路图PORTM,PORTP为对应的数据控制端和 位选控制端; GPIO 口初始化函数: 设置PORTA、B 口为输出,并同时将PORTA、B 口的电压设置为低电平,从而使该IO 口用 于从单片机向外部传输数据。
[0014] 本部分对应于线圈驱动中的AD7541芯片,通过A、B 口向BIT0~11写入数据,从而 为其提供不同的电平值; SAMPLE采样初始化函数: 设定判断是否插入干簧管和干簧管是否导通的IO 口的状态为输入状态,从而根据这 两个端口的电平判断干簧管当前的状态。
[0015] 当没有干簧管插入时,相应的E6引脚的电压为高电平,当有干簧管插入时,开关 的引脚接到2处,由于E6所在的回路形成闭合回路,且此回路能正常导通,当导通后对应的 E6引脚的电平由高电平转换为低电平,本系统就是通过这个E6的电平高低来判断是否有 干簧管插入。当插入的干簧管没有导通时,相应的E5引脚为高电平,当插入的干簧管导通 后,则在干簧管两端的电路组成闭合回路,由于干簧管的导通,整个闭合回路导通,相应的 E5的电平被拉低,本系统就是利用这个来判断干簧管是否导通。
[0016] 当导通后,需要判断干簧管是否由导通变换为断开,当导通时,相应的E6引脚是 低电平,如果是干长簧管断开了,则E6引脚的电平就会由低电平转化为高电平,从而判断 是否释放了干长簧管,如果干簧管已经被取走,则相应的E5引脚的电平就会由低电平转变 为主高电平,从而判断干簧管被取走。
[0017] 2)系统检测阶段: 第一步: 等待干簧管的插入,如果没有干簧管插入,处于一直扫描状态,直到有干簧管插入;当 有干簧管插入时,等待100毫秒,再次检测是否有干簧管插入,再次检测的目的是防止第一 次的是由于检测过程中的干扰影响的,两次检测可以减少产生这种出错的机率,当两次的 扫描都显示有干簧管插入,则通过标志将函数转到第二步,同时计算DA的输出电压值, 导通时的电流值=电压/线圈匝数,线圈电压为5V ; 导通时的DA_Rf处的电压值=电流* (线圈电阻+限流电阻1+限流电阻2); DA输出的电压值=导通时的DA_Rf处的电压值/供电电压值*4096 ; 第二步: 如果仍然处于吸合状态,通过提高电压值来促使干簧管内部导通,即干簧管所在的电 路导通(由于考虑到检测时间的问题,本系统并没有一下加的电压是1/4096*供电电压值, 而是增加的是上述值的10倍,精度也从原来的I. 25mV变为12. 5mV=0. 0125V);当增加的叫 压使干簧管导通时,将当前的DA输出电压值赋给变量ActuationDAData(本步骤是通过PIT 定时器完成的,定时器每0.1 MS判断下是否干簧管导通,当导通时完成赋值操作),此时的吸 合标志位被置位,通过公式计算吸合时的AT值,公式: ActuationSensitivity[MeasureCounter] = 0· 9544*ActuationDAData/4096* 供电电 压值八线圈电阻+限流电阻1+限流电阻2) *线圈匝数,将吸合标志位清除,并且转到第三 步; 否则如果此时的DA输出值比DA的限制数据最大值大,则跳到第三步; 如果此时的干簧管没有处在吸合状态,并且此时的DA输出值比DA的限制数据的最大 值大,则跳到出错状态,同时反馈出来出错的标志,标志为1 ; 第三步: 本阶段定时器也是每〇. Ims扫描下是否释放,由于释放时的AT值比吸合时大,因此在 减少电压时,是增加电压的2倍,当释放完时,定时器将释放标志置位,同时将当前的DA输 出值赋给ReleaseDAData,这些都是在PIT定时器中完成的。
[0018] 如果现在的状态是释放状态,并且释放标志位存在,开始计算释放时的AT值: ReleaseSensitivity[MeasureCounter] = 0· 8592*ReleaseDAData/4096* 供电电压值 八线圈电阻+限流电阻1+限流电阻2)*线圈匝数,将释放标志位清除,如果取样的次数超 过了 3次,则取其前3次,并且对于这3次取样的AT值先进行排序,然后取其中央的值作 为最后显示的值(这实际就是一次中值滤波的过程,对于一定量的采样数据,取其最中间的 数据或是中间的两个的数据的平均值作为最终测量的结果,从而能免除一些因为操作或是 别的原因引起的误差,使测试的结果的准确性更高),对于吸合AT值和释放AT值都是采用 此方法进行的滤波处理, 如果采样的数据不够3个,则跳到第二步进行再次测量,由于此处理器的处理速度比 较快,在测量时只有一个用于防止误判断的100毫秒的廷时,因此每多一次采样所多出来 的时间不超过0.2秒,3次不多于0.4秒,考虑到准确性的原因,所以采用了这种牺牲时间的 代价来换取更高的准确率,执行完这些,就跳到第四步; 如果标志位不存在,并且DA的输出值比DA数据的最小值小,则采用同上述方法一样的 中值滤波进行去除误差及干扰来提高准确度,同样也是如果是数据量够3个,则计算相应 的吸合和释放时的AT值,然后使程序跳转到第四步,如果数据数量不够,那么跳到第二步, 继续进行测量,同时将所有的标志置位。
[0019] 如果没有释放,并
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1