Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • In contact cu
  • Sisteme automate bazate pe microcontrolerul Arduino. Realizarea automatizării unei fabrici de bere pe o singură placă

Sisteme automate bazate pe microcontrolerul Arduino. Realizarea automatizării unei fabrici de bere pe o singură placă

Aș dori să ofer un alt exemplu folosind Arduino V probleme reale. Aici am sa va prezint cel mai simplu, dar cu adevarat functional proiect de reglare a incalzirii unei case folosind un boiler electric bazat pe Arduino. Sper cu adevărat că acest articol va ajuta pe cineva să-și lase deoparte temerile și să încerce să-și folosească mâinile în scopul propus; vă antrenează foarte bine mâinile, creierul și oferă un sentiment rar de satisfacție în a crea ceva interesant. După ce am început să lucrez cu acest controler, sunt încă oarecum confuz de posibilitățile care se deschid atunci când îl folosesc.

Poveste

De ce, de fapt, Arduino? Simplitate, accesibilitate, multă documentație și biblioteci. Ca probabil mulți, mă uit îndeaproape la Arduino de mult timp; din copilărie am iubit tot felul de baterii și motoare, iar aici nou nivel, un limbaj de programare cu drepturi depline și o mulțime de capabilități I/O. Când „partenerii noștri economici cel mai probabil” au început să o producă, prețurile au scăzut la un nivel acceptabil. Drept urmare, am cumpărat un kit de pornire și, după ce am clipit din ochi la LED-uri și indicatoare, am avut dorința de a-l folosi undeva prin casă.

Ce încălzim?

Bunica mea locuiește într-o casă de sat lângă Moscova, nu există alimentare normală cu apă, gaz, încălzire, iar rezolvarea tuturor acestor probleme necesită investiții mari sau muncă practică. Aici am văzut un loc în care puteți folosi pe deplin arduino, unde vă puteți extinde. Cel mai mare avantaj al unei case de țară este că în mod tradițional nu este mare și foarte simplă. La fel e al meu - casă tipică familie de țărani de la mijlocul secolului al XX-lea, este o casă din bușteni cu o cameră mare și o bucătărie. Nu există alte încăperi încălzite, ceea ce este un plus pentru noi; este suficient să menținem și să controlăm temperatura într-o singură cameră.

Incalzi

Echipamente de incalzire. În mod tradițional, casa avea încălzire la sobă. O sobă „germană” în cameră (se încălzește datorită unei țevi lungi de înfășurare), a doua „rusă” în bucătărie (se încălzește datorită dimensiuni mari focarul propriu-zis). Dacă cineva este înconjurat de idei de film că coacerea este mișto și, în plus, naturală și romantică, atunci îmi iau libertatea de a sugera că acești oameni nu au locuit niciodată într-o casă cu încălzire în sobă. De fapt, nu este foarte confortabil, incomod și un pericol de incendiu. Prin urmare, în urmă cu aproximativ 5 ani, a fost comandat și implementat un proiect de instalare a unui sistem simplu de încălzire cu două conducte cu boiler pe gaz. Cazanul trebuia să fie alimentat de la butelii de gaz.

Ulterior, s-a decis modernizarea sistemului, adăugarea unei pompe de recirculare forțată a lichidului de răcire și a unui cazan electric mic de 2 kilowați, pentru a nu fi nevoit să vă faceți griji pentru aprinderea gazului când nu este încă foarte frig. Toate automatizările s-au rezumat la prezența unui întrerupător mare pe perete; când se răcea prea mult, era pornit, iar când era prea cald, era oprit. Doi kilowați erau suficienți până când temperatura ajungea la 0°C; apoi trebuia să aprinzi gaz sau o sobă, ceea ce era extrem de incomod.

Oportunitatea economică

Înainte de a schimba ceva, firește, s-a decis să se ia în considerare dacă toată această idee avea deloc sens. După ce am calculat consumul de gaz din butelii din experiență și am estimat consumul așteptat de motorină, am ajuns la concluzia că nu are rost la astfel de tipuri de încălzire dacă există o cantitate suficientă de energie electrică. Pretul cilindrilor era undeva in jur de 6-7 mii pe luna, motorina, daca iti cumperi ceva ars sau vara iarna, poti economisi pana la 5 mii pe luna, in timp ce la electricitate pura primesti 7 mii. Sa adaugam aici costul cazanului, cilindrii de tragere constantă și mirosul de la pulverizare și va deveni clar că electricitatea este mult mai simplă și deloc mai scumpă. Desigur, există și la modă În ultima vreme arzătoare pe peleți, dar nu erau potrivite pentru mine, deoarece nu se pot aprinde singure și, prin urmare, au o putere minimă și deloc mică (aproximativ 5 kW), care în 90% din timp pur și simplu nu există unde să o pun și necesită combustibil trebuie adăugat de cel puțin 2 ori pe săptămână, ceea ce uneori nu are cine să facă. Și costul cazanelor în sine este cu un ordin de mărime mai mare Versiuni anterioare, deci sunt potrivite pentru casele mari unde este nevoie de mai multa putere si costuri mai mari, si nu in cazul meu.

Hardware greu

Am încercat să estimez puterea necesară pe baza consumului de gaz și a altor estimări, s-a dovedit că era nevoie de 4-5 kW, cu o marjă de 6. O analiză a pieței a arătat că există un model de boiler electric asemănător cu cel deja instalat, dar cu 3 elemente de încălzire de 2 kW fiecare. Mai mult, a fost vândut fără controale, ceea ce a fost și mai comod și mai ieftin pentru mine. În general, centrala în sine este extrem de design simplu, un cilindru metalic cu țevi de admisie și de evacuare, un capac atașat cu șuruburi deasupra, în care sunt fixate elemente de încălzire. În plus, în caroserie sunt încorporați 2 senzori, un senzor de temperatură rezistiv și un senzor care se închide la supraîncălzire, ambii din sistemul de răcire al mașinii. Acum s-a pus problema energiei electrice. Situația mea a fost simplificată de faptul că lângă casă se află un atelier, la care sunt conectate 3 faze (popular - 380). Desigur, a existat tentația de a alimenta fiecare element de încălzire din faza proprie, așa că a fost achiziționat și instalat în camera cazanului un cablu specializat cu 4 fire într-o împletitură metalică pentru instalare subterană. Cablul este introdus într-un panou cu un RCD conectat în serie și un bloc de 3 întreruptoare automate de 10A. În continuare, cablul a mers direct la panou cu arduino și de acolo la boilerul electric.

Hardware ușor

Este clar că vom controla elementele de încălzire cu arduino, întrebarea este cum? Respectând principiul - cu cât este mai simplu, cu atât mai fiabil, pur și simplu le vom porni sau opri folosind un releu fără opțiuni de tranziție. După ce am navigat pe Aliexpress, am găsit un bloc de relee pentru Arduino care poate controla 5 linii de alimentare simultan. O problemă, curentul maxim pe care îl pot suporta aceste relee este de 10A, dar primesc 2kW / 220V ~ 9A. Adică practic maximul, și este indicat să aveți o rezervă de minim 25%. Totuși, am decis să-mi asum un risc. Staletele sincer au durat aproape o săptămână, apoi tocmai au început să se topească. Ceva trebuia hotărât și repede, pentru că era iarnă și era imposibil să oprești încălzirea. Prin urmare, au fost achiziționate relee de 30A, deși cu înfășurări de 12V. Prin urmare, am lipit rapid câte un tranzistor la fiecare releu pentru a le porni de la Arduino de 5V.

Schema a funcționat bine timp de aproape o lună, apoi am observat că casa era cumva prea caldă. Verificarea a arătat că un releu era blocat în poziția pornit. L-am lovit și a început să funcționeze din nou, dar a durat doar câteva zile. L-am schimbat in speranta ca a fost un defect, dar o saptamana mai tarziu s-a intamplat acelasi lucru si cu a 2-a stafeta. După ce l-am instalat pe ultimul de rezervă, m-am întors la Ali. Acolo au fost găsite relee specializate pentru 40A Arduino! Acestea ar trebui să fie cu siguranță suficiente, m-am gândit. Câteva săptămâni de așteptare și apoi din nou arunc tranzistoarele și instalez relee noi cu cablaje și indicații gata făcute. Bucuria a fost de scurtă durată, după 2-3 săptămâni ștafeta s-a blocat din nou. Am început să studiez problema, se dovedește că pentru a reduce sarcina pe releu și pentru a elimina scânteia contactelor, releul trebuie să fie pornit nu la întâmplare, ci în momentul în care sinusoidul de tensiune trece prin 0. Ei bine , în teorie, acest lucru se poate face folosind Arduino, doar prin conectarea prin împărțirea tuturor celor trei faze și urmărirea tensiunii. Problema este că releul are un anumit timp de răspuns și, de fapt, mai trebuie să-l instalăm experimental. În general, sarcina nu este atât de simplă.

Și apoi dau peste așa-zisa Stare solidă Releul, simplu spus, este un circuit electric asamblat pe un tiristor puternic, într-o carcasă asemănătoare unui releu obișnuit. Unul dintre avantajele sale este că nu există mecanică, nimic nu se va lipi. Nu creează interferențe EM puternice, ceea ce este important pentru ethernet, care este discutat mai jos. Acestea conțin deja un circuit care pornește și oprește releul atunci când trece de zero. Releul are un indicator pornit. Ei bine, și ei sunt tăcuți, deși pentru cazul nostru acest lucru nu este atât de important. După ce am studiat instrucțiunile și caracteristicile, am comandat SSR-40DA, care în limba rusă înseamnă un releu cu stare solidă cu un curent de control constant de 3-5V și un curent de sarcină de până la 40A. În același timp, am decis să mă abat puțin de la principiul „mai simplu este mai bine” și, de asemenea, să controlez curentul din elementele de încălzire. Acest lucru ar face posibilă aflarea unui element de încălzire/releu ars sau a unei întreruperi de curent pe una dintre faze. Am adăugat la comandă un modul de control al curentului de 20A, deși păreau slab pentru un astfel de curent (cablul pătrat de 2,5 nici nu se potrivea în clema lor). Când au sosit releele și modulele de măsurare a curentului, s-a dovedit că releele erau destul de voluminoase, așa că s-a decis să se mute tot ce ține de partea de înaltă tensiune în cutie nouași lăsați Arduino în cel vechi.

După primele experimente, s-a dovedit că am uitat complet că aceste relee, deoarece sunt asamblate pe tiristoare, se încing destul de mult. După o zi de funcționare, releele au devenit atât de fierbinți încât nu am putut suporta să țin degetul pe ele, adică 60C grade, iar acest lucru este deja aproape de 80C critici. Am fost din nou la Ali, dându-mi seama ce calorifere să adaptez, apoi am aflat că există radiatoare standard pentru aceste SSR-uri! La momentul instalării radiatoarelor, am mai descoperit că un singur modul de control al curentului în sine nu mai trecea curent, iar pe partea laterală a plăcii era vizibilă o pistă arsă. Nici un alt modul nu a inspirat încredere, așa că am decis să le elimin pe toate. În această formă, sunt încă destul de slabe și periculoase, dar nu sunt de mare folos. Problema deconectarii fazelor sau a elementelor de incalzire a fost pusa deoparte ca nu foarte urgenta; in 3 ani, nici primul, nici al doilea nu s-a intamplat nici macar o data.

Acum despre software

Arduino

Imediat în exemple s-a găsit o piesă care a făcut posibilă controlul puterii medii, având control binar - pornit și oprit. Sensul este simplu, luăm o anumită fereastră de timp, să zicem, 1 minut, iar într-un ciclu pornim sau oprim încărcătura în funcție de timpul trecut. Adică, dacă avem nevoie de 50% din putere, atunci pornim încărcătura în primele 30 de secunde și o oprim în ultimele 30, apoi ciclul se repetă. L-am transformat rapid în 3 relee independente, dacă puterea este mai mare de 33%, atunci pornesc al doilea releu, dacă este mai mare de 66%, apoi al treilea, și îl pornesc și îl opresc pe primul în funcție de principalul algoritm. Acum se ridică întrebarea principală, și ce algoritm ar trebui utilizat pentru a selecta puterea? Fiind programator de profesie, am decis mai întâi că problema era destul de simplă, adaug mai multă frig, mai multă căldură și am încercat să-mi dau seama în mintea mea.

S-a dovedit că nu este atât de simplu. A fost util să ne uităm la modul în care se face acest lucru în sistemele vândute, s-a dovedit că totul este fie la fel de simplu ca într-un fier de călcat - +1C = oprit, -1 = pornit. Dar apoi obținem oscilații de aproape 4C din cauza inerției sistemului! Acest lucru este prea dur, deoarece putem obține date cu o precizie de o zecime de grad. M-am uitat și la algoritmii de lucru folosind temperatura aerului exterior, s-au dovedit a fi destul de simpli și au funcționat la mese gata făcute, care au fost precablate și pur și simplu schimbate în funcție de pierderea de căldură a casei. Sapat din ce in ce mai adanc, am ajuns la fundul instalatiilor industriale, unde algoritmii de controler PID erau utilizati pe scara larga. Și, o glorie a popularității, se dovedește că Arduino are o bibliotecă PID gratuită!

Câteva cuvinte despre ce este PID în raport cu cazul nostru. Ideea algoritmului este că îi spunem valoarea necesară a unui anumit parametru (temperatura din interiorul casei) și într-un ciclu trecem valoarea curentă și ne dă efectul necesar (puterea care trebuie furnizată la cazanul). Fara a intra in detalii model matematic, cum funcționează din punctul de vedere al unui programator. Deci, avem temperatura în cameră, să fie 20C, temperatura dorită este 22C și le dăm algoritmului nostru PID.

Algoritmul în sine are 3 părți independente, numite P, I și D. Prima parte funcționează extrem de simplu, se uită la diferența dintre temperatura dorită și temperatura curentă. Adică cu cât este mai rece mai multă putere algoritmul ne va da. Se pare că este suficient, dar avem pierderi constante de căldură acasă, adică pentru a menține temperatura dorită, trebuie să furnizăm constant un fel de putere. Adică, chiar dacă temperatura din cameră este egală cu cea setată, nu poți opri centrala, dar trebuie să cauți cumva o putere egală cu pierderea de căldură. Și pierderile de căldură variază în funcție de temperatura de afară. Aceasta este ceea ce face a doua parte, numită I. Algoritmul încearcă să selecteze puterea la care temperatura noastră va fi constantă. Și se pare că asta este totul sigur, dar nu.

Cert este că centrala în sine, lichidul de răcire și mai ales casa au o inerție foarte mare. Și dacă porniți cazanul la 100%, atunci trebuie să reduceți puterea mult mai devreme decât temperatura atinge temperatura dorită, altfel chiar și cu oprire completă inca vom avea timp sa supraincalzim camera cu 2 grade.Acelasi lucru se intampla cand temperatura scade, trebuie sa adaugati putere chiar inainte ca temperatura sa ajunga la temperatura dorita. Aceasta este ceea ce face a treia parte a algoritmului D. Ei bine, acum, desigur, asta e tot, tot ce rămâne este să înțelegem ce parte să acorde ce pondere, dar asta fac multiplicatorii fiecărei părți, care trebuie selectați. . Apropo, selecția acestor multiplicatori este una separată și destul de complexă problema de matematica, le-am selectat „cu ochi”, amintindu-mi ce s-a spus mai sus. La început am pus toate zerourile, cu excepția lui P, și am selectat-o ​​astfel încât excitația în sine să nu înceapă. Apoi a adăugat I, iar la sfârșit D.

Luarea temperaturii

Pentru a măsura temperatura, totul a fost comandat pe același site magic senzori digitali temperaturi bazate pe DS18B20. Senzorul în sine este pur și simplu minunat, nu trebuie să fie calibrat sau configurat în niciun fel, dar poate măsura temperatura cu o anumită precizie și comunică cu Arduino prin protocolul OneWier. Adică pe 3 fire de până la 50 de metri lungime poți agăța un număr aproape nelimitat de senzori. Dacă se dorește, nici nu pot fi alimentate, ci funcționează doar prin 2 fire (de fapt, sunt alimentate, dar de la firul cu semnal), dar funcționează mai lent. În cazul meu, am comandat senzorii într-o carcasă sigilată și i-am conectat cu un cablu obișnuit cu pereche răsucită. Am montat 3 senzori, unul in camera cazanului, unul in casa, in camera, si unul la mansarda sub tavan, mansarda nu se incalzeste in niciun fel si acolo iau temperatura afara.

Lista hardware-ului achiziționat

- Placa Arduino. Am folosit UNO r3. Preț aproximativ 350 de ruble.
- Ethernet Shield, aproximativ 500 de ruble.
- pereche răsucită(în funcție de cât aveți nevoie), un golf de 305 m va costa aproximativ 4 mii.
- Senzori de temperatura, aproximativ 200 de ruble.
- Alimentare pentru 110-240 - 12V 2A, 420 rub.
- Stabilizator LM7805, aproximativ 20 de ruble.
- Releu SSR-40DA 3 buc. 330 de ruble.
- Radiatoare pentru relee pentru 200 de ruble.

Adică, fără a număra perechea răsucită și cazanul în sine, întregul proiect costă 4 mii de ruble.

Punem datele în baza de date și le afișăm.

Dar toate acestea, desigur, sunt bune, dar nu trebuie să stai în mod constant cu un computer lângă boiler; încă ai dori să știi despre ce se întâmplă acasă, de la distanță, prin Internet. Pe cel mai simplu l-am avut de mult timp Server VPS din majordomo pentru orice. Am creat o bază de date MySQL pe ea pentru a stoca datele de temperatură.

Acum trebuie să punem cumva datele de la arduino în această bază de date. Pentru a face acest lucru, desigur, va trebui să conectați cel puțin arduino la Internet, nu este ușor, dar foarte simplu. Pentru aceasta avem nevoie de Ethernet Shield și biblioteca sa. Un router simplu cu un „fluier” a fost instalat de mult în casă, mai întâi de la megafon și apoi de la yota. Trageți cel standard pereche răsucită la router și adăugați transfer de date în program. Transferul are loc printr-un apel către o pagină în PHP cu parametri - date. Creăm o pagină numită temp.php pe serverul nostru de Internet

Eroare de încărcare a datelor!

";) else (echo "";) mysql_close($connect); ?>
După aceasta, avem date despre temperaturile și puterea cazanului, ca să nu trebuie să intrăm de fiecare dată în baza de date, dar uită-te la ultimele date, am scris un script „temporar” în php, dar, ca știi, nu există nimic mai permanent decât lucrurile temporare, așa că ei le folosesc.
gettemp.php

\n"; while ($line = mysql_fetch_array($rezultat, MYSQL_NUM)) ( echo " $line"; ecou" TempIN = $lineTempOUT = $line\n"; ecou " TempKotel = $line\n"; ecou " Putere = $line\n"; ) echo "\n"; mysql_free_result($rezultat); mysql_close($connect); ?>

Ce ați dori să adăugați în viitor?

Desigur, acesta este, în principiu, un minim, care, totuși, ne permite să facem un complet și suficient control convenabilîncălzire într-o casă mică. Deși cu unele modificări poate fi folosit în mai multe camere și în general în clădiri de orice complexitate, arduino poate face multe aici, dacă nu totul. În acest proiect aș dori să adaug pe viitor:
  • Regulator de temperatura. Deși practica a arătat că 22,5 este destul valoare optimăși în principiu nu necesită ajustare. Din nou, aș dori să fac controlerul la distanță de la arduino principal, dar pentru asta trebuie să faceți oricare circuit complex, sau alt arduino. În general, este ceva de gândit.
  • Aș dori să pot nu numai să citesc temperatura, ci și să pot modifica din mers parametrii PID. Este posibil să se creeze un mod separat de „încălzire inițială”, altfel parametrul I durează mult timp pentru a se normaliza după fiecare repornire a programului.
  • Aș dori o aplicație simplă pentru Android, astfel încât să nu fiu nevoit să intru într-un browser mic de pe telefon. Acesta este cel mai simplu lucru și este deja în curs.
  • Totuși, conectați senzorul de temperatură a lichidului de răcire și transmiteți datele acestuia, ca și alte date de temperatură.
  • Semnalizare de urgență. Adică, detectează automat pierderea de tensiune pe linii, defecțiunea releelor ​​sau a elementelor de încălzire.
  • Faceți un „carusel”, schimbați destinațiile elementelor de încălzire. În caz contrar, se dovedește că un element de încălzire funcționează întotdeauna mai mult decât celelalte și, teoretic, ar trebui să eșueze primul. Trebuie doar să schimbați codurile PIN din program din când în când. Pare simplu, dar pur și simplu nu pot să-l adaug.
Textul programului pentru Arduino:

#include #include #include #include #include #include // Exemplu de temperatură OneWire DS18S20, DS18B20, DS1822 // // http://www.pjrc.com/teensy/td_libs_OneWire.html // // Biblioteca DallasTemperature poate face toată această muncă Pentru dumneavoastră! // http://milesburton.com/Dallas_Temperature_Control_Library OneWire ds(6); // pe pinul 10 (este necesar un rezistor de 4,7K) Senzori de temperatură Dallas(&ds); boolean waithTemp = fals; int TEMPERATURE_PRECISION = 10; int lamp1 = 7; int lamp2 = 8; int lamp3 = 9; DeviceAddress IntThermometer = ( 0x28, 0x8E, 0xF4, 0x28, 0x05, 0x00, 0x00, 0x07 ); DeviceAddress OutThermometer = ( 0x28, 0x65, 0x15, 0x32, 0x05, 0x00, 0x00, 0xE2 ); DeviceAddress KatThermometer = ( 0x28, 0x61, 0x43, 0x28, 0x05, 0x00, 0x00, 0x14 ); adresă octet; StartTime lung nesemnat = 0; WorkWindow lung nesemnat = 60000; // Timp de lucru lung nesemnat de 10 minute, TenTime; float maxData = 100; plutire celsius, temp; Punct de referință dublu, intrare, ieșire; int ThermometerCount; DeviceAddress Termometru; PID myPID(&Input, &Output, &Setpoint, 10, 0,1, 5, DIRECT); //0,000006 0,03 40 dublu targetTemp = 22,5; octet mac = ( 0xE0, 0x69, 0x95, 0x72, 0x65, 0xE8 ); byte ip = (192, 168, 1, 100); server de octeți = (?, ?, ?, ?); Client EthernetClient; byte webskipcount = 10; webcount byte = 0; void setup(void) ( Serial.begin(9600); //Ethernet.begin(mac, ip); Ethernet.begin(mac); sensors.begin(); pinMode(lamp1, OUTPUT); pinMode(lamp2, OUTPUT) ; pinMode(lamp3, OUTPUT); Setpoint = targetTemp; myPID.SetOutputLimits(0, maxData); myPID.SetMode(AUTOMATIC); celsius = targetTemp; StartTime = millis(); ) filtru lung (lung x, lung Nb, lung k ) ( static lung y = 0, z = 0; z += (x - y); return y = (Nb * z) >> k; ); void loop(void) (byte i; byte type_s; byte data; long Out; if (millis())< StartTime) { StartTime = millis(); } WorkTime = millis() - StartTime; if (WorkTime >WorkWindow) ( WorkTime = WorkTime - WorkWindow; StartTime = millis() + WorkTime; ) //Serial.println("ciclu"); senzori.requestTemperatures(); celsius = senzori.getTempC(IntThermometer); Intrare = celsius; if (număr web >= webskipcount) ( buffer char; String temperatureS1 = dtostrf(celsius, 2, 2, buffer); String temperatureS2 = dtostrf(sensors.getTempC(OutThermometer), 2, 2, buffer); String temperatureS3 = dtostrf(senzori .getTempC(KatThermometer), 2, 2, buffer); String OutputPowerS = dtostrf(Output, 2, 2, buffer); String msg = "GET /temp.php?t1="+ temperatureS1 + "&t2=" + temperatureS2 + "&t3=" + temperatureS3 + "&p="+OutputPowerS; Serial.println(msg); client.connect(server, 80); client.println(msg); client.stop(); webcount = 0; ) else ( webcount += 1; ) myPID.Compute(); //Serial.print(Intrare);Serial.print(" ");Serial.print(Ieșire);Serial.print(" ");Serial.println(Setpoint); if (Ieșire > maxData/3*2) ( digitalWrite(lamp1, HIGH); digitalWrite(lamp2, HIGH); Out = Output - maxData/3*2; ) else if (Ieșire > maxData/3) ( digitalWrite(lamp1, HIGH); digitalWrite(lamp2, LOW); Out = Ieșire - maxData/3; ) else ( digitalWrite(lamp1, LOW); digitalWrite(lampă2, LOW); Out = Output; ) TenTime = map(Out, 0, maxData/ 3, 0, WorkWindow); Serial.print(celsius); Serial.print(" "); Serial.print(senzori.getTempC(OutThermometer)); Serial.print(" "); Serial.print(senzori.getTempC(KatThermometer)); Serial.print(" "); Serial.print(Ieșire); Serial.print(" "); Serial.print(TenTime); Serial.print(" "); Serial.println(WorkTime); dacă (Timp de lucru< TenTime) { digitalWrite(lamp3, HIGH); } if (WorkTime >TenTime) ( digitalWrite (lamp3, LOW); ) )

Salutare tuturor!
A trecut mult timp de când am decis să-mi construiesc propria mea fabrică de bere automatizată. Iată prima postare.
Astăzi controlerul este complet gata, tot ce rămâne este să realizezi propriul dispozitiv de gătit și filtrare. Totul a fost făcut de mine cu propriile mele mâini. Vă rog să nu judecați strict, nu am studii inginerești, sunt un simplu umanist! Vă spun în ordine cum și din ce a fost făcută. Atentie, trafic, multe fotografii! Pe scurt despre dezvoltare. Realizat pe Arduino. Sunet, indicație luminoasă, indicarea curentului și tensiunii (deoarece dispozitivul este depanat, trebuie să monitorizez acești indicatori). Închidere de urgență. Întregul sistem se bazează pe relee semiconductoare. Secțiunea de putere decuplat de digital. Control a 4 sarcini 25-40A (scalabile), memorie reteta pentru 8 bucati. 8 pauze de temperatură. Interfață intuitivă. Complet manual sau complet mod auto. Spălare automată CIP. 2 senzori de temperatura cu o precizie de 0,1 g. Senzor de lichid în cazan. Senzor de lichid în timpul pompării. Capacitate - de la 20l la 1000l. Controlul aerării, jacuzzi, pompă, ieșire de rezervă. PID personalizabil, pentru diferite capacități (beta), USB pentru actualizări de software, în viitorul apropiat - telecomandă de pe iPhone/iPad. Acum îl puteți controla de pe un computer, de pe un ecran de monitor, chiar și prin Internet.
Sa incepem. În primul rând, am ales o husă în magazin. Preturile sunt foarte diferite. Am ales unul care era acceptabil ca mărime și preț, uitându-mă în viitor, voi spune că umplutura se potrivește la limită; nu s-ar potrivi într-o carcasă mai mică:

Lucrări complexe la marcarea elementelor de control. Toate componentele, cu excepția carcasei, firelor și contactorului, au fost achiziționate în străinătate. Nu puteți cumpăra nimic la un preț rezonabil în această țară.


Configurația a fost decisă, rândul de jos de butoane este lăsat pentru viitor, pentru extinderea capabilităților:

Am aplicat bandă de mascare și am desenat semne cu un creion.

Este o chestiune mică. Tăiați găurile. Cele dreptunghiulare au fost făcute cu un puzzle și o pilă cu cei mai mici dinți. Rotund - cu un burghiu în trepte. Mici rotunde - cu burghiu.

Toate găurile au fost prelucrate cu o pilă.

Și l-a pictat. Permiteți-mi să remarc că am făcut asta degeaba, vopseaua se rupte fără milă la orice contact. L-am vopsit in 3-4 straturi. Nu am folosit pământ.

Am așteptat o zi să se usuce vopseaua și am așezat elementele.


Radiatorul l-am cumpărat dintr-o reclamă, era de la un centru local de televiziune, era la un emițător TV pe un turn local de televiziune, a trebuit să-l deschid, l-am dat fabricii, pentru că... Nu pot lua puzzle-ul, este greu și dintr-un aliaj necunoscut.

Pe partea din spate.

Interior.

Asamblate.

Verificarea electronicii.

Am schițat o diagramă foarte complexă, fără diagramă - nicăieri!

Am conectat totul și l-am lipit. Nu l-am filmat pas cu pas, nu am avut timp pentru asta.

O altă vedere. Lipim fiecare terminal de compresie.


Prize pentru actuatoare.

releu SSR. Folosit două denumiri și diferiți producători, asta e mai interesant.

Asta s-a intamplat. Am pus diferite butoane de selecție, mai comode și mai verzi, așa că, cred că arată mai frumos, altfel e prea mult roșu :)


Am curățat puțin masa și m-am pregătit pentru test! În loc de element de încălzire, încărcarea și elementul de încălzire sunt vintage lampa de birou.

Am lipit semne pe Moment Crystal. Plăci speciale comandate de la firmă. Există două tipuri de Graverton și Gedacolor, care diferă ca preț, calitate și durabilitate. Nici nu-mi amintesc pe care le am. Și totul este gata!


Între timp, un nou creier cu noi posibilități pentru cea mai recentă dezvoltare! :)

Următoarea etapă este selecția componentelor pentru bere și construcția finală. Dar mai multe despre asta în partea următoare

Ce aș fi făcut altfel, nu l-aș fi vopsit; numeroase așchii sunt vizibile în fotografii. Dar blocul este destinat instalării staționare pe perete, astfel încât vopseaua nu se va desprinde la fel de mult. Pe acest moment totul funcționează conform așteptărilor, tot ce rămâne este să terminați aragazul cu toată țeava. O chestiune de timp și bani.

Dorința mea către producătorii începători este să nu încercați să construiți o mașină imediată, nu va funcționa. Mai întâi trebuie să aprofundezi în toate detaliile, să arunci bani și timp.

Prin acord cu autorul codului, codul nu este postat în acces deschis din mai multe motive: programul este adaptat pentru dezvoltarea mea specifică, pentru un anumit ciclu și poate că în viitor se va transforma în produs comercial. Am aratat doar un exemplu.

Îmi cer scuze pentru calitatea fotografiilor, totul a fost făcut pe telefon. Mulțumesc tuturor celor care au citit până la sfârșit!

Pentru cei interesați de prepararea berii acasă,

Cele mai bune articole pe această temă