Filament droger

Last Updated on 14 augustus 2023 by Syds

Filament droger

Toen ik de onderdelen voor m’n PCB houder met mijn 3D printer printte, werd de kwaliteit steeds slechter. Wat research op google leverde op dat het Filament waarschijnlijk vocht heeft opgenomen. De oplossing lijkt een soort humidor voor filament te zijn, de filament droger. Er zijn diverse commerciele producten op de markt, en ook even zoveel DIY oplossingen. Echter die DIY oplossingen betreffen in de meeste gevallen een luchtdichte box waarmee je het Filament droog houdt. Deze zijn echter niet voorzien van een actieve hittebron om vochtig Filament te drogen. Iets waar de commerciele producten wel in voorzien. Ik heb besloten om een poging te wagen zo’n commercieel product te evenaren met een DIY oplossing.

Voorbeeld: https://www.eibos3d.com/cyclopes-detail

Opzet:

  • Instelbaar
    • Te drogen materiaal (temperatuur per materiaalsoort zelf te configureren middels JSON file)
    • Tijdsduur
    • Reset
    • Aan/uit
  • Informatie op display
    • Ingestelde temperatuur/actuele temperatuur
    • Ingestelde tijdsduur/resterende tijdsduur
    • actuele luchtvochtigheid
    • Ingesteld materiaal
  • Geschikt voor 2 1kg rollen filament
  • Filament rollen draaien op lagers
  • Verwarming dmv PTC luchtverwarmer
    • zuigt vanonder af koude lucht aan
    • verwarmt dit en blaast dit door de ruimte met de filament rol(len)
    • (vochtige) lucht wordt via bovenkant afgevoerd
  • Bosch BME280 sensor in kap om temperatuur en vochtigheid te meten

Benodigdheden

ArtikelAantalPrijs p/stukTotaalWaar te koop
LCD 160212,152,15AliExpress.nl
Raspberry Pi Pico15,995,99otronic.nl
PTC luchtverwarmer met ventilator 100w114,4814,48aliexpress.nl
Rollagers 608u81,0210,10 (10)AliExpress.nl
M8 draadeind 100cm13,391,24Platstore.nl
M8 zeskantmoer160,050,80Platstore.nl
BME280 sensor 3.3v14,314,31AliExpress.nl
PCB terminal 2-voudig3Op voorraad
LM7805 IC10,870,87Reichelt.nl
Trimpot 5K12,022,02Reichelt.nl
IRLZ44N2Op voorraad
NPN transistor 2N22222Op voorraad
Weerstand 1K2Op voorraad
Weerstand 10K4Op voorraad
Weerstand 200 Ohm1Op voorraad
Condensator 1uF1Op voorraad
Condensator 0.1uF1Op voorraad
Male header 4-voudig1Op voorraad
Male header 6-voudig3Op voorraad
Male header 20-voudig2Op voorraad
female header 20-voudig2Op voorraad
female-female dupont kabel 6-voudig 30cm3Op voorraad
12mm Panel Mount puls push button – Rood/Geel20,270,54Aliexpress.com
female header 20-voudig21,95Kiwi-electronics.com
Schakelende voeding 12V 150W111,1511,15Aliexpress.com
Apparaatsnoer1Op voorraad
Tweelingsnoer p/meter1,5Op voorraad
DC voeding plug 5.5×2.1mm1Op voorraad
DC 2.1mm mount socket1Op voorraad
M2.5 bout 30mm40,050,20Platstore.nl
M2.5 8mm40,010,04Aliexpress.com
M3 bout 20mm80,050,40Platstore.nl
M3 moer120,050,60Platstore.nl
M2.5 5mm Insertmoer40,030,12Aliexpress.com
M4 bout 20mm2Op voorraad
M4 moer2Op voorraad
PLA/PETG per kg122,5022,50123-3d.nl
PCB (per 5 stuks)19,509,50pcbgogo.com
Dupontkabel 6-voudig female-female1Zelf gemaakt
Tie-wraps (10cm)3Op voorraad

Gereedschap

  • IJzerzaag
  • 2 steeksleutels 13 of kleine baco’s
  • Boormachine met 4 en 8 mm staalboren
  • Verzinkboor
  • Soldeerbout met tin
  • Locktide secondenlijm
  • Kniptangetje

Up-and-running

  • Python 3.10.7 of hoger

Stap 1. Printplaat ontworpen

Toelichting:

Centraal staat uiteraard de Raspberry Pi Pico op JP1 en JP2. De Raspberry Pi Pico wordt gevoed vanuit de 12V aansluiting, deze 12 volt wordt middels de 7805 IC1 en twee condensatoren, C1 en C2, teruggebracht naar 5 volt. De LCD 1602 display kan aangesloten worden op JP4 en JP5, met de 5K trimmer kan de backlight van de display ingesteld worden. Op Switch_pin kunnen de twee pushbuttons worden aangesloten en op BME280_PIN de BME280 sensor. De IRLZ44N mosfets worden aangestuurd door een 2N2222 NPN transistor, dit is nodig omdat de GPIO’s van de raspberry pico niet voldoende stroom produceren om de mosfet in werking te stellen. Middels de IRLZ44N mosfets wordt de fan en het verwarmingselement aangestuurd.

De partslist:

En het bord-layout:

en levert de volgende pinout op voor de Raspberry Pi Pico:

Raspberry Pi PicoLCD 1602BME280Drukknop/Relais
GNDVSS, V0, RW, KGND, SDO
5VVDD, A
3,3VVDD
0FAN
14SCK
15SDI
16RS
17E
18D4
19D5
20D6
21D7
22Heater
26Material
27Time

Stap 2. Configuratie file ontworpen

Het apparaat is met twee knoppen in te stellen. Met de bovenste knop kun je door de verschillende te drogen materialen scrollen. Door een te drogen materiaal te selecteren, selecteer je automatisch de droogtemperatuur en droogduur. Met de onderste knop kun je de droogduur, met vooraf gedefinieerde droogtijden, verlengen of verkorten. Je hebt maximaal 5 seconden de tijd tussen het instellen en het voltooien van de volgende instelling. Vijf seconden nadat je voor het laatst een knop ingedrukt hebt begint de droger te werken.

Op basis van research op diverse websites heb ik de volgende droogtemperaturen en -tijden gedefinieerd:

MaterialMinimum temperatureMaximum temperatuurDrying time
PLA4045240
ABS6575240
PETG6065240
Nylon7590720
Desccant6065180
PVA4045600
TPU/TPE4045240
ASA8085300
PP5055360
HIPS6065240
PC8090420
PEEK7075360

Bovenstaande tabel is als Excel bestand te downloaden: https://docs.google.com/spreadsheets/d/1Ct2IxqtZt26UZT_cTp3OmjOFV5GrlDT4/edit?usp=drivesdk&ouid=117551097624174478454&rtpof=true&sd=true

Met behulp van de conversie tool https://products.aspose.app/cells/nl/conversion/excel-to-json heb ik vervolgens dit Excel bestand omgezet naar een JSON file:

{
    "Materials": [
 {
  "Material": "PLA",
  "Minimum temperature": 40,
  "Maximum temperature": 45,
  "Drying time": 240
 },
 {
  "Material": "ABS",
  "Minimum temperature": 65,
  "Maximum temperature": 75,
  "Drying time": 240
 },
 {
  "Material": "PETG",
  "Minimum temperature": 60,
  "Maximum temperature": 65,
  "Drying time": 240
 },
 {
  "Material": "Nylon",
  "Minimum temperature": 75,
  "Maximum temperature": 90,
  "Drying time": 720
 },
 {
  "Material": "Desccant",
  "Minimum temperature": 60,
  "Maximum temperature": 65,
  "Drying time": 180
 },
 {
  "Material": "PVA",
  "Minimum temperature": 40,
  "Maximum temperature": 45,
  "Drying time": 600
 },
 {
  "Material": "TPU\/TPE",
  "Minimum temperature": 40,
  "Maximum temperature": 45,
  "Drying time": 240
 },
 {
  "Material": "ASA",
  "Minimum temperature": 80,
  "Maximum temperature": 85,
  "Drying time": 300
 },
 {
  "Material": "PP",
  "Minimum temperature": 50,
  "Maximum temperature": 55,
  "Drying time": 360
 },
 {
  "Material": "HIPS",
  "Minimum temperature": 60,
  "Maximum temperature": 65,
  "Drying time": 240
 },
 {
  "Material": "PC",
  "Minimum temperature": 80,
  "Maximum temperature": 90,
  "Drying time": 420
 },
 {
  "Material": "PEEK",
  "Minimum temperature": 70,
  "Maximum temperature": 75,
  "Drying time": 360
 }
]
}

Als je materiaal wil toevoegen of de droogtemperatuur of duur wilt aanpassen, en je bent wat minder technisch onderlegd, dan kun je dat in de Excel doen en daarna deze converteren naar JSON. Uiteraard kun je ook rechtstreeks de JSON file editten. Ook de JSON file is te downloaden: https://drive.google.com/file/d/1ORqfuelGUv2gbaVmBpIscr_5nqzzMfDN/view?usp=drivesdk

Stap 3. Micropython programma ontworpen

in grove lijnen werkt de applicatie als volgt:

  • initialisatie variabelen
    • openen van configuratie file (Materials.json) en inlezen in tabel
    • Selecteren eerste rij uit de tabel
  • initialiseren lcd display
    • Eerste rij uit de tabel op de display tonen
    • initialiseren BME 280 sensor
    • definieren functie getYempHum() voor het uitlezen van de temperatuur en vochtigheidsgraad van de BME280 sensor
    • initialiseren van relays en knoppen
    • loop
      • als bovenste knop ingedrukt wordt selecteer dan het volgende materiaal uit de tabel
      • als onderste knop ingedrukt wordt selecteer dan de volgende droogduur uit de tabel
      • als beide knoppen ingedrukt worden stop de operatie en reset
      • als materiaal en of droogtijd geselecteerd zijn, en er 5 seconden lang geen knop meer ingedrukt wordt en de droogtijd is nog niet verlopen, zet dan de ventilator aan. Als de gemeten temperatuur lager is dan de minimum droogtemperatuur zet dan de verwarming aan totdat de maximum droogtemperatuur is bereikt
      • Werk de display bij met actuele vochtigheidsgraad, temperatuur en nog te gane droogtemperatuur
      • Als de droogtijd is verlopen zet dan de ventilator en verwarming uit
  • Om het programma te kunnen draaien zijn er twee extra bibliotheken nodig, namelijk de bibliotheek BME280.py voor de ondersteuning van de BME280 sensor en lcd_pico.py voor de LCD 1602 display.
  • De files kun je hier downloaden:
FileDownload linkToelichting
BME280.pyhttps://drive.google.com/file/d/1169R2cws3y8iHVRhRX9u6NjvJjmjnMtl/view?usp=drive_linkBibliotheek voor ondersteuning van de BME280 sensor
lcd_pico.pyhttps://drive.google.com/file/d/1qxYg1LHconJmOZigOJ3uFlLuKAw2Zc54/view?usp=drive_linkBibliotheek voor ondersteuning van de LCD 1602 display
Materials.jsonhttps://drive.google.com/file/d/1ORqfuelGUv2gbaVmBpIscr_5nqzzMfDN/view?usp=drive_linkFilament materialen met hun minimum- en maximum temperaturen en droogtijd in json formaat
Materials.xlsxhttps://docs.google.com/spreadsheets/d/1Ct2IxqtZt26UZT_cTp3OmjOFV5GrlDT4/edit?usp=drive_link&ouid=117551097624174478454&rtpof=true&sd=trueFilament materialen met hun minimum- en maximum temperaturen en droogtijd in Excel formaat
FilamentDryer.pyhttps://drive.google.com/file/d/1YyN8y2qgpnc4Vfc26UWebIw3tFnF3_ki/view?usp=drive_linkMicroPython script voor het aansturen van de Filament Dryer
install.bathttps://drive.google.com/file/d/1xnHQwNP3dsvvGRW7Tfgj7PIkGN_zCrXA/view?usp=drive_linkInstallatie batch file, als je Adafruit AMPY nog niet geinstalleerd hebt, haal dan de letters “REM ” weg voor de eerste regel, pas de compoort aan naar jou situatie.
FilamentDryer.ziphttps://drive.google.com/file/d/1h9tNItNjOhJmmCIS7oMOVJXkmCtAuqyH/view?usp=drive_linkZip file met al bovenstaande files

Installeren doe je als volgt: (er vanuitgaand dat je Python reeds geinstalleerd hebt staan)

  1. Installeer eerst MicroPython op de Raspberry Pi Pico, volg hiervoor mijn tutorial “Micropython flashen op Raspberry Pi Pico” stappen 1 en 2 (optioneel 3).
  2. Download bovenstaande files (of de zip-file), en plaats (unzip) ze allemaal in dezelfde map
  3. Sluit de Raspberry Pi Pico aan op een USB van je laptop/desktop en achterhaal eventueel in Apparaatbeheer de COM poort die de Raspberry Pi Pico heeft gekregen. Zorg ervoor dat andere applicaties, zoals bijv. putty, die gebruik maken van de COM poort afgesloten zijn.
  4. Open met kladblok of je favoriete tekst editor de file install.bat en pas op regels 2 t/m 5 de com poort aan (mijn compoort was com7). Indien je Adafruit AMPY nog niet geinstalleerd hebt staan, oncommentarieer dan de eerste regel door de letters “REM ” weg te halen. Sla de file op en sluit kladblok af.
  5. Start de file install.bat door te dubbelklikken op de file in de verkenner. De benodigde bestanden worden weggeschreven naar de Raspberry Pi Pico.

De output:

D:\Syds Post\Filament dryer>install.bat

D:\Syds Post\Filament dryer>ampy --port com7 put BME280.py

D:\Syds Post\Filament dryer>ampy --port com7 put lcd_pico.py

D:\Syds Post\Filament dryer>ampy --port com7 put Materials.json

D:\Syds Post\Filament dryer>ampy --port com7 put FilamentDryer.py

D:\Syds Post\Filament dryer>

Stap 4. Behuizing ontworpen

Met behulp van FreeCAD heb ik een behuizing, inclusief rolmechanisme voor de filamentrollen, ontworpen. De behuizing bestaat uit de volgende onderdelen:

OnderdeelBestandsnaamAantal keer printenKleur PLA/PETGPrintduur in minuten per stukVerbruik PLA/PETG per stuk in gram
StanghouderFilament dryer-Stanghouder.stl2Oranje (PLA)12217
AfstandhouderFilament dryer-Afstandhouder.stl14Oranje (PLA)71
BME280 houderFilament dryer-BME280 houder.stl1Wit (PLA)27626
BodyFilament dryer-Body.stl1Grijs (PLA)2497430
DekselFilament-dryer-Deksel.stl1Grijs (PLA)52198
KapFilament-dryer-Kap.stl1Transparant (PETG)2176559
FreeCAD fileFilament-dryer.FCStd

In onderstaande tabel de instellingen voor het printen van de verschillende componenten:

SettingStanghouder, Afstandshouder en BME280 houder (PLA)Body en deksel (PLA)Kap (PETG)
Layer Height0,2 mm0,2 mm
Wall thickness0,8 mm0,8 mm
Top/Bottom0,8 mm0,8 mm
Infill Density20%20%
Infill Line Distance6 mm6 mm
Infill PatternCubicCubic
Printing Temperature200 0C200 0C
Build Plate Temperature50 0C50 0C
Print Speed50 mm/s50 mm/s
Enable retractionOnOn
Enable Print CoolingOnOn
Generate supportOffOn
Build Plate AdhesionSkirtNone

Totale printtijd bedraagt zo’n 5 a 6 dagen ! Onderstaand een collage van alle componenten.

Stap 5. PCB besteld

Bij PCB gogo de in stap 1. ontwikkelde PCB besteld, hiervoor de volgende instellingen gebruikt:

De kosten bedragen maar liefst $ 5,- voor 5 printplaten. Heb deze bestelling gecombineerd met 2 andere PCB’s en daardoor de verzendkosten laag kunnen houden. Totaal komen de kosten op € 9,50.

Stap 6. Assemblage

In deze stap gaan we eerst het rolmechanisme assembleren, benodigd hiervoor zijn:

  • 16 M8 moeren
  • 14 Afstandhouders
  • 8 rollagers
  • 2 M8 draadeinden, lengte 21 cm
  • 2 Stanghouders

Bevestig de onderdelen als volgt. Draai een M8 moer tot zo’n 8 cm op het draadeind, draai nog een M8 moer tot zo’n 5cm op het draadeind. Schuif achtereenvolgens een afstandhouder, rollager en een afstandhouder op het draadeind. Draai een M8 moer op het draadeind tot de laatst aangebracht afstandhouder. Schuif één van de stanghouders op het draadeind en sluit af met een M8 moer. Draai de binnenste M8 moer aan zodat het draadeind stevig op de stanghouder geschroeft is. Draai de volgende M8 moer aan totdat de afstandhouders en rollager stevig tegen de binnenste M8 moer aangeschoeft zijn. Schuif vanaf het andere eind van het draadeind achtereenvolgens een afstandhouder, rollager, afstandhouder, rollager en afstandhouder. Schroef vervolgens 2 M8 moeren op het draadeind of ongeveer 8 en 5cm. Schuif een afstandhouder, rollager en afstandhouder op het draadeind en sluit af met een M8 moer.

Herhaal dit met het andere draadeind. Schuif tot slot de tweede stanghouder op de beide draadeinden en schroef deze stevig vast met twee M8 moeren. Lijn de rollagers goed uit en draai alle nog los zittende M8 moeren vast.

Vervolgens gaan we het rolmechanisme op de body bevestigen, benodigd zijn:

  • 8 M3 boutjes 20mm
  • 8 M3 moeren
  • body
  • geassembleerd rolmechanisme

Draai de buitenste 4 M8 moeren los, en schuif de stanghouders van het draadeind. Positioneer één van de stanghouders op de body en steek er van bovenaf de M3 bouten door de 4 gaten in de body en stanghouder. Draai van onderaf een M3 moer op de 4 bouten, maar zet die nog niet helemaal vast. Schuif de uiteinden van de draadeinden door de op de body bevestigde stanghouder. Steek de overige 4 M3 bouten van bovenaf door de losse standhouder en schuif die op de andere zijde van de draadeinden en positioneer tegelijkertijd de 4 bouten op de 4 gaten in de body. Druk de bouten door de body, draai de overige 4 M3 moeren op de bouten en schroef alle 8 moeren stevig vast. Draai tot slot de 4 M8 moeren op de uiteinden van de draadeinden en stel eventueel de rollagers nog wat bij zodat er niets uitsteekt aan de buitenzijde van de standhouders.

Nu is de heater aan de beurt. Omdat ik de heater nog niet binnen had op het moment dat ik de Body in FreeCAD heb ontworpen, heb ik een aanname gedaan in de diameter van de uitgang van de heater, namelijk 55mm. Dat blijkt in de praktijk net iets te ruim, de werkelijke diameter is 53mm. Op zich niet zo’n probleem, maar als je besluit dit project ook te realiseren zou je ervoor kunnen kiezen om de uitsparing voor de heater iets kleiner te houden, dan komt de heater mooi klem te zitten in het gat. Ook had ik nog geen rekening gehouden met de gaten voor de bevestiging van de heater, dus hiervoor heb ik aan de binnenzijde van de body de gaten overgenomen.

Benodigd zijn:

  • 2 M4 bouten 20mm
  • 2 M4 moeren
  • Body
  • Boormachine met 4mm staal boortje

Boor de gaten in de body met de 4mm boor, steek de M4 boutjes erdoor en positioneer de heater erop. Draai de M4 moertjes op de boutjes en draai stevig vast. Zorg ervoor dat de heater het hele gat in de body afdekt. Leidt de kabels door het gaatje onderin de scheidingswand zodat die straks aangesloten kunnen worden op de PCB.

In de volgende stap gaan we de body prepareren zodat het deksel er onder geschroefd kan worden. Benodigd hiervoor zijn:

  • 4 insertmoeren M2.5*5*3.5
  • 4 schroeven M2.5*8
  • Body
  • Deksel
  • Soldeerbout

Verwarm de soldeerbout voor. Plaats de insertmoer in een gat aan de onderzijde van de body, en duw die met de hete soldeerbout verder in het gat.

Het deksel kan nu met de M2.5 boutjes vastgezet worden op de body.

Nu nog de BME280 houder monteren. Had een ingenieus ontwerp gemaakt waarbij de BME280 sensor op twee pinnetjes geschoven kon worden, en de dupont kabel van achteraf op de header van de sensor gestoken kon worden. Dat bleek helaas in de praktijk niet te werken, de dupont-kabel komt in een lus te staan en raakt daarbij net de ronddraaiende katrol met filament. Daarom een plan B bedacht en de sensor gewoon aan de voorkant van de houder vastgeplakt met wat secondenlijm.

Benodigd zijn:

  • BME280 houder
  • Dupont kabel 6-voudig female female van zo’n 45 – 50 cm
  • 3 Tie-wraps 10cm
  • BME280 sensor
  • Locktide secondenlijm
  • Boormachine met 8cm staalboor
  • Verzinkboor

Boor eerst met een 8mm staalboor een gat voor de kabeldoorvoer in het middelste gat van een stanghouder (links of rechts naar keus). Ruim daarna met de verzinkboor het gat onderin de plaat van de BME280 houder wat op zodat de samengeknepen dupontkabel er door heen past. Haal de kabel door de plaat van de BME280 houder, en schuif de header van de BME280 op de dupontkabel. Positioneer de BME280 sensor net onder de twee pennetjes van de BME280 houder en zet de dupontkabel met 3 tie-wraps vast op de daarvoor bestemde beugeltjes. Doe een drup secondenlijm op de stekker van de dupontkabel en druk deze vast op de BME280 houder. Voer de kabel door de kabeldoorvoer in het middelste gat van de stanghouder en druk de BME280 houder vast op de stanghouder.

Tot slot de twee pushbuttons gemonteerd, benodigd zijn:

  • 1x 12mm pushbutton rood
  • 1x 12mm pushbutton geel
  • 2x dupontkabeltjes met 2-voudige female connector, 10cm
  • stukje krimpkous

Snij 4 kleine stukjes van ongeveer 1cm af van de krimpkous, en schuif die over de gestripte uiteinden van de dupontkabeltjes. Soldeer de dupontkabeltjes op de pushbutton, schuif de krimpkous over het soldeersel en vervarm dit met een vuuraansteker. De gaten in de body m.b.v. de verzinkboor iets opgeruimd, de knoppen pasten net niet lekker.

Draai de moeren van de pushbutton, en schuif de carroseriering eraf. Druk de pushbuttons in de body, schuif aan de achterzijde de carroseriering er weer op en draai de moeren vast (Best een gepruts in die beperkte ruimte).

Stap 6. Voeding

Mijn oorspronkelijk plan was om de 12v voeding te verwerken in de body en had een 150w voeding besteld. Echter qua afmetingen had ik er geen rekening mee gehouden dat de breedte van de body dan breder werd dan wat mijn 3D printer aankon. Had nu twee opties, een nieuwe passende voeding bestellen of de voeding buiten de body te houden. Heb voor dat laatste gekozen. (Hoeft uiteraard niet jou keuze te zijn, er zijn legio trafo’s bij Reichelt, Amazon etc. te bestellen die wel in de body passen, sla dan deze stap over en bedenk je eigen plan om de trafo te verankeren in de body)

Voor de voeding heb ik een casing ontworpen en geprint, uiteraard weer te downloaden:

OnderdeelBestandsnaamAantal keer printenKleur PLA/PETGPrintduur in minuten per stukVerbruik PLA/PETG per stuk in gram
VoedingblokFilament dryer-Voedingblok.stl1Grijs (PLA)40568
Voedingsblok dekselFilament dryer-Voedingsblok deksel.stl1Grijs (PLA)16832
FreeCAD fileFilament-dryer.FCStd

Het resultaat:

Voor het assembleren van de voeding heb je nodig:

  • Voeding 12v dc 150w (12,5A)
  • Voedingblok
  • Voedingblok deksel
  • 4 M2.5 boutjes 30mm
  • 4 M2.5 moeren
  • Apparaatsnoer
  • 1,3m tweeling snoer
  • 5.5×2.1 mm DC voeding plug

Plaats de voeding in het voedingsblok, duw het uiteinde van het apparaatsnoer door het gat aan de zijde waar de tekens L, N, en aarde staan en sluit de bruine fase draad aan op de L en de blauwe netraal draad op de N. Pak het stuk tweelingsnoer en duw dat door het gat aan de zijde waar de tekens V+ V+ V- V- staan, en sluit deze aan op de middelse twee polen met V+ en V-. Plaats het deksel op het voedingsblok en steek vanaf de onderzijde de M2.5 bouten door het voedingsblok en het deksel. Plaats M2.5 moertjes op de bouten en draai stevig vast. Soldeer aan de andere zijde van het tweelingsnoer de 5.5mm DC voeding plug. Zorg er hierbij voor dat de – (V-) op de buitenzijde van de plug wordt aangesloten, en de + (V+) op het binnenste deel van de plug.

In de body zijn uitsparingen gehouden voor een schakelaar en een DC jack. Het gat voor de DC jack bleek iets te klein, deze heb ik uitgeboord met een verzinkboor. Benodigd zijn:

  • body
  • schakelaartje
  • 2.1mm DC mount plug
  • tweelingsnoer 20cm
  • soldeerbout
  • locktide secondenlijm
  • Stukje krimpkous

Strip het tweeling snoer aan beide zijden, en schuif aan één zijde twee stukjes krimpkous. Soldeer het stukje tweelingsnoer op de DC mount plug en verwarm het krimpkous. Mijn variant had 3 polen, door de mount plug aan te sluiten op de voeding, de voeding van stroom te voorzien en met een multimeter door te meten de juiste polen kunnen selecteren voor de – en de +. Vervolgens op een afstand van circa 3 cm van de DC mount plug de – draad doorgeknipt, de draad gestript en twee stukjes krimpkous op geschoven, en hier de schakelaar tussen gesoldeerd. Tot slot de DC mount plug door de uitsparing geduwd en de borgmoer er op gedraaid en de schakelaar met een drupje locktide in de uitsparing vastgezet.

Stap 7. Assemblage printplaat

De PCB’s die ik bij PGBgogo.com besteld heb zijn binnen, en zien er zoals altijd heel professioneel uit.

Benodigd zijn:

  • 1x PCB
  • 3x PCB terminal 2-voudig
  • 1x LM7805 IC
  • 1x Trimpot 5K
  • 2x IRLZ44N
  • 2x NPN transistor 2N2222
  • 2x Weerstand 1K
  • 4x Weerstand 10K
  • 1x Weerstand 200 Ohm
  • 1x Condensator 1uF
  • 1x Condensator 0.1uF
  • 1x Male header 4-voudig
  • 3x Male header 6-voudig
  • 2x Male header 20-voudig
  • 2x Female header 20-voudig
  • 1x Raspberry Pi Pico

We beginnen met het solderen van de male headers op de Raspberry Pi Pico:

Benodigd zijn:

  • Raspberry Pi Pico
  • 2x 20-voudige male header
  • Breadboard
  • Soldeerbout + tin

Plaats de 2 20-voudige male header op de breadboard, en schuif de Raspberry Pi Pico hierop. Zo zorg je voor een stevig platform om de headers op de pico te solderen, en komen de headers netjes onder een hoek van 90 graden onder de pico. Soldeer de pico op de headers.

Vervolgstap is het solderen van de headers op de PCB, benodigd zijn:

  • 1x Male header 4-voudig
  • 3x Male header 6-voudig
  • 2x Female header 20-voudig

Vervolgens solderen we de weerstanden en condensatoren op de PCB, benodigd zijn:

  • 2x Weerstand 1K
  • 4x Weerstand 10K
  • 1x Weerstand 200 Ohm
  • 1x Condensator 1uF
  • 1x Condensator 0.1uF

Nu zijn de terminal blocks aan de beurt, benodigd zijn:

3x PCB terminal 2-voudig

Tot slot zijn de IC’s, NPN’s en trimpot aan de beurt, benodigd zijn:

  • 1x LM7805 IC
  • 1x Trimpot 5K
  • 2x IRLZ44N
  • 2x NPN transistor 2N2222

Let op dat je de LM7805 met de “IJzeren” zijde naar het witte vlak toe bevestigd, de IRLZ44N mosfet met de gate pin (Pin 1, links gezien vanaf de voorkant van de mosfet) in het vierkantje soldeervakje komt, de trimpot met het schroefje naar het “verbodsbord” of de printplaat wijst en ten slotte de platte kant van de NPN transistor naar het puntje wijst.

Tot slot de Raspberry Pi Pico op de headers geplaatst, en nylon spacers met schroefjes vastgezet op de printplaat.

Het eindresultaat ziet er, al zeg het zelf, spectaculair uit.

Stap 8. Testen

Voordat de PCB en het LCD display ingebouwd worden, voer ik eerst nog wat testen uit. Te starten met het testen van de voeding. Hiervoor verwijder ik voor de veiligheid de Raspberry Pi Pico nog even van de PCB en sluit de PCB aan op de in stap 6. gemaakte voeding. Mbv van twee male-male dupontkabeltjes op JP2-3 (GND) en JP2-2 (VSYS) en een multimeter test ik het voltage. Dat levert een nette 4.9v op, dus geen probleem om de volgende test uit te voeren met Raspberry Pi Pico op de headers. Zet natuurlijk de voeding wel even uit voordat je dat doet.

Nu testen we het LCD display. Sluit het display met twee 6-voudige female-female dupontkabels aan op de PCB, let er daarbij op dat je de kabels goed om aansluit. Zet de voeding weer aan. Als het goed is gaat nu de LCD display branden. Zie je geen tekst, draai dan aan het stelschroefje van de trimpot. Eerst een tijdje linksom, nog steeds geen tekst, draai dan het stelschroefje rechtom. Stel de trimpot zo in dat de tekst helder op het schermpje komt.

Als alles goed is, komt de tekst:

Mat : PLA
Time: 4:00

Op het scherm te staan. Test geslaagd.

Volgende test zijn de pushbuttons, sluit deze aan op de switch pins. Let erop dat de rooie pushbutton aangesloten wordt pins 3 & 4, en de gele pushbutton op pins 1 & 2. Polariteit maakt niet uit. Druk nu op de rooie pushbutton, het volgende materiaalsoort zou op de display moeten komen te staan.

Maar in plaats daarvan resette de Raspberry Pi Pico bij mij, ook als ik de gele knop drukte of de BME280 aansloot. Na lang solderingen nalopen, PCB ontwerp doorgepluizen en met de multi-meter te hebben gemeten kon ik het probleem niet vinden. De 3v3 pin gaf ipv 3.3 volt, 4.4 volt, dat gaf me een hint. Na wat gegoogle kwam ik erachter wat het probleem was, de Raspberry Pi Pico beschikt over twee 3v3 pins, namelijk de 3v3 EN en de 3v3 OUT pins. Ik heb de 3V3 EN pin gebruikt voor het voeden van de switches en BME280. Een kapitale fout blijkt achteraf omdat de 3V3 EN pin dezelfde functie heeft als de RESET pin, als deze laag getrokken wordt, dan reset de pico. Ik had dus de 3V3 OUT pin moeten gebruiken in mijn ontwerp.

Lang verhaal kort, de 3V3 EN pin uit de header van de pico getrokken en op de PCB de 3V3 EN en 3V3 OUT kortgesloten met wat extra tin. Note: In de Eagle files heb ik deze fout al rechtgetrokken, dus jij hebt hier geen last van als je deze tutorial volgt.

Daarna werkten de knoppen naar behoren

Nu de BME280 testen. Sluit die aan op de BME280_Pin, let er op dat de VCC van de BME280 aangesloten wordt op pin 1. Ook hier liep ik weer tegen een probleem aan, blijkt dat ik per ongeluk SDA en SCL heb omgewisseld in het ontwerp van mijn PBC. Dit opgelost door in de kabel tussen de BME280 en de PBC die twee dupontkabeltjes om te wisselen. Note: In de Eagle files heb ik deze fout al rechtgetrokken, dus jij hebt hier geen last van als je deze tutorial volgt.

Na die twist te hebben aangebracht in de kabel werkte het uitlezen van de BME280 naar behoren, en na vijf seconden wordt op het display de actuele temperatuur en luchtvochtigheid getoond.

Tot slot testen we de fan en de heater. Sluit deze aan op de terminal blocks of gebruik een multimeter. Nadat je de materiaal keuze hebt gemaakt zou na 5 seconden de heater én de fan aan moeten gaan (of 12v gemeten moeten worden op het terminal block).

Stap 9. Electronica inbouwen in de body, afronden body

Na alles grondig getest te hebben kan de electronica ingebouwd worden in de body en het deksel erop.

Eerst schroeven we de PCB op de tussenwand van de body, dit met behulp van 4 nylon schroefjes.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *