Turinys:

„IronForge“„NetBSD“skrudintuvas: 9 žingsniai (su nuotraukomis)
„IronForge“„NetBSD“skrudintuvas: 9 žingsniai (su nuotraukomis)

Video: „IronForge“„NetBSD“skrudintuvas: 9 žingsniai (su nuotraukomis)

Video: „IronForge“„NetBSD“skrudintuvas: 9 žingsniai (su nuotraukomis)
Video: Голубая стрела (1958) фильм 2024, Lapkritis
Anonim
IronForge „NetBSD“skrudintuvas
IronForge „NetBSD“skrudintuvas
IronForge „NetBSD“skrudintuvas
IronForge „NetBSD“skrudintuvas
IronForge „NetBSD“skrudintuvas
IronForge „NetBSD“skrudintuvas

Šis projektas neprasidėjo kaip skrudintuvas ir galiausiai tapo juo.

Idėja kilo, kai mirė mano virtuvės kompiuteris (senas „Windows CE“PDA), kuris buvo naudojamas mano gaminimo receptams rodyti. Pirmiausia galvojau sukurti mažos energijos ekraną, pagrįstą elektroniniu rašalu, kuris būtų pritvirtintas prie mano šaldytuvo su magnetais ir labai ilgai išsikrautų iš baterijų, bet tada į virtuvę gavau seną 2.1 erdvinės erdvės sistemą, kad galėčiau klausytis muzikos. Taigi aš galvojau, kad galbūt tai turėtų būti kompiuteris, galintis taip pat gerai, ir tada mano galvoje ateina kitas senas projektas:

www.embeddedarm.com/blog/netbsd-toaster-powered-by-the-ts-7200-arm9-sbc/

Originalus „NetBSD“skrudintuvas. Šis projektas savaime yra geekų pokštas tiems, kurie nežino:

„Jau seniai manoma, kad į UNIX panaši OS NetBSD yra nešiojama bet kokio tipo mašinoms, išskyrus galbūt jūsų virtuvės skrudintuvus.

Taigi sukurkime skrudintuvą, kuriame veikia „NetBSD“ir:

  • Temperatūrą ir skrudinimo laiką vartotojas gali visiškai sureguliuoti
  • Nors jis nėra skrudintas, stilingame prietaisų skydelyje rodomi orų duomenys iš 2 orų stočių
  • Skrudinant, grafike ir skaitmenimis rodomas likęs laikas ir temperatūra
  • Kai jis nėra skrudintas, jis taip pat gali būti naudojamas kaip žadintuvas ir klausantis muzikos, netgi leidžiant filmus
  • Rodo maisto gaminimo receptus arba gali būti naudojamas reguliariai naršant

1 veiksmas: skrudintuvo naudojimas ir aparatūros pasirinkimas

Skrudintuvo naudojimas ir aparatūros pasirinkimas
Skrudintuvo naudojimas ir aparatūros pasirinkimas
Skrudintuvo naudojimas ir aparatūros pasirinkimas
Skrudintuvo naudojimas ir aparatūros pasirinkimas
Skrudintuvo naudojimas ir aparatūros pasirinkimas
Skrudintuvo naudojimas ir aparatūros pasirinkimas
Skrudintuvo naudojimas ir aparatūros pasirinkimas
Skrudintuvo naudojimas ir aparatūros pasirinkimas

Čia, skirtingai nei mano ankstesnis kavos įsilaužimas, nemanau, kad padariau puikų skrudintuvo pasirinkimą, todėl trumpai supažindinsiu su vidiniu skrudintuvo veikimu, kriterijų ir patirties pasirinkimu ir leisiu skaitytojui pasirinkti savo skrudintuvą už šį įsilaužimą.

Vienas iš pagrindinių mano kriterijų skrudintuvui buvo sugebėti vienu metu pasigaminti 4 duonos riekeles ir būti automatinis, todėl po poros valandų slinkimo per vokišką „Ebay“nusprendžiau šalia

„Severin AT 2509“(1400 W) skrudintuvas

www.severin.de/fruehstueck/toaster/automati…

Tai plačiai paplitęs prekės ženklas Vokietijoje, rašymo metu jis kainavo apie 40–50 EUR.

Pagrindinės gamintojo reklamuojamos savybės:

● Nerūdijančio plieno termoizoliacinis korpusas

● integruotas kepimo ritininis priedas

● 2 ilgų plyšių kepimo velenai iki 4 duonos riekelių

● Kepimo laiko elektronika su temperatūros jutikliu

● reguliuojamas įdegio laipsnis

● Atšildymo lygis su indikatoriaus lempute

● Įšilimo etapas be papildomo įdegio su kontroline lempute

● atskiras atleidimo mygtukas su indikatoriaus lempute

● Duonos pjaustyklės centravimas, kad tolygiai paruduotų abiejų kepalų pusės

● automatinis išsijungimas užstrigus duonos diskui

● Trupinių padėklas

● Kabelio atsukimas atgal

Nors gamintojas neteigė, kad temperatūra yra reguliuojama, jie pateikia 2 klaidinančius dalykus:

● Įšilimo etapas be papildomo įdegio su kontroline lempute

● Kepimo laiko elektronika su temperatūros jutikliu

Norėdami paminėti šiuos teiginius, pažiūrėkime, kaip mašina veikia:

1, Esant normaliai būsenai, 230 V maitinimo šaltinis yra visiškai atjungtas, jokia skrudintuvo dalis nėra maitinama.

2, Kai vartotojas nuspaudžia svirtį (kuri taip pat traukia duoną), ji jungia kaitinimo elementą iš abiejų pusių.

Dabar tai, ką jie čia padarė, yra pigus, bet ir protingas dizainas. Skrudintuvo viduje nėra transformatoriaus, todėl jums gali kilti klausimas, kaip jis tada gauna žemą (10 V AC ~) įtampą. Kairėje skrudintuvo pusėje yra atskira ritė, sujungta su vienu iš kaitinimo elementų, veikianti tarsi pakopinis transformatorius, sukuriantis 10 V kintamąją srovę.

Tada jis naudoja vieną diodinį lygintuvą, kad sukurtų 10 V nuolatinę srovę, kuri maitina skrudintuvo pagrindinę valdymo plokštę.

3, Tai, ką aš pirmą kartą maniau - kad tai yra solenoidas + transformatorius kartu - pasirodė esąs vienas solenoidas tiesiai po svirtimi, kuris dabar maitinamas iš valdymo grandinės ir yra atsakingas tik už vieną dalyką (kad svirtis būtų nuleista).

Kai tik šis solenoidas atleidžia visą duoną, skrudintuvas iš esmės nutraukia elektros energiją ir taip užbaigia skrudinimo procesą.

Taigi jūs galėtumėte pagrįstai paklausti, kokie yra tie išgalvoti mygtukai ir teiginiai duomenų lape, kad jie gali atitirpinti, įkaitinti, sušildyti ir bet ką … Sakyčiau, kad tai gryna rinkodaros BS. Jie galėjo įdėti laiko reguliatorių ir vieną mygtuką, nes dienos pabaigoje ši grandinė yra ne kas kita, kaip laikmatis. Kadangi ši grandinė maitinama iš to paties maitinimo šaltinio, kaip ir kaitinimo elementas, ir ji negali valdyti vienintelio dalyko, kuris yra svarbus šioje mašinoje (šildytuvas), todėl aš net nesivarginau toliau modifikuoti šios grandinės, tiesiog išmečiau ją ten, kur ji priklauso šiukšliadėžę.

Dabar, kai karinio lygio valdymo grandinė nepasiekiama, imkime visą skrudintuvo valdymą.

2 žingsnis: Aparatūros sąrašas

Aparatūros sąrašas
Aparatūros sąrašas
Aparatūros sąrašas
Aparatūros sąrašas
Aparatūros sąrašas
Aparatūros sąrašas

Tai vėlgi nėra pilna bom, neapima visų pagrindinių dalykų, tokių kaip laidai ir varžtai:

  • 1x AT 2509 (1400W) skrudintuvas arba bet koks kitas jūsų pasirinktas skrudintuvas
  • 1x „Arduino Pro Micro“
  • 1x 5 colių atsparus jutiklinis ekranas LCD ekranas HDMI skirtas Raspberry Pi XPT2046 BE
  • 1x Raspberry PI 2 arba Raspberry PI 3
  • 1x „SanDisk“16 GB 32 GB 64 GB „Ultra Micro SD“SDHC kortelė 80 MB/s UHS-I klasė 10 w adapteris (PI)
  • 2x SIP-1A05 Reed jungiklio relė
  • 1x 1 vnt. MAX6675 modulis + K tipo termoelemento temperatūros jutiklis „Arduino“(rekomenduojama pirkti atsargines dalis)
  • 1x išėjimas 24V-380V 25A SSR-25 DA kietojo kūno relės PID temperatūros valdiklis
  • 1x mini nuolatinės srovės nuolatinės srovės generatorius „Down Down“modulio maitinimo šaltinis Aviaciniam modeliavimui (pirkite daugiau jų, kad pakeistumėte).
  • 2x rotacinio kodavimo modulio plytų jutiklio kūrimo plokštė, skirta „Arduino“(rotacinis + vidurinis jungiklis, rekomenduojama įsigyti daugiau tokių pakeitimams)
  • 2x WS2812B 5050 RGB LED žiedas 24 bitų RGB LED
  • 1x 1mm A5 skaidrus Perspex akrilo lakštas Plastikinis plexiglass Cut 148x210mm Lot
  • 1x12V 2A nuolatinės srovės adapteris (1A taip pat turėtų pakakti „Pi+Screen+Ardu“, tačiau geriau tai padaryti, jei prijungsite papildomus įrenginius per USB, jie išeikvos papildomą srovę)
  • 1x PCS HC-SR501 IR piroelektrinis infraraudonųjų spindulių IR PIR judesio jutiklio detektorius
  • 2x „Jumper Wire“5 kontaktų „Dupont“kabelis iš patelės į moterį, 20 cm, skirtas „Arduino“(sukamiesiems, verta pirkti daugiau tokių)
  • 2x aliuminio lydinio tūrio rankenėlė 38x22mm 6 mm potenciometro velenui sidabrinė
  • 1x 230V relė
  • Vienos eilės moteriškos 2,54 mm + lūžtančių antgalių jungčių krūva jungtims
  • Neprivaloma „Xbee mod“: 1X10P 10 kontaktų 2 mm moteriškos vienos eilės tiesios kaiščio antraštės juosta „XBee“lizdas
  • Neprivaloma „Xbee mod“: 1 „Xbee“
  • Neprivaloma „Xbee mod“: 1x jungiamasis laidas iš 4 kontaktų iš moters į moterį „Dupont“kabelis 20 cm „Arduino“(tarp „Xbee Raspi“)

Maitinimo šaltiniui turite naudoti 12 V, o ne 5 V, nes solenoidas neišlaikys to žemos įtampos lygio, nepamirškite ant elektromagneto pridėti atgalinio diodo.

Jei nuspręsite naudoti kitus komponentus, pvz.: skirtingą „Buck“modulį įtampos mažinimui nuo 12V-> 5V, turite pertvarkyti plokštę, ji buvo sukurta tam konkrečiam mažam kvadratiniam grotuvui.

3 žingsnis: dėklo modifikavimas: nugara yra priekinė

Korpuso modifikavimas: nugara yra priekinė
Korpuso modifikavimas: nugara yra priekinė
Korpuso modifikavimas: nugara yra priekinė
Korpuso modifikavimas: nugara yra priekinė
Korpuso modifikavimas: nugara yra priekinė
Korpuso modifikavimas: nugara yra priekinė

Pašalinus pagrindinę valdymo grandinę, į jungiklių vietą vis dar buvo didelė negraži skylė, todėl nusprendžiau tiesiog naudoti tą pusę kaip nugarą ir pritvirtinti jungiamąją dėžę, kurioje yra SSR (kietojo kūno relė -> šildymo valdymas) + 230 V kintamosios srovės relė (galios aptikimui) + 12 V adapteris, maitinantis visą grandinę.

Šį skrudintuvo modelį buvo sunku išardyti ir surinkti. Neradau kito būdo, kaip nuimti dėklą, bet nupjauti dremmel tiesiai po pagrindine nuspaudimo svirtimi, kad atsukus ir nuėmus svirtis būtų galima pakelti korpusą (laimei, kadangi toje dalyje yra išorinė plastikinė danga) tai bus nepastebima).

Įdėjau MAX6675 termoporos detektoriaus galą skrudintuvo apačioje priešingame pagrindinės svirties krašte (kur jis prieštarautų svirties mechanizmui).

Vidinis korpusas yra plonas aliuminis, jums net nereikia jo gręžti, mažą skylę galima lengvai išplėsti atsuktuvu, tada įdėti jutiklį, sudėtinga buvo atsukti jį iš vidinės pusės. Turiu sugalvoti protingą sprendimą, kaip tai padaryti, parodyta paveikslėliuose.

Išardyti pagrindinį vidinį skrudintuvo korpusą su kaitinimo elementu galima tik stiprių nervų žmonėms, todėl nerekomenduojama. Bet kokiu atveju ten nieko daugiau nereikia daryti.

„MAX6675“laidai buvo pakankamai ilgi, kad juos būtų galima lengvai pervesti per mašinos apačią į skylę, iš kurios buvo išvesti kabeliai.

Visų reikalingų kabelių perkėlimas iš vieno ir į kitą buvo viena sudėtingiausių modifikavimo užduočių. Man nereikėjo gręžti kitos skylės (dabar užpakalinėje) pusėje, nes kabeliai galėjo tiesiog naudoti jungiklių skylę. Tada kabelius reikėjo pritvirtinti prie korpuso sienos, nuimti iki apačios per labai siaurą erdvę, kur jie sujungiami su keliais papildomais laidais iš aukštos įtampos valdymo plokštės, būtent:

  • 1 laidas nuo kaitinimo elemento -> Eina į SSR
  • 1 laidas iš 230 V (pageidautina karšto rudo taško) -> Eina į SSR
  • 2 laidai iš 230 V, kai jungiklis uždarytas -> Eina į paleidimo relę
  • 2 laidai iš 230 V pagrindinio įėjimo -> Eina į 12 V adapterį gale
  • Ekranuoti laidai nuo termo jutiklio

Ir tai viskas, ko jums reikia norint valdyti skrudintuvą.

Dėl pramoninio litavimo nusprendžiau tiesiog perpjauti laidą tarp kaitinimo elemento ir vieno pagrindo galo (ateinantį po jungiklio) ir su gnybtais prijungiau jį prie SSR.

Reikalinga relė, veikianti nuo 230 V (tinklo įtampa). Tai yra paleidimo relė, kuri leis „Arduino“žinoti, kad vartotojas nuspaudė svirtį, kuri pradėjo skrudinimo procesą. Nepamirškite, kad valdymo grandinė nebėra vietoje, solenoidas negauna energijos, kas laikytų svirtį žemyn, o šildytuvas taip pat yra atjungtas (valdomas naudojant SSR). Nuo šiol visa tai bus „Arduino“užduotis.

12 V nuolatinės srovės adapteris yra prijungtas prie pagrindinio tinklo (aš pridėjau papildomą įjungimo/išjungimo jungiklį gale). Tai užtikrins nuolatinę grandinės galią. Skrudintuvas veikia tik budėjimo režimu: 5,5 W, kai ekranas įjungtas, ir 5,4 W, kai jis išjungtas.

4 žingsnis: priekinė arklinė lenta

Priekinė arciklinė lenta
Priekinė arciklinė lenta
Priekinė arciklinė lenta
Priekinė arciklinė lenta
Priekinė arciklinė lenta
Priekinė arciklinė lenta

Nesu ekspertas dirbdamas su šia medžiaga, gavau patarimą išpjauti skylutes ant jo dideliu apsisukimų dažniu po tekančiu vandeniu, bet nenorėjau to pernelyg ištobulinti, todėl aš tiesiog gręžiau įprastą skylių, visiškai atsisakykite, kad pašalintumėte dalį tarp Raspi ir ekrano, o aš gręžiau skyles tik prie ekrano tarpiklių ir prie Raspi jungties, tada likusią medžiagą išdėliojau į kvadratą, kad jungtis tilptų per.

Matote, kad plexi plokštėje yra smulkių įtrūkimų aplink kai kuriuos gręžinius, todėl žinote, ko vengti, jei siekiate tobulo dizaino.

Nepaisant to, dėl karščio negalima nieko įdėti į skrudintuvo korpusą, visa elektronika turi būti sumontuota saugiu atstumu nuo šildytuvo.

Aš nepadariau tinkamų 148x210mm stiklo lakšto dizaino brėžinių, tiesiog bandžiau viską sureguliuoti taip, kad jie būtų simetriški ir vienodi, todėl atsiprašau, kad negaliu pateikti jokios schemos šiai daliai, jūs turite tai padaryti patys. Tačiau turiu vieną patarimą:

Prieš klijuodami šviesos diodų žiedus, įjunkite juos naudodami „Arduino“ir užsidegsite bei pažymėkite rašikliu PIRMĄ ir PASKUTINĮ indikatorių ant nugaros, kad galų gale nepritvirtintumėte jų šiek tiek pasukę, kaip aš (tačiau tai galima ištaisyti naudojant programinę įrangą))

Yra 6 tarpikliai, skirti laikyti visą priekinį skydelį, tačiau pabaigoje, nes trumpas sukimosi ilgis, 2 apatiniai nėra tiekiami per skydą.

Aš naudoju įprastus kompiuterio pagrindinės plokštės tarpiklius tarp suktukų ir „plexi“skydelio, taip pat pridėjau dar 2–2 už sukamojo, kad būtų užtikrintas papildomas stabilumas, kai mygtukai yra paspausti.

5 žingsnis: skrudintuvo valdymo grandinė

Skrudintuvo valdymo grandinė
Skrudintuvo valdymo grandinė
Skrudintuvo valdymo grandinė
Skrudintuvo valdymo grandinė
Skrudintuvo valdymo grandinė
Skrudintuvo valdymo grandinė

Tai buvo vienas iš tų projektų, kurie iš tikrųjų išnaudojo VISUS „Arduino“kaiščius:) RX ir TX buvo rezervuoti būsimam ryšio modulio išplėtimui.

Pagrindinė plokštė aprūpina energija viską per „Buck“keitiklį („Arduino“, „Raspi“, „Screen“, SSR, relės). Čia norėčiau pažymėti, kad šis įtampos reguliatorius nėra visiškai naujausias, jis negali per daug viršyti 12 V nuolatinės įtampos. Jei nuspręsite naudoti lygiai tą patį tipą, įsitikinkite, kad jūsų adapteris tiekia stabilią 12 V atviros grandinės įtampą (ne taip, kaip WRT54G adapteris, ir pamatysite, kaip stebuklingi dūmai bėga per kelias sekundes).

Aš padariau plokštę kaip modulinę, naudodamas lizdus, kur galėjau. Be 2 nendrių relių, visa kita galima lengvai pakeisti.

Abi šios puikios nendrinės relės yra su įmontuotais „flyback“diodais ir sunaudoja ne daugiau kaip 7 mA, todėl jas galima tiesiogiai prijungti prie bet kokių „Arduino“kaiščių (aš juos taip pat rekomenduosiu savo būsimuose projektuose). Relių funkcija:

Vienas skirtas įjungti solenoidą skrudinimo proceso pradžioje (kad ta svirtis būtų nuspausta žemyn).

Viena skirta automatiškai įjungti ir išjungti ekraną, jei aptinkamas judesys.

Supratau, kad paleidus šį HDMI ekraną 24 valandas per parą, nebus ilgas tarnavimo laikas (ypač tai, ką aš naudoju, yra tik pigi klastotė, o ne originali „WaveShare“:

Ir ar jūsų kompiuteris gali įjungti ekraną, kai įeinate į kambarį? Nemanau, kad BSD skrudintuvas gali!

Ekrane iš esmės yra 10 minučių laikmačio laikmatis, kuris automatiškai pakyla, kai vėl atsiranda judesys. Tarkime, kad jis įjungtas ir po 9 minučių vėl atsiranda judesys, tai reiškia, kad jis veiks dar 10 minučių. Įjungimas ir išjungimas nėra sveikas jokiai grandinei, išskyrus SSR.

Tai atveda mus į trečiąjį ir paskutinį šildytuvo valdymo elementą. Šie maži įtaisai buvo specialiai sukurti įjungti ir išjungti, kad būtų galima kontroliuoti temperatūrą. Tai, ką pasirinksiu, puikiai veiks tiesiai iš „Arduino“išvesties kaiščio.

Pradiniame dizaine ant lentos būtų buvusi dar viena relė, skirta įjungti 2.1 garsiakalbių rinkinį, kol „Raspberry pi“ryte paleis žadintuvo toną (taip pat labai lengva pridėti dainą, kai skrudinimas baigiamas), bet kadangi tai yra daiktų internetas, kodėl vargti? Jis tiesiog prašo kito raspi mano tinkle tai padaryti už mane su standartiniu 433Mhz RCSwitch.

Kaip paprastai, buvo keletas mažesnių klaidų naudojant 0,4 plokštės versiją, ką galima pamatyti paveikslėliuose. Būtent buvo paliktos dar 2 5 V jungtys ir įvesties relės jungtis ant „Arduino“kaiščio 10.

Aš juos ištaisiau 0.5 versijoje ir taip pat sukūriau ne „Xbee“versiją.

Kadangi tai yra dviejų sluoksnių plokštė, tiesiog atsisiųsdami šiuos maketus, o pasidaryk pats pasidarys sunku, turėsite tiksliai atspausdinti abi puses, išgraviruoti plokštę ir rasti būdą, kaip sujungti šonus, kad vėliau sujungčiau „Easyeda“bendrinamą projektą. Rekomenduojama jį užsisakyti tiesiai iš jų.

6 žingsnis: „Xbee Mod“

„Xbee“yra tik čia, kad galėtų tiesiogiai valdyti kavos virimo aparatą, nes jis yra gana arti jo atstumu ir tarp jų nėra jokių kliūčių.

Tai visiškai nesusiję su skrudintuvu ar skrudintuvo kodu.

Apie „Xbee mod“: tai visiškai neprivaloma, todėl įtraukiu šios plokštės schemas su „Xbee“ir be jos. „Xbee“yra tiesiogiai lituojamas į „Raspberry PI“RX/TX aparatinės įrangos UART prievadą (ttyAMA0), kuris yra išimtas į ekrano jungtis, tačiau ekranas jo nenaudoja (jis naudoja SPI sąsają, kad perduotų PI ir paties prisilietimo koordinates).

Aš skyriau atskirą nuoseklųjį prievadą PI „Xbee“ryšiui, o ne perduodavau pranešimus per Raspberry -> Arduino -> 5v3v konverterį -> Xbee -> kitus įrenginius. Tokiu būdu taip pat nėra problema, kad skrudinimo procesas blokuoja visą MCU.

7 žingsnis: skrudintuvo valdymo kodas

Kodas yra gana paprastas, nes tai yra tai, kad tarp „Arduio“iš esmės yra viena kryptis -> Raspberry PI.

Šis prietaisas, skirtingai nei kavos virimo aparatas, negali būti valdomas iš telefono ar kompiuterio tik rankiniu būdu, naudojant kai kuriuos išgalvotus valdiklius.

Vienintelė PI funkcija čia yra duomenų registravimas ir gražių grafikų rodymas. Tai nėra buteliukas skrudintuvo veikimui, jis gali būti visiškai išjungtas ar net pašalintas iš šio projekto, „Arduino“atlieka visą darbą.

Pradžioje kodas iš naujo nustato LED žiedus, paleidžia įvairius laikymo laikmačius ir kiekvienoje kilpoje jis žiūri iš 2 sukamųjų jungiklių įvesties. Ši įvestis gali reikšti sukimąsi pagal laikrodžio rodyklę arba prieš laikrodžio rodyklę arba bet kurio iš dviejų jungiklių paspaudimą (laukimo režimu kompiuteriui tiesiog siunčiama pagrindinė komanda IRONFORGE_OFF_ALARM, o tada grįžta į įprastą IRONFORGE_OFF būseną).

Rotary_read_temp () ir rotary_read_time () viduje bus pakeisti kintamieji global_temp ir global_time. Tai TIK vieta kode, kur šias reikšmes galima pakeisti ir jos išsaugos savo vertes tarp skrudinimo įvykių.

Abiejų šių funkcijų viduje rotary_memory (), vadinamas aptikęs pozicijų pasikeitimą. Tai daroma dėl to, kad ant žiedų būtų vėl įkraunamos lemputės, nes po skrudinimo proceso jie bus grąžinti į juodą spalvą, kad nebūtų švaistoma energija ir pailgėtų jų tarnavimo laikas.

LED lemputės taip pat periodiškai išjungiamos kas 10 minučių, jei neseniai nebuvo sukimosi.

Sujungus šias dvi funkcijas, bus pasiekta:

1, darant prielaidą, kad neveikia

2, bet kuris sukamasis ratukas buvo perkeltas (jei jis buvo sureguliuotas anksčiau, ši vertė (-os) bus atkurta iš atminties ir rodoma lemputėse)

3, Jei skrudinimo procesas neprasideda ir nėra daugiau reguliavimo įvykių, lemputės vėl užges

Aš taip pat perkėliau juos į atskirą laikymo laikmatį iš ekrano, nes kompiuteris bus daug naudojamas orų duomenims rodyti, bet nenoriu, kad sukamieji šviesos diodai būtų nuolat atkuriami, nes nenoriu padaryti milijono skrebučių. dieną.

Pagrindinis skrudinimo procesas („Arduino Side“):

Tai bus pradėta, kai sistema bus įjungta iš įvesties paleidimo (230 V) relės (ir laikas, ir temperatūra skiriasi nuo nulio). Programos eiga „Arduino“pusėje yra tokia:

1, įjunkite solenoidą, kad laikytumėte svirtį

2, įjunkite SSR, kad įkaistų

3, Priklausomai nuo laiko, pradėkite skrudinimo kilpą, kuri skaičiuojama atgal. Kiekvienoje cikle į kompiuterį siųskite šiuos duomenis:

-TEMPERATURE (iš pradžių slankiojo kablelio vertė, bet siunčiama kaip 2 CSV eilutės)

-lieka TIME (per kelias sekundes, tai bus konvertuota atgal į mm: ss formatą kitame gale)

4, Kiekvienoje kilpoje, priklausomai nuo nustatytos temperatūros, įjunkite arba išjunkite SSR, kad galėtumėte kontroliuoti skrudinimo procesą

5, Pasibaigus skrudinimo ciklui, IRONFORGE_OFF komanda bus nusiųsta į kompiuterį

6, išjunkite SSR ir atleiskite solenoidą

7, žaisti LED žaidimą demonstravimui (čia taip pat galite pridėti muzikos ar bet kokio kito norimo veiksmo)

8, „Blackout“lemputės

Kaip jau minėjau, pagrindinė skrudinimo kilpa visiškai blokuoja MCU, per šį laiką negalima atlikti jokių kitų užduočių. Šiuo laikotarpiu ji taip pat nekreipia dėmesio į sukamuosius įėjimus.

Pagrindinis skrudinimo procesas (Raspberry PI Side):

„Raspberry pi“paleidžia „C“valdymo programą su neprivilegijuotu vartotoju, kuris yra atsakingas už visas sąveikas darbalaukyje.

Aš nusprendžiau naudoti „Conky“visuose grafikos ekranuose, nes aš jį naudoju jau dešimtmetį ir atrodė, kad tai lengviausia naudoti darbui, tačiau jis turi keletą laimikių:

-Grafiko detalumo negalima pakeisti, grafikas yra per smulkių grūdų, net ir po maksimalaus skrudinimo laiko (5 minutės) jis pasiekia tik pusę juostos

-Conky mėgsta sudužti, ypač kai vis žudai ir perkrauni

Dėl antros priežasties nusprendžiau visus konspektus pagimdyti per atskirus priežiūros procesus, kad tai apsaugotų.

Pagrindinė tuščiosios eigos lua naudoja 2 atskirus įrenginius (1 - orų duomenims, o kitas - laikrodžiui).

Prasidėjus skrudinimui:

1, „Arduino“signalizuoja aviečių pi C programą per serijinį ryšį su IRONFORGE_ON

2, C valdymo programa sustabdo 2 conky siūlus ir įkelia į trečiąjį conky lua skrudinimui

3, „Control C“programa išrašo temperatūros ir laiko reikšmes į atskirus teksto failus, esančius „ramdisk“(kad nereikėtų atlikti nereikalingų RW operacijų SD kortelėje), ką perskaito ir automatiškai rodo. Programa taip pat yra atsakinga už likusio laiko iki MM: SS formato sukūrimą.

4, Pasibaigus skrudinimui, programa C sustabdo dabartinę skrudinimo giją ir iš naujo paleidžia 2 blynus, grįžtančius į orų ir laiko rodymą.

5, norėdama aptikti aliarmą, C programa gali tiesiogiai sustabdyti muzikos grojimo procesą iš „cron“, kai tuščiosios eigos būsenoje paspaudžiamas vienas iš sukamųjų

8 veiksmas: visi jūsų skrebučiai priklauso mums: „NetBSD“prieš „Raspbian“

Visi jūsų skrebučiai priklauso mums: „NetBSD“prieš „Raspbian“
Visi jūsų skrebučiai priklauso mums: „NetBSD“prieš „Raspbian“

Nors skrudintuvas buvo sukurtas daugiausia paleisti „NetBSD“ir ekrano ekraną, garsą, „Arduino“visi su juo dirba, nėra jutiklinio ekrano palaikymo. Būčiau dėkingas visiems, kurie domisi, parašyti tvarkyklę.

LCD jutiklinis lustas yra XPT2046. Ekranas naudoja SPI, kad nusiųstų žymeklio įvesties koordinates atgal į Raspberry.

www.raspberrypi.org/documentation/hardware…

  • 19 TP_SI SPI duomenų įvestis jutikliniame skydelyje
  • 21 TP_SO SPI duomenų išvestis iš jutiklinio skydelio
  • 22 TP_IRQ jutiklinis skydelis pertraukiamas, žemas lygis, kol jutiklinis skydelis aptinka prisilietimą
  • 23 TP_SCK SPI laikrodis jutikliniame skydelyje
  • 26 TP_CS jutiklinio skydelio lusto pasirinkimas, mažai aktyvus

Šio rašymo metu aš nežinau jokio Raspberry PI suderinamo (skydo) jutiklinio ekrano, kuriame būtų veikianti jutiklinio kilimėlio NetBSD tvarkyklė.

9 žingsnis: uždarymas ir užduočių sąrašas

Uždarymo ir užduočių sąrašas
Uždarymo ir užduočių sąrašas

Kaip visada laukiama bet kokios pagalbos, indėlio, pataisymų kodekse.

Tai buvo neseniai baigtas įsilaužimas, todėl vėliau atnaujinsiu projektą trūkstamais kodo fragmentais („Raspberry pi C“valdymo kodas, „Conky luas“ir kt.). Taip pat planuoju sukurti automatiškai keičiamo dydžio 8 GB/16 GB sdcard vaizdus, kuriuose yra viskas. Atsižvelgiant į tai, kad „Raspberry PI“yra standartinė aparatinė įranga, kiekvienas, nusprendęs kurti projektą, gali tiesiog atsisiųsti vaizdus, išrašyti juos į „sdcard“ir skrudintuvas veiks taip pat, kaip ir mano. Tinklo nustatymas reikalingas tik tinkamu laiku (NTP) ir temperatūros rodymu.

Kitas žingsnis bus išmatuoti temperatūrą viduje naudojant FLIR ir pridėti koregavimus prie MAX termo jutiklio rodmenų, nes manau, kad jis per lėtai įšyla per trumpą skrudinimo laikotarpį iki 5 minučių.

Taip pat planuojate pridėti automatinio mastelio keitimo laikotarpį, priklausomai nuo nustatytos temperatūros, kad būtų galima pratęsti maksimalų 5 minučių laiko langą, jei temperatūra bus sumažinta.

Rekomenduojamas: