Inhoudsopgave:

ESP32 Bluetooth-reflow-oven - Ajarnpa
ESP32 Bluetooth-reflow-oven - Ajarnpa

Video: ESP32 Bluetooth-reflow-oven - Ajarnpa

Video: ESP32 Bluetooth-reflow-oven - Ajarnpa
Video: #14 ESP32 DIY Reflow Oven Demo with Reflowduino32 2024, Juli-
Anonim
ESP32 Bluetooth-reflow-oven
ESP32 Bluetooth-reflow-oven

In deze tutorial laat ik je zien hoe je je eigen draadloze reflow-oven kunt bouwen, zodat je hoogwaardige PCB's in je keuken kunt monteren zonder je zorgen te hoeven maken over het handmatig draaien van de knoppen en je zorgen te maken als je boards te heet worden! Niet alleen dat, maar we zullen de ingebouwde Bluetooth Low Energy (BLE) -functionaliteit van de ESP32 gebruiken (want wat zou je nog meer gebruiken in 2018) evenals een add-on-module die ik heb gebouwd als onderdeel van een open -source reflow control-ecosysteem genaamd "Reflowduino". We zullen ook alles programmeren in de Arduino IDE-omgeving en gebruiken wat we in een eerdere tutorial hebben geleerd om de reflow-configuratie te besturen met een aangepaste Android-app. Ik heb alle ontwerpbestanden, bijvoorbeeld Arduino-schetsen, demo-app en projectwiki (veel info!) op mijn Reflowduino Github-pagina geplaatst.

Als je dat nog niet hebt gedaan, bekijk dan deze tutorial over het gebruik van de Bluetooth Low Energy-functie van de ESP32 met Arduino IDE en het tot stand brengen van tweerichtingscommunicatie met een aangepaste Android-app, omdat deze veel relevante informatie bevat met betrekking tot wat we hier zullen behandelen. Als je echter niet echt om de interne werking van de Bluetooth en de app geeft, blijf dan gewoon lezen en ik zal je laten zien hoe je je reflow-ovenopstelling pijnloos kunt laten werken! Mijn doel voor deze tutorial is om het kort en krachtig te maken en toch de belangrijkste boodschappen over te brengen!

Veiligheidsdisclaimer

Als je een beginner bent in elektronica of niet de juiste ervaring hebt om met netspanning te werken, raad ik je aan om er ofwel niet mee te rotzooien, een professional te raadplegen of door te leren totdat je bekwaam genoeg bent! Ik ben niet aansprakelijk voor eventuele ongelukken die kunnen optreden als gevolg van misbruik van de Reflowduino of de bijbehorende componenten of het elektrische systeem (inclusief netvoeding). Neem waar nodig alle veiligheidsmaatregelen, zoals handschoenen en een gecertificeerde veiligheidsbril. Bovendien wordt het afgeraden om hetzelfde apparaat te gebruiken om PCB's opnieuw te vullen en ook om voedsel voor consumptie te koken, wat kan leiden tot voedselvergiftiging, vooral met loodhoudend soldeer. U bent volledig verantwoordelijk voor uw acties en voert ze op eigen risico uit!

Laten we daarmee aan de slag gaan!

Stap 1: Verzamel onderdelen

Onderdelen verzamelen
Onderdelen verzamelen
Onderdelen verzamelen
Onderdelen verzamelen
Onderdelen verzamelen
Onderdelen verzamelen

Voor deze tutorial heb je de volgende componenten nodig:

  • DOIT ESP32 ontwikkelbord
  • Micro-USB-kabel (om code te uploaden en het ESP32-ontwikkelbord van stroom te voorzien)
  • Reflowduino32 "rugzak" module voor het ESP32 dev board
  • Broodroosteroven (lees opmerkingen hieronder voor meer details)
  • K-type thermokoppel (meegeleverd met Reflowduino32)
  • Sidekick-relaismodule (wordt geleverd met een zware C13-voedingskabel)
  • 2x male-male Dupont jumperdraden (om de Reflowduino32 aan te sluiten op de relaismodule)
  • Kleine platte schroevendraaier (voor het vastdraaien van de schroefklemmen)

De belangrijkste ingrediënten hier zijn het ESP32-ontwikkelbord, Reflowduino32 en Sidekick-relaismodule, en natuurlijk de broodroosteroven zelf. Ik zal elk item hieronder kort toelichten:

ESP32 Dev Board + Reflowduino32

Momenteel is de Reflowduino32 ontworpen om aan te sluiten op het ESP32-ontwikkelbord, dus het ontwikkelbord moet de juiste kopafstand en pin-outs hebben om dit te laten werken. Ik heb de Reflowduino32-rugzak speciaal ontworpen voor het "DOIT" ESP32-ontwikkelbord, omdat ik merkte dat dit gemakkelijk online beschikbaar was en veel gebruikt lijkt te worden. Als je echter een ander ESP32-ontwikkelbord vindt met dezelfde pinouts en pin-afstand, laat het me dan weten, want dat zou ook moeten werken!

Broodrooster

Het zou nogal duidelijk moeten zijn wat dit doet in het grote geheel van dingen, maar het is misschien niet zo duidelijk welk type en model te kiezen. Persoonlijk heb ik deze goedkope Walmart-broodroosteroven getest met een vermogen van 1100W en vrij generiek. Ik denk dat alles boven de 1000W voldoende zou moeten zijn voor gebruik door hobbyisten, maar er zijn bepaalde overwegingen. De belangrijkste dingen waar je op moet letten bij een broodrooster is het wattage (bij voorkeur >1000W), de grootte (hoeveel borden wil je erin passen?), de ladeconfiguratie (heeft hij een mooie, platte lade die je kunt gebruiken om de printplaat aanstaat?) en of het een heteluchtoven is of niet (misschien kook je grotere hoeveelheden borden en wil je een meer gelijkmatige temperatuurverdeling door de oven?). Al deze factoren zijn echt afhankelijk van uw persoonlijke toepassing, maar voor mij werkte de goedkope, generieke Walmart-broodrooster prima.:)

Je vraagt je misschien af, hoe zit het met kookplaten? Naar mijn mening zou ik uit de buurt blijven van kookplaten, omdat ze een hoge thermische massa hebben. Dit betekent dat ze opwarmen en blijven opwarmen, zelfs nadat je ze hebt uitgeschakeld. Dit maakt het echt onvoorspelbaar voor nauwkeurige temperatuurregeling, omdat de temperatuur grote hoeveelheden kan overschrijden en mogelijk kwetsbare componenten op uw borden kan beschadigen. In principe zou het gebruik van een hete plaat het doel van het gebruik van een reflow-controller in de eerste plaats teniet doen.

Relaismodule

Om de temperatuur te regelen, moeten we de broodrooster in- en uitschakelen volgens de temperatuur die we van het thermokoppel aflezen. De broodroosteroven is echter een AC-apparaat en heeft een relatief hoog vermogen (met 120VAC-broodroosters die doorgaans ongeveer 8-10A verbruiken), dus we moeten ervoor zorgen dat we hem goed kunnen besturen zonder het relais te overbelasten. Een andere overweging is de stuurspanning van het relais. De meeste hobbyrelais (compatibel met Arduino) die hoge stromen kunnen schakelen, zijn geschikt voor 5V-ingangen, maar in deze tutorial hebben we te maken met een ESP32 die op 3,3V werkt. Dit betekent dat de gemiddelde Joe-relaismodule mogelijk niet voor ons werkt. Als u echter een andere relaismodule wilt gebruiken, heb ik een functie ontworpen waarmee u de relaisbesturingsspanning kunt wijzigen van de standaard 3,3 V naar de "VIN" -spanning van het ESP32-ontwikkelbord, dat standaard ~ 5V is wanneer gevoed via USB. Je zou het echter theoretisch extern kunnen voeden met iets hoger dan 5V, zeg 9V, en dan zal de relaisstuurspanning 9V zijn. Dat gezegd hebbende, heb je normaal gesproken niets boven 5V nodig.

Dit is gedeeltelijk de reden waarom ik de Sidekick-relaismodule heb gemaakt, een krachtig solid-state relais dat elk legaal 120VAC-apparaat kan schakelen en zonder klikgeluid (solid-state) zoals traditionele relais! Het heeft ook zeer veilige en handige connectoren en voor het eenvoudig aansluiten van het apparaat, de microcontroller en het lichtnet (het stopcontact), dus dit is wat ik hier zal gebruiken. Het leuke is dat je de broodroosteroven niet eens hoeft te openen om hem te bedienen!

Stap 2: Hardware-installatie

apparatuur installatie
apparatuur installatie
apparatuur installatie
apparatuur installatie
apparatuur installatie
apparatuur installatie
apparatuur installatie
apparatuur installatie

Besturingsconcepten

Het concept is eigenlijk vrij eenvoudig: ons doel is uiteindelijk om de temperatuur in de broodroosteroven te regelen. Om dit te doen, moeten we de broodroosteroven periodiek aan- en uitzetten met de relaismodule, analoog aan PWM maar een echt langzame versie ervan (elk tijdvenster is 2s, dus het kan 1,5s aan en 0,5s uit zijn). Om het relais aan te sturen, moeten we het een juiste spanning geven op de relaisbesturingspinnen (logisch HOOG = AAN, LAAG = UIT). In ons geval verbinden we eenvoudig de twee relaisbesturingsingangen met de relaisschroefklem van de Reflowduino32. De reden dat we de digitale pinnen van de ESP32 niet rechtstreeks op het relais aansluiten, is omdat het relais veel stroom trekt (vergeleken met wat de IO-pinnen aankunnen) en we de ESP32 niet willen overbelasten. De Reflowduino32 bevat MOSFET low-side switching en kan meer dan 200 mA stroom aan, waardoor de pinnen van de ESP32 worden gespaard van mogelijke schade.

Volg gewoon het "Reflowduino32 + Sidekick Control" bedradingsschema hierboven en je zou goed moeten zijn om te gaan!

Broodrooster Ovenknoppen

Geloof het of niet, dit is een cruciaal onderdeel in deze tutorial! Als u hier niet op let, zult u zich afvragen waarom uw broodrooster niet aangaat, ook al hebt u al het andere perfect gevolgd. Waarom? Welnu, om ervoor te zorgen dat we de broodrooster extern kunnen bedienen (via het netsnoer) zonder hem te openen, moeten we de broodrooster maken alsof hij altijd aan staat als we hem rechtstreeks op de muur zouden aansluiten. Omdat de broodrooster wordt geschakeld door het relais, kunnen we regelen wanneer de broodrooster uit staat, maar als de broodrooster soms aan of soms uit is wanneer het relais actief is, stellen we onszelf voor mislukking. Daarom moeten we eerst de knoppen van de broodrooster instellen. De meeste broodroosterovens hebben drie knoppen: een voor de temperatuur, een voor de bakstand en een andere voor de timer. Wat u moet doen is het volgende:

  • Maximaliseer de temperatuur (we willen niet dat ons reflow-proces halverwege stopt!)
  • Stel de kookoptie in op "Bakken" of wat dan ook waardoor alle verwarmingsfilamenten binnenin worden ingeschakeld!
  • Maximaliseer de timer of, in het geval van mijn broodrooster, draai de timerknop naar "Blijf aan" zodat hij nooit wordt uitgeschakeld!

Steek daarna de stekker van de broodrooster in een stopcontact en je zou hem moeten horen en zien aanzetten. Bingo! Als je bang bent dat je de knoppen per ongeluk kwijtraakt, voel je vrij om ze op hun plaats te lijmen, zodat ze nooit bewegen!

Nu onze broodrooster altijd aan staat wanneer hij wordt ingeschakeld, kunnen we hem met het relais in- of uitschakelen met de gemoedsrust dat hij inderdaad wordt ingeschakeld wanneer het relais actief is.

Bedrading Opmerkingen:

Hier zijn slechts enkele opmerkingen die u wel of niet kunnen helpen bij het samenstellen van alles:

  • Het eerste dat u wilt doen, is de Reflowduino32-rugzak in de eerste zes pinnen van het DOIT ESP32-ontwikkelbord steken (zodat de schroefaansluitingen zich aan dezelfde kant bevinden als de micro-USB op het ontwikkelbord). Voor het geval je je afvraagt, de rugzak is zo ontworpen dat je nog steeds Dupont-draden in het ESP32-ontwikkelbord naast de Reflowduino32 kunt steken, zoals weergegeven in de afbeelding hierboven.
  • Een ander ding om op te letten is de polariteit van de relaisingangen. Ze zijn allebei gelabeld naast de schroefaansluitingen, maar ik wil voorkomen dat je ze per ongeluk verwisselt en je afvraagt wat er aan de hand is als de broodrooster niet wordt ingeschakeld!
  • Ook dient u het thermokoppel in de schroefklem op de Reflowduino32 rugzak aan te sluiten. In het begin kan het moeilijk zijn om te zien welke draad welke kleur heeft (geel of rood), dus moet u mogelijk uw vingernagel gebruiken en de isolatie voorzichtig een beetje lostrekken. Doe dit echter niet met geweld om rafelen tot een minimum te beperken!
  • Ik heb van sommige mensen gelezen dat je misschien nauwkeurigere resultaten krijgt als je het thermokoppel in een schroot-PCB rijgt, zodat de punt contact maakt met het oppervlak van de PCB. Een scrapboard van vergelijkbare grootte als de boards die u monteert, zal het thermokoppel een vergelijkbare thermische massa geven en daarom de metingen nauwkeuriger maken. Dit is logisch als je denkt aan afkoeling; zonder de schroot-PCB zal de thermokoppeltip veel sneller afkoelen dan de PCB's die u monteert, en hetzelfde geldt voor veel sneller opwarmen.
  • Er zit een aan/uit-schakelaar op de Sidekick-relaismodule. Als dit niet is ingeschakeld, wordt de broodrooster niet warm! Laat het echter voorlopig uit voordat we de code uploaden naar het ESP32-bord.

Stap 3: ESP32 Arduino IDE-installatie

ESP32 Arduino IDE-configuratie
ESP32 Arduino IDE-configuratie
ESP32 Arduino IDE-configuratie
ESP32 Arduino IDE-configuratie
ESP32 Arduino IDE-configuratie
ESP32 Arduino IDE-configuratie

Nu u alle hardware hebt ingesteld, gaan we eens kijken naar de software die nodig is om alles in gebruik te nemen.

Opmerking: deze ESP32 Arduino-installatie-instructies hieronder komen rechtstreeks uit stap 2 van mijn vorige ESP32 Bluetooth-zelfstudie. Dit is een van die plaatsen waar, als je dat nog niet hebt gedaan, het misschien een goed idee is om die tutorial te bekijken voor meer informatie over de Bluetooth-mogelijkheden van de ESP32.

Dit is vrij duidelijk, maar het eerste dat u hoeft te doen, is Arduino IDE installeren. Genoeg gezegd.

Installatie van ESP32-pakket

Het volgende dat u hoeft te doen, is het ESP32-pakket voor Arduino IDE installeren door de Windows-instructies of de Mac-instructies te volgen. Ik zal zeggen dat voor Windows, wanneer de instructies je vertellen om "Git GUI" te openen, je "Git" moet downloaden en instellen via de verstrekte link en als je moeite hebt om een applicatie genaamd "Git GUI" te vinden, dan heb je alles wat je nodig hebt te doen is zoeken naar "Git GUI" in het startmenu en je zult een klein opdrachtpromptachtig pictogram zien (zie bijgevoegde screenshot hierboven). Het bevindt zich standaard ook in "C:\Program Files\Git\cmd\git-gui.exe". Volg vanaf daar de instructies en je zou goed moeten zijn om te gaan! Opmerking: als je het ESP32-pakket al in Arduino IDE hebt geïnstalleerd, maar het niet hebt gekregen nadat BLE-ondersteuning aan het pakket was toegevoegd, raad ik je aan naar "Documents/hardware/espressif" te gaan en de map "esp32" te verwijderen en herhaal de installatie-instructies hierboven. Ik zeg dit omdat ik een probleem tegenkwam waarbij zelfs na het volgen van de updateprocedure onderaan de instructies de BLE-voorbeelden niet verschenen in de "Voorbeelden" onder "Voorbeelden voor ESP32 Dev Module" in Arduino IDE.

ESP32-test

In Arduino IDE moet u eerst naar Tools / Board gaan en het juiste bord selecteren. Het maakt meestal niet echt uit welke je kiest, maar sommige dingen kunnen board-specifiek zijn (meestal de GPIO-nummering en dat soort dingen), dus kijk uit! Ik koos "ESP32 Dev Module" voor mijn bord. Ga ook je gang en kies de juiste COM-poort nadat je het bord via de USB-kabel op je computer hebt aangesloten.

Om te controleren of de ESP32-installatie goed is verlopen, gaat u naar Bestand / Voorbeelden / ESP32 BLE Arduino en ziet u verschillende voorbeeldschetsen, zoals "BLE_scan", "BLE_notify", enz. Dit betekent dat alles correct is ingesteld in Arduino IDE!

Nu Arduino IDE helemaal is ingesteld, kun je testen of het echt werkt door het Blink-voorbeeld te openen onder Bestand -> Voorbeelden -> 01. Basics -> Knipperen en alle instanties van "LED_BUILTIN" in "2" te veranderen (het standaard GPIO-nummer dat bestuurt de LED op het DOIT ESP32-ontwikkelbord). Na het uploaden van de schets zou je de blauwe LED elke seconde moeten zien knipperen!

Stap 4: Reflowduino32 Demo Sketch

Bibliotheek instellen

Nu je het ESP32 Arduino-pakket hebt geïnstalleerd, ga je naar de Reflowduino Github-repository en download je de Reflowduino_ESP32_Demo.ino-schets. (Als je het probeert te openen, zal Arduino je vragen of je een map wilt maken met dezelfde naam als de schets, in welk geval klik op "Ja" om het te openen). Deze schets is een uitgebreide reflow-ovendemo die de temperatuur van het thermokoppel afleest, deze metingen periodiek naar een aangepaste Android-app stuurt (vermeld in de volgende sectie), het relais (en uiteindelijk de broodrooster) dienovereenkomstig bestuurt op basis van PID-regeling, en ontvangt commando's van de app. Dit alles op de ESP32! Best netjes he?

Om deze schets nu te compileren, heb je de volgende bibliotheken nodig:

  • Adafruit MAX31855 bibliotheek
  • Arduino PID-bibliotheek

Installeer deze bibliotheken en controleer of de Reflowduino32-schets compileert en upload deze vervolgens naar uw ESP32-ontwikkelbord!

Instellingen voor opnieuw plaatsen

In de buurt van het bovenste gedeelte van de code bevinden zich een aantal #define-regels. Dit zijn dingen die u kunt aanpassen aan uw behoeften. U wilt bijvoorbeeld dat de reflow-temperatuur lager is als u soldeerpasta voor lage temperatuur heeft, of hoger als u gelode soldeerpasta gebruikt. U zult merken dat ik enkele typische waarden voor het reflow-profiel heb opgenomen en de standaard zou goed moeten werken met loodvrije soldeerpasta op lage temperatuur. Mogelijk wilt u later ook de PID-constanten afstemmen, afhankelijk van uw fysieke instellingen (hoewel dit waarschijnlijk niet nodig is). Zie deze Github-wikipagina voor meer informatie over soldeerpasta en reflow-profielen.

Stap 5: App-configuratie

App-configuratie
App-configuratie
App-configuratie
App-configuratie

Nadat je de demo-schets naar je ESP32 hebt geüpload, moet je de Reflowduino32 Android-app installeren als laatste stap om onze installatie te laten werken! Download en installeer het.apk-bestand op een Android-apparaat met Bluetooth 4.0 of hoger en open de app!

Als Bluetooth nog niet is ingeschakeld, vraagt de app je om het in te schakelen. Zorg ervoor dat uw ESP32-ontwikkelbord is ingeschakeld en de demo-schets uitvoert. Het eerste wat je hoeft te doen is verbinding maken met de ESP32 via Bluetooth op de app, en kort daarna zegt de knop linksboven "Verbonden!" u zou temperatuurmetingen op het scherm moeten zien verschijnen als u het themokoppel correct hebt aangesloten. Als dit niet het geval is, controleer dan het thermokoppel en zorg voor een veilige verbinding in de schroefklem.

Nu is het tijd om de leuke dingen te testen! Zet de schakelaar op de "aan"-positie op de Sidekick-module en druk op de "START"-knop op de app. Het lampje van de broodrooster moet gaan branden en je zou de filamenten een zwak ratelend geluid moeten horen maken en ze uiteindelijk moeten zien gloeien terwijl ze opwarmen! Je zou ook de blauwe LED op het ESP32-ontwikkelbord moeten zien oplichten om aan te geven dat het reflow-proces aan de gang is.

Naarmate het reflow-proces doorgaat, zou je een mooi reflow-profiel in de app moeten zien. Wanneer de temperatuur de terugvloeitemperatuur bereikt, is het een goede gewoonte om de ovendeur van de broodrooster te openen om de warmte te laten ontsnappen, zodat het bord kan afkoelen, anders zal de temperatuur nog enige tijd stijgen. Op het klassieke Reflowduino-bord is er een zoemer om je te waarschuwen wanneer je dit moet doen, maar hier moet je het gewoon beoordelen op basis van de temperatuur die in de app wordt weergegeven, wat niet moeilijk is.

Nadat het bord is afgekoeld tot een bepaalde drempel (standaard 40 * C, maar u kunt dit in de code wijzigen), wordt het reflow-proces als voltooid beschouwd en gaat de blauwe LED uit en slaat de app de reflow-gegevens op in een bestand op uw telefoon zodat u deze in Excel kunt importeren. Zie deze Github-wikipagina voor meer informatie over het importeren van de opgeslagen gegevens naar Excel.

Dat is het eigenlijk wel!

Aanbevolen: