BloodSampler bauen (mit einem Mikrokontroller?)

Guten Tag

Bin ein absoluter newcomer im Bereich Mikrokontroller!!! HILFE :astonished:!!!! Habe letzte Woche von meinem Vorgesetzten die Aufgabe erhalten eine kleine Maschine zu bauen, welche automatisch Blutproben (bis zu 16mal/24h) von einer Kuh nimmt (arbeite in einer Forschungsanstalt und es geht um Tierernährung). Solch eine Maschine haben wir bereits im Einsatz, doch diese ist unzuverlässig und die Firma die dies entwickelt hat leistet keinen Support mehr für dieses Gerät :0.

Ich komme aus dem elektrischen und kann einwenig programmieren (C, C++ und Pascal). Gerne würde ich eine SPS (Speicherprogrammierbare Steuerung) dafür einsetzten, doch die ist zu gross und zu unflexibel für diese Aufgabe (schade, denn ich programmiere häufig solche Steuerungen).

Hier die Anforderugen an dieses Gerät welches ich entwickeln soll:

  • Batterie betrieben (laufzeit max. 24h)
  • Option: Kühlung der Blutproben mit einem Peltier-Element (kann ich ja über einen Relaiskontakt ansteuern)
  • Anzahl der Proben und die Entnahmezeit kann auf einem PC (GUI) angepasst werden
  • 3 Schrittmotoren
  • 1 normaler Motor für die Pumpe
  • 3 DI (Tasten für Start/Stop/Reset)
  • 1 AI (Temperaturfühler um die Temp. der Blutproben aufzuzeichnen)
  • Statusabfrage/Programmieren via Funk (WLAN, ZigBee, Bluethoot usw.)

Nun bin ich auf diese coole Bord von Arduino gestossen. Wie schon erwähnt ist ein Mikrokontroller Neuland für mich. Hier endlich meine Fragen:

  • Wie kann ich Parameter, wie zB. Timer, an einem PC anpassen, ohne das ich den Mikrokontroller neu "Flashen" muss? Soll man diese Parameter auf der SD-Karte speichern und bei bedarf auslesen oder gibt es auf dem Mikrokontroller einen Bereich für soche dynamischen Parameter?
  • Gibt es eine Möglichkeit eine GUI (auf dem PC) für den Mikrokontroller zu erstellen wo man eben solche Parameter definieren kann, ohne das man den Programmcode anfassen muss? Oder wäre hier der Arduino Web Server/Client eine Hilfe für die Visualisierung der Parameter auf dem PC?
  • Kann ich auf dem Arduino-Board Shield für Shield montieren (Ethernet-Shield, Schrittmotoren-Shield, Relais-Shield, WLAN-Shield)?

Das ganze Ding muss bis nächsten Mai laufen (mechanische Teil kommt ja auch noch dazu!).

Was denkt ihr? Ist das so mit diesen Arduino-Board möglich? Habe viele coole Beiträge hier gesehen und denke das diese möglich ist.

Evt. hat ja einer von euch Lust dies umzusetzten. Natürlich bezahlen wir auch dafür!!!

Nun hoffe ich auf ein paar konstruktive Antworten. Besten Dank für eure Bemühungen. :)

Ok, Du bist Schweizer, da ist die Rechtslage etwas anders und mir unbekannt.

Ich spreche mal für EU-Bürger:
Medizinische Geräte für Veterinärmedizin müssen den gleichen Normen und EU-Direktiven entsprechen wie Geräte der Humanmedizin.
Prototypen: Für die Benutzung beim Menschen muß eine Ethikkomission den Einsatz zustimmen. Ich weiß nicht ob das bei Tieren auch so ist. Du tut gut daß auch ein Prototyp den einschlägigen Normen entspricht EN60601.1 3.Revision. Bzw Spezifische Normen für bestimmte Geräteklassen falls vorhanden.
Du willst ja nicht die Kuh umbringen.
Das am Rande und für die EU.

  • Vergiß die Kühlung bei Batteriebetrieb. Ein Peltieelement verbraucht gleich mal 50-60W um ein bißchen zu kühlen.
  • Wie kann ich Parameter, wie zB. Timer, an einem PC anpassen, ohne das ich den Mikrokontroller neu “Flashen” muss? Soll man diese Parameter auf der SD-Karte speichern und bei bedarf auslesen oder gibt es auf dem Mikrokontroller einen Bereich für soche dynamischen Parameter?

In einer Variablen. Bei Batteriebetrieb kannst Du die Parameter im RAm belassen oder eine RTC nehmen und die Parameter im RAM des RTC absperichern. die meisten modelle haben ein paar BYte Ram und das ist Bateriegepuffert.

  • Gibt es eine Möglichkeit eine GUI (auf dem PC) für den Mikrokontroller zu erstellen wo man eben solche Parameter definieren kann, ohne das man den Programmcode anfassen muss? Oder wäre hier der Arduino Web Server/Client eine Hilfe für die Visualisierung der Parameter auf dem PC?

Die daten kannst Du über serielle Schnittstelle ( XBee, Bluetooth ) an den Arduino übertragen. Das Benutzerprigramm auf dem PC kannst Du mit jeder beliebigen Programmiersprache schreiben, Du mußt nur die Parameter über die Serielle schnittstelle schicken.

  • Kann ich auf dem Arduino-Board Shield für Shield montieren (Ethernet-Shield, Schrittmotoren-Shield, Relais-Shield, WLAN-Shield)?

Wenn die shields sich nicht gegenseitig stören weil sie die gleichen Pins verwenden Ja. Ein solcher Aufbau ist aber nicht einer der Stabilsten und sicherste im Bezug auf Betriebssicherheit.

Ich sehe mal Probleme mit der Mechanik und Fluidik. Du mußt ja:

  1. Steril arbeiten. Alle Schläuche und Teile die mit dem Blut in Berührung kommen müssen steril sein um die Kuh nicht mit etwas zu infizieren.
  2. Du mußt vor jeder Proben Entnahme die Schläuche mit Blut spülen um frisches Blut von der Ku zu Samplen und nicht das abgestandene im Schlauch.
  3. Ich weiß nicht ob die Blut-Untersuchungen auf Plasma oder auf Serum gemacht werden. Je nachdem mußt Du ein Antikoagulanz dem Blut nach der Entnahmestelle hinzufügen oder nach der Probenentnahme den Schlauch Richtung Kuh und Richtung Gerät mit fysiologische Lösung spülen damit das Blut nicht in den Schläuchen koaguliert. Da muß alles Steril sein !!!. Mit Peristalitkpumpen kiegt man die Sterilität schon hin.
  4. für die Proben verwendest Du am besten Provetten mit Gummideckel, die Du mit einer Nadel perforierst. Da ist aber die Sterilität schwer zu halten.
    7 Monate sind wenig für ein solches Projekt.

Grüße Uwe

Hallo Uwe

Vielen Dank für deine rasche und deine kompetenten Antworten!!!

Danke für die Hinweise für die EN Normen. Die werde ich mir noch genauer anschauen.

Ok, Kühlung also wie bis anhin mit Kühlelemente.

Die ganze Problematik mit dem Steril sein ist mir bewusst. Habe diese mit einem unserer Tierärzte besprochen. Er hat mir versichert das Kühe da einiges ertragen. Klar werde ich da ganz genau hinschauen das der Kuh keinen Schaden zugeführt wird.

Wie schon erwähn haben wir ja schon zwei Geräte im Einsatz. Das Spühlen der Leitung, das Verwerfen der ersten par ml in einen leeren Beutel und die Proberöhrchen kann ich alles abschauen. Auch das mit der Schlauchquetschpumpe funktioniert ausgezeichnet. Nur eben sind diese Geräte sehr störanfällig. Ich versuche einmal Geld aufzutreiben um mir ein Board und ein paar Schrittmotoren anschaffen zu können um erste Erfahrungen zu sammeln. Ideen für die mechanische Umsetzung habe ich zur genüge, doch ob diese auch funktionieren steht noch in den Sternen.

Also, besten Dank nochmals. Werde dich/euch auf dem laufenden halten.

Gruss Patrick

Du kannst Werte auch im EEProm persistieren. D.h. es gibt im Controller einen Bereich der zur Laufzeit geschrieben werden kann und Werte auch nach Spannungsverlust noch hält. Nicht ewig aber normalerweise >50 Jahre.

Danke für die Hinweise für die EN Normen. Die werde ich mir noch genauer anschauen.

Da wirst Du Probleme haben die aufzutreiben da diese teuer verkauft werden.

Und wenn Dir das EEprom des Kontrollers nicht reicht kannst Du externe EEPROM, FRAM oder SD Karten anschließen.

Grüße Uwe