论文部分内容阅读
摘要:为了解决复杂电子装备维修教学过程中,成本过高,效果不好的问题,研究了基于Arduino的装备维修示教系统。通过对目标装备电路板仿真与重新设计,在保持电路基本功能和电路板外部特性进行不变的基础上,以Arduino Mega2560微控制板为核心,以Greatal液晶触摸显示屏为交互设备,设计了信号调理电路、故障设置电路,实现了故障植入、关键点信号监测等功能。
关键词:装备维修;示教系统
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)32-0043-02
1概述
在对复杂电子装备进行维修教学的过程中,主要培养学员根据故障现象,分析故障原因,检测关键点的参数,查找故障点的能力。在学员训练过程中,如果使用实装进行维修训练,主要存在以下问题:1)训练过程中损坏情况比较严重,降低了装备的寿命;2)实装内部比较狭小,不方便检测;3)实装价格昂贵,开设多组同时进行训练,成本过高。
我们研制的某型装备维修示教系统采用电路仿真技术,对原电路进行仿真与重新设计,在保持电路基本功能和电路板外部特性进行不变的基础上,以Arduino控制板为核心,增加故障植入[1]与关键点信号监控功能。教学过程中,教员可以通过跳线或动态植入的方法预先设置电路故障,学员在进行维修过程中,可以通过屏幕实时的查看关键点信号参数,便于学员进行检测和维修训练。
2研究方案
2.1 系统硬件总体框架
系统硬件总体框架如图1所示,以Arduino Mega2560微控制板为核心,其他模块主要包括:信号调理电路、故障设置电路、Greatal液晶触摸显示屏、电源模块等。
目标电路被重新设计,在保持其关键点特征的前提下,将故障设置电路和信号调理电路与其进行连接。Arduino Mega2560微控制板通过数字接口控制故障设置电路继电器接通和断开,通过A/D接口采集信号调理电路的波形,通过串口对Greatal液晶触摸显示屏进行双向互动。Arduino Mega2560微控制板主要完成四方面的工作:一是控制故障设置电路根据需要实时的设置电路故障;二是通过A/D口和数字接口,从信号调理电路实时测量关键点信号;三是对测量的数据进行计算和处理;四是通过串口控制液晶显示器显示测量结果,接收液晶屏传输的信号。
图1 系统硬件总体框架
2.2微控制器的选择
Arduino是一个开放源代码的硬件项目平台,该平台包括一块具备基本I/O功能的电路板和一套程序开发环境[2]。为了针对不同领域的应用,目前Arduino设计出很多不同的型号的电路板。根据项目A/D模块、D/A模块、显示模块的需要,我们选择的电路板是Arduino Mega2560。Arduino Mega2560具有54个数字I/O口,16个模拟I/O扣,4对串行数据通信口,一个复位开关,一个ICSP下载口,支持USB接口和直流电源供电。
使用Arduino控制板主要进行模拟电压的读取、显示屏的控制,使用的主要函数如下:
1) pinMode(pin,mode)
pinMode函数用于配置引脚为输出或输入模式[2]。
2)analogReference(type)
analogReference函数的作用是配置模拟引脚的参考电压。在嵌入式应用中,引脚获取模拟电压值之后,将根据参考电压将模拟值转换到0~1023[2]。
3)analogRead(pin)
analogRead函数用于读取引脚的模拟量电压值,每读一次需要花100?s的时间。返回值为int型,表示引脚的模拟量电压值,参数范围0~1023[2]。
4)digitalWrite(pin,value)
digitalWrite函数用于设置引脚的输出电压为高电平或低电平[2]。
2.3液晶模块的选择
相对于传统的标准1602液晶显示模块,我们采用的Greatal可编程智能LCD(Programmable Smart LCD,简称PS-LCD)具有更大的优势:1)直观的界面设计,无需图形编程知识,如图2所示,可直接使用配套的组态式编辑软件Designer进行可视化设计,并能进行模拟运行;2)采用串口通信,通信格式简单,编程使用javascript脚本语言,更加灵活;3)屏幕尺寸多样,分辨率高,具备触摸、连接鼠标等功能。
系统的界面如图2所示,主要包括信号监控区和故障设置区,信号监控区可以监控一个关键点波形和6个关键点电压。
3解决的关键问题
3.1关键点电压监测
电压测量电路是典型的调理电路,其电路如图3所示。被测信号经电阻分压网络、电压跟随器、限幅电路和滤波电路后送A/D电路测量。
图3 电压测量电路
R1和R2组成的分压电路,用于对输入信号进行分压,以保证最后送入A/D接口的电压不超过其测量范围;运算放大器通过将输出端与反向输入端相連接,由于运算放大器输入端具有的虚短效应,实现电压跟随的效果,即输入电压和输出电压大小差别不大;R3为限流电阻;V1和V2两个稳压二极管反向相连构成限幅电路,用于对A/D输入双向限幅,确保A/D输入电压不会超出,电容C1起滤波作用。
在对Arduino单片机进行编程时,按如图4所示流程进行:其中,第1步用analogRead函数读取电压整数值;第2步将电压整数转换成浮点数,然后根据R1和R2的阻值,计算对应的模拟电压;第3步用dtostrf()函数将模拟电压转换成字符串;第4步用sprintf()函数将格式化液晶控制字符串。之所以通过两步完成字符串的格式化,主要是因为使用sprintf()函数不能直接格式化浮点数,必须使用dtostrf()。
3.2 动态控制继电器
由图2可以看出,故障设置和关键点波形的监控,需要使用液晶显示屏上的控件进行交互,其主要步骤如图5所示。
4总结
我们基于ArduinoMega2560开发的装备维修示教系统具有界面友好、可以动态设置故障、目标电路外部特性和原电路相同的优点,非常适合复杂装备维修教学。虽然使用Arduino降低了系统开发难度,但开发难度依然较大,特别是对目标电路仿真与重新设计需要对原电路工作原理理解透彻的基础上才能进行。
参考文献:
[1] 崔新友. 电路板故障植入与知识自动获取研究[J].电脑知识与技术,2016(7).
[2] 程晨.Arduino开发实战指南[M].北京:机械工业出版社,2012.
关键词:装备维修;示教系统
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)32-0043-02
1概述
在对复杂电子装备进行维修教学的过程中,主要培养学员根据故障现象,分析故障原因,检测关键点的参数,查找故障点的能力。在学员训练过程中,如果使用实装进行维修训练,主要存在以下问题:1)训练过程中损坏情况比较严重,降低了装备的寿命;2)实装内部比较狭小,不方便检测;3)实装价格昂贵,开设多组同时进行训练,成本过高。
我们研制的某型装备维修示教系统采用电路仿真技术,对原电路进行仿真与重新设计,在保持电路基本功能和电路板外部特性进行不变的基础上,以Arduino控制板为核心,增加故障植入[1]与关键点信号监控功能。教学过程中,教员可以通过跳线或动态植入的方法预先设置电路故障,学员在进行维修过程中,可以通过屏幕实时的查看关键点信号参数,便于学员进行检测和维修训练。
2研究方案
2.1 系统硬件总体框架
系统硬件总体框架如图1所示,以Arduino Mega2560微控制板为核心,其他模块主要包括:信号调理电路、故障设置电路、Greatal液晶触摸显示屏、电源模块等。
目标电路被重新设计,在保持其关键点特征的前提下,将故障设置电路和信号调理电路与其进行连接。Arduino Mega2560微控制板通过数字接口控制故障设置电路继电器接通和断开,通过A/D接口采集信号调理电路的波形,通过串口对Greatal液晶触摸显示屏进行双向互动。Arduino Mega2560微控制板主要完成四方面的工作:一是控制故障设置电路根据需要实时的设置电路故障;二是通过A/D口和数字接口,从信号调理电路实时测量关键点信号;三是对测量的数据进行计算和处理;四是通过串口控制液晶显示器显示测量结果,接收液晶屏传输的信号。
图1 系统硬件总体框架
2.2微控制器的选择
Arduino是一个开放源代码的硬件项目平台,该平台包括一块具备基本I/O功能的电路板和一套程序开发环境[2]。为了针对不同领域的应用,目前Arduino设计出很多不同的型号的电路板。根据项目A/D模块、D/A模块、显示模块的需要,我们选择的电路板是Arduino Mega2560。Arduino Mega2560具有54个数字I/O口,16个模拟I/O扣,4对串行数据通信口,一个复位开关,一个ICSP下载口,支持USB接口和直流电源供电。
使用Arduino控制板主要进行模拟电压的读取、显示屏的控制,使用的主要函数如下:
1) pinMode(pin,mode)
pinMode函数用于配置引脚为输出或输入模式[2]。
2)analogReference(type)
analogReference函数的作用是配置模拟引脚的参考电压。在嵌入式应用中,引脚获取模拟电压值之后,将根据参考电压将模拟值转换到0~1023[2]。
3)analogRead(pin)
analogRead函数用于读取引脚的模拟量电压值,每读一次需要花100?s的时间。返回值为int型,表示引脚的模拟量电压值,参数范围0~1023[2]。
4)digitalWrite(pin,value)
digitalWrite函数用于设置引脚的输出电压为高电平或低电平[2]。
2.3液晶模块的选择
相对于传统的标准1602液晶显示模块,我们采用的Greatal可编程智能LCD(Programmable Smart LCD,简称PS-LCD)具有更大的优势:1)直观的界面设计,无需图形编程知识,如图2所示,可直接使用配套的组态式编辑软件Designer进行可视化设计,并能进行模拟运行;2)采用串口通信,通信格式简单,编程使用javascript脚本语言,更加灵活;3)屏幕尺寸多样,分辨率高,具备触摸、连接鼠标等功能。
系统的界面如图2所示,主要包括信号监控区和故障设置区,信号监控区可以监控一个关键点波形和6个关键点电压。
3解决的关键问题
3.1关键点电压监测
电压测量电路是典型的调理电路,其电路如图3所示。被测信号经电阻分压网络、电压跟随器、限幅电路和滤波电路后送A/D电路测量。
图3 电压测量电路
R1和R2组成的分压电路,用于对输入信号进行分压,以保证最后送入A/D接口的电压不超过其测量范围;运算放大器通过将输出端与反向输入端相連接,由于运算放大器输入端具有的虚短效应,实现电压跟随的效果,即输入电压和输出电压大小差别不大;R3为限流电阻;V1和V2两个稳压二极管反向相连构成限幅电路,用于对A/D输入双向限幅,确保A/D输入电压不会超出,电容C1起滤波作用。
在对Arduino单片机进行编程时,按如图4所示流程进行:其中,第1步用analogRead函数读取电压整数值;第2步将电压整数转换成浮点数,然后根据R1和R2的阻值,计算对应的模拟电压;第3步用dtostrf()函数将模拟电压转换成字符串;第4步用sprintf()函数将格式化液晶控制字符串。之所以通过两步完成字符串的格式化,主要是因为使用sprintf()函数不能直接格式化浮点数,必须使用dtostrf()。
3.2 动态控制继电器
由图2可以看出,故障设置和关键点波形的监控,需要使用液晶显示屏上的控件进行交互,其主要步骤如图5所示。
4总结
我们基于ArduinoMega2560开发的装备维修示教系统具有界面友好、可以动态设置故障、目标电路外部特性和原电路相同的优点,非常适合复杂装备维修教学。虽然使用Arduino降低了系统开发难度,但开发难度依然较大,特别是对目标电路仿真与重新设计需要对原电路工作原理理解透彻的基础上才能进行。
参考文献:
[1] 崔新友. 电路板故障植入与知识自动获取研究[J].电脑知识与技术,2016(7).
[2] 程晨.Arduino开发实战指南[M].北京:机械工业出版社,2012.