Sie sind auf Seite 1von 7

Original Work Product Progress

Date: ​4/9/18

Introduction:

As our world progresses, technology improves, and embedded systems can be found in

all aspects of our lives; one of these is medical equipment. My original work strives to create an

electrocardiogram (EKG) that not only accurately takes the EKG signal, but also uses

programming to find the heart rate. In the end, this should look like a finished product, ready to

be put on the medical device market.

Hardware:

Objective:

The EKG signal is extremely small - on the scale of milliVolts - and contains a lot of

noise from both the body and the surroundings. Therefore, by creating a circuit to filter and

amplify this signal, when the signal enters the program, it will be easier to manipulate.

This filtering is an integral part of not only the overall EKG, but it is also a chance to

demonstrate my knowledge of filtering techniques and printed circuit board (PCB) design, as this

will ultimately be on a PCB.

Materials:

- breadboard - people

- resistors and capacitors - instrumentation amplifier

- wires - operational amplifier

- electrodes - KiCad

- oscilloscope - solder
Dates:

March 17: complete redesign of EKG filter

March 24: redesign PCB and order components

March 31: solder components

Description of Process:

Circuit Design:

The creation of the design of the EKG is mostly based on trial and error. Half of the EKG

is already set in stone and therefore does not need to be changed. However, the original filters

need to be modified, as they allowed for too much noise to pass through. Thus, by identifying the

sources of noise (DC drift, power line noise), I am able to find the cutoff frequencies of my

filters and calculate the values of my components.

To identify the cutoff frequencies, I have to find which filter I am using. Using a filter

calculator website (​http://sim.okawa-denshi.jp/en/CRlowkeisan.htm​), I will be able to change

resistor and capacitor values quickly, allowing for higher efficiency when trying to find the

optimal design for the EKG.

PCB Design:

Once I finalize a design on the breadboard, I will then have to use KiCad, a PCB design

software, to create a PCB design that will be sent to a PCB manufacturer to get the board created.

To do this, I will first have to create a schematic that shows how each of the components are

connected. Then, I will have to create footprints for components not included in the KiCad

library. Most of these will be the integrated circuits, and thus, the information for these footprints

will be easily found online. Once this is complete, I will then have to move to the PCB editor,
where, using the rats nest created from the schematic connections, I will lay traces that show

exactly where the connections will be on the actual board. To send my design to the PCB

manufacturer, I will have to produce a gerber file, as well as a bill of materials for myself to buy

the components.

After I receive both the PCB and the components, I will then solder the components onto

the PCB using both solder paste and a soldering iron. After a final test to ensure that the design

works as expected, the hardware aspect of my original work will be completed.

Results:

I have been able to finish the filter design after countless hours of trial and error. The

output of the instrumentation amplifier goes through a high pass filter with cutoff frequency of 1

Hz to eliminate DC drift. After that, it goes through an active low pass filter that both filters the

signal and amplifies it, a notch filter at 60 Hz (for power line noise), then a final filter to

eliminate some of the noise at around 200 Hz that was showing up on the oscilloscope.

(image: breadboard of EKG )

The signal of the filter was extremely clean, and while I did lose a little information on

the QRS peak, my main concern was cleaning the signal of noise, which I accomplished. As far

as the small QRS peak, this will not be a problem in the software aspect.
(image: my filtered EKG signal with movement artifact)

The EKG filter stood the test of movement, and although it was transported (very

unsafely) around my house, school, and the Shoulders of Giants lab, it worked perfectly at the

mentor meeting two weeks later.

I have finished creating the PCB schematic, although I do need to assign footprints to

each of the components, as well as add a 5V linear regulator so the Arduino runs off the battery

rather than my laptop. Additionally, I need to find a way to design this to fit on top of the PCB.

This process may take about as long as my programming will, but if worse comes to worst, I will

be able to just use the EKG as a PCB, since I know that it functions properly.

(image: schematic of the EKG from KiCad)


Software:

Objective:

Most people are unable to interpret an EKG signal, and in order for this to mimic an

actual medical device or instrument, it needs to be user friendly. Thus, I made the decision to

create a program that detects a QRS peak and find the heart rate of the user. To find the heart

rate, I need to use a program that detects each pulse in the EKG. This portion will test me in new

ways, as I have almost exclusively used C++ and MSP microcontrollers, not Arduinos.

Materials:

- Arduino Uno - I2C shield

- Arduino IDE - jumper wires

- completed PCB (from last section - resistors

- liquid crystal display (LCD) - buttons

Description of Process:

By referencing existing projects on the Arduino website, I will be able to learn the

individual parts of the project before putting them all together. This includes being able to read

an analog signal and manipulating it, as well as using the LCD properly and outputting

information when certain actions happen.

Once I am able to link the two together, I will begin manipulating the signal. To do this, I

will have to find the second derivative of the signal to detect where the fastest rates of change are

(the QRS peaks). Then, by storing consecutive data points for the times where these take place, I

will be able to find the average heart rate. I will also issue a warning to the user when they move

and corrupt the EKG signal, as a way to further improve the user-friendly aspect of the EKG.
Dates:

April 14: modify an existing Arduino program to take in the EKG signal

May 5: modify program to calculate heart rate

May 5: add a digital filter

Results:

As far as manipulating the signal, Dr. Foland and I worked with a sample EKG as a .csv

file and Octave, a program very similar to MATLAB. We found a way to detect the heart rates

and by transferring the code to the Arduino, I will have finished a major portion of the software

work. In addition to this, Dr. Foland also gave a lecture over digital filtering, which will help

significantly with the software filtering aspect of the EKG.

Using an Arduino-user’s tutorial, I created a program that took the temperature and

humidity of the area around it as an exercise. Although I still do not have a PCB created, I had

the breadboard, so, by changing around the wiring and the temperature/humidity sensor code, I

was able to display the analog values of the EKG. I stored these values and graphed them in

excel, and found that I was indeed getting an EKG signal. This was extremely unsafe, as I was

essentially connecting myself to the power in the wall, so I will be attempting to do the same

thing, but with the Arduino connected to a 5V linear regulator instead.


(image: temperature and humidity sensor working properly)

(image: excel graph of hardware filtered EKG from A0 pin on Arduino)

I combined this with the code that Dr. Foland helped me create, and with additional help

from his digital filtering lecture, I have begun to put all of the project together. It does not yet

work, but I am very optimistic.

Das könnte Ihnen auch gefallen