Inhoudsopgave:
- Stap 1: Controleer de specificaties
- Stap 2: Verzamel componenten
- Stap 3: Nabewerking van 3D-afdrukken
- Stap 4: Kabels en bedrading
- Stap 5: Hardware-instellingen
- Stap 6: testcircuit en componenten
- Stap 7: Montage
- Stap 8: slang inbrengen
- Stap 9: Maak kennis met de gebruikersinterface (handmatige bediening)
- Stap 10: Kalibratie en probeer te doseren
- Stap 11: Seriële interface - Afstandsbediening via USB
- Stap 12: Deel uw ervaringen en verbeter de pomp
- Stap 13: Benieuwd naar IGEM?
Video: Nauwkeurige peristaltische pomp - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
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 en de bespreking van de nauwkeurigheid hieronder.
Voldoet de pomp aan uw eisen?
Stap 2: 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
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
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
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
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
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
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:
Nauwkeurige YouTube-abonneeteller: 4 stappen
Nauwkeurige YouTube-abonneeteller: ik begon me ongeveer een maand geleden voor te bereiden op dit project, maar toen werd ik ontspoord door YouTube toen ze aankondigden dat ze niet langer het echte aantal abonnees zouden geven, maar het dichtstbijzijnde afgeronde getal. Op dit moment is dat niet echt een probleem voor
Nauwkeurige temperatuurregeling op de Raspberry Pi 4: 3 stappen
Nauwkeurige temperatuurregeling op de Raspberry Pi 4: De Pimoroni Fan Shim is een geweldige oplossing om de temperatuur van je Pi te verlagen wanneer deze heet wordt. De makers leveren zelfs software die de ventilator activeert wanneer de CPU-temperatuur boven een bepaalde drempel komt (bijvoorbeeld 65 graden). De temperatuur k