打印

凌晨了,一个程序还没搞定,大神们给点意见

[复制链接]
3208|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
这是毕设中的一小部分,利用单片机和传感器测量电磁阀的开启时间和关闭时间,基本思路为阀前后各有一个压力传感器,电磁阀开启前先采集阀前压力作为参考值,然后电磁阀开启,当单片机采的的阀前后电压值一致时,这段时间则为需要求得的时间,并在数码管上显示时间。问题:如何计算时间?有思路的请详细说一下程序设计思路,如何定时计数等。单片机为51单片机。谢谢了。晚安

相关帖子

沙发
impenger|  楼主 | 2013-5-26 11:52 | 只看该作者
没有大神们给点意见啊?

使用特权

评论回复
板凳
lcdi| | 2013-5-26 14:00 | 只看该作者
本帖最后由 lcdi 于 2013-5-26 14:04 编辑

开启时间是不是说,电磁阀接到控制信号,然后电磁阀完全开启,这两者之间的时间?
提醒你一点,电磁阀开启时间也不会太慢的,而压力传感的反应时间却也不快,要计算一下这样的方案能不能满足要求。

另外,电磁阀开启后,到前后压力平衡,这也需要一定的时间,跟内部流体,管径,前后容积都有关系。

使用特权

评论回复
地板
impenger|  楼主 | 2013-5-26 15:28 | 只看该作者
lcdi 发表于 2013-5-26 14:00
开启时间是不是说,电磁阀接到控制信号,然后电磁阀完全开启,这两者之间的时间?
提醒你一点,电磁阀开启 ...

对,开启时间是这两者的时间,一般开启时间为几或者十几ms,用压电式压力传感器,基本能满足,关于管径,流体等因素您说的很对,我就不能考虑了,我是学电气自动化的,这个液压方面的让我很头疼了。很谢谢您。

使用特权

评论回复
5
ningling_21| | 2013-5-26 15:44 | 只看该作者
本帖最后由 ningling_21 于 2013-5-26 15:46 编辑

计算时间,常用的是启动定时器来计时...

当条件满足时,启动定时器,条件停止时,停止定时器,看在这个时间内定时器计数多少次,例如设定定时器10MS,计数10次时间就是100MS了。

使用特权

评论回复
6
hwyqxl1234| | 2013-5-26 15:50 | 只看该作者
看看是什么东西呢

使用特权

评论回复
7
liub_2014| | 2013-5-26 16:02 | 只看该作者
哈哈都毕业了啊

使用特权

评论回复
8
lcdi| | 2013-5-26 16:19 | 只看该作者
impenger 发表于 2013-5-26 15:28
对,开启时间是这两者的时间,一般开启时间为几或者十几ms,用压电式压力传感器,基本能满足,关于管径, ...

如果只是要测量电磁阀本身开启时间,不用测量压力平衡的时间。
那么你可以考虑一下测量电磁阀的电流,因为电磁阀开始开启,到磁芯完全吸合,吸合以后,这些阶段的电流特征应该是不同的,我不是很了解,你测测看。

使用特权

评论回复
9
impenger|  楼主 | 2013-5-26 16:41 | 只看该作者
liub_2014 发表于 2013-5-26 16:02
哈哈都毕业了啊

20多天之后闪人。

使用特权

评论回复
10
impenger|  楼主 | 2013-5-26 16:42 | 只看该作者
lcdi 发表于 2013-5-26 16:19
如果只是要测量电磁阀本身开启时间,不用测量压力平衡的时间。
那么你可以考虑一下测量电磁阀的电流,因 ...

嗯,谢谢您耐心的回复。

使用特权

评论回复
11
cm398515912| | 2013-5-26 16:47 | 只看该作者
同为毕设的事情苦恼中。。。。不过我是计算机系的  做的单片机的proteus仿真用例系统
呵呵

使用特权

评论回复
12
lcdi| | 2013-5-26 16:52 | 只看该作者
impenger 发表于 2013-5-26 16:42
嗯,谢谢您耐心的回复。

百度了一下,你看看这个文档,第一页的曲线和前后的文字说明了电磁阀的电流曲线特征。
http://wenku.baidu.com/view/7682588ca0116c175f0e485f.html

使用特权

评论回复
13
impenger|  楼主 | 2013-5-26 16:59 | 只看该作者
ningling_21 发表于 2013-5-26 15:44
计算时间,常用的是启动定时器来计时...

当条件满足时,启动定时器,条件停止时,停止定时器,看在这个时 ...

您的意思是一个计数器,一个定时器吗?如果是条件满足后关闭定时器,我怎么知道定时是10ms呢?是不是先设定定时10ms,满足条件后计数器、定时器同时工作,条件停止时,看看计数多少。计数×10ms为所求的时间?或者是先设定一个参考定时,然后让count++,如果条件满足,m=count,则时间为m×参考定时。这样行么?现在感觉好混乱。

使用特权

评论回复
14
ningling_21| | 2013-5-26 17:40 | 只看该作者
impenger 发表于 2013-5-26 16:59
您的意思是一个计数器,一个定时器吗?如果是条件满足后关闭定时器,我怎么知道定时是10ms呢?是不是先设 ...

一个定时器就行了,用一个变量计数,定时器设定为5MS中断,需要计时的时候使能定时器。中断中进行计数。到最后 例如磁阀断开或闭合时停止定时器,看看 这个变量记了几个数,*5 就知道是多少毫秒了。

使用特权

评论回复
15
ocon| | 2013-5-26 17:55 | 只看该作者
建议用光耦和电阻直接测量电磁阀线圈上的电压有无,不过有可能难度太小你们老师通不过。

使用特权

评论回复
16
impenger|  楼主 | 2013-5-26 20:41 | 只看该作者
ocon 发表于 2013-5-26 17:55
建议用光耦和电阻直接测量电磁阀线圈上的电压有无,不过有可能难度太小你们老师通不过。 ...

嗯,直接测电磁阀线圈电流也可以,用一个示波器估计就可以了,但是感觉难度太小了,怕老师不会同意的就麻烦了 。

使用特权

评论回复
17
impenger|  楼主 | 2013-5-27 02:53 | 只看该作者
用ADC0808模数转换后,能看到输出全为高电平,那应该数码管也显示255才正确,为什么这个显示242?有人知道原因么?难道是程序问题?仿真图如下

2.png (2.6 KB )

2.png

1.png (3.99 KB )

1.png

使用特权

评论回复
18
impenger|  楼主 | 2013-5-27 02:56 | 只看该作者
ningling_21 发表于 2013-5-26 17:40
一个定时器就行了,用一个变量计数,定时器设定为5MS中断,需要计时的时候使能定时器。中断中进行计数。 ...

嗯,谢谢您,基本有思路了。

使用特权

评论回复
19
impenger|  楼主 | 2013-5-27 13:20 | 只看该作者
问题解决了,adc芯片时钟频率设置的不合适。尽信书不如无书。

使用特权

评论回复
20
voforetty| | 2013-5-27 18:46 | 只看该作者
Need to think!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

66

帖子

1

粉丝