INHOUDSOPGAWE:

Thermochrome temperatuur- en humiditeitsweergawe - PCB -weergawe: 6 stappe (met foto's)
Thermochrome temperatuur- en humiditeitsweergawe - PCB -weergawe: 6 stappe (met foto's)

Video: Thermochrome temperatuur- en humiditeitsweergawe - PCB -weergawe: 6 stappe (met foto's)

Video: Thermochrome temperatuur- en humiditeitsweergawe - PCB -weergawe: 6 stappe (met foto's)
Video: Thermochromic Film - Fun Physics 2024, Julie
Anonim
Image
Image
Ontwerp van die PCB van die verwarmer
Ontwerp van die PCB van die verwarmer

'N Rukkie gelede het ek 'n projek genaamd Thermochromic Temperature & Humidity Display gedoen, waar ek 'n 7-segment vertoning gebou het uit koperplate wat deur peltier-elemente verhit/afgekoel is. Die koperplate was bedek met 'n termochrome foelie wat van kleur verander met temperatuur. Hierdie projek is 'n kleiner weergawe van die skerm wat in plaas van peltiers 'n PCB met verwarmingsspore gebruik, soos voorgestel deur gebruiker DmitriyU2 in die kommentaarafdeling. Deur 'n PCB -verwarmer te gebruik, word 'n baie eenvoudiger en meer kompakte ontwerp moontlik gemaak. Die verwarming is ook meer doeltreffend, wat lei tot 'n vinniger kleurverandering.

Kyk na die video om te sien hoe die skerm werk.

Aangesien ek nog 'n paar PCB's oor het, verkoop ek hierdie skerm ook in my Tindie -winkel.

Voorrade

  • Verwarmingskaart (sien my GitHub vir Gerber -lêers)
  • Beheer PCB (sien my GitHub vir Gerber -lêers en BoM)
  • DHT22 -sensor (bv. Ebay.de)
  • 3D -gedrukte staander (sien my GitHub vir stl -lêer)
  • Termochromiese kleefvel, 150x150 mm, 30-35 ° C (SFXC)
  • M2x6 bout + moer
  • 2x penkop 1x9, 2,54 mm (bv. Mouser.com)
  • 2x SMD -bordaansluiting 1x9, 2,54 mm (bv. Mouser.com)

Stap 1: Ontwerp die verwarmingskaart

Ontwerp van die PCB van die verwarmer
Ontwerp van die PCB van die verwarmer
Ontwerp van die PCB van die verwarmer
Ontwerp van die PCB van die verwarmer

Die verwarmingskaart is ontwerp in Eagle. Die PCB -afmetings is 100x150 mm omdat 150x150 mm die standaardgrootte is van die termochromiese velle wat ek gebruik het. Ek het eers 'n skets gemaak van die segmente in Fusion360 wat as dxf gestoor is en dan in Eagle ingevoer is. Die segmente het gapings tussen hulle gemaak en word slegs met klein brûe verbind. Dit verbeter die termiese isolasie van die individuele segmente en laat vinniger verhitting toe en verminder 'termiese kruisspraak'. Die segmente is gevul met PCB -spore op die boonste laag (in rooi gesien) met behulp van die kronkelgereedskap in Eagle. Ek het 'n spoorwydte en spasiëring van 6 mil gebruik, wat die minimum grootte is wat sonder ekstra koste deur PCBWay vervaardig kan word. Elke spoor word kronkel tussen twee vias wat dan via die onderste laag (in blou gesien) met die penne verbind word met behulp van baie dikker 32 mil spore. Alle segmente deel 'n gemeenskaplike grondslag.

Ek het geen berekeninge gedoen vir die verwarmingskrag wat benodig word vir 'n sekere temperatuurstyging nie, en ek het ook nie die verwagte weerstand van 'n segment bereken nie. Ek het gedink dat enige aanpassing van die verwarmingsvermoë gemaak kan word deur 'n PWM -sein met 'n wisselende insetsiklus te gebruik. Ek het later gevind dat die segmente redelik vinnig verhit as dit deur die 5V USB -poort aangedryf word met 'n ~ 5% -siklus. Die totale stroom by die verhitting van al 17 segmente is ongeveer 1,6 A.

Alle raadslêers kan op my GitHub gevind word.

Stap 2: Ontwerp die PCB van die beheerder

Ontwerp van die kontroleerder PCB
Ontwerp van die kontroleerder PCB
Ontwerp van die kontroleerder PCB
Ontwerp van die kontroleerder PCB
Ontwerp van die kontroleerder PCB
Ontwerp van die kontroleerder PCB

Om die PCB -verwarmer te beheer, kies ek 'n SAMD21E18 MCU wat ek ook in my GlassCube -projek gebruik het. Hierdie mikrobeheerder het genoeg penne om al 17 verwarmingsegmente te beheer en die DHT22 -sensor voor te lees. Dit het ook inheemse USB en kan met Adafruit se CircuitPython -laaiprogram geflits word. 'N Mikro -USB -aansluiting is gebruik as kragtoevoer en vir die programmering van die MCU. Die verwarmingsegmente word beheer deur 9 tweekanaals MOSFET's (SP8K24FRATB). Dit kan tot 6 A hanteer en het 'n hekdrempelwaarde <2.5 V, sodat hulle deur die 3.3 V logiese sein van die MCU kan skakel. Ek het hierdie draad baie nuttig gevind om my te help met die ontwerp van die verwarmingskring.

Ek het die PCB's van PCBWay en die elektroniese onderdele afsonderlik van Mouser bestel en self die PCB's saamgestel om koste te bespaar. Ek gebruik 'n soldeerpasta -dispenser wat die dele met die hand geplaas het en met 'n infrarooi IC -verwarmer gesoldeer het. As gevolg van die relatief groot hoeveelheid komponente wat betrokke was en die nodige herwerkings, was dit nogal vervelig, en ek oorweeg dit om in die toekoms 'n monteerdiens te gebruik.

Weereens kan die bordlêers op my GitHub gevind word. Daar vind u 'n verbeterde weergawe van die PCB wat 'n USB-C-aansluiting gebruik in plaas van mikro-USB. Ek het ook die afstand tussen die deurgate vir die DHT22-sensor reggestel en 'n 10-pins-aansluiting bygevoeg om die laaiprogram makliker via J-Link te laat flits.

Stap 3: CircuitPython Bootloader

Ek het eers die SAMD21 geflits met 'n UF2 -laaiprogram wat gebaseer is op Adafruit se Trinket M0. Die selflaaiprogram moes effens aangepas word omdat die Trinket 'n LED het wat gekoppel is aan een van die penne wat ek gebruik om te verhit. Andersins sal hierdie pen 'n kort rukkie na die opstart hoog gaan en die gekoppelde segment met volle krag verhit. Die laai van die selflaaiprogram word gedoen deur 'n J-Link aan te sluit op die MCU via die SWD- en SWC-poorte. Die hele proses word breedvoerig op die Adafruit -webwerf beskryf. Na die installering van die selflaaiprogram word die MCU herken as 'n flitsstuur as dit via die mikro -USB -poort gekoppel is, en daaropvolgende selflaaiprogramme kan eenvoudig geïnstalleer word deur 'n UF2 -lêer na die skyf te sleep.

As 'n volgende stap wou ek 'n CircuitPython -laaiprogram installeer. Aangesien my bord baie penne gebruik wat nie op die Trinket M0 gekoppel is nie, moes ek eers die bordkonfigurasie effens verander. Daar is weer 'n wonderlike handleiding hiervoor op die Adafruit -webwerf. Eintlik moet u net 'n paar geïgnoreerde penne in die mpconfigboard.h kommentaar lewer en dan alles weer saamstel. Die pasgemaakte bootloader -lêers is ook beskikbaar op my GitHub.

Stap 4: CircuitPython -kode

CircuitPython -kode
CircuitPython -kode
CircuitPython -kode
CircuitPython -kode

Nadat die CircuitPython -selflaaiprogram geïnstalleer is, kan u die bord net programmeer deur u kode as 'n code.py -lêer direk op die USB -stick te stoor. Die kode wat ek geskryf het, lees die DHT22 -sensor uit en vertoon dan afwisselend die temperatuur en humiditeit deur die ooreenstemmende segmente te verhit. Soos reeds genoem, word die verhitting gedoen deur die MOSFET's met 'n PWM -sein te skakel. In plaas daarvan om die penne as PWM -uitsette op te stel, het ek 'n 'valse' PWM -sein met 'n lae skakelfrekwensie van 100 Hz in die kode gegenereer deur middel van vertragings. Om die huidige verbruik verder te verlaag, skakel ek nie die segmente gelyktydig aan nie, maar opeenvolgend, soos getoon in die skema hierbo. Daar is ook 'n paar truuks om die verhitting van die segmente egaliger te maak. In die eerste plek is die dienssiklus vir elke segment 'n bietjie anders. Die streep van die "%" -teken het byvoorbeeld 'n veel groter werksiklus nodig vanweë die hoër weerstand. Ek het ook gevind dat segmente wat omring word deur baie ander segmente minder verhit moet word. Verder, as 'n segment in die vorige "run" verhit is, kan die dienssiklus in die volgende verminder word. Laastens word die verhitting- en verkoeltyd aangepas by die omgewingstemperatuur wat gemaklik gemeet word deur die DHT22 -sensor. Om redelike tydkonstante te vind, het ek die skerm eintlik gekalibreer in 'n klimaatkamer waartoe ek gelukkig toegang het.

U kan die volledige kode op my GitHub vind.

Stap 5: Montering

Vergadering
Vergadering
Vergadering
Vergadering
Vergadering
Vergadering

Die montering van die skerm is redelik maklik en kan in die volgende stappe verdeel word

  1. Soldeer vroulike penkoppe aan verwarmer PCB
  2. Heg die selfklevende termochrome vel aan die verwarmingskaart
  3. Soldeer DHT22 -sensor aan die PCB -kontroleerder en maak vas met M2 -bout en moer
  4. Soldeer manlike penkoppe aan kontroleerder PCB
  5. Koppel beide PCB's en plaas dit in 'n 3D -gedrukte standaard

Stap 6: Voltooide projek

Projek klaar
Projek klaar
Projek klaar
Projek klaar

Ek is baie tevrede met die voltooide diploma wat voortdurend in ons sitkamer loop. Die doel om 'n kleiner, eenvoudiger weergawe van my oorspronklike termochromiese skerm te maak, is beslis bereik en ek wil die gebruiker DmitriyU2 nogmaals bedank vir die voorstel. Die projek het my ook gehelp om my PCB -ontwerpvaardighede in Eagle te verbeter en ek het geleer oor die gebruik van MOSFET's as skakelaars.

U kan die ontwerp miskien verder verbeter deur 'n mooi omhulsel vir die PCB's te maak. Ek dink ook daaraan om 'n digitale horlosie in dieselfde styl te maak.

As u van hierdie projek hou, kan u dit net nuut maak of in my Tindie -winkel koop. Oorweeg ook om vir my te stem in die PCB -ontwerpuitdaging.

PCB -ontwerpuitdaging
PCB -ontwerpuitdaging
PCB -ontwerpuitdaging
PCB -ontwerpuitdaging

Beoordelaarsprys in die PCB Design Challenge

Aanbeveel: