Timeline for AD8232 - Measuring heart rate only if USB connector is touched. Grounding issue?
Current License: CC BY-SA 4.0
30 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Sep 8 at 5:53 | answer | added | Basher | timeline score: 1 | |
May 30, 2023 at 6:05 | history | bumped | CommunityBot | This question has answers that may be good or bad; the system has marked it active so that they can be reviewed. | |
Jan 30, 2023 at 6:04 | history | bumped | CommunityBot | This question has answers that may be good or bad; the system has marked it active so that they can be reviewed. | |
Dec 31, 2022 at 5:28 | answer | added | littlegreenrock | timeline score: 2 | |
Dec 30, 2022 at 11:05 | history | edited | Stefan Falk | CC BY-SA 4.0 |
added 129 characters in body
|
Dec 30, 2022 at 11:04 | comment | added | Stefan Falk | I am using the ones that came with the module itself. | |
Dec 30, 2022 at 2:14 | comment | added | timemage | Are you using electrodes that Sparkfun made or did you wire them yourself? | |
Dec 29, 2022 at 21:11 | comment | added | Stefan Falk | I'm running it via the USB cable but I can try switching it to a battery. It's interesting because if I touch the radiator, then it will read a disconnect. If I touch the GND of the Arduino, it "works". Anything else is just random noise. Weird. ^^ | |
Dec 29, 2022 at 20:59 | comment | added | timemage | Yes, I saw that. I'm saying that touching the USB shield could be having any number of effects related to the things mentioned in those reviews. I'm not able to test what happens if you run it on a battery or if you change the connections to the jack, or if you filter out your mains frequency. But you are. | |
Dec 29, 2022 at 20:29 | comment | added | Stefan Falk | @timemage hm, not sure. It appears that I myself need to be grounded because after touching GND the signal is "okay". Yeah it's very noisy but you could compute the heart rate with that. My problem is that I don't understand why I have to be grounded in order to get a signal. I thought this measures voltage differences between two points given a reference point. | |
Dec 29, 2022 at 19:35 | comment | added | timemage | Read through the reviews here and see if anything jumps out. The reviews titled "Great But Bad Pinout", "Poor Signal-to-Noise (SNR) ratio", "It actually works! for hobby purposes" all seem to contain something that may be relevant to your problem. | |
Dec 29, 2022 at 19:05 | history | edited | Stefan Falk | CC BY-SA 4.0 |
added 147 characters in body
|
Dec 29, 2022 at 18:36 | comment | added | Stefan Falk | @6v6gt Okay so.. I kind of got it working.. it only works if I touch the USB connector of the Arduino. Only discovered this by accident. Any idea what the problem is? It should work without that, shouldnt it? | |
Dec 29, 2022 at 18:35 | history | edited | Stefan Falk | CC BY-SA 4.0 |
added 27 characters in body
|
Dec 29, 2022 at 18:21 | history | edited | Stefan Falk | CC BY-SA 4.0 |
added 135 characters in body
|
Dec 29, 2022 at 18:15 | history | edited | Stefan Falk | CC BY-SA 4.0 |
added 281 characters in body
|
Dec 29, 2022 at 18:13 | comment | added | Stefan Falk | I was about to post the same link as I've extended the number of samples to 5k now but the result is just pure garbage.. I just don't get what the hell is going on here... | |
Dec 29, 2022 at 13:27 | comment | added | 6v6gt | You'll see that the limited number of sample that the IDE V2.x.x Serial plotter allows (by default) has got some criticism. Also there is also an apparent work around at the end of this thread: github.com/arduino/arduino-ide/issues/803. One of your problems is that if you increase the delay between samples enough to be display about 2 seconds of data (say 40ms), if only 50 samples are allowed, you may miss the interesting peaks. | |
Dec 28, 2022 at 23:09 | comment | added | Stefan Falk | Tried that. The values jump around between 300 and 700 -I can't comprehend what's going on. Either it's completely broken somehow or the plotter is not working as intended. I do set the output pin 13 to HIGH in order to see if I am connected or not - this light is flickering so it still kind of appears as if the connections aren't not working properly. I've tested everything for continuity with the multimeter so I don't think there's an issue - except the pads maybe but I didn't use them before. The other day I tested a smoke sensor which worked just fine .. | |
Dec 28, 2022 at 22:56 | comment | added | 6v6gt | Your code has multiple Serial.println() statements which could be causing the gaps. You should have only one (new line character) after printing the data line ( consisting of the 0, the 750 and the analog value). If there is a bad result, just print say 10 instead of the analog value so only numerical data is sent to the plotter. Maybe add a fourth plot that toggles between say 700 and 740 every 100ms. | |
Dec 28, 2022 at 22:30 | comment | added | Stefan Falk |
@6v6gt I've just updated the code and the plot. It's weird.. I've tried several delays now. A heartbeat appears to take around a secod (according to Google) so I've tried 1, 10, 25, 50 and 100 milliseconds using delay() but I always get chaotic results. As you can see above, the plot is not continuos as if the electrodes weren't connected at times. It's very jittery and I have no idea why. If I press the sensors on the skin the average jumps around but that's about it. Not sure where the problem is..
|
|
Dec 28, 2022 at 22:27 | history | edited | Stefan Falk | CC BY-SA 4.0 |
added 655 characters in body
|
Dec 28, 2022 at 22:17 | comment | added | 6v6gt | Interestingly, your serial plotter shows a range of 50 units (samples?) on the X axis. That would be about 50ms which, for a heart beat in the normal range, is clearly not enough. The Serial plotter with IDE version 1.8.19 shows a range of 500 units on the X axis which appears to be the same as the Sparkfun tutorial screen shots. Try increasing the delay until the full scale is 3 or 4 normal heart beats or export the results say to Excel and plot there. | |
Dec 28, 2022 at 21:48 | comment | added | Stefan Falk | Yes, according to those tutorials and the module, the power should be 3.3V. Nothing I see makes sense here. I've tried some sanity checks because I started thinking maybe I killed the Atmega accidentally but basic "LED blinking" is still working fine. I've absolutely no idea what this thing wants from me XD | |
Dec 28, 2022 at 21:16 | comment | added | 6v6gt | You are powering the module with 3.3 volts ? If you are using a 5 volt Uno, it will see a maximum analog reading of about 675 for peaks in a 3.3 volt signal. There does seem to be some clipping in the top range of the signal. | |
Dec 28, 2022 at 20:50 | comment | added | Stefan Falk |
@6v6gt I have updated my code to the actual thing I am using. Both electrodes appear to be connected (only occasionally I see a disconnect) but most of the time I can read values from A0 . It's just that it does not resemple a heartbeat ECG at all.
|
|
Dec 28, 2022 at 20:49 | history | edited | Stefan Falk | CC BY-SA 4.0 |
added 298 characters in body
|
Dec 28, 2022 at 20:43 | comment | added | 6v6gt | The Sparkfun tutorial learn.sparkfun.com/tutorials/… links to a sketch which reads also pins 10 and 11 (to detect a lead placement/connection problem) which you are ignoring. | |
S Dec 28, 2022 at 19:57 | review | First questions | |||
Dec 28, 2022 at 21:11 | |||||
S Dec 28, 2022 at 19:57 | history | asked | Stefan Falk | CC BY-SA 4.0 |