View Full Version : [Daje coll'elettronica] Autocostruzione di un ECG
Xalexalex
09-08-2012, 19:46
Ciao a tutti!
Visto che ultimamente mi e' preso il pallino della scienza medica, ho pensato di coniugare l'interesse con la voglia di imparare un po' di elettronica e provare a costruire un ECG.
So che parto da zero e non e' esattamente il progetto indicato, ma mi farebbe piacere provare, magari chiedendo aiuto qui!
Ecco cosa vorrei fare:
- un ECG a 12/15 derivazioni, interfacciabile via USB ad un qualsiasi computer: niente display o stampante propri, soltanto un'interfaccia di raccolta del segnale;
- filtri, driven right leg circuit, amplificazione, etc., tutto fatto in elettronico di modo da avere meno artefatti possibili;
- avere un'apparato sicuro, quindi alimentato a batteria e con le protezioni del caso per non friggere (sefapperdi') chi dovra' provarlo.
Ri-ricordandovi che parto da zero, ecco cosa "credo" mi serva:
- elettrodi+cavi in numero variabile a seconda delle derivazioni;
- il megacircuito di amplificazione, filtraggio, etc. (la parte piu' difficile);
- un ADC e relativa interfaccia USB.
Ho gia' cannato qualche dettaglio? Mi sono perso qualcosa?
Grazie a tutti coloro che vorranno partecipare =D
Alex :D
Molto interessante! :p Anche a me ha sempre stuzzicato l'idea di farmi un ecg, però direi che per la parte "medica" ho zero conoscenze. Se c'è bisogno per l'elettronica ci sono! ;)
Vi seguo volentieri, è un'idea molto interessante.
clady_1977
11-08-2012, 16:15
Ragazzi é incredibile ma proprio ieri sera la mia mente malata aveva partorito la stessa idea!
Ho fatto una serie di accertamenti in questi giorni a causa di uno svenimento. Dopo aver visto tanti ecg mi son detto perché non provarci?
Cosi, una ricerca su Google e scopro che, oltre alla mente del sottoscritto, ad agosto il caldo ha fatto male ad altra gente... :D
Stamatina ho gia iniziato a elugubrare qualcosa. Ho pensato in particolare a un holter basato su microcontroller pic, ad esempio, con registrazione su flash sd esterna.
Pensavo al classico 16f877a di cui ho anche una demo Board ma devo vedere come interfacciare la sd card. Comunque so che giro c'é un sacco di materiale.
Quanti canali servono? Quanti campioni al secondo servono per ogni canale? Bastano 256 livelli di segnale?
Per l'amplificazione e i filtri di segnale avrei già trovato un documento di una università americana su scribd. Ora ricerco il link e lo posto.
Scusate se mi dilungo già al primo post ma é l'emozione di aver trovato pazzi come me... :D
clady_1977
11-08-2012, 16:32
Ecco il link al documento:
http://www.scribd.com/mobile/doc/46647753?width=768
Come potete vedere addirittura prevedono la trasmissione wireless ma questo potrebbe essere un secondo step.
Che ne pensate?
Xalexalex
11-08-2012, 16:40
Carino il documento!
La cosa che vorrei fare io e' leggermente diversa: per un Holter bastano 3 derivazioni (alla fine serve piu' che altro per monitorare le aritmie), mentre un 12 derivazioni diagnostico ha dei requisiti un po' diversi, per esempio e' essenziale filtrare da 0,05 Hz e non da 1 Hz per avere dei segmenti ST "diagnostici".
Inoltre alcuni preferiscono tenere una finestra di frequenze da 0,05 a 150 Hz, e per far questo inseriscono un notch filter attorno a 50 Hz (60 Hz per gli americani).
Cmq e' un punto di partenza simile a tanti che avevo visto, ne terro' conto. Grazie!
A questo punto le strade percorribili sono due:
- acquisizione dati su SD (quanto occuperanno di spazio?)
- interfacciamento con il computer tramite USB, come richiesto da Xalexalex.
Per quanto riguarda i canali credo che siano dettati dal numero di derivazioni con cui si vuole lavorare: in totale suppongo 12 canali per una ECG a 12 derivazioni.
Arriviamo quindi alla parte delicata. In questo documento della TI (http://www.ti.com/solution/ecg_electrocardiogram) c'è uno schema a blocchi della ECG, ma è interessante leggere le note sul fondo della pagina:
Depending on the end equipment, different accuracies will be needed in an ECG:
-Standard monitoring needs frequencies between 0.05-30 Hz
-Diagnostic monitoring needs frequencies from 0.05-1000 Hz
When a low resolution (16 bit) ADC is used, the signal needs to be gained up significantly (typically 100x - 200x) to achieve the necessary resolution. When a high resolution (24bit) sigma delta ADC is used, the signal needs a modest gain of 4 - 5x.
quindi direi che le specifiche di banda e livelli di acquisizione li abbiamo già...
come primo progetto mi mi pare una pazzia, almeno come costruire con gli stecchini un'automobile capace di andare su strada...
di problemi da affrontare ce ne sono davvero molti, specie se l'obiettivo è realizzare il tutto con componenti discreti. Curare la rumorosità di un circuito mixed signal analogico/digitale non è esattamente una passeggiata.
Probabilmente utilizzare un integrato ad hoc potrebbe essere preferibile, considerate comunque che già senza un buon oscilloscopio per tarare il tutto è impossibile arrivare a qualcosa di affidabile o anche solo indicativo, e soprattutto gli integrati con adc a 24bit non sono esattamente economici.
Se volete potete cercare qui:
http://www.google.com/search?client=opera&rls=it&q=msp430+ecg&sourceid=opera&ie=utf-8&oe=utf-8
Probabilmente il launchpad o l'arduino potrebbero essere utili a semplificare di molto il tutto, ma non è da escludere che un buon amplificatore o un adc esterno potrebbero essere necessari, e in quel caso ci sarà da divertirsi...
Cordiali salumi!
Xalexalex
11-08-2012, 17:55
come primo progetto mi mi pare una pazzia, almeno come costruire con gli stecchini un'automobile capace di andare su strada...
di problemi da affrontare ce ne sono davvero molti, specie se l'obiettivo è realizzare il tutto con componenti discreti. Curare la rumorosità di un circuito mixed signal analogico/digitale non è esattamente una passeggiata.
Probabilmente utilizzare un integrato ad hoc potrebbe essere preferibile, considerate comunque che già senza un buon oscilloscopio per tarare il tutto è impossibile arrivare a qualcosa di affidabile o anche solo indicativo, e soprattutto gli integrati con adc a 24bit non sono esattamente economici.
Se volete potete cercare qui:
http://www.google.com/search?client=opera&rls=it&q=msp430+ecg&sourceid=opera&ie=utf-8&oe=utf-8
Probabilmente il launchpad o l'arduino potrebbero essere utili a semplificare di molto il tutto, ma non è da escludere che un buon amplificatore o un adc esterno potrebbero essere necessari, e in quel caso ci sarà da divertirsi...
Cordiali salumi!
Aspetta, e' chiaro che non voglio mettermi a costruire *tutto* a manina con componentistica discreta. Voglio dire: amplificatori, ADC e simili li prenderei "gia' pronti". Non sono cosi' folle xD
Pero' per le altre cose, per esempio i filtri, mi piacerebbe pensarci da me.
Per le 12 derivazioni non servono veramente 12 canali, ci sono solo tre elettrodi per gli arti, 6 elettrodi precordiali, piu' uno sul piede destro per il driven right leg circuit.
Poi volendo se ne possono aggiungere altri 6, tre precordiali destri e tre posteriori :D
-------
@hibone: ma un sistema tipo Arduino in tutto questo, come mi aiuterebbe? Perche' non e' che debba "controllare" qualcosa, devo solo acquisire (e manipolare) un segnale. Cosa mi sono perso?
Il problema primario è l'ampiezza del segnale che si vuole rilevare: debole a tal punto che il circuito analogico (parliamo del pcb sul quale verranno piazzati i componenti discreti) deve essere costruito contro ogni possibile rumore ambientale.
Aspetta, e' chiaro che non voglio mettermi a costruire *tutto* a manina con componentistica discreta. Voglio dire: amplificatori, ADC e simili li prenderei "gia' pronti". Non sono cosi' folle xD
Pero' per le altre cose, per esempio i filtri, mi piacerebbe pensarci da me.
hai frainteso, oppure mi sono espresso male io.
quando ho parlato di componenti discrete non intendevo escludere integrati e compagnia.
al giorno d'oggi esistono microcontrollori basati sul paradigma sistem on chip, che integrano al loro interno ram dac adc interfacce seriali e usb.
fatta questa premessa io parlavo di usare componenti discrete in alternativa ai system on chip, dove per componenti discrete intendevo amplificatore, adc e controller usb e pic per realizzare il tutto, ovviamente, l'idea di arrivare a costruire un adc o un amplificatore non la avevo neppure considerata data, al giorno d'oggi, l'assurdità della cosa.
Per le 12 derivazioni non servono veramente 12 canali, ci sono solo tre elettrodi per gli arti, 6 elettrodi precordiali, piu' uno sul piede destro per il driven right leg circuit.
Poi volendo se ne possono aggiungere altri 6, tre precordiali destri e tre posteriori :D
se gli elettrodi, come ipotizzo, vanno pilotati singolarmente, si tratta di collegare comunque 10 pin quindi ti serve un adc in grado di gestire 9-10 ingressi, non sono dodici ma poco ci manca.
@hibone: ma un sistema tipo Arduino in tutto questo, come mi aiuterebbe? Perche' non e' che debba "controllare" qualcosa, devo solo acquisire (e manipolare) un segnale. Cosa mi sono perso?
che io sappia un adc lo devi pur pilotare in qualche modo, se poi vuoi scrivere su sd o vuoi comunicare verso la usb ti serve un bus per trasferire dati e qualcuno dovrà pur gestirlo. quindi ti serve un software che ti permetta di prelevare i campioni dall'adc secondo uno schema preciso, effettuare eventuali correzioni, e passarlo all'usb/SD in modo da garantire la consistenza dei campioni.
non so se esistano adc che possano essere gestiti direttamente da usb senza dover interporre una qualche forma di logica di gestione, ma che a me non risulta.
Il problema primario è l'ampiezza del segnale che si vuole rilevare: debole a tal punto che il circuito analogico (parliamo del pcb sul quale verranno piazzati i componenti discreti) deve essere costruito contro ogni possibile rumore ambientale.
non solo, deve anche essere amplificato preservandone le caratteristiche, e deve essere digitalizzato senza perdita di informazione...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.