Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Lämmittimen piirilevyn suunnittelu
- Vaihe 2: Ohjaimen piirilevyn suunnittelu
- Vaihe 3: CircuitPython Bootloader
- Vaihe 4: CircuitPython -koodi
- Vaihe 5: Kokoonpano
- Vaihe 6: Valmis projekti
Video: Lämpökrominen lämpötilan ja kosteuden näyttö - PCB -versio: 6 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Jokin aika sitten a teki projektin nimeltä Thermochromic Temperature & Humidity Display, jossa rakensin 7-segmenttisen näytön kuparilevyistä, joita lämmitettiin/jäähdytettiin peltier-elementeillä. Kuparilevyt peitettiin lämpökromikalvolla, joka muuttaa väriä lämpötilan mukaan. Tämä projekti on pienempi versio näytöstä, joka käyttää peltiersin sijaan piirilevyä, jossa on lämmitysjälkiä, kuten käyttäjä DmitriyU2 ehdotti kommenttiosassa. Piirilevylämmittimen käyttö mahdollistaa paljon yksinkertaisemman ja pienemmän rakenteen. Lämmitys on myös tehokkaampaa, mikä johtaa nopeampaan värinvaihtoon.
Katso videolta, miten näyttö toimii.
Koska minulla oli muutama piirilevy jäljellä, myyn myös tämän näytön Tindie -myymälässäni.
Tarvikkeet
- Lämmitinpiirilevy (katso GitHubini Gerber -tiedostoista)
- Ohjaa piirilevyä (katso GitHubini Gerber -tiedostoista ja BoM: stä)
- DHT22 -anturi (esim. Ebay.de)
- 3D -tulostettu jalusta (katso GitHub stl -tiedostosta)
- Termokromaattinen liima-arkki, 150x150 mm, 30-35 ° C (SFXC)
- M2x6 pultti + mutteri
- 2x nastainen otsikko 1x9, 2,54 mm (esim. Mouser.com)
- 2x SMD -kortin liitin 1x9, 2,54 mm (esim. Mouser.com)
Vaihe 1: Lämmittimen piirilevyn suunnittelu
Lämmittimen piirilevy on suunniteltu Eaglessa. Piirilevyn mitat ovat 100x150 mm, koska 150x150 mm on käyttämäni lämpökromilevyjen vakiokoko. Aluksi tein luonnoksen Fusion360: n segmenteistä, joka tallennettiin dxf -muodossa ja tuotiin sitten Eagleen. Segmenttien välissä on jyrsittyjä rakoja ja ne on yhdistetty vain pienillä siltoilla. Tämä parantaa yksittäisten segmenttien lämmöneristystä ja mahdollistaa siten nopeamman lämmityksen ja vähentää "ylikuulumista". Segmentit täytettiin PCB -jälkillä yläkerroksessa (näkyy punaisena) käyttämällä Eaglen mutkatyökalua. Käytin raideleveyttä ja etäisyyttä 6 mil, mikä on vähimmäiskoko, jonka PCBWay voi valmistaa ilman lisäkustannuksia. Kukin jälki kiertyy kahden läpiviennin välissä, jotka sitten yhdistetään tappeihin pohjakerroksen (sininen) kautta käyttämällä paljon paksumpia 32 miljoonan jälkiä. Kaikilla segmenteillä on yhteinen perusta.
En tehnyt mitään laskelmia tietylle lämpötilan nousulle tarvittavalle lämmitysteholle enkä laskenut segmentin odotettua vastusta. Ajattelin, että mikä tahansa lämmitystehon säätö voidaan tehdä käyttämällä PWM -signaalia vaihtelevalla käyttöjaksolla. Myöhemmin havaitsin, että segmentit lämmittävät kohtuullisen nopeasti, kun niitä syötetään 5 V: n USB -portin kautta ~ 5%: n käyttöjaksolla. Kokonaisvirta lämmitettäessä kaikkia 17 segmenttiä on noin 1,6 A.
Kaikki hallituksen tiedostot löytyvät GitHubistani.
Vaihe 2: Ohjaimen piirilevyn suunnittelu
PCB -lämmittimen ohjaamiseksi valitsen SAMD21E18 MCU: n, jota käytin myös GlassCube -projektissani. Tässä mikrokontrollerissa on tarpeeksi nastoja kaikkien 17 lämmittimen segmentin ohjaamiseen ja DHT22 -anturin lukemiseen. Siinä on myös natiivi USB, ja se voidaan vilkuttaa Adafruitin CircuitPython -käynnistyslataimella. Virtalähteenä ja MCU: n ohjelmoinnissa käytettiin mikro -USB -liitintä. Lämmittimen segmenttejä ohjataan 9 kaksikanavaisella MOSFET -laitteella (SP8K24FRATB). Ne voivat kestää jopa 6 A ja niiden portin kynnysjännite on <2,5 V, joten niitä voidaan vaihtaa MCU: n 3,3 V: n logiikkasignaalilla. Pidin tätä lankaa erittäin hyödyllisenä lämmittimen ohjauspiirin suunnittelussa.
Tilasin piirilevyt PCBWaysta ja elektroniset osat erikseen Mouserista ja koon ne itse kustannussäästöjen vuoksi. Käytin juotospastan annostelijaa, joka asetti osat käsin ja juotti ne infrapuna -IC -lämmittimellä. Kuitenkin suhteellisen suuren komponenttimäärän ja vaaditun uudelleenkäsittelyn vuoksi tämä oli melko työlästä, ja harkitsen tulevaisuudessa kokoonpanopalvelun käyttöä.
Taulutiedostot löytyvät jälleen GitHubistani. Sieltä löydät piirilevyn parannetun version, joka käyttää USB-C-liitintä mikro-USB: n sijaan. Korjasin myös DHT22-anturin reikien välit ja lisäsin 10-nastaisen liittimen, joka helpottaa käynnistyslataimen vilkkumista J-Linkin kautta.
Vaihe 3: CircuitPython Bootloader
Aluksi välähdin SAMD21: tä UF2 -käynnistyslataimella, joka perustuu Adafruitin Trinket M0: een. Käynnistyslatainta oli muutettava hieman, koska Trinketissä on LED -valo, joka on liitetty yhteen lämmitykseen käyttämistäni nastoista. Muuten tämä nasta nousee lyhyeksi ajaksi käynnistyksen jälkeen ja lämmittää liitetyn segmentin täydellä teholla. Käynnistyslataimen vilkkuu kytkemällä J-Link MCU: hon SWD- ja SWC-porttien kautta. Koko prosessi on kuvattu yksityiskohtaisesti Adafruit -verkkosivustolla. Käynnistyslataimen asentamisen jälkeen MCU tunnistetaan flash -asemaan, kun se on liitetty mikro -USB -portin kautta, ja seuraavat käynnistyslataimet voidaan asentaa yksinkertaisesti vetämällä UF2 -tiedosto asemaan.
Seuraavana vaiheena halusin asentaa CircuitPython -käynnistyslataimen. Kuitenkin, koska korttini käyttää monia nastoja, joita ei ole kytketty Trinket M0: een, minun piti ensin muuttaa hieman kortin kokoonpanoa. Adafruit -verkkosivustolla on jälleen hyvä opetus tähän. Pohjimmiltaan täytyy vain kommentoida muutamia ohitettuja nastoja mpconfigboard.h: ssa ja kääntää sitten kaikki uudelleen. Muokatut käynnistyslataustiedostot ovat saatavilla myös GitHubissa.
Vaihe 4: CircuitPython -koodi
Kun CircuitPython -käynnistyslatain on asennettu, voit vain ohjelmoida levyn tallentamalla koodisi code.py -tiedostona suoraan USB -muistitikulle. Kirjoittamani koodi lukee DHT22 -anturin ja näyttää sitten vuorotellen lämpötilan ja kosteuden kuumentamalla vastaavia segmenttejä. Kuten jo mainittiin, lämmitys tapahtuu kytkemällä MOSFET -laitteet PWM -signaalilla. Sen sijaan, että määrittäisin nastat PWM -lähtöiksi, generoin koodissa "väärennetyn" PWM -signaalin, jonka kytkentätaajuus on alhainen 100 Hz. Virrankulutuksen pienentämiseksi en kytke segmenttejä päälle samanaikaisesti, vaan peräkkäin yllä olevan kaavion mukaisesti. On myös muutamia temppuja, joiden avulla segmenttien lämmitys on tasaisempaa. Ensinnäkin käyttöjakso on hieman erilainen jokaisella segmentillä. Esimerkiksi "%" -merkin viiva tarvitsee paljon suuremman käyttöjakson sen suuremman vastuksen vuoksi. Huomasin myös, että segmenttejä, joita ympäröivät monet muut segmentit, on lämmitettävä vähemmän. Lisäksi jos segmenttiä lämmitettiin edellisen "ajon" aikana, käyttöjaksoa voidaan lyhentää seuraavassa. Lopuksi lämmitys- ja jäähdytysaika mukautetaan ympäristön lämpötilaan, joka mitataan kätevästi DHT22 -anturilla. Kohtuullisten aikavakioiden löytämiseksi kalibroin näytön itse ilmastoilmastossa, johon minulla on onneksi pääsy töissä.
Löydät koko koodin GitHubistani.
Vaihe 5: Kokoonpano
Näytön kokoaminen on melko helppoa ja se voidaan jakaa seuraaviin vaiheisiin
- Juotosnaarasliittimet lämmittimen piirilevyyn
- Kiinnitä itseliimautuva termokromilevy lämmittimen piirilevyyn
- Juotos DHT22 -anturi ohjaimen piirilevyyn ja kiinnitä M2 -pultilla ja mutterilla
- Juotos urospistoke -otsat ohjaimen piirilevyyn
- Yhdistä molemmat piirilevyt ja aseta 3D -tulostettuun telineeseen
Vaihe 6: Valmis projekti
Olen varsin tyytyväinen valmiiseen diplayyn, joka toimii jatkuvasti olohuoneessamme. Tavoite tehdä pienempi, yksinkertaisempi versio alkuperäisestä lämpökromaattisesta näytöstä saavutettiin ehdottomasti, ja haluan kiittää käyttäjää DmitriyU2 vielä kerran ehdotuksesta. Projekti auttoi minua myös parantamaan piirilevyjen suunnittelutaitojani Eaglessa ja sain tietää MOSFET -laitteiden käytöstä kytkiminä.
Suunnittelua voitaisiin ehkä parantaa edelleen tekemällä mukava kotelo piirilevyille. Olen myös ajatellut tehdä digitaalisen kellon samalla tyylillä.
Jos pidät tästä projektista, voit vain tehdä sen uudelleen tai ostaa sen Tindie -myymälästäni. Harkitse myös äänestämistä PCB -suunnitteluhaasteessa.
Tuomarien palkinto PCB Design Challengessa
Suositeltava:
DHT 11 Lämpötilan ja kosteuden näyttö: 4 vaihetta
DHT 11 Lämpötilan ja kosteuden näyttö: Tarvittavat osat (UK Shopping Stock) Arduino Nano-https://www.amazon.co.uk/Arduino-yhteensopiva- Nano-CH340-USB/dp/B00ZABSNUSDHT 11 -anturi-https: // www. .adafruit.com/product/3861.3 " OLED Green Screen https://www.amazon.co.uk/DSD-TECH-Screen-Support
ESP8266 Nodemcu -lämpötilan valvonta DHT11: n avulla paikallisessa verkkopalvelimessa - Saat huoneen lämpötilan ja kosteuden selaimeesi: 6 vaihetta
ESP8266 Nodemcu -lämpötilan valvonta DHT11: n avulla paikallisessa verkkopalvelimessa | Saat huoneen lämpötilan ja kosteuden selaimeesi: Hei kaverit tänään, teemme kosteutta & lämpötilan valvontajärjestelmä ESP 8266 NODEMCU & DHT11 lämpötila -anturi. Lämpötila ja kosteus saadaan DHT11 Sensor & selaimesta näkyy, mitä verkkosivua hallitaan
Arduinon lämpötilan ja kosteuden ilmaisin: 7 vaihetta (kuvilla)
Arduinon lämpötila- ja kosteusindikaattori: Tässä ohjeessa näytetään, kuinka tehdä laatikko, joka voi ilmaista lämpötilan ja kosteuden Arduinolla Voit laittaa tämän laatikon pöydälle huoneen lämpötilan ja kosteuden mittaamiseksi Korkealaatuisella MDF -laatikolla laserleikkauksella kaikki tiivistetty f
Lämpötilan ja kosteuden seuranta Raspberry Pi: n avulla: 6 vaihetta (kuvilla)
Lämpötilan ja kosteuden seuranta Raspberry Pi: n avulla: Kesä on tulossa, ja ilman ilmastointilaitetta käyttävien tulisi olla valmiita hallitsemaan ilmakehää manuaalisesti sisätiloissa. Tässä viestissä kuvailen nykyaikaista tapaa mitata ihmisen mukavuuden kannalta tärkeimmät parametrit: lämpötila ja kosteus. T
Lämpötilan ja kosteuden näyttö ja tiedonkeruu Arduinolla ja käsittely: 13 vaihetta (kuvilla)
Lämpötilan ja kosteuden näyttö ja tiedonkeruu Arduinolla ja käsittely: Intro: Tämä on projekti, joka käyttää Arduino -korttia, anturia (DHT11), Windows -tietokonetta ja Processing (ilmainen ladattava) -ohjelmaa lämpötilan, kosteuden tietojen näyttämiseksi digitaalisesti ja pylväskaavion muoto, näyttöaika ja päivämäärä ja suorita laskenta -aika