Ich habe ein kleines Problem mit meinem EKG. Wenn ich an den Leads stochere, bekomme ich einen Messwert. Aber wenn ich die Leitungen halte oder sie in die Nähe meines Herzens lege, bekomme ich nichts. Ich bin mir ziemlich sicher, dass dies mit der Hardware zusammenhängt, aber ich möchte ein potenzielles Softwareproblem nicht vollständig ausschließen. Ich habe dieses YouTube-Video als Leitfaden verwendet: https://www.youtube.com/watch?v=NDjRg-KgIXY , mit ihrer Schaltungsshow unten.
Mein Steckbrett sieht fast genauso aus, aber mit ein paar Änderungen. Anstatt das EKG über ein Audiokabel mit dem Computer zu verbinden, habe ich es per Bluetooth auf mein Handy übertragen. Hier ist mein schematisches Diagramm.
Hier ist mein Steckbrettdiagramm.
In meinem Steckbrett habe ich drei LM358-Operationsverstärker verwendet. Hier ist mein Arduino-Code (falls Sie ihn brauchen):
const int signal = 7; // Pin connected to the filtered signal from the circuit
unsigned long currentBeatTime;
unsigned long previousBeatTime;
unsigned long frequency;
// Internal variables
unsigned long period = 0;
int input = 0;
int lastinput = 0;
void setup() {
pinMode(signal, INPUT);
Serial.begin(9600);
previousBeatTime = millis();
}
void loop() {
delay(100);
input = digitalRead(signal);
if ((input != lastinput) && (input == HIGH)) {
// If the pin state has just changed from low to high (edge detector)
currentBeatTime = millis();
period = currentBeatTime - previousBeatTime; // Compute the time between the previous beat and the one that has just been detected
previousBeatTime = currentBeatTime; // Define the new time reference for the next period computing
}
lastinput = input; // Save the current pin state for comparison at the next loop iteration
// Detect if there is no beat after more than 2 seconds
if ( (millis() - previousBeatTime) > 2000 )
{
//Serial.println("dead");
}
else
{
if (period <= 0)
{
frequency = 0;
}
else
{
frequency = 60000/period; // Compute the heart rate in beats per minute (bpm) with the period in milliseconds
}
Serial.println(frequency);
}
}
Jede Hilfe zu diesem Problem wird sehr geschätzt. Danke schön!
Du hast tatsächlich ein großes Problem. Sie lösen Geräusche aus, die durch das Dorking mit Ihren Ableitungen entstehen, und nicht auf irgendetwas, das mit dem EKG zusammenhängt. Das wird ohne Oszilloskop sehr schwierig zu debuggen sein. Was verwendest du für Elektroden? Auch ein echter Schaltplan für den analogen Teil wäre eine große Hilfe.
Ich schlage vor, Ihre Eingangsstufe sollte eine bescheidene Verstärkung haben, vielleicht 10, mit einem Instrumentenverstärker, dann einem Hochpassfilter, dann einer großen Verstärkung mit einem Operationsverstärker und einem Tiefpassfilter.
Die Leads gehören nicht in die Nähe deines Herzens. Halten Sie eine Leitung in jeder Hand und erden Sie Ihren Knöchel mit der gleichen Masse, die Sie für vref am Instrumentenverstärker verwenden.
AKTUALISIEREN:
1) Die Schaltung im Video ist nicht perfekt geeignet, um Biopotentiale zu verstärken. Sie wollen einen DIFFERENTIAL AMPLIFIER, und dieser Amp ist single-ended . Interessanterweise, selbst wenn dies nie für Biopotentiale verwendet werden sollte (es gibt keinen Hinweis im Video darauf), ist es immer noch eine Art Lehrbuchbeispiel für Studenten, die Lehrbuchbeispiele verwenden und erwarten, dass sie funktionieren. Sie gehen in die richtige Richtung, aber es gibt praktische Aspekte der Strecke, die eine Menge Probleme bereiten werden. Die 7-Megaohm-Widerstände erweisen sich als große Rauschquellen, wenn Sie versuchen, die Verstärkung zu erhöhen, und diese großen Widerstände verursachen auch große Offset-Spannungen, um Vorspannungsströme einzugeben, die Verstärkungsstufen stark genug sättigen, um EKG-Signale zu messen, die etwa . 1-5 mV Amplitude (Sie möchten also eine Verstärkung von etwa 500 oder so).
2) Auch wenn die Schaltung zur Messung von Biopotentialen in Ordnung wäre, wurde sie in diesem Fall nicht richtig implementiert.
a) Obwohl die von Ihnen verwendeten Operationsverstärker gut mit einer einzigen Stromversorgung versorgt werden können, sollten Sie für die Zwecke, für die Sie sie hier verwenden, eine positive und eine negative Stromversorgung haben. Sie können die Schaltung ändern, um eine einzelne Versorgung zu verwenden, aber das ist mehr Arbeit, als Sie übernehmen möchten. b) Sie können Widerstands- und Kondensatorwerte nicht einfach so austauschen und erwarten, dass sie funktionieren. Glücklicherweise scheint die Combo, die Sie auf der Hochpassfilterstufe verwenden, in Ordnung zu sein, aber Sie haben mir nicht genügend Informationen zur Verfügung gestellt, um etwas über die Tiefpassstufe zu erfahren.
Um dies richtig zu machen, sollten Sie eine bescheidene Differenzstufe haben, die bei einem Eingangs-Offset von etwa 200 mV nicht in die Sättigung geht. Ein Instrumentenverstärker (wie Ihr INA128) mit einer Verstärkung von 10 würde funktionieren, wenn Sie +/- Leistung liefern können. Wenn Sie mit einer Stromversorgung arbeiten müssen, benötigen Sie einen Instrumentenverstärker wie den AD623, dessen Eingänge unter die negative Schiene gehen können, wobei Vref auf etwa 2,5 V eingestellt ist. Dann benötigen Sie einen Hochpassfilter, um den verstärkten Offset loszuwerden. Danach eine Stufe mit einem Gain von ca. 50-100 und einem Low Pass Cutoff von ca. 50Hz. Danach benötigen Sie eine Art Komparatorstufe, die Sie als Herzschlagdetektor verwenden können, aber das geht vielleicht etwas zu weit.
(Nebenbei bemerkt, der modernere Ansatz besteht wahrscheinlich darin, nur die erste Stufe mit bescheidener Verstärkung und einen Tiefpassfilter zu haben, dann mit einer Auflösung von 24 Bit abzutasten und alles danach digital zu machen).
Unterm Strich funktioniert die Schaltung, die Sie verwenden, nicht, und es gibt keine gute Möglichkeit, sie zu beheben. Wenn Sie dies ohne ein Oszilloskop zum Debuggen versuchen, müssen Sie mit einem absolut kugelsicheren Design beginnen und es korrekt implementieren.
Ich schlage vor, sich http://www.eng.utah.edu/~jnguyen/ecg/instructions.html anzusehen (mit dem Schema unter http://www.eng.utah.edu/~jnguyen/ecg/bigsch.gif ) für einen Differenzverstärker, der für diesen Zweck arbeitet.
Scott Seidmann
Benutzer3744439
Scott Seidmann
Benutzer3744439
MarkU
Benutzer3744439
Scott Seidmann