Inhoudsopgave:

Nauwkeurige peristaltische pomp - Ajarnpa
Nauwkeurige peristaltische pomp - Ajarnpa

Video: Nauwkeurige peristaltische pomp - Ajarnpa

Video: Nauwkeurige peristaltische pomp - Ajarnpa
Video: Culture Media Aseptic Filling Machine 125ml 250ml 500ml 1000ml 2024, November
Anonim
Nauwkeurige Peristaltische Pomp
Nauwkeurige Peristaltische Pomp

Wij zijn een studententeam uit verschillende disciplines van de RWTH Aachen University en hebben dit project gemaakt in het kader van de iGEM-competitie 2017.

Na al het werk dat in onze pomp is gestoken, willen we onze resultaten met u delen!

We hebben deze slangenpomp gebouwd als algemeen toepasbare vloeistofbehandelingsoplossing voor elk project waarbij vloeistoffen moeten worden getransporteerd. Onze pomp is in staat tot nauwkeurig doseren en pompen en biedt een breed scala aan doseervolumes en stroomsnelheden om mogelijke toepassingen te maximaliseren. Door 125 doseringsexperimenten konden we de nauwkeurigheid van onze pomp aantonen en kwantificeren. Voor een slang met een binnendiameter van 0,8 mm en elk debiet of doseervolume binnen de specificaties konden we een nauwkeurigheid aantonen die beter was dan 2% afwijking van de ingestelde waarde. Gezien de resultaten van de metingen kan de nauwkeurigheid nog verder worden verbeterd als de snelheid van de kalibratie wordt aangepast aan het gewenste debiet.

De pomp is zonder programmeerkennis te bedienen via het ingebouwde LCD-display en een draaiknop. Bovendien kan de pomp op afstand worden bediend via USB door middel van seriële commando's. Deze eenvoudige manier van communiceren is compatibel met gangbare software en programmeertalen (MATLAB, LabVIEW, Java, Python, C#, enz.).

De pomp is eenvoudig en goedkoop te vervaardigen, waarbij alle onderdelen in totaal minder dan $ 100 kosten, vergeleken met $ 1300 voor de goedkoopste vergelijkbare commerciële oplossing die we konden vinden. Naast een 3D-printer zijn alleen algemene tools nodig. Ons project is open source op het gebied van hardware en software. We leveren de CAD-bestanden voor de 3D-geprinte onderdelen, een volledige lijst van alle vereiste commerciële componenten en hun bronnen, en de broncode die in onze pomp wordt gebruikt.

Stap 1: Controleer de specificaties

Controleer de specificaties
Controleer de specificaties
Controleer de specificaties
Controleer de specificaties

Controleer de specificaties en de bespreking van de nauwkeurigheid hieronder.

Voldoet de pomp aan uw eisen?

Stap 2: Verzamel componenten

Verzamel componenten
Verzamel componenten

1x Arduino Uno R3/ compatibel board1x Stappenmotor (BxHxD): 42x42x41 mm, As (ØxL): 5x22 mm1x Voeding 12 V/3 A, connector: 5,5 / 2,1 mm1x Stappenmotor driver A49881x LCD-module 16x2, (BxHxD): 80x36x13 mm3x Naaldlager HK 0408 (IØ x OØ x L) 4 mm x 8 mm x 8 mm1x Encoder 5 V, 0,01 A, 20 schakelstanden, 360 °1x Pompslang, 1,6 mm wanddikte, 0,2m4x Voet zelfklevend (L x B x H) 12,6 x 12,6 x 5,7 mm3x Rechte pen (Ø x L) 4 mm x 14 mm1x Regelknop (Ø x H) 16,8 mm x 14,5 mm1x Potentiometer/ Trimmer 10k1x 220 Ohm Weerstand1x Condensator 47µF, 25V

Bedrading:1x PCB (L x B) 80 mm x 52 mm, Contactafstand 2,54 mm (CS)2x Pinstrip, recht, CS 2.54, nominale stroom 3A, 36 polig 1x Busstrip, recht, CS 2.54, nominale stroom 3A, 40 pinnen1x Kabels, verschillende kleuren (bijv. Ø 2,5 mm, doorsnede 0,5 mm²) Krimpkous (geschikt voor kabels, bijv. Ø 3 mm)

Schroeven:4x M3, L = 25 mm (lengte zonder kop), ISO 4762 (zeskantkop)7x M3, L = 16 mm, ISO 4762 (zeskantkop)16x M3, L = 8 mm, ISO 4762 (zeskantkop)4x Kleine zelftappende schroef (voor LCD, Ø 2-2,5 mm, L = 3-6 mm) 1x M3, L=10 mm stelschroef, DIN 9161x M3, moer, ISO 4032

3D geprinte onderdelen: (Thingiverse)1x Case_main2 x Case_side (3D print niet nodig => frezen/snijden/zagen)1x Pump_case_bottom1x Pump_case_top_12001x Bearing_mount_bottom1x Bearing_mount_top

Stap 3: Nabewerking van 3D-afdrukken

Nabewerking van 3D-afdrukken
Nabewerking van 3D-afdrukken

De 3D-geprinte onderdelen moeten na het printen worden gereinigd om eventuele resten van het printproces te verwijderen. De tools die we aanbevelen voor nabewerking zijn een kleine vijl en een draadafsnijder voor M3-schroefdraad. Na het printproces moeten de meeste gaten worden verbreed met een geschikte boor. Voor de gaten die M3-schroeven bevatten, moet een draad worden gesneden met de bovengenoemde draadafsnijder.

Stap 4: Kabels en bedrading

Kabels en bedrading
Kabels en bedrading
Kabels en bedrading
Kabels en bedrading
Kabels en bedrading
Kabels en bedrading

De kern van de schakeling bestaat uit de Arduino en een perfboard. Op het perfboard zit de stappenmotor driver, de trimmer voor de LCD, de 47µF condensator en aansluitingen voor de voeding van de verschillende componenten. Om de Arduino met de stroomschakelaar uit te schakelen, werd de stroomtoevoer van de Arduino onderbroken en naar het Perfboard geleid. Voor dit doel werd de diode die zich op de Arduino direct achter de stroomaansluiting bevindt, losgesoldeerd en in plaats daarvan naar het perfboard gebracht.

Stap 5: Hardware-instellingen

Hardware-instellingen
Hardware-instellingen
Hardware-instellingen
Hardware-instellingen
Hardware-instellingen
Hardware-instellingen

Er zijn drie instellingen die direct op het circuit moeten worden gemaakt.

Eerst moet de stroomlimiet voor de stappenmotordriver worden ingesteld, door het kleine schroefje op de A4988 aan te passen. Als de spanning V_ref tussen schroef en GND in de aan-status bijvoorbeeld 1V is, is de stroomlimiet tweemaal de waarde: I_max = 2A (dit is de waarde die we hebben gebruikt). Hoe hoger de stroom, hoe hoger het koppel van de motor, waardoor hogere snelheden en stroomsnelheden mogelijk zijn. Maar ook het stroomverbruik en de warmteontwikkeling nemen toe.

Verder kan de modus van de stappenmotor worden ingesteld via de drie pinnen die zich linksboven op de stappenmotordriver bevinden (MS1, MS2, MS3). Wanneer MS2 op + 5V staat, zoals weergegeven in het bedradingsschema, wordt de motor in de kwartstapmodus gebruikt, die we hebben gebruikt. Dit betekent dat er precies één stap (1,8°) wordt uitgevoerd voor vier pulsen die de stappenmotordriver ontvangt op de STEP-pin.

Als laatste in te stellen waarde kan de trimmer op het perfboard worden gebruikt om het contrast van het LCD-scherm aan te passen.

Stap 6: testcircuit en componenten

Testcircuit en componenten
Testcircuit en componenten

Voor de montage is het raadzaam om de componenten en de schakeling op een breadboard te testen. Op deze manier is het gemakkelijker om mogelijke fouten te vinden en op te lossen.

U kunt onze software al uploaden naar de Arduino, om alle functies vooraf uit te proberen. We hebben de broncode op GitHub gepubliceerd:

github.com/iGEM-Aachen/Open-Source-Peristaltic-Pump

Stap 7: Montage

De video toont de montage van de componenten in de beoogde volgorde zonder de bedrading. Alle connectoren moeten eerst op de componenten worden bevestigd. De bedrading kan het beste worden gedaan op het punt waar alle componenten zijn geplaatst, maar de zijwanden zijn nog niet bevestigd. De moeilijk bereikbare schroeven zijn gemakkelijk te bereiken met een inbussleutel.

1. Steek de aan/uit-schakelaar en de encoder in het daarvoor bestemde gat en bevestig ze aan de behuizing. Bevestig de bedieningsknop aan de encoder - wees voorzichtig - als u de knop eenmaal hebt bevestigd, kan deze de encoder vernietigen als u hem opnieuw probeert te verwijderen.

2. Bevestig het LCD-scherm met kleine zelftappende schroeven, zorg ervoor dat u de weerstand en bedrading aan het scherm soldeert voordat u het monteert.

3. Bevestig het Arduino Uno-bord aan de behuizing met 8 mm M3-schroeven.

4. Plaats de stappenmotor en bevestig deze aan de behuizing samen met het 3D-geprinte deel (Pump_case_bottom) met behulp van vier 10 mm M3-schroeven.

5. Bevestig het perfboard aan de behuizing – zorg ervoor dat u alle componenten aan het perfboard hebt gesoldeerd zoals aangegeven in het bedradingsschema.

6. Bedraad de elektronische onderdelen in de behuizing.

7. Sluit de behuizing door de zijpanelen toe te voegen met 10x 8 mm M3-schroeven.

8. Monteer de lagermontage zoals getoond in de video en bevestig deze aan de motoras met behulp van een 3 mm stelschroef

9. Bevestig tot slot de tegensteun voor het vasthouden van de buis (Pump_case_top_120°) met twee 25 mm M3-schroeven en plaats de buis. Breng twee M3-schroeven van 25 mm aan om de slang op zijn plaats te houden tijdens het pompproces

Stap 8: slang inbrengen

Image
Image

Stap 9: Maak kennis met de gebruikersinterface (handmatige bediening)

De gebruikersinterface biedt een uitgebreide controle van de peristaltische pomp. Het bestaat uit een LCD-scherm, een bedieningsknop en een aan / uit-schakelaar. De bedieningsknop kan worden gedraaid of ingedrukt.

Door aan de knop te draaien kunt u kiezen uit verschillende menu-items, het menu-item op de bovenste regel is momenteel geselecteerd. Door op de knop te drukken, wordt het geselecteerde menu-item geactiveerd, aangegeven door een knipperende rechthoek. De knipperende rechthoek geeft aan dat het menu-item is geactiveerd.

Zodra het menu-item is geactiveerd, begint het, afhankelijk van het geselecteerde item, ofwel een actie of maakt het de wijziging van de overeenkomstige waarde mogelijk door aan de knop te draaien. Voor alle menu-items die zijn gekoppeld aan een numerieke waarde, kan de knop worden vastgehouden om de waarde op nul te zetten of tweemaal worden ingedrukt om de waarde met een tiende van de maximale waarde te verhogen. Om de geselecteerde waarde in te stellen en een menu-item te deactiveren, moet de knop een tweede keer worden ingedrukt.

De aan/uit-schakelaar schakelt de pomp en al zijn componenten onmiddellijk uit (Arduino, stappenmotor, stappenmotorstuurprogramma, LCD), behalve wanneer de pomp via USB is aangesloten. De Arduino en het LCD-scherm kunnen worden gevoed via USB, zodat de aan / uit-schakelaar er geen invloed op heeft.

Het pompmenu heeft 10 items, die hieronder worden opgesomd en beschreven:

0|StartBegin met pompen, de bedrijfsmodus is afhankelijk van de modus die is geselecteerd bij "6) Modus"

1|VolumeStel het doseervolume in, wordt alleen overwogen als "Dose" is geselecteerd bij "6) Mode"

2|V. Unit:Stel de volume-eenheid in, opties zijn:“mL”: mL“uL”: µL“rot”: rotaties (van de pomp)

3|SnelheidStel de stroomsnelheid in, wordt alleen overwogen als "Dose" of "Pump" is geselecteerd bij "6) Mode"

4|S. Unit:Stel de volume-eenheid in, opties zijn:“mL/min”: mL/min“uL/min”: µL/min“rpm”: rotaties/min

5|Richting:Kies de pomprichting: "CW" voor rechtsom draaien, "CCW" voor linksom

6|Mode:Bedrijfsmodus instellen:“Dose”: doseer het geselecteerde volume (1|Volume) bij het geselecteerde debiet (3|Snelheid) bij het starten“Pomp”: pomp continu op het geselecteerde debiet (3|Snelheid) wanneer gestart "Cal.": Kalibratie, pomp voert 30 omwentelingen uit in 30 seconden wanneer gestart

7|Cal. Set kalibratievolume in ml. Voor kalibratie wordt de pomp eenmaal in de kalibratiemodus gedraaid en wordt het resulterende kalibratievolume dat werd verpompt gemeten.

8|Save Sett. Sla alle instellingen op in Arduino's EEPROM, waarden blijven behouden tijdens het uitschakelen en herladen wanneer de stroom weer wordt ingeschakeld

9|USB CtrlActivate USB Control: Pomp reageert op seriële commando's verzonden via USB

Stap 10: Kalibratie en probeer te doseren

Image
Image

Het uitvoeren van een juiste kalibratie voordat de pomp wordt gebruikt, is cruciaal voor nauwkeurig doseren en pompen. De kalibratie vertelt de pomp hoeveel vloeistof er per omwenteling wordt verplaatst, zodat de pomp kan berekenen hoeveel omwentelingen en welke snelheid nodig is om aan de ingestelde waarden te voldoen. Om de kalibratie te starten, selecteert u de modus "Cal". en begin met pompen of stuur het kalibratiecommando via USB. De standaard kalibratiecyclus voert 30 rotaties uit in 30 seconden. Het tijdens deze cyclus verpompte vloeistofvolume (kalibratievolume) moet nauwkeurig worden gemeten. Zorg ervoor dat de meting niet wordt beïnvloed door druppels die aan de slang blijven kleven, het gewicht van de slang zelf of andere interferenties. We raden aan om voor de kalibratie een microgramweegschaal te gebruiken, omdat u het volume gemakkelijk kunt berekenen als de dichtheid en het gewicht van de verpompte hoeveelheid vloeistof bekend is. Nadat u het kalibratievolume hebt gemeten, kunt u de pomp aanpassen door de waarde van menu-item "7|Cal." in te stellen. of koppel het aan uw seriële opdrachten.

Houd er rekening mee dat elke wijziging na kalibratie van de slangbevestiging of het drukverschil de precisie van de pomp zal beïnvloeden. Probeer de kalibratie altijd uit te voeren onder dezelfde omstandigheden, waarbij de pomp later zal worden gebruikt. Als u de slang verwijdert en opnieuw in de pomp installeert, zal de kalibratiewaarde tot 10% veranderen, omdat er kleine verschillen zijn in positionering en kracht die op de schroeven wordt uitgeoefend. Als u aan de slang trekt, verandert ook de positionering en dus de kalibratiewaarde. Als de kalibratie wordt uitgevoerd zonder drukverschil en de pomp later wordt gebruikt om vloeistoffen met een andere druk te verpompen, zal dit de nauwkeurigheid beïnvloeden. Onthoud dat zelfs een niveauverschil van één meter een drukverschil van 0,1 bar kan veroorzaken, wat een kleine invloed zal hebben op de kalibratiewaarde, zelfs als de pomp een druk van minimaal 1,5 bar kan bereiken met behulp van de 0,8 mm slang.

Stap 11: Seriële interface - Afstandsbediening via USB

De seriële interface is gebaseerd op de seriële communicatie-interface van de Arduino via USB (Baud 9600, 8 databits, geen pariteit, één stopbit). Elke software of programmeertaal die gegevens naar een seriële poort kan schrijven, kan worden gebruikt om met de pomp te communiceren (MATLAB, LabVIEW, Java, python, C#, enz.). Alle functies van de pomp zijn toegankelijk door het overeenkomstige commando naar de pomp te sturen, aan het einde van elk commando is een nieuw regelteken '\n' (ASCII 10) vereist.

Dosis: d(volume in µL), (snelheid in µL/min), (kalibratievolume in µL)'\n'

bijv.: d1000, 2000, 1462'\n' (dosering van 1 ml bij 2 ml/min, kalibratievolume = 1,462 ml)

Pomp: p(snelheid in µL/min), (kalibratievolume in µL)'\n'

bijv.: p2000, 1462'\n' (pomp met 2 ml/min, kalibratievolume = 1,462 ml)

Kalibreren: c'\n'

Stop: x'\n'

De Arduino-omgeving (Arduino IDE) heeft een ingebouwde seriële monitor, die seriële gegevens kan lezen en schrijven, waardoor seriële commando's kunnen worden getest zonder enige geschreven code.

Stap 12: Deel uw ervaringen en verbeter de pomp

Als u onze pomp heeft gebouwd, deel dan uw ervaringen en verbeteringen in software en hardware op:

Thingiverse (3D geprinte onderdelen)

GitHub (software)

Instructables (instructies, bedrading, algemeen)

Stap 13: Benieuwd naar IGEM?

De iGEM (internationale Genetically Engineered Machine) Foundation is een onafhankelijke non-profitorganisatie die zich inzet voor onderwijs en competitie, de vooruitgang van synthetische biologie en de ontwikkeling van een open gemeenschap en samenwerking.

iGEM heeft drie hoofdprogramma's: de iGEM-competitie - een internationale competitie voor studenten die geïnteresseerd zijn in synthetische biologie; het Labs-programma - een programma voor academische laboratoria om dezelfde middelen te gebruiken als de wedstrijdteams; en het register van standaard biologische onderdelen - een groeiende verzameling genetische onderdelen die worden gebruikt voor het bouwen van biologische apparaten en systemen.

igem.org/Main_Page

Aanbevolen: