打印

【我的DIY设计】F3试做ECG,遇到一些问题,求助!

[复制链接]
3114|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 zepanwucai 于 2013-1-12 20:50 编辑

快考试周了,终于稍微有空可以玩下拿到的F3 discovery了(更新:没想到考试周也被抓去搬砖,可能接下来几天都没法继续调了。。),因为具有模拟功能和dsp功能,所以想试着做个ecg,可以用内置运放做前端信号放大,用dsp功能对心电信号滤波处理。昨天刚调试了一下,遇到一些问题,请大虾指点!硬件部分思路是这样的:
心电信号<1mV,板子供电3V,应放大1K~2K倍。先由INA333仪表放大器放大5倍(1+100K/24K),再由F3内置运放二级放大。
由于内置运放输入失调电压约2mV,放大倍数不宜过大,所以设定F3内置运放放大200(2.2M/11K)。
基线漂移补偿也使用内置运放(1M,0.1u)。
基准电压由F312bit DAC产生,再使能内置缓冲器输出。
板子上的用户按键用来调节基准电压,防止信号超出0~3V的范围。
最终放大结果由ADC读取。
通信使用UART接口。
最终引脚分配如下:
反向放大OP1-PA3  +PA5  OUT PA2, 内部接到ADC1channel 3
漂移补偿OP3:  -PB2  +PA5  OUT PB1
DAC:channel2,PA5
ADC: ADC1 channel 3
UART:UART1, TX PC4,RX PC5
原理图设计如下:

然后手工制版,焊接。
接下来是软件部分,下位机部分由于有例程库,很快就把各个外设调好了,ADC采样率为400Hz。
先不用dsp滤波,直接发送原始数据到上位机。上位机先用matlab gui编写,后期计划用Qt或者在安卓平台上编写。
通过上位机显示的图像的观察,硬件在焊接上应该没有问题,因为通过按键可以看到基准电压按预期的步进,双手不按时基本是50Hz的干扰信号,滤掉后基本是一条水平线。
但问题是双手手指分别按到两个电极上后,虽然可以看到一些波形,但是基本看不出心电图的PQRST特征波形,即使调整滤波器的参数也无法显示出正常的波形(fir1(32,fc/(fs/2)),fs=400Hz,fc从5Hz调到40Hz都试过)
采集的原始数据见附件中的y.txt,滤波前和滤波后的图像如下所示:fir1(32,30/(400/2))
原始数据.rar (23.23 KB)


附件中的x.txt是把原理图中的C1改成20nF的结果,因为感觉可能是噪声放大得太大导致的,所以先在前面就尽量把噪声抑制掉,防止运放总是饱和。同样使用fir1(32,30/(400/2)),结果如图:


但是还是看不出正常波形。。
不知道大虾们看了原理图和数据、波形后有没有发现哪里出了问题?不吝赐教啊!

PS:附一个调试外设时发现的一个问题,可能是F3的bug:
数据手册中写F3的PGA的放大精度是1%,我用DAC2作为同相端输入来测试,12bit,数值为512(约0.375V),PGA放大倍数设置为2.
当DAC不开启输出缓冲器时,实测DAC输出0.369V,PGA输出0.732V,误差刚好在1%
然而当DAC开启输出缓冲器时,实测DAC输出0.368V,PGA输出0.682V,误差却超过7%
不知道这算不算一个bug?是不是DAC内部缓冲器和内置运放的内部连线有些问题?

沙发
IJK| | 2013-1-11 11:58 | 只看该作者
ECG不好做,电源很有讲究,最好用电池供电。
第2级放大200倍觉得多了,50倍左右感觉差不多了。

使用特权

评论回复
板凳
IJK| | 2013-1-11 12:00 | 只看该作者
LZ可以参考TI的一些资料。STM32F3也有一些资料,可以参考STM32F373的官方DEMO板,上面也有ECG的电路。

使用特权

评论回复
地板
王小毛wxm| | 2013-1-11 12:55 | 只看该作者
哇  楼主f3用上的好快呀  
先mark下  我毕设要做个东西 用f303
过后来学习学习

使用特权

评论回复
5
zepanwucai|  楼主 | 2013-1-11 13:51 | 只看该作者
IJK 发表于 2013-1-11 11:58
ECG不好做,电源很有讲究,最好用电池供电。
第2级放大200倍觉得多了,50倍左右感觉差不多了。 ...

看了一下373的电路图,它是INA333放大20倍,运放放大30倍,按这个参数重焊了下,还是没什么作用。。

使用特权

评论回复
6
IJK| | 2013-1-11 15:26 | 只看该作者
zepanwucai 发表于 2013-1-11 13:51
看了一下373的电路图,它是INA333放大20倍,运放放大30倍,按这个参数重焊了下,还是没什么作用。。 ...

最好电池供电,提高共模抑制比。

使用特权

评论回复
7
雨落沉轩| | 2013-1-11 22:42 | 只看该作者
mark

使用特权

评论回复
8
anybody| | 2013-1-12 11:01 | 只看该作者
工频干扰严重!需要加50Hz的陷波器

使用特权

评论回复
9
zepanwucai|  楼主 | 2013-1-12 20:46 | 只看该作者
anybody 发表于 2013-1-12 11:01
工频干扰严重!需要加50Hz的陷波器

使用数字滤波也一样的吧,只要前面噪声不要放大到超过电源电压。

使用特权

评论回复
10
anybody| | 2013-1-12 20:52 | 只看该作者
zepanwucai 发表于 2013-1-12 20:46
使用数字滤波也一样的吧,只要前面噪声不要放大到超过电源电压。

数字滤波也可以,但是工频干扰经放大后可能超过运放的量程。有时候耦合到人体的工频共模干扰是相当大的,
如果要做数字滤波,就需要保证输入级足够高的共模抑制比。

使用特权

评论回复
11
杨立业yly| | 2013-1-14 13:47 | 只看该作者
楼主有没有用F3 Discovery的 串口啊?

使用特权

评论回复
12
568581185| | 2013-2-18 16:02 | 只看该作者
楼主加油!

使用特权

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

本版积分规则

15

主题

180

帖子

6

粉丝