基于AVR单片机的实验加载闭环控制系统
分离式液压千斤顶在生产建设、科学实验等各类工程结构加载工作中具有广泛的用途。
该设备一般由电动高压油泵+压(拉)千斤顶组成,本文论及的加载系统规格如表1所示。
油泵电机直接带动泵轴旋转,柱塞作往复运动,进油阀/排油阀工作,液压油通过高压油管进入千斤顶。用户可通过泵站上的手柄,人工转动泵内卸荷阀处于不同位置,实现系统的加载/卸载、推力/拉力及加载速率和稳压作业。
在对力和位移数值或稳压时间等精度要求较高的科研实验加载场合,显然这种仅靠手工操作的方式难以胜任。给该设备增设电脑测控系统就成为一项与时俱进的技术革新,也是提高此类设备性价比的最佳方案。
1 下位机
由ATmega128构成下位机控制核心(见图1),其主要是对各通道放大模块传入的工作信号进行A/D变换,并根据上位机的指令驱动步进电机,达到控制执行系统的工作目的。
1.1 数据采集
力和位移信号的测试由电阻应变计组成的电桥传感器完成,信号放大器采用AMP1型放大模块。此两者间的适当匹配对单片机能否顺利执行数据采集工作至关重要。技术关键是对电桥平衡的调控。信号进入单片机后,若有少量的偏移电压可通过软件作些补偿,若偏移量过大会造成此通道无法工作。因此有必要在放大模块的前端,用电位器把偏移较大的模拟信号调整过来。调零电路如图2所示。
1.2 设备控制
油泵手柄的转动,以电动替代手动是设备控制的技术关键。把手柄板固定在转轴上,板上布置若干位置电极点,用步进电机加齿轮传动可以解决感知和移动手柄位置的问题,如图3所示。
单片机Mega128的PWM、时钟和正反转信号,通过光耦进入L297,产生相序信号,经由L298N的全桥驱动,使得步进电机按单片机控制带动齿轮一起转动。驱动步进电机电路图如图4所示。
1.3 A/D及串口通信
在串口0初始化编程中,ICCAVR用代码UCSROB=(1<<RXCIE0)|(1<<RXEN0)|(1<<TXEN0),将其设定为允许发/收,并使能接收完成中断,这样当A/D变换完成后,向串口0发送数据:
2 上位机编程
上位机用VB编程。主要有窗体布局,数据通信和处理,稳压功能等。
2.1 窗体布局
考虑到实际应用的需要,在作上位机设计时,系统窗体界面布局尽量做到简单、直观,一目了然。在编程中特别突出参数标定过程和测试数据与大型应用软件的无缝链接。如图5所示。
2.2 数据通信和处理
对通信控件MSComm设置:
由于InByte()为动态数组,其中InByte(0)=1和InByte(3)=2定为力和位移两组数据编号。为防意外引起上/下位机数据不同步,对下位机发送到接收缓冲器的数据必须再确认:
这6个字节为两组数据:
对于监控数据。若等于或大于上限值,手柄回到3#位(停/稳压)。为防传感器数据在临界点附近徘徊,导致数据不稳.编程时应考虑跳出黏着。
利用电脑系统时钟实现稳压延时功能。
3 结束语
AVR单片机的内设10位ADC功能使得下位机的A/D变换电路设计和调试变得简单易行。增加电桥调零电路后AMP1放大模块才有较宽调节范围。实际使用中由于各厂家液压系统内部构造及制作工艺的差别,按全自动手柄板定位控制欠佳时,可由单片机I/O端口直接控制固态继电器,继而控制油泵电机。同样可以获取较好的工作效果。
- 单片机控制步进电机驱动器工作原理(10-19)
- 基于FPGA的步进电机控制器设计(02-12)
- 基于单片机的步进电机控制系统设计(09-13)
- 步进电机及驱动器的正确选择方法(10-01)
- 新的步进电机控制器/驱动器简化步进电机系统设计(10-29)
- 基于Beckhoff嵌入式PC控制器的步进电机群控系统设计(11-10)