Forum: Analoge Elektronik und Schaltungstechnik EEG mit AVR und ADS1194: Kritik und Anregungen


von Sebastian G. (jaseg)


Angehängte Dateien:

Lesenswert?

Hallo,
ich nehme dieses Jahr bei "Jugend Forscht" mit einer selbst gebauten 
LED-RGB-Lampe teil. Die Lampe funktioniert so weit und eine der 
Funktionen ist eine "intelligente" Weckfunktion, mit der sie mich an 
meinen Schlafzustand angepasst möglichst sanft durch langsames Dimmen 
wecken soll. Da mir die Lösung der Schlafphasendetektion mittels 
Beschleunigungssensor nicht sympathisch war, habe dazu ich eine 
EEG-Platine für eine Geringe Anzahl an Messpunkten entwickelt. Die 
Schaltung basiert auf einem ADS1194, einem 4-fach 16-Bit-ADC von Texas 
Instruments, der für jeden Kanal über einen integrierten Vorverstärker 
mit von 1 bis 12 digital einstellbarer Verstärkung verfügt. Zwischen 
Eingang und ADC sitzt (vorerst nur auf zwei Kanälen) ein INA155 
Instrumentierungsverstärker, dessen Gain mit einem Widerstand zwischen 
10 und 50 variiert werden kann. Hinter dem INA155 habe ich einen 
RC-Hochpass eingeplant, dessen Cutoff-Frequenz bei ca. 1Hz liegt 
(langsamere Signale sind nicht mehr interessant). Als Referenz dient ADC 
und INA eine im sonst unipolaren Design (0V, +5V) per Spannungsteiler 
(die absolute Genauigkeit ist relativ unwichtig) mit nachgeschaltetem 
Operationsverstärker auf 2,5V fixierte Masse, die plangemäß auch an der 
Referenzelektrode anliegen wird. Als Guard der Eingänge gegenüber dem 
bzgl. des Eingangssignals auf -2,5V liegenden Massefläche wird ebenfalls 
diese Referenzspannung verwendet.

Einige ungenutzte Pins sowie der SPI-Bus, der zur ISP des AVRs und zur 
Kommunikation des AVR mit dem ADC verwendet wird sind auf zwei 
Stiftleisten herausgeführt (die SPI-Buchse hat die Standardpinbelegung 
des STK500). Die zwei ungenutzen Eingänge des ADC möchte ich noch auf 
den vie
r bisher ungenutzten Buchsen rausführen.

Zur Stromversorgung:
Die Masse ist in AGND und DGND getrennt (In Eagle mangels Erfahrung ein 
Signal namens "AGND" sowie GND) und liegt auf der Platine in Form zweier 
getrennter Masseflächen vor, die über eine Spule verbunden sind. Die 
Spannungsversorgung des Digitalteils übernimmt ein 3,3V-Spannungsregler, 
die des Analogteils ein 5V-Exemplar. Gespeist wird die ganze Schaltung 
über eine Batterie.

Meine Frage bzw. Bitte ist nun, dass ihr euch Platine und Schaltung mal 
anschaut und mir sagt, ob ihr Fehler findet. Ich bin noch ziemlicher 
Anfänger und wäre für Feedback echt dankbar, vielleicht hat hier ja 
schonmal jemand etwas ähnliches gebaut.
Ich bin mir auch noch nicht so ganz sicher, ob es eine gute Idee ist, 
den Vorverstärker und den Filter auf der ADC-Platine zu integrieren, da
 sie sich dort kaum mehr anpassen lassen, und die ADS1194 mit 17€ recht 
teuer sind.

Ich werde das Projekt übrigens nach dem Wettbewerb unter der GPL 
freigeben.

Schonmal vielen Dank
Sebastian

von Mike S. (drseltsam)


Lesenswert?

Hallo,

sehr schönes Projekt! Ich wünsche Dir viel Erfolg!
Was mir aufgefallen ist:

1. Wie sind denn Kanal 1 und 2 angeschlossen?

2. Außerdem, brauchst Du bei dem Biosignal-Frontend den INA155 wirklich?

3. 100 k Widerstände am Eingang könnten leicht zu groß sein. Musst Du 
testen, wenn zu groß hast Du zu viele Störeinstreuung.

Was mich mal interessieren würde, ist, ob der ADS eine vernünftige 
Schutzbeschaltung der Eingänge für den Patienten hat?

von Lukas K. (carrotindustries)


Lesenswert?

Sebastian Götte schrieb:
> und die ADS1194 mit 17€ recht
> teuer sind.
Den ADS1298 gibt's als Gratis-Sample bei TI, seine kleineren Geschwister 
bestimmt auch.
Wozu die Instrumentenverstärker vor dem ADC? Dieser hat doch schon 
ausreichend gute Verstärker eingebaut. Mit dem ADS1298 lassen sich 
problemlos Signale im unteren mV-Bereich ohne Verstärker davor messen, 
die 24Bit helfen dabei. Als Tiefpassfilter reicht eigentlich ein 
Antialias Filter aus oder man kann ihn ebenfalls wie den Hochpass ganz 
weglassen; man kann die Filter in Software machen. Ist dein Patient 
geerdet? Sonst kann es vorkommen, dass dieser den Common-Mode Bereich 
des ADCs verlässt, ansonsten hilft das Right Leg Drive weiter; ist im 
Datenblatt mehr oder minder gut beschrieben, wie das anzuwenden ist.
Ach ja: Die ganzen kleinen Puffer und Pump-Cs (1µ-22µ) kannst du als 
Kerkos ausführen. Als 0805 bekommt man die ziemlich dicht an den IC ran.
MfG, Lukas

von erstaunter Gast (Gast)


Lesenswert?

Wow... Darf ich fragen wie alt du bist?

von Andre (Gast)


Lesenswert?

Hi!

Da kann ich mich nur anschließen, sehr schönes Projekt. Als Anfänger 
würde ich dich definitiv nicht bezeichnen. ;)

Nach kurzem Drüberschauen fallen mir eigentlich nur ein paar kleinere 
Sachen ein:

Das CS-Signal des ADS würde ich mit einem Pull-Up (100 k oder so) 
hochziehen. Denn wenn du den µC programmierst, werden alle Portpins 
hochohmig und das Potential des CS-Pins ist undefiniert. Dadurch könnte 
sich der ADS beim Programmieren angesprochen fühlen und dazwischen 
funken. Könnte dann Probleme beim Programmieren geben.

Die 100 k Widerstände am Eingang würde ich allerdings auch niederohmiger 
wählen. Bei einer ähnlichen Schaltung (auch Biopotentialableitung) habe 
ich gute Erfahrungen mit 22 k Widerständen gemacht.

Wenn Stromverbrauch eine Rolle spielt, würde ich auch nicht unbedingt 
den INA155 nehmen. Es gibt da z. B. noch den INA333, der viel weniger 
verbraucht und sogar noch RFI-Filter eingebaut hat.

Viel Erfolg!

Grüße
André

von Sebastian G. (jaseg)


Angehängte Dateien:

Lesenswert?

Hallo,
im Anhang ist eine neue Version von Board und Schematic
 - Die 100k-Widerstände habe ich durch 22k-Varianten ersetzt
 - Die meisten Kondensatoren sind jetzt kleinere Bauformen (0805 bzw. 
1206) und näher am ADC
 - Einige der Kondensatoren sind auf die Platinenunterseite gewandert, 
da dort die AVCC/VCC-Leiterbahnen verlaufen
 - !CS des ADC hat einen Pullup bekommen, !RESET einen Pulldown (damit 
der ADC während der AVR "startet" noch sicher aus ist).
 - Die Kanäle 3 und 4 sind jetzt angeschlossen. Da ich ohnehin nur ein 
bis zwei Kanäle verwenden werde kann ich so testen, ob ich die INAs 
brauche.

Gehe ich eigentlich richtig in der Annahme, dass ich, wenn ich (wie z.B. 
bei C1/C12) einen großen Elko und einen 100n-Kerko paralell geschaltet 
habe und ich den Elko durch einen Kerko gleicher Größe ersetzte, der 
100n-Kerko überflüssig ist? Dessen Zweck ist doch nur, den ESR unten zu 
halten, oder?

Mike Strangelove schrieb:
> Was mich mal interessieren würde, ist, ob der ADS eine vernünftige
> Schutzbeschaltung der Eingänge für den Patienten hat?
Als Schutz sind primär die Widerstände vor den Eingängen gedacht. Bei 
22k kann da ja im Grunde kein gefährlicher Strom mehr fließen. Ich 
glaube irgendwo was von einer internen ESD-Schutzschaltung der Eingänge 
gelesen zu haben (ist bei dem hohen Innenwiderstand der PGAs ja auch 
notwendig), weshalb ich auf eine zusätzliche externe Schutzschaltung 
verzichtet habe.
Der INA155 hat ebenfalls integrierte ESD-Schutzdioden.

Luk4s K. schrieb:
> Wozu die Instrumentenverstärker vor dem ADC? Dieser hat doch schon
> ausreichend gute Verstärker eingebaut. Mit dem ADS1298 lassen sich
> problemlos Signale im unteren mV-Bereich ohne Verstärker davor messen,
> die 24Bit helfen dabei. Als Tiefpassfilter reicht eigentlich ein
> Antialias Filter aus oder man kann ihn ebenfalls wie den Hochpass ganz
> weglassen; man kann die Filter in Software machen.
Ich habe den ADS1194 bestellt, weil die 24-Bit ADS12XX-Serie doch 
ziemlich teuer ist, und die 16 Bit mit Vorverstärker theoretisch 
ausreichen sollten. Ich werde jetzt mal versuchen, an ein, zwei Samples 
des ADS1294 zu kommen (hab ich bisher noch nie gemacht).
Den Hochpass hatte ich dazu gedacht, einen durch ein wohl möglicherweise 
vorhandenes Offset der Elektroden zueinander hinter dem Verstärker 
entstehenden DC-Anteil rauszufiltern. Wenn zwischen den Elektroden ein 
Offset von 10mV anliegen würde, läge der DC-Anteil hinter dem 
Vorverstärker bei G=50 bei 0,50V, und ist damit noch unproblematisch. 
Wenn das aber jetzt durch den PGA im ADC bei G=12 nochmal verstärkt 
wird, würde das uncool clippen und der Messbereich wäre verlassen (bitte 
korregiert mich, wenn ich falsch liege).

Luk4s K. schrieb:
> Ist dein Patient
> geerdet? Sonst kann es vorkommen, dass dieser den Common-Mode Bereich
> des ADCs verlässt, ansonsten hilft das Right Leg Drive weiter;
Ja, ist er. Ich plane, den Patienten entweder mit einer Elektrode auf 
2,5V URef zu bringen, oder die RLD-Funktion des ADS zu verwenden (die 
ich schonmal nach Datenblatt beschaltet habe).

erstaunter Gast schrieb:
> Wow... Darf ich fragen wie alt du bist?
17, ich mache dieses Jahr mein Abi.

Andre schrieb:
> Wenn Stromverbrauch eine Rolle spielt, würde ich auch nicht unbedingt
> den INA155 nehmen. Es gibt da z. B. noch den INA333, der viel weniger
> verbraucht und sogar noch RFI-Filter eingebaut hat.
Noch ist der Stromverbrauch nicht so wichtig, wenn ich das Board 
natürlich irgendwann an einen Akku anschließe, wird der interessanter. 
Dann würde ich auch den AVR langsamer takten (Wenn ich das Datenblatt 
richtig interpretiere, kann das auch was sparen). Hinsichtlich des 
Stromverbrauchs ist auch die Größe der LED-Vorwiderstände zu überdenken 
(momentan für ca. 10mA gut).
Der ADS hat schon einen integrierten RFI-Filter mit 3MHz Grenzfrequenz, 
brauche ich dann noch einen vor dem Vorverstärker?

Zum Elektrodendesign:
Die Elektroden werden über RG174-Kabel mit BNC-Steckern angeschlossen 
(der Schirm liegt dabei auf den 2,5V URef). Komerzielle EEGs haben 
scheinbar ungeschirmte Kabel, ich glaube aber, die Schirmung wird schon 
nicht schaden.
Eigentlich wollte ich aufgrund des höheren Tragekomforts trockene 
Elektroden verwenden, ich muss aber schauen, ob das funktioniert.
Als Elektroden habe ich überlegt, Antistatikschaumstoff zu verwenden, 
bin davon aber inzwischen abgekommen, da dessen Widerstand doch bei 
einigen Megaohm liegt. Als Alternative würde ich einfach ein kleines, 
rundes, mit dem Lötkolben verzinntes Stück Platinenmaterial verwenden.
Professionelle Elektroden sind nach den Onlineshops zu urteilen mit 
einer Silber/Gold/Silberchlorid-Schicht überzogen, wobei ich letztere im 
Chemielabor unserer Schule ja noch relativ einfach herstellen könnte.
Über meinen Vater (der Neurologe ist) kam ich an etwas "Elektrodenpaste" 
ran, damit wird der Kontakt zwischen Elektrode und Kopfhaut hergestellt. 
Das Zeug ist nicht sehr teuer und kann von jeder Apotheke angemischt 
werden. Auf dem Gläschen steht eine Inhaltsstoffliste, ich weis aber 
nicht, ob ich die hier einfach posten sollte (Patente etc...). Bei 
Interesse einfach Nachricht an mich. Zum Großteil besteht das Zeug aus 
Bimsstein (nach Onlineshops zum Aufrauhen der Haut), Wasser (klar), 
Verdickungsmittel (damit es Paste wird) und Kochsalz (Natriumchlorid, 
für die Leitfähigkeit).
Zur Fixierung der Elektroden am Kopf:
Ich werde mit dem EEG meines Vaters mal In-Ear-Kopfhörer als Elektroden 
ausprobieren, ich weis nur noch nicht, wie ich deren Oberfläche 
leitfähig bekomme. Sollte das nicht klappen, befestige ich die 
Elektroden mit einem Stirnband oder ähnlichem am Kopf.

Zur Platinenherstellung:
Ich traue mir durchaus zu, diese Platine zu ätzen (ist nicht meine 
erste). Ich hab auch schon einen AVR im TQFP-32 Gehäuse mit 0,8mm Lead 
Pitch mit Lötkolben und Lötzinn erfolgreich auf eine selbst hergestellte 
Platine gelötet. Ich weis jedoch nicht, wie gut das mit dem ADS1X9X mit 
0,5mm Lead Pitch ohne Lötstoppmaske geht. Lohnt es sich, hierfür eigens 
eine Platine herzustellen? (Falls ja und noch jemand an einer Platine 
Interesse hätte: Ich würde das wahrscheinlich hier machen lassen: 
http://www.seeedstudio.com/depot/fusion-pcb-2-layer-10cm10cm-max-10pcs-p-396.html 
, da ich mir PCBPool nicht ganz leisten kann ;)

Die Daten sollen übrigens erstmal per UART über einen BusPirate auf den 
Computer geschaufelt werden. Wenn dann alles funktioniert möchte ich da 
ein Seriell-zu-Bluetooth-Modul verwenden (ein BCM222 habe ich noch hier 
liegen). Eine Alternative wäre das Bluetooth-Modul eines 
Bluetooth-GPS-Empfängers, den es mal richtig billig (ca. 15€) bei 
Reichelt gab und den ich noch rumliegen hab. Das Modul wäre BT-Client, 
Master wäre das in meinem Notebook.

Ok, das war jetzt doch ein erstaunlich langer Post. Ich bitte für 
irgendwelche Fehler um Entschuldigung und bin für jeden Kommentar 
dankbar :)

von Tilo (Gast)


Lesenswert?

Auch wenn ich nicht alles gelesen habe:

Geschirmte Kabel will man nicht haben, da das Kabel dadurch eine 
wesentlich höhere Kapazität hat. Da sind ungeschirmte meist besser.
Die Edellösung ist doppelter Schirm, wobei der innere Schirm aktiv 
getrieben wird.

Einfache verzinnte Platinen werden nicht gut als Elektrode 
funktionieren. Silberchlorid sind die besten, aber glaube nicht, dass 
man die einfach im Chemielabor selbst herstellen kann. Elektroden ist 
wieder ein Thema für sich.

Denk bitte an Isolierstrecken etc. Das kann sehr schnell gefährlich 
werden. So wie die Scahltung jetzt ist, darf die nur per Akku betrieben 
werden!

Wie willst du den Gleichanteil aus dem Signal bekommen? Der wird auc um 
x50 verstärkt. Der Hochpass nach dem Ina bringt nicht, wenn der Ina 
wegen dem DC schon im Anschlag ist.

von Lukas K. (carrotindustries)


Lesenswert?

Sebastian G. schrieb:
> Ich habe den ADS1194 bestellt, weil die 24-Bit ADS12XX-Serie doch
> ziemlich teuer ist, und die 16 Bit mit Vorverstärker theoretisch
> ausreichen sollten. Ich werde jetzt mal versuchen, an ein, zwei Samples
> des ADS1294 zu kommen (hab ich bisher noch nie gemacht).
Samples bei TI sind unproblematisch. Bestellt, innerhalb von weniger als 
einer Woche mit FedEx da.
> Den Hochpass hatte ich dazu gedacht, einen durch ein wohl möglicherweise
> vorhandenes Offset der Elektroden zueinander hinter dem Verstärker
> entstehenden DC-Anteil rauszufiltern. Wenn zwischen den Elektroden ein
> Offset von 10mV anliegen würde, läge der DC-Anteil hinter dem
> Vorverstärker bei G=50 bei 0,50V, und ist damit noch unproblematisch.
> Wenn das aber jetzt durch den PGA im ADC bei G=12 nochmal verstärkt
> wird, würde das uncool clippen und der Messbereich wäre verlassen (bitte
> korregiert mich, wenn ich falsch liege).
Auf dem EKG-Demoboard für den ADS1298 wurde die Eingangbeschaltung auf 
einen Tiefpass 2. Ordnung reduziert. Zur maximal zulässigen Common-Mode 
Spannung siehe Seite 23 im Datenblatt des ADS1298, der 16bit dürfte 
gleich sein.
Wenn wir für Vdd=3, Gain=12 Vmax_diff=10mV(großzügig), Vss=0 einsetzen 
darf Vcm zwischen 2.92V und 0.26V liegen. Die Gleichtaktspannung wird 
nicht mitverstärkt, das ist ja gerade der Witz am Differenzverstärker.
Sebastian G. schrieb:
> Ich weis jedoch nicht, wie gut das mit dem ADS1X9X mit
> 0,5mm Lead Pitch ohne Lötstoppmaske geht. Lohnt es sich, hierfür eigens
> eine Platine herzustellen?
0.5mm Pitch bekommt man mit Hausmitteln gerade so noch hin. Ein 
Binokular ist zur Inspektion aber beinahe unverzichtbar. Täglich möchte 
ich sowas aber nicht machen.

von Andre (Gast)


Lesenswert?

Hi!

Also bei einer Verstärkung von 10-50 am Instrumentenverstärker sollte 
der Elektrodenoffset eigentlich noch unproblematisch sein. Ich habe mal 
mit einer Verstärkung von 100 vorne am Instrumentenverstärker gearbeitet 
und der DC-Offset am Ausgang war noch absolut unproblematisch.

Zu den RFI-Filtern:
Die benötigst du schon vorne am Eingang. Denn wenn du nicht schon vorne 
die störenden hochfrequenten Signalanteile herausfilterst, kann 
anschließend ein DC-Offset entstehen.
Hier ist die RFI-Problematik mit Lösung erklärt:
http://www.eetimes.com/design/analog-design/4009950/Five-basic-mistakes-to-avoid-when-using-instrumentation-amplifiers

Evtl. müsste man die Bauteile noch anders dimensionieren, aber diese 
Filterung ist typisch.

Ich kann dir aber jetzt nicht sagen, ob sich diese Störungen in der 
Praxis bemerkbar machen und ob man evtl. nicht auch ohne auskommt. Ich 
würde aber immer so ein Filter benutzen oder eben einen 
Instrumentenverstärker benutzen, der sowas schon integriert hat (z. B. 
INA333).

Grüße
André

von Lukas K. (carrotindustries)


Lesenswert?

Was EMI anbetrifft:
Die 30kHz Tiefpässe und die integrierten 3MHz EMI Filter reichen aus - 
da ist ja gerade das tolle an den neuen Bio-ADCs von TI: Das externe 
Analogfrontend fällt fast komplett weg, weil alles auf dem Chip drauf 
ist.

von Tilo (Gast)


Lesenswert?

Die EKG und EEG Normen sprechen von 300mV DC, die auftreten dürfen. Die 
hat man schnell zusammen, wenn man schlechtes Elektrodenmaterial 
verwendet.

von Ronny S. (ronnysc)


Lesenswert?

Eine galvansiche Entkopplung von 4kV zu einem angeschlossenem 230V-Gerät 
(z.B. Oszi oder PC) sind absolut notwendig. Schau Dir mal die ADuM4xxx 
an, gibts auch als Sample.
Der ADS1298 als EEG Verstärker ist eher nicht geeignet da sein 
Eigenrauschen mehrere µV beträgt (waren glaube ich 100µV). Für EEG 
ungeeignet, also vorher verstärken und dann erst auf den ADS1298.

von Ronny S. (ronnysc)


Lesenswert?

als Elektrodenmaterial geht auch versilberte Pins von Steckverbindern. 
Diese dann noch chlorieren und Du hast fast perfekte Elektroden.
Aber mir die Elektroden immer abens an die Stirn zu pappen und dann 
damit zu schlafefn wäre mir nix.

von Lukas K. (carrotindustries)


Lesenswert?

Ronny Schmiedel schrieb:
> Eine galvansiche Entkopplung von 4kV zu einem angeschlossenem 230V-Gerät
> (z.B. Oszi oder PC) sind absolut notwendig. Schau Dir mal die ADuM4xxx
> an, gibts auch als Sample.
> Der ADS1298 als EEG Verstärker ist eher nicht geeignet da sein
> Eigenrauschen mehrere µV beträgt (waren glaube ich 100µV). Für EEG
> ungeeignet, also vorher verstärken und dann erst auf den ADS1298.
Das Rauschen hängt sehr von der Datenrate und von der Verstärkung des 
PGAs ab. In welchen Größenordnungen sind denn die bei EEG zu messenden 
Spannungen. EKG geht mit dem ADS1298 ohne jegliches externes Frontend 
überaus gut.

von Ronny S. (ronnysc)


Lesenswert?

Das kann ich bestätigen, für EKG super geeignet. Aber die Amplituden 
beim EEG sind ca. 100µV und weniger.

von Lukas K. (carrotindustries)


Lesenswert?

Ronny Schmiedel schrieb:
> Das kann ich bestätigen, für EKG super geeignet. Aber die Amplituden
> beim EEG sind ca. 100µV und weniger.

Dann ziehe ich meine vorherigen Aussagen zurück und behaupte das 
Gegenteil ;)

von Sebastian G. (jaseg)


Angehängte Dateien:

Lesenswert?

Tilo schrieb:
> Geschirmte Kabel will man nicht haben, da das Kabel dadurch eine
> wesentlich höhere Kapazität hat. Da sind ungeschirmte meist besser.
> Die Edellösung ist doppelter Schirm, wobei der innere Schirm aktiv
> getrieben wird.
>
> Einfache verzinnte Platinen werden nicht gut als Elektrode
> funktionieren. Silberchlorid sind die besten, aber glaube nicht, dass
> man die einfach im Chemielabor selbst herstellen kann. Elektroden ist
> wieder ein Thema für sich.
Ich werde mir mal ein paar Elektroden bauen und dann mit dem 
professionellen EEG meines Vaters damit Messungen machen, und schauen, 
ob die brauchbar sind.

Tilo schrieb:
> Denk bitte an Isolierstrecken etc. Das kann sehr schnell gefährlich
> werden. So wie die Scahltung jetzt ist, darf die nur per Akku betrieben
> werden!
Ronny Schmiedel schrieb:
> Eine galvansiche Entkopplung von 4kV zu einem angeschlossenem 230V-Gerät
> (z.B. Oszi oder PC) sind absolut notwendig. Schau Dir mal die ADuM4xxx
> an, gibts auch als Sample.
Reicht als Isolation zum PC ein Optokoppler sofern die Schaltung 
batteriebetrieben ist?

Tilo schrieb:
> Wie willst du den Gleichanteil aus dem Signal bekommen? Der wird auc um
> x50 verstärkt. Der Hochpass nach dem Ina bringt nicht, wenn der Ina
> wegen dem DC schon im Anschlag ist.
Hinter dem Hochpass kommt im ADS noch ein Verstärker mit bis zu 12x, 
somit bekomme ich durch den Hochpass zwischen den beiden Verstärkern 
ungefähr diesen Faktor 12 auf den tolerablen Bereich des 
Elektrodenoffsets.

Andre schrieb:
> Zu den RFI-Filtern:
> Die benötigst du schon vorne am Eingang. Denn wenn du nicht schon vorne
> die störenden hochfrequenten Signalanteile herausfilterst, kann
> anschließend ein DC-Offset entstehen.
> Hier ist die RFI-Problematik mit Lösung erklärt:
> http://www.eetimes.com/design/analog-design/400995...
Ok, ich hab jetzt pro INA noch drei Kondensatoren wie in dem Link 
beschrieben bei einer Grenzfrequenz von ca. 1kHz eingeplant (da hört das 
Nutzsignal definitiv auf und die Kennlinie des INA155 beginnt, 
interessant zu werden).
Mit der Durchführung einer 10mil-Leiterbahn zwischen den beiden Polen 
eines 0805er-Kondensators bin ich noch nicht zufrieden, doch 6,8nF 
konnte ich bei Reichelt nicht in 1206 finden. Am ehesten werde ich die 
Leiterbahn noch ganz entfernen.
Wenn da statt z.B. einem INA155 ein INA333 mit integriertem RFI-Filter 
eingelötet wird (der pinkompatibel ist), müssen die Bauteile einfach 
nicht bestückt werden.

von ronny (Gast)


Lesenswert?

Ja die galvanische Trennung zum PC reicht aus wenn das Gerät mit 
Batterien betrieben wird. Der Optokoppler muß aber eine 
Isolationsspannung von mind. 4KV haben lt. IEC60601.

von Anselm 6. (anselm68)


Lesenswert?

Tolles Projekt,

was spricht dagegen die Sensoren abzuschaffen, und stattdessen einen 
extrem hochohmigen OP-Amp zu verwenden. Dieser holt sich aus der "Luft" 
dass elektrische Feld, welches uns ja auch umgibt.
Hier ist dann ein LowPass <30Hz notwendig um die Seuche des Stromnetzes 
auszublenden.
Für deine Anwendug reicht es die Frequenz zu detektieren, genau messen 
muss du nicht.

Die Idee deines Projektes trage ich nun schon seit 20 Jahren mit mir 
herum, habe mich aber nicht daran gemacht es zu realisieren....

Darf ich fragen wo deine Schwellen sein werden?
Alles >14 Hz = wach? Wobei daran zu denken ist, dass in der 
Tiefschlafphase auch höhere Frequenzen als < 1Hz auftreten, eben durchs 
träumen....

gespannt beobachtend Anselm

von Tilo (Gast)


Lesenswert?

Sebastian G. schrieb:
> Tilo schrieb:
>> Wie willst du den Gleichanteil aus dem Signal bekommen? Der wird auc um
>> x50 verstärkt. Der Hochpass nach dem Ina bringt nicht, wenn der Ina
>> wegen dem DC schon im Anschlag ist.
> Hinter dem Hochpass kommt im ADS noch ein Verstärker mit bis zu 12x,
> somit bekomme ich durch den Hochpass zwischen den beiden Verstärkern
> ungefähr diesen Faktor 12 auf den tolerablen Bereich des
> Elektrodenoffsets.
Das meinte ich nicht.
Beispiel: 200mV DC-Offset. Erste Stufe verstärkt x50, somit ist der 
Verstärker in Sättigung. Zwar wird dir der HP das Signal wieder auf die 
Nulllinie ziehen, aber der Informationsgehalt ist weg.


ein LP <30Hz kann mit EKG gerade so machen. Der Informationsgehalt der 
R-Zacke ist dann aber schon nicht mehr gegeben. Für EEG sind 30Hz 
definitv zu wenig.
Das weißt du meinst, ist ein kapazitives EKG. Bei denen geht das gerade 
so. Kapazitive EEG ist nochmal etwas ganz anderes, der HP zwischen 
Koppelkondensator und Eingangswiderstand ist nicht zu vernachlässigen!

VG Tilo

von Ronny S. (ronnysc)


Lesenswert?


von Andre (Gast)


Lesenswert?

Hm, wenn die Offsetspannung beim EEG tatsächlich so groß werden kann, 
dann sollte vielleicht doch lieber ein anderer Instrumentenverstärker 
benutzt werden. Der INA155 hat ja eine Mindestverstärkung von 10. Der 
INA133 dagegen kommt runter bis auf ein Gain von 1 durch eine einfache 
Änderung eines Widerstandes. Falls der Offset also tatsächlich so groß 
werden würde, kann die Verstärkung ja auf ca. 2 heruntergesetzt werden 
und der ADS1198 erledigt den Rest.

Grüße
André

von Andre (Gast)


Lesenswert?

Ups, ich meinte natürlich den INA333, nicht den INA133.

von Tilo (Gast)


Lesenswert?

Es hängt extrem von den Elektroden, Übergangsimpedanzen etc. ab. Deshalb 
haben viele EKG- und EEG-Verstärker in der ersten Stufe oft nur x5, 
danach den HP und dann die "echte" Verstärkung.

von Verwirrter Anfänger (Gast)


Lesenswert?

Hi,
ich hab den Thread jetzt nur überflogen, aber kennst du schon das Open 
EEG Projekt?
http://openeeg.sourceforge.net/doc/
Vielleicht sind die verschiedenen Beispiele für Elektroden von der Seite 
ja interessant für dich.

von Sebastian G. (jaseg)


Angehängte Dateien:

Lesenswert?

Hallo,
ok, inzwischen (nach dem Abi) bin ich mit dem Projekt etwas weiter. Die 
Platinchen habe ich bei seeedstudio.com machen lassen (zweiseitig, mit 
lötstoppmaske und zweiseitigem silk screen) und manuell bestückt, Bilder 
sind im Anhang. Das verwendete Werkzeug war ein Ersa Multitip C-25, eine 
grobe Pinzette und etwas Entlötlitze, anschließend habe ich die 
Lötstellen des ADS1194 (0,5mm Pinraster) unter dem Mikroskop 
kontrolliert (vier mussten letztendlich nochmal gelötet werden). Als 
Vorverstärker habe ich bei Kanal 1 einen INA155 verlötet, das Layout ist 
aber kompatibel zum INA333.
Die Spannungsregler funktionieren, der AVR ist per avrdude ansprechbar 
(ich verwende einen Bus Pirate als Programmer), der Quarzoszillator des 
AVR funktioniert und die LEDs blinken auch schon. Ich hab angefangen, 
die Ansteuerung für den ADS1194 zu programmieren, bin dabei aber auf ein 
Problem gestoßen: Theoretisch sollte mein Programm das ID-Register des 
ADS lesen (Binärwert laut Datenblatt XXX10100, wobei XXX eine 
Revisions-ID ist, 10 fest ist und 100 für den ADS1194 steht) und dann 
über die drei LEDs rausblinken. Leider funktioniert letzteres nicht, was 
er rausblinkt ist 0x5A=0b01011010 (reproduzierbar). Die 
Initialisierungsroutine habe ich aus dem Datenblatt übernommen, und ich 
habe versuchsweise das CLK_EN-Bit des CONFIG1-Registers des ADS1194 auf 
"1" gesetzt, was dem ADS sagt, dass er das intern generierte 
2,048MHz-Taktsignal auf den CLK-Pin legen soll -- und laut meinem 
Multimeter hat das funktioniert (ich habe mit ausgeschaltetem CLK_EN-Bit 
gegengetestet). Somit kann ich scheinbar mit dem ADS1194 kommunizieren, 
und der versteht mich auch, aber beim Lesen der Register scheint 
irgendwas nicht zu funktionieren (oder ich hab irgendwo einen Fehler).
Falls irgendjemand eine Idee hat, woran das liegen könnte: Ich bin für 
Hinweise sehr dankbar ;)
Viele Grüße
Sebastian

Der Quelltext ist auf github zu finden:
https://github.com/jaseg/openmind-firmware
Das Platinenlayout, das ich verwende ist auch dort:
https://github.com/jaseg/OpenMind/commit/6d1cffe06a6ab946ff4a1aea6f7b334e974ac380 
(achtung, älterer Commit)
Die dazu gehörigen Eagle-Dateien sind hier zu finden:
https://github.com/jaseg/OpenMind/commit/4405fd4e374b2538e90c1c8684a3c6af39862306
Die aktuellsten Daten (Layout & Schaltplan) sind im HEAD:
https://github.com/jaseg/OpenMind

von geb (Gast)


Lesenswert?

Du hast dich da mit dem Projekt schon ziemlich weit aus dem Fenster 
gelehnt. Es scheint so zu sein, dass du außer einem Multimeter keine 
weiteren Messinstrumente hast. Da wirds dann hart. Schau ob du dir ein 
Oszilloskope ausleihen kannst und versuche mal das Timing deiner 
Initialisierung zu messen. Bei besseren Oszis kann man auch die SPI 
Bytes auf der Leitung direkt messen/lesen.
Weiters  Versorgungsspannung auf Einbrüche kontrollieren , Reset des ADC 
kontrollieren ...

Grüße und viel Erfolg
Gebhard

von Sebastian G. (jaseg)


Lesenswert?

Ich hab noch Zugriff auf ein Oszi (Hameg 60MHz Analoggerät) über die 
Schule. Ich habe gerade die Spannung der Internen Referenz des ads1194 
überprüft, und festgestellt, dass sich die wie gewünscht vom AVR 
zwischen 2,4V und 4,0V umschalten lässt. Ich hab jetzt keine Zeit, aber 
ich werde die Schaltung heute oder morgen mal mit dem Oszi durchmessen.

von Ronald R. (Gast)


Lesenswert?


von Sebastian G. (jaseg)



Lesenswert?

Hallo,
ich habe die Kommunikation mit dem ADS1194 inzwischen ans Laufen 
gebracht. Das Problem war letztenendes, dass ich den AVR auf SPI-Mode 0 
statt SPI-Mode 1 gestellt hatte. Jetzt lässt sich das Device ID-Register 
korrekt auslesen (0xB4). Das Schreiben und Lesen der drei 
Config-Register funktioniert auch. Ein paar Fotos der mit dem Oszi 
gemessenen Wellenform sind im Anhang, wobei bei denen mit SCLK das 
Datensignal gestört ist, da zu dem Oszi, das ich benutzt habe, nur ein 
Tastkopf auffindbar war, den ich für SCLK verwenden musste, und der 
andere Kanal mit ein paar 1m-Messstrippen angeschlossen war. Ich habe 
f_sclk letztendlich auf
gesetzt, da mir die Flanken auch da noch steil genug erscheinen. Die 
Bilder sind alle bis auf eines bei 1MHz f_sclk aufgenommen worden.
Danke für die Tipps!
Sebastian

von geb (Gast)


Lesenswert?

Wenn du da mal durch bist, kannst du ein Bild des abgetasteten 
Eingang-Signals hier einstellen?
Üblich wäre 100uVpp 10Hz Sinus und 256 oder 512Hz Abtastrate.
Würde mich als EEG Geräteentwickler interessieren.

Grüße gebhard

von Mike S. (drseltsam)


Lesenswert?

Vollkommen sinnlos, die Nominaldaten stehen im Datenblatt und der Rest 
ist von Abschirmung und Elektroden abhängig.

von geb (Gast)


Lesenswert?

@Mike
Wenn das so wäre, dann würden alle Schaltungen nach Datenblatt und 
Simulation funktionieren. Das dem nicht so ist, merkt man als Entwickler 
jeden Tag. Gerade bei low-level Schaltungen ist der Grat zwischen 1uV 
Rauschen und 10uV Rauschen samt Versorgungsrückwirkungen ziemlich 
schmal.

Grüße

von Mike S. (drseltsam)


Lesenswert?

Ich habe auch welche rumliegen. Die 30 kHz Samplerate beziehen sich aber 
auf alle Kanäle, also 32/Kanalzahl, richtig?

von Lukas K. (carrotindustries)


Lesenswert?

Nein. Jeder EINZELNE Kanal kann mit bis zu 32ksps Samplen.

von Mike S. (drseltsam)


Lesenswert?

Oha, dann bastel ich den vielleicht doch mal in eine Applikation. Das 
wäre dann ja mit den Intal Dingern konkurrenzfähig!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.