一场小雪为春节的假期划上了圆满的句号。新年假期归来,习惯了放松的节奏,再开始紧张忙碌的工作,是不是都会觉得不太适应,无法进入状态呢?作为好奇宝宝的我很好奇过节期间大家都在忙些什么?有的忙着走亲访友,有的忙着大吃大喝山珍海味,有的忙着出国旅游?这里就不忘提醒下各位,过年期间好吃好喝好玩都是难免的,但是身体健康状况也是马虎不得的,没有一个好身体,怎么以饱满的精力与热情迎接新一年的工作与挑战呢?身为技术宅的本人我,利用假期简单研究制作了一个测量人体脉搏波的小东西,尽管不复杂,但是调试过程中的问题还是不少的,小小总结了一下经验与教训,感兴趣的话,听我一一道来吧!欢迎各位大侠前来拍砖~~
下面的电路是用光电法采集脉搏信号的第1级电路----流压转换电路
这是一个很简单的电路,运放是单电源供电的,看得出来问题在哪里吗?这个电路没有任何的输出,因为光敏二极管接反了,导致光生电流的流向是与实际需要正好相反,所以应该把D7的正极接到运放的同相端才对,还有同相端为什么不直接接地,因为这是为了给同相端提供偏压,可想而知,如果反向端的电压始终高于同相端,那放大器的最终输出始终为负值,而系统是单电源供电的,也就是说最终输出始终为0,根本无法输出信号。
再者用示波器观察到的信号受到50hz工频干扰十分严重,如下图
分析原因,可能是第一级电路没有采用差分输入的形式,导致50hz的共模信号没有得到较好的抑制,但也没办法了,电路都做好了,也懒得改了,好在50hz的信号比人体脉搏信号频率高很多,比较容易处理,送单片机进行数字滤波,效果还不错。
还有一个小小的蜂鸣器,竟然出问题,我以前都是用NPN管子驱动,但是这次就是驱动不起来,没有声音输出,三极管和蜂鸣器都换过了,无济于事,找了好久的原因,后来改成用PNP驱动才能正常工作。
而且单片机管脚内部已经提供了上拉电阻,分析原因可能是单片机的管脚输出电流太小了,改成PNP则不涉及这样的问题。
程序方面,因为我是将430的程序向51单片机移植的,程序用过很多次,都没有问题,但移植过来,不奏效,编译提示缺少分号/括号之类的错误,甚是无奈,后来无意中发现,在51中data 是一个关键字,而我的程序中定义了一个名为data的变量,int data,显然,在51中这是错误的,编译器会认为缺少了变量名。
听了我的分享,是不是觉得或多或少会有些启发呢?希望这些经验之谈,能够给更多的人带来工作与学习上的帮助。
三人行必有我师,希望我们每个人都能成为更多人技术上的老师。