Maker Pro
Maker Pro

Converting Signal from Polar Heart Rate Monitor

Hey All,
I'm trying to design a circuit to input a signal from a Polar heart
monitor (3V Square Wave, ~1Hz) to a serial port RS-232. The frequency
of the signal varies according to the users heart rate. I am having
trouble trying to find a F/V that will work for my application. My idea
was to convert the input with the F/V then use a ADC using this design
http://www.engj.ulst.ac.uk/sidk/resources/serial2.htm If anyone has a
better idea or any advice it would be greatly appreciated. Thanks for
the help.
Matt
 
J

Johnny Boy

Hey All,
I'm trying to design a circuit to input a signal from a Polar heart
monitor (3V Square Wave, ~1Hz) to a serial port RS-232. The frequency
of the signal varies according to the users heart rate. I am having
trouble trying to find a F/V that will work for my application. My idea
was to convert the input with the F/V then use a ADC using this design
http://www.engj.ulst.ac.uk/sidk/resources/serial2.htm If anyone has a
better idea or any advice it would be greatly appreciated. Thanks for
the help.
Matt
With such low frequencies, I'd be looking at timing the time between
pulses, rather than using an analogue frequency-to-voltage converter. Not
sure how accurately you can do that under Windows. When I last did any
Windows programming, you could only be sure of about 50mS resolution.
It'd be easy with a micro-controller, though, if you have the
facilities.
.... Johnny
 
Hey All,
I'm trying to design a circuit to input a signal from a Polar heart
monitor (3V Square Wave, ~1Hz) to a serial port RS-232. The frequency
of the signal varies according to the users heart rate. I am having
trouble trying to find a F/V that will work for my application. My idea
was to convert the input with the F/V then use a ADC using this design
http://www.engj.ulst.ac.uk/sidk/resources/serial2.htm If anyone has a
better idea or any advice it would be greatly appreciated. Thanks for
the help.

Let an MCU do the job, or install some unix.

With an MCU you can just time the square wave and send the data over builtin
uart. I think even a 3 USD mcu can fix this.
 
P

petrus bitbyter

Hey All,
I'm trying to design a circuit to input a signal from a Polar heart
monitor (3V Square Wave, ~1Hz) to a serial port RS-232. The frequency
of the signal varies according to the users heart rate. I am having
trouble trying to find a F/V that will work for my application. My idea
was to convert the input with the F/V then use a ADC using this design
http://www.engj.ulst.ac.uk/sidk/resources/serial2.htm If anyone has a
better idea or any advice it would be greatly appreciated. Thanks for
the help.
Matt

Matt,

There's no use in converting a digital signal to analog only to convert it
to some other taste of digital again. I see two solutions that might help
you:
1 - Use some micro with a build-in UART and a MAX232 like 5V(logic) to RS232
level converter. The X-tal clock of the micro should be accurate enough for
your application but that can hardle be a problem. You can make the micro
count clockpulses between two rising edges of your heartbeat monitor,
convert the result to an appropriate ASCII and send it to the serial port.
No need to say the bulk of the work wil be programming the micro.
2 - Convert your 3V square wave to RS232 level and connect it to an input of
the serial port. No need to use RxD. DSR or CTS can also be used. Now write
an interupt routine that acts on a change of the input used. Increment a
counter and check the time. After 60s you process the counter contents and
reset it. You can vary in different ways. Use two interrupt routines, one
for the clock and one for the heartbeat. Use more counters to provide an
update on every heartbeat and so on. This solution places the burden on the
PC-programmer.

petrus bitbyter
 
D

Don Lancaster

Johnny said:
With such low frequencies, I'd be looking at timing the time between
pulses, rather than using an analogue frequency-to-voltage converter. Not
sure how accurately you can do that under Windows. When I last did any
Windows programming, you could only be sure of about 50mS resolution.
It'd be easy with a micro-controller, though, if you have the
facilities.
... Johnny
The frequency of the pulse rate monitor is INDEPENDEDNT of the pulse rate.

It is the envelope or the PULSE REPITITION RATE that you need to measure.

Tutorial at http://tinaja.com/glib/hack68.pdf

--
Many thanks,

Don Lancaster voice phone: (928)428-4073
Synergetics 3860 West First Street Box 809 Thatcher, AZ 85552
rss: http://www.tinaja.com/whtnu.xml email: [email protected]

Please visit my GURU's LAIR web site at http://www.tinaja.com
 
J

Johnny Boy

Don Lancaster said:
The frequency of the pulse rate monitor is INDEPENDEDNT of the pulse rate.
It is the envelope or the PULSE REPITITION RATE that you need to measure.
Tutorial at http://tinaja.com/glib/hack68.pdf
Many thanks,
Don Lancaster voice phone: (928)428-4073
Synergetics 3860 West First Street Box 809 Thatcher, AZ 85552
rss: http://www.tinaja.com/whtnu.xml email: [email protected]
Please visit my GURU's LAIR web site at http://www.tinaja.com

Hi Don, I only made my suggestion based on Matt's info of a 3V
square-wave at ~ 1Hz, implying that the pulses were synchronised to the
heart-rate. And that: "The frequency of the signal varies according to the
users heart rate."
Incidentally, isn't the "pulse repetion rate" equal to the frequency?

After having a look at your web-page, things are a little clearer. A
couple of questions, though, if you don't mind:-

1./ Do the "six micropower pulses" at (B) in your diagram represent 6 pulse
events, (heartbeats)?

2. What does the output directly from the "conductive pickup pads", before
signal conditioning, look like?

(I've had a bit of a look on the web, but couldn't find exactly what I was
looking for.)

.... Johnny
 
petrus said:
Matt,

There's no use in converting a digital signal to analog only to convert it
to some other taste of digital again. I see two solutions that might help
you:
1 - Use some micro with a build-in UART and a MAX232 like 5V(logic) to RS232
level converter. The X-tal clock of the micro should be accurate enough for
your application but that can hardle be a problem. You can make the micro
count clockpulses between two rising edges of your heartbeat monitor,
convert the result to an appropriate ASCII and send it to the serial port.
No need to say the bulk of the work wil be programming the micro.
2 - Convert your 3V square wave to RS232 level and connect it to an input of
the serial port. No need to use RxD. DSR or CTS can also be used. Now write
an interupt routine that acts on a change of the input used. Increment a
counter and check the time. After 60s you process the counter contents and
reset it. You can vary in different ways. Use two interrupt routines, one
for the clock and one for the heartbeat. Use more counters to provide an
update on every heartbeat and so on. This solution places the burden on the
PC-programmer.

petrus bitbyter

Note most 232 receivers do not need the signal to go beneath ground. In
fact, they are designed to be somewhat TTL compatible. I never bother
with 232 converters for simple hacking purposes. Note that the 232
converters with charge pumps put jitter on the pulse. Not significant
in this application, but it can be around half a microsecond, maybe
more.

Also, as windows progressed, the interupt timing got much more poorly
controlled. You really need DOS to get good timing on the handshake
line. Again, probably not a problem in this application. There is a
commonly used program called slicer.exe that is used for detecting the
presense of signals on the handshake lines.
http://home.ica.net/~phoenix/wap/slicer.htm
It is a good diagnostic to see that the line is wiggling.
 
J

jasen

Hey All,
I'm trying to design a circuit to input a signal from a Polar heart
monitor (3V Square Wave, ~1Hz) to a serial port RS-232. The frequency
of the signal varies according to the users heart rate. I am having
trouble trying to find a F/V that will work for my application. My idea
was to convert the input with the F/V then use a ADC using this design
http://www.engj.ulst.ac.uk/sidk/resources/serial2.htm If anyone has a
better idea or any advice it would be greatly appreciated. Thanks for
the help.
Matt

amplifiy it (until it meets RS-232 spec) and feed it to the carrier-detect
pin. the carrier-detect pin can trigger an interrupt/signal/event so the rest
can easily be done in software.

you may need isolation in there too, an opto-isolator can easily be driven
from a 3v signal (just pick the apropriate resistor)
 
J

jasen

Note most 232 receivers do not need the signal to go beneath ground. In
fact, they are designed to be somewhat TTL compatible. I never bother
with 232 converters for simple hacking purposes. Note that the 232
converters with charge pumps put jitter on the pulse. Not significant
in this application, but it can be around half a microsecond, maybe
more.

Also, as windows progressed, the interupt timing got much more poorly
controlled. You really need DOS to get good timing on the handshake
line.

millisecond timing is easy in windows, microsecond timing is trivial
in linux. 10ms precision would be overkill for an application like
this.
 
Top