• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

过年吃喝玩乐不如在家搞技术,分享我的光电法采集脉搏信号电路

一场小雪为春节的假期划上了圆满的句号。新年假期归来,习惯了放松的节奏,再开始紧张忙碌的工作,是不是都会觉得不太适应,无法进入状态呢?作为好奇宝宝的我很好奇过节期间大家都在忙些什么?有的忙着走亲访友,有的忙着大吃大喝山珍海味,有的忙着出国旅游?这里就不忘提醒下各位,过年期间好吃好喝好玩都是难免的,但是身体健康状况也是马虎不得的,没有一个好身体,怎么以饱满的精力与热情迎接新一年的工作与挑战呢?身为技术宅的本人我,利用假期简单研究制作了一个测量人体脉搏波的小东西,尽管不复杂,但是调试过程中的问题还是不少的,小小总结了一下经验与教训,感兴趣的话,听我一一道来吧!欢迎各位大侠前来拍砖~~

下面的电路是用光电法采集脉搏信号的第1级电路----流压转换电路

这是一个很简单的电路,运放是单电源供电的,看得出来问题在哪里吗?这个电路没有任何的输出,因为光敏二极管接反了,导致光生电流的流向是与实际需要正好相反,所以应该把D7的正极接到运放的同相端才对,还有同相端为什么不直接接地,因为这是为了给同相端提供偏压,可想而知,如果反向端的电压始终高于同相端,那放大器的最终输出始终为负值,而系统是单电源供电的,也就是说最终输出始终为0,根本无法输出信号。

再者用示波器观察到的信号受到50hz工频干扰十分严重,如下图

分析原因,可能是第一级电路没有采用差分输入的形式,导致50hz的共模信号没有得到较好的抑制,但也没办法了,电路都做好了,也懒得改了,好在50hz的信号比人体脉搏信号频率高很多,比较容易处理,送单片机进行数字滤波,效果还不错。

还有一个小小的蜂鸣器,竟然出问题,我以前都是用NPN管子驱动,但是这次就是驱动不起来,没有声音输出,三极管和蜂鸣器都换过了,无济于事,找了好久的原因,后来改成用PNP驱动才能正常工作。

而且单片机管脚内部已经提供了上拉电阻,分析原因可能是单片机的管脚输出电流太小了,改成PNP则不涉及这样的问题。

程序方面,因为我是将430的程序向51单片机移植的,程序用过很多次,都没有问题,但移植过来,不奏效,编译提示缺少分号/括号之类的错误,甚是无奈,后来无意中发现,在51中data 是一个关键字,而我的程序中定义了一个名为data的变量,int data,显然,在51中这是错误的,编译器会认为缺少了变量名。

听了我的分享,是不是觉得或多或少会有些启发呢?希望这些经验之谈,能够给更多的人带来工作与学习上的帮助。

三人行必有我师,希望我们每个人都能成为更多人技术上的老师。

全部回复(36)
正序查看
倒序查看
2014-02-08 14:11

几年前我在上学的时候,曾经做这个的,

但是最后以失败告终。。

当时是因为放大电路老是弄不好,最后就放弃了。

0
回复
2014-02-08 14:23
哎。东西的原理再简单,做起来也还是有难度的。要有耐心有恒心才行啊
0
回复
2014-02-08 16:56
@庸人自扰
哎。东西的原理再简单,做起来也还是有难度的。要有耐心有恒心才行啊
真的是这样~不过只要肯动手去做,付出的时间与精力达到了,总会有提高的。功夫不负有心人嘛
0
回复
2014-02-09 15:43
过节还不忘弄技术,精神可嘉,前途无量!
0
回复
ta7698
LV.9
6
2014-02-09 16:19
过完年这么快就进入状态,佩服!
0
回复
2014-02-15 16:01
楼主讲讲数字滤波怎么实现的呗,洗耳恭听
0
回复
2014-02-15 16:03
@江洋大盗哥哥
楼主讲讲数字滤波怎么实现的呗,洗耳恭听
其实很简单,就是将AD的多个采样点相加再取平均值,就可以了。
0
回复
2014-02-15 16:04
@爱在春天
其实很简单,就是将AD的多个采样点相加再取平均值,就可以了。
我现在测PT100就是取14次,去头去尾,再求平均,总之也不尽理想,老大有别的好法没 
0
回复
2014-02-15 16:05
@江洋大盗哥哥
我现在测PT100就是取14次,去头去尾,再求平均,总之也不尽理想,老大有别的好法没 
这个是跟你的噪声的频率有关,如果噪声的频率和信号的频率相近,就不好办了。
0
回复
2014-02-15 16:06
放大电路贴出来看看撒 
0
回复
2014-02-15 16:07
@司机与斯基
放大电路贴出来看看撒 
放大电路很简单啊
0
回复
2014-02-15 16:07
@司机与斯基
放大电路贴出来看看撒 

0
回复
2014-02-15 16:07
@江洋大盗哥哥
我现在测PT100就是取14次,去头去尾,再求平均,总之也不尽理想,老大有别的好法没 
对了,取14次太少了点,掐头去尾作用不大,一般采样速度都很快的,取100次试试。
0
回复
2014-02-15 16:08
@爱在春天
对了,取14次太少了点,掐头去尾作用不大,一般采样速度都很快的,取100次试试。
我是排序之后再掐头去尾的,取一百次耗时太长了,我要采8路信号呢 
0
回复
2014-02-15 16:09
多搭些电路总是有好处的 
0
回复
2014-02-15 16:10
@快刀斩乱麻kd
多搭些电路总是有好处的 
嗯,总有你想不到的问题
0
回复
2014-02-15 16:11
@爱在春天
[图片]
那针对不同的测试者,信号强度如何调整? 
0
回复
2014-02-15 16:11
@司机与斯基
那针对不同的测试者,信号强度如何调整? 
是不能自动调整的,现在只能通过调整手指在指套中的位置,也有一定效果,如果要适应不同的人的话,可以把可调电阻换成DA输出来控制。

没考虑那么多,这个只有我用过,测试的时候都是用我自己的手指。所以调好了就不用动了。

0
回复
2014-02-15 16:13
而且单片机管脚内部已经提供了上拉电阻,分析原因可能是单片机的管脚输出电流太小了?---------应该没有找到原因
0
回复
2014-02-15 16:13
@此恨不关风与月
而且单片机管脚内部已经提供了上拉电阻,分析原因可能是单片机的管脚输出电流太小了?---------应该没有找到原因
换成PNP就好用了,拉电流和灌电流的问题导致的,除了管脚输出电流的问题,没有别的了。保守说法而已。
0
回复
2014-02-15 16:14

对于单片机来说,拉电流和灌电流不会相差太多,何况仅仅是驱动三极管而已,不可能出现用NPN不行的问题。你可以查看下三极管是否良好,脚序是否正确。

期待你的结果。 

0
回复
2014-02-15 16:14
@小小粉刷匠
对于单片机来说,拉电流和灌电流不会相差太多,何况仅仅是驱动三极管而已,不可能出现用NPN不行的问题。你可以查看下三极管是否良好,脚序是否正确。期待你的结果。 
三极管,蜂鸣器,全部换过,没有问题,换成PNP才可以工作,我也觉得奇怪。
0
回复
2014-02-15 16:15
@爱在春天
三极管,蜂鸣器,全部换过,没有问题,换成PNP才可以工作,我也觉得奇怪。
如果是这样的话,很可能是三极管的脚序不对,比如e、c反了,只有这样,三极管的放大倍数近似为1,蜂鸣器不响。请确认三极管脚序及放大倍数。 
0
回复
2014-02-15 16:15
@小小粉刷匠
如果是这样的话,很可能是三极管的脚序不对,比如e、c反了,只有这样,三极管的放大倍数近似为1,蜂鸣器不响。请确认三极管脚序及放大倍数。 
现在已经换成PNP了,不想再拆了,脚序的问题不会错,我用的不是51,而是一个测试中的单片机芯片,还没上市,或许和这个有关系。
0
回复
2014-02-15 16:16
@小小粉刷匠
如果是这样的话,很可能是三极管的脚序不对,比如e、c反了,只有这样,三极管的放大倍数近似为1,蜂鸣器不响。请确认三极管脚序及放大倍数。 
我是否有点太认真了?态度决定一切。 
0
回复
2014-02-15 16:16
@小小粉刷匠
我是否有点太认真了?态度决定一切。 

脚序是没有问题的,如果脚序有问题,说明我的三极管封装本身就有问题,但是这款三极管已经用过很多次了。

呵呵,认真点好,只不过这样的问题,以后也不会再发生了。

0
回复
2014-02-15 16:17

1 . 简单量下各点的电压就会很明白的了

2. 找到器件的厂家 认真看下器件手册 ,非常认真一字不漏地看 。  (  忽略这一点  估计是你们那位高学历老师的问题) 

0
回复
2014-02-15 16:19

51上课的时候没认真听吧?

51的准双向口的拉电流能力和灌电流能力不同,

这个应该是51单片机非常著名的一个特点了~

后续很多典型设计里面都能找到被这个IO结构影响的影子 

0
回复
山东大汉
LV.10
30
2014-02-16 23:08
真有耐心啊
0
回复
山东大汉
LV.10
31
2014-02-16 23:09
@yif的奇幻路程
51上课的时候没认真听吧?51的准双向口的拉电流能力和灌电流能力不同,这个应该是51单片机非常著名的一个特点了~后续很多典型设计里面都能找到被这个IO结构影响的影子 
是呀, 基础的知识
0
回复