Está en la página 1de 6

Original Work Progress Assessment #1

Date: ​3/23/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:

Most of this design is experimental and thus requires a lot of flexibility. As such, there

are no specific dates to work on the hardware. However, the deadline for having a finalized filter

design is March 18. The deadline for the PCB design is March 24.

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)

As of right now, I have only just finished the filter design, and thus, have not begun to

design the PCB. However, I plan to do that soon, and as I can reuse portions of my old EKG, I

do not expect this part to take as long as the circuit design. As of now, I plan to design the PCB

so it sits on top of the Arduino Uno (the microcontroller that I am using) as a shield, so that the

EKG will all be put together. After this is completed, I will then just have to solder all of the

parts together.

Overall, I was extremely pleased with how well the final signal turned out. Filters have

always been a topic that I often had to return to my notes for, but after working with them for

weeks, I have a higher level of comprehension than I have had before. Additionally, I am more

familiar with the oscilloscope, and I am now able to use it without too much help from others.

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:

The deadline for this is May 5, and I am expecting to be on a slight time crunch, due to

the fact that this will be very difficult to fix when I encounter problems. However, since I have

already begun to work on this and have knocked out one of my major concerns in terms of

manipulating the signal, I am not extremely worried.


Results:

Because I do not yet have the PCB for the signal, I have been unable to proceed very far

into this step. However, I have all of the components (minus the PCB) and have already begun

programming the device in the IDE. I have had problems with the LCD, because the print

function will not output text to the screen. This may be due to a problem with the LCD or with a

faulty soldering job when I was putting it together.

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.

I am the most nervous about this part of my original work, as I am the most unfamiliar

with this portion. I have experience working with hardware, but very little working with analog

signals in programming, and nonexistent experience working with Arduinos. However,

programming language and logic are very similar, so I hope that this will not be too much of a

struggle.

También podría gustarte