首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 基于FPGA的机械振动台自动定中系统
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于FPGA的机械振动台自动定中系统
发短消息
加为好友
yuchengze
当前离线
UID
1062083
帖子
5837
精华
0
积分
2921
阅读权限
70
在线时间
222 小时
注册时间
2016-6-30
最后登录
2018-9-9
金牌会员
UID
1062083
性别
男
1
#
打印
字体大小:
t
T
yuchengze
发表于 2016-8-23 10:29
|
只看该作者
基于FPGA的机械振动台自动定中系统
机械
,
国防
,
力学
,
能力
0 引言 在力学环境试验中,振动试验应用最为广泛,尤其是国防科技应用中的火药装填,即通过一定的振级和时间将火药填实,其工作过程为将火药罐体固定于机械振动台上,然后设定相应的振动频率及振动幅度,当到达设定的振动条件后,火药便通过导向槽向罐体内充填。此后,随着时间的增加,振动上火药加罐体的重量随之增加,而机械台台面安装于空气弹簧上,它随着台面上的重量的增加会下降,如果下降超过机械台所能要求的能力,就可能出现事故,因此要求有一套自动定中系统,在机械台静态和振动状态均能自动保持中间位置。
1 总体方案
要满足机械台台面静态和振动状态均能自动保持中间位置,用分立器件判断台面极限位置的方法往往难以适应。解决此问题的方案有两种:一是采用单片机系统,二是采用嵌入式系统。单片机系统虽然价格低廉,使用方便,但是程序容易跑飞,且编程及修改较为麻烦;而嵌入式系统中,基于CPU的嵌入系统价格较贵。为此,本文选用了可编程逻辑器件(FPGA),由于FPGA具有丰富的可编程性与丰富的I/O引脚,因而其在数字系统中的应用越来越广泛。如同自行设计集成电路一样,利用FPGA可节省电路开发的费用与时间,因此,本文提出了一套基于FPGA的嵌入系统来实现自动定中,其系统方案如图1所示。
图中,光纤一和光纤二将振动的位置信号传递给系统,然后由系统判定台面是处于静态还是动态,再判定台面偏高还是偏低,分别处理,最后通过两个电磁阀来对机械台进行充气或放气。
2 电路组成
系统运行时,会有以下几种情况:一是在系统正常振动时,光纤一和光纤二输出的波形为占空比为50%且方向相反的一对方波信号;二是当台面位置发生变化后,振动时两个光纤输出的脉冲占空比会发生变化。当台面静止或台面受到其他因素而低于4 Hz振动时,两个光纤输出的脉冲几乎为一个恒定的电平。因此,需要系统根据脉冲情况自动分辨,本文在FPGA内设计了三个模块,即分频模块,信号触发模块,信号比较及输出模块。
2.1 分频模块
分频模块共输出四种分频信号:参考时钟、预读信号、锁存信号、触发信号。其中参考时钟用于信号触发模块中信号占空比的测量计数,考虑到计数器的容量,我们取参考时钟为100 kHz。预读信号read用于启动比较模块中静态还是动态信号的判定。锁存信号lock用于对比较模块输出的继电器控制状态信号的锁存,并将其保持到下一次比较,以使模块输出不同的继电器控制状态信号。触发信号trig用于启动触发模块及对信号比较模块中的计数器清零,以判定一定间隔时间后的台面状态变化情况。其时序如图2所示。
2.2 信号触发模块
台面位置发生变化后,在振动时,两个光纤输出的脉冲占空比就会发生变化。因此需要测量两路信号在一个振动周期内的高电平宽度,其测量电路如图3所示,其中上半部分用于脉冲串一的高电平测量,下半部分用于脉冲串二的高电平测量。
信号触发模块工作流程是在触发信号trig上升沿到来时打开触发器,以等待两路待测信号上升沿到来;当任意一路信号(假设第一路信号signall先到来)的上升沿到来后,将该路计数允许与门打开,并将参考时钟传递给下一级(即比较模块),然后将该路触发器关闭,同时打开第二路信号的关断触发器。因此,当第一路信号signall的高电平过去后,随着第二路信号signal2上升沿的到来,系统将关断第一路计数允许与门,停止计数,同时打开第二路计数允许与门,开始第二路信号的高电平宽度测量。第二路测量原理同第一路,最后再输出两路信号高电平宽度测量完成信号。由于触发器的关断,每次触发仅将一个振动周期内的两路信号的高电平宽度转换为参考时钟个数,从而保证了计数的准确性。
2.3 信号比较模块
信号比较模块的作用是判定台面是处于静态还是动态,以便根据相应的计数值来输出控制字。当台面处于振动时可以通过信号触发模块来比较两路信号的高电平宽度,但是,当台面处于静止状态时,光纤就没有脉冲信号输出,也就没有上升沿允许计数,计数值也就为零。因此,可以在下一次触发信号trig到来前一个参考时钟时设计一个预读信号read,并用它的高电平来取出计数值。如果两个计数器均为零,那么台面处于静止,此时可根据两个光纤的高低电平来判断台面高度是否合适。反之,如果不为零,则通过两路高电平宽度测量完成信号状态及计数值来判定控制状态字。其关键代码如下:
2.4 输出模块
在预读信号read到来前一个参考时钟时,通过锁存信号lock可将比较模块输出的继电器控制状态字锁存,然后通过3-8译码器得到需要控制输出的继电器动作信号,以保持电磁阀到下一次比较模块输出不同的继电器控制状态字时再动作。其中,out3[1]为高电平时,继电器控制充气电磁阀动作,out3[2]为高电平时,继电器控制放气电磁阀动作。其电路图如图4所示。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议