Automatisering for BeerDuino bryggeri basert på arduino mega. Automatiserte systemer basert på Arduino mikrokontroller Distillery automatiseringsprosjekt ved bruk av Arduino

Mange drømmer i dag om å bo i et "smart" hjem. Men kommersielle løsninger i dag er frastøtende på grunn av deres betydelige pris. Heldigvis kan du lage ditt eget hjemmeautomatiseringssystem ved å bruke billige og lett tilgjengelige komponenter.



Dette materialet vil vise deg hvordan du kontrollerer husholdningsapparater, i vårt tilfelle lamper, ved hjelp av en Android-enhet og Arduino. Dessuten, selv om du er ny på programmering og ikke har noen erfaring med å skrive Android-programmer, vil du kunne fullføre dette prosjektet uten problemer.


Prosjektet vil kreve noen få elementer: et Arduino-kort eller en hvilken som helst klon, en TTL-UART Bluetooth-grensesnittmodul med en driftsspenning på 5 V, flere releer og en driver (kontrollkrets) for dem, og selvfølgelig en smarttelefon eller nettbrett på Android.


Dette prosjektet inkluderer to separate deler: en maskinvarekontrollkrets og en Android-applikasjon. Kommunikasjon mellom kontrollkretsen og Android-applikasjonen utføres ved hjelp av et trådløst Bluetooth-grensesnitt. ASCII-kommandoer sendes fra telefonen til Arduino, som videre dekrypteres og representeres som kommandoer for å slå på eller av et bestemt husholdningsapparat.


Utviklere av applikasjoner for Android-enheter kjenner stort sett programmeringsspråket Java, men i dette tilfellet er det ikke nødvendig med kunnskap om dette språket, siden det er et ganske enkelt og forståelig online utviklingsmiljø, App Inventor, laget ved MIT. Den er spesielt laget for folk som ikke forstår Java-programmering, og tilbyr å sette sammen en applikasjon visuelt fra blokker med operasjoner. Slik ser vårt Android-program ut:



Du kan laste ned kildekoden til programmet, bestående av blokker i App Inventor, og selve programmet med apk-utvidelsen.


Nå må du sette sammen kretsen, som vist i figuren nedenfor.



Vær oppmerksom på at RX-linjen på Arduino må kobles til TX-linjen på Bluetooth-modulen, og TX-linjen på Arduino må være koblet til RX-linjen på Bluetooth-modulen.


For å programmere Arduino-kortet må du ha Arduino IDE installert. Nedenfor er en skisse for Arduino.


const int led1 = 2; const int led2 = 3; const int led3 = 4; const int led4 = 5; byte seriellA; void setup() ( Serial.begin(9600); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); ) void loop() ( if (Serial. tilgjengelig() > 0) (serialA = Serial.read();Serial.println(serialA);) switch (serialA) (tilfelle 1: digitalWrite(led1, HØY); break; case 11: digitalWrite(led1, LOW); break; case 2: digitalWrite(led2, HIGH); break; case 22: digitalWrite(led2, LOW); break; case 3: digitalWrite(led3, HIGH); break; case 33: digitalWrite(led3, LOW); break; case 4: digitalWrite(led4, HIGH); break; case 44: digitalWrite(led4, LOW); break; ) )

Etter at du har spilt inn skissen i Arduino og installert applikasjonen for Android, må du koble til Bluetooth-modulen fra telefonen. For å gjøre dette, slå på strømmen til Arduino og Bluetooth-modulen og aktiver Bluetooth på telefonen din, slik at den også er synlig for alle enheter. Etter det kan du finne denne modulen i søkelisten for andre Bluetooth-enheter. Skriv inn sammenkoblingskoden, som vanligvis er "1234" eller "0000".



I dette tilfellet vil enheten du parer med ha et navn. Etter sammenkobling slår du på EG-HOME-applikasjonen og trykker på Bluetooth-knappen for å velge den sammenkoblede enheten i programmet. Etter dette vil telefonen din kobles til kontrollkretsen, og ved å trykke på de tilsvarende knappene vil du slå lampene på eller av.

Automatisering i det moderne samfunnet er et nødvendig tiltak, fordi det i den digitale tidsalderen er ekstremt viktig å eliminere den menneskelige faktoren i ulike bransjer for å standardisere og forbedre produktkvaliteten. Det er også områder hvor mennesker rett og slett ikke kan gjøre det roboter er i stand til, for eksempel produksjon av nanomaterialer og mikrokretser.

Imidlertid hjelper automatisering ikke bare i produksjonen, men det kan også være nyttig for den gjennomsnittlige personen. For eksempel kan automatisering for et bryggeri som bruker Arduino betydelig forenkle prosessen med å produsere et produkt. La oss finne ut hvordan automatisering for utbedring på Arduino og andre ting kan hjelpe, og se på eksempler.

De viktigste fordelene med automatiserte systemer basert på Arduino mikrokontroller

Ingen forbyr deg å lodde ditt eget bord og programmere det selv ved å bruke lavnivåspråk. Imidlertid vil automatisering ved bruk av Arduino og ferdige mikrokontrollere i stor grad lette hele prosessen og spare tid. Tross alt er det mye lettere å kjøpe et ferdig produkt med et sett med biblioteker og tilpasse det til dine behov. Og rimelig automatisering på Arduino mega 2560 kan være nyttig på mange områder av livet, fra stemmebrytere for et smart hjem til elektriske låser med bevegelsesdetektor. De viktigste fordelene som Arduino-automatisering er kjent for er:

  1. Lav inngangsbarriere. Det er ikke nødvendig å ta en ingeniørutdanning; det er nok å se et par treningsvideoer og ha et grunnlag i programmering.
  2. Et stort antall allerede forberedte biblioteker. Arduino brukes i hele CIS av mange robotentusiaster, til det punktet at produksjon av diverse elektronikk blir deres hobby. Følgelig er brukerfellesskapet på nettet ekstremt aktivt, legger ut et stort antall tomme felter og er klare til å hjelpe deg med å løse eventuelle problemer. Kvaliteten på bibliotekene lider på grunn av den lave inngangsterskelen, men ingen forbyr deg å lage din egen; det er nok å studere semantikken til C++-språket eller bruke ferdige oversettere.
  3. Et stort antall periferiutstyr. Det spiller ingen rolle om du trenger Arduino-basert drivhusautomatisering eller en lyssensor, du vil finne alle moduler, inkludert lydsensorer og stemmegjenkjennere. Ja, noen brett koster mye penger, men du kan alltid finne billige analoger, for eksempel esp8269 wi-fi-modulen fra tredjepartsprodusenter, som koster 10 ganger mindre enn den offisielle.
  4. Mye informasjon. Ethvert problem du står overfor har allerede blitt møtt av noen andre, og du vil sannsynligvis finne en løsning på Google. Det er også komplett litteratur som du kan konsultere.

Tro imidlertid ikke at Arduino ikke har noen feil. Brettet er kjent for sin lave ytelse. I spesielt komplekse oppgaver og med store mengder kode kan responstiden nå 1 sekund, noe som er uakseptabelt for mikrokontrollere. Flash-minnet til de fleste moduler overstiger ikke 1 MB, noe som ikke er nok til å lage nevrale nettverk eller bruke mediefiler. Selvfølgelig kan du koble til et ekstra minnekort, men dette øker responstiden, tar ekstra ressurser for å drive det og gjøres på en semi-håndverksmessig måte.

Men enkle automatiserte systemer, for eksempel for brygging av øl eller drivhus, krever ikke engang en brøkdel av ressursene som styret kan stille med. Følgelig vil de fleste brukere finne disse manglene meningsløse. Hvis du bestemmer deg for å sette sammen din egen 3D-skriver eller en mer kompleks design, bør du se nærmere på analoger. Men inngangsbarrieren for Arduinos konkurrenter vil være mye høyere.

Et eksempel på prosessautomatisering basert på Arduino mikrokontroller

Det enkleste eksemplet på prosessautomatisering kan være et drivhus som bruker Arduino. For å lage et hvilket som helst system, er det verdt å tydelig definere oppgavene det må utføre. Ved å bruke et drivhus som eksempel, vil dette være:

  1. Skapelse av et spesielt klima.
  2. Rettidig slå på og av belysning.
  3. Rettidig vanning av planter og opprettholdelse av luftfuktigheten på samme nivå.

Basert på disse oppgavene kan du umiddelbart legge merke til hva du trenger å kjøpe til hovedkortet:

  1. Temperatur sensor. Det vil sikre at luften ikke varmes opp eller kjøles ned, og er innenfor grensene som er foreskrevet av programmet. Hvis temperaturen endres, vil brettet slå på klimaanlegget eller elektroniske batterier.
  2. Lyssensor. Du kan selvfølgelig begrense deg til en programvareløsning og kjøpe dyre lamper som simulerer dagslys. Men hvis du vil lage et fullverdig drivhus, vil det være mye mer praktisk å installere et automatisk tak, som vil bli kontrollert av Arduino.
  3. Fuktighetssensor. Her er alt det samme som med temperatur, i henhold til det foreskrevne scenariet vil brettet slå på sprøyter og luftfuktere, om nødvendig.

Når du kjøper alle nødvendige moduler, gjenstår det bare å programmere dem. Tross alt, uten kode, er dette bare maskinvare som ikke er i stand til noe.

Programmering av Arduino-mikrokontrollere for prosessautomatisering. Eksempel

Som i forrige punkt, for programmering er det viktig å dele opp oppgaven i separate underpunkter og utføre dem sekvensielt. Arduino-programmering skjer takket være kommandoer i AT- og AT+-grensesnittet, ved hjelp av forberedte biblioteker. Følgelig er alle skript skrevet i et spesielt miljø i C++ og, før du gjør noe, bør du bruke tid på å studere semantikken. I tillegg til å utføre enkle funksjoner, er systemet også i stand til å lagre skript i flash-minne, som er det vi trenger i dette eksemplet.

Ikke glem at informasjon fra hver sensor kommer i sanntid og som variabler, men du kan begrense responstiden, siden det ikke er nødvendig å bruke ressurser og måle hver parameter konstant. Still inn på og av-tiden for hver sensor eller still inn responstiden for en viss periode.

I 2014 kom jeg over en video av en mann som lager øl av ølurtkonsentrat. Jeg ble begeistret for ideen om å brygge, og så begynte det...
Å brygge øl fra bokser ble uinteressant for meg etter 2. gang og jeg bestemte meg for å gå over til all-grain. En gang brygget jeg øl på gass og innså at dette ikke var min metode. Jeg bestemte meg for å gjøre det automatisk. Kveldene ble mer interessante. Jeg ble så engasjert i programmering at jeg kodet til kl. 2-3. Tester var nødvendig under reelle forhold. I søppelkassene gravde jeg opp en kjele og et skåret glass.

Og dette er hva jeg endte opp med

Nå skal jeg fortelle deg hvordan du gjør slik automatisering.
For å begynne trenger vi følgende detaljer. Jeg kjøpte dem i Kina.
ssd1289 eller ili9341.
Solid state relé for styring av varmeelementet (eller kretsskjema)
Solid state relé for pumpestyring, (for AC-pumpe) eller (for DC-pumpe)
Termisk sensor eller eller
Strømforsyning 7,5-9V 1A. For eksempel
Koblinger for tilkobling av temperatursensor og pumpe og
(mer )
(summer)
4,7 kOhm motstand

Lavspent krets

Strømkrets. Vær forsiktig. Hvis du ikke er sikker, stol på fagfolkene.

Vi tar ledningstverrsnittet avhengig av den totale kraften til pumpen og varmeelementet. Et solid varmeelement krever en radiator fordi... Den varmer ikke for mye. Vi legger alt i en boks. Vi laster opp fastvaren, konfigurerer den og brygger øl.

(instruksjoner inni)

Men de grunnleggende funksjonene var ikke nok for meg. Og jeg bestemte meg for å slå på wifi. Jeg kjøpte en ESP8266-modul på Aliexpress. Samtidig bestilte jeg modulen fordi... Gutta fra forumet ba virkelig om å implementere det i prosjektet (du kan gjøre det uten det). Og koblet til i henhold til følgende diagram

For å drive wifi-modulen trenger vi en 5V strømkilde. Du kan ikke bruke arduino. Du kan bruke en separat strømforsyning eller konvertere 9V til 5V. For å gjøre dette kan du sette sammen en enkel krets med en spenningsstabilisator eller kjøpe en ferdig fra kineserne. For eksempel (det er mange andre alternativer).

Det neste trinnet er å flashe modulen vår med NodeMCU-fastvare. Nedlasting. La oss lansere. Klikk Start og vent til fastvaren er ferdig opplastingen. Spurte du? Det er flott. Nå laster vi skriptet. For dette trenger vi. Det finnes selvfølgelig andre programmer som . Men jeg kunne ikke få dem til å fungere med modulen min. I ESPlorer lager vi en ny fil init.lua med følgende innhold:

Endre wifi-nettverkets navn og passord til ditt eget. Sett hastigheten til 9600. Trykk på "Åpne"-knappen (hvis den ikke kobles til, kan det hjelpe å trykke på tilbakestillingsknappen på modulen). Og klikk "Lagre til ESP". Etter å ha lastet ned skriptet, skal modulen kobles til ruteren din. Du kan sjekke dette ved å logge på ruteren og se på DHCP-klientene. Hvis modulen din ikke er synlig der, gikk noe galt.

Nettgrensesnittet inneholder følgende funksjoner.
1. Prosessovervåking. Du kan overvåke temperatur, pumpestatus, mesking og bryggytelse. Nettgrensesnittet er utstyrt med en lydalarm.
2. Last inn oppskrifter i kontrollerens minne og til en flash-stasjon.
3. Konstruksjon av en global graf over hele tilberedningsprosessen.






Logg på nettgrensesnittet

Hvorfor trengte jeg automatisering?

Automatisering er nødvendig for å lette prosessen, fordi... denne kontrolleren vil selv overvåke temperaturen, opprettholde den og heve den til ønsket temperaturpause. Du kan også bruke et lydsignal for å indikere nødvendig inngrep, for eksempel må du tilsette malt eller gjøre en jodtest.

Jeg bestemte meg for å lage min egen automatisering fra et ferdig prosjekt. Den kjører på arduino, en temperatursensor, to releer, et display og knapper er koblet til den. Det første reléet styrer varmeelementet, det andre reléet styrer pumpen. Meskepumpen er veldig praktisk fordi... det er ikke nødvendig å røre i mosen under hele meskeprosessen (jeg anbefaler å lese mine tidligere for mer informasjon om hvordan du brygger øl)

Jeg satte sammen den første automatiseringen ved hjelp av moduler:

- Arduino mini
- Blokk med to 15A releer
- Display 2004
- Temperatur sensor
- 4 knapper
- 5 volt strømforsyning
Det praktiske med modulær montering er at det ikke er vanskelig å få alle delene, og det er praktisk talt ikke nødvendig å lodde noe. Men den største ulempen er det enorme antallet ledninger, og det billige kinesiske reléet skapte forstyrrelser på skjermen, så det mekaniske reléet måtte byttes ut med et solid-state-relé.

Over tid kom jeg til den konklusjonen at jeg trengte å bygge automatiseringen min på en brikke med 64kb minne (Arduino mini har bare 32kb) på ett bord. Jeg fant ikke en ferdig løsning, så jeg begynte å lage en krets selv og deretter et brett for håndverket mitt.

Opplegg:

Jeg utviklet og tegnet diagrammet, så å si, på knærne og for meg selv, så noen mangler er mulige, men diagrammet fungerer fullstendig:

Betale:

Jeg tegnet kretsen, så gjenstår det å tegne brettet, først tegnet jeg det ved hjelp av programmet Sprint-oppsett 6, veldig praktisk, men den har ikke nok funksjonalitet, så jeg bestemte meg for å gå bort fra den til programmet DipTrace og dette er hva jeg fikk:

Du kan laste ned kildene.
Som du kan se, ga jeg navnet mitt bryggeri QRBeer og dette er allerede versjon 0.5...

Brettet er klart, alt som gjenstår er å på en eller annen måte produsere det. For dette bestemte jeg meg for å bruke . Hvorfor dem og ikke LUT? Jeg bestemte meg for å prøve en slik ny teknologi for meg selv, jeg prøvde allerede LUT, jeg følte det, for å si det sånn, jeg vil ikke si at jeg likte det ...

Fotoresist:

For å lage trykte kretskort med fotoresist trenger du:
- Skriverfilm
-
- Ultrafiolett lampe
- Soda

ultrafiolett lampe

Først vil jeg dele informasjon om hvordan jeg laget min UV-lampe. Først ønsket jeg å bruke en ferdig lampe, og så bestemte jeg meg for å sette den sammen med seks 3W LED-er:
og også kjøpt på Tao:


Jeg limte LED-ene til radiatoren, selv om de kunne vært satt sammen på et PCB, tviler jeg på at de ville blitt overopphetet.
Her er hva jeg fikk:


Tavleproduksjon

1. Så, jeg har forberedt malen, det gjenstår bare å skrive den ut på film. Som jeg skrev ovenfor, trenger jeg en film til en skriver, jeg prøvde filmen for både en laserskriver og en blekkskriver, det beste alternativet fås kun med film for blekkskriver. Du må skrive ut i negativ og speilvendt:

Jeg laminerte malen umiddelbart slik at fingeravtrykk og rusk lett kunne vaskes av.
2. Deretter må vi pusse vår fremtidige plate (glassfiberlaminat). En lett fuktet vanlig svamp eller melaminsvamp passer til dette:


3. Etter denne prosedyren må kobberet fortsatt avfettes med aceton:


Som du kan se på bildet mitt, avfettet jeg det med en vanlig serviett, og jeg helte aceton i en peroksidflaske, så det er mer praktisk å ta ...
4. Neste trinn er å kutte fotoresisten litt for å passe til det fremtidige brettet ditt, og fjern forsiktig den øvre beskyttelsesfilmen for ikke å skade den. Hvis fotoresisten er innenlands, må du skrelle av den matte siden, hvis den er kinesisk, er det ingen forskjell...
5. Deretter limer vi fotoresisten på PCB slik at ingen luftbobler vises under fotoresisten, ellers vil sporene ikke vises på slike steder, kutt av overflødig...
Prosessen med å lime fotoresist ligner på å lime en beskyttende film på en telefon.


6. Når fotoresisten er limt, må tekstolitten med den føres gjennom en laminator 2-3 ganger eller bruk et varmt strykejern og strykes gjennom et papirark brettet i to:


Det viktigste er ikke å overopphete fotoresisten, ellers vil det vise seg slik:


Hvis du får en "jamb" når du limer fotoresisten, så er det bedre å fjerne den (vask den av eller skrape den av) og lim den på nytt, ellers blir den trist etter etsning av brettet... Jeg fjerner ikke denne fotoresisten, jeg skal vise deg sluttresultatet.
7. Plasser en mal på PCB med fotoresist og trykk den med glass (jeg tok den fra en gammel fotoramme), og legg en vekt på glasset:


8. Vi belyser fotoresisten ved hjelp av en UV-lampe. Lampen min varer ca 2 minutter:


Som du kan se endret fotoresisten som ble eksponert farge fra lyseblå til mørkeblå, og den eksponerte fotoresisten er veldig skjør.
9. Fjern glasset og malen. Overflødig fotoresist kan (valgfritt) trimmes og forsiktig separeres med en pinsett:


10. Neste trinn er å vaske av den uutviklede fotoresisten med alkali, for å gjøre dette, ta 2 glass vann og en spiseskje soda, rør godt. Fjern den øverste beskyttende filmen på fotoresisten og dypp tekstolitten vår i en alkalisk løsning.


11. Ta en børste og gni tre stykker fotoresist inn i alkalien, gradvis vaskes den uutviklede fotoresisten av:


Du kan ikke helle ut alkalien, men la den stå på neste brett eller for å vaske av fotoresisten etter etsning, men mer om det senere...
12. Bordetsing:
Det er to mest tilgjengelige metoder: etsing med jernklorid eller peroksid + sitronsyre og salt. Jeg vil ikke skrive om jernklorid, men jeg vil sannsynligvis beskrive det med peroksid:
- 100 ml. hydrogenperoksid 3% - det selges i et apotek for 7-12 rubler
- 30 gr. sitronsyre (tilgjengelig i alle dagligvarebutikker)
- 1 ss. skje salt (både fint salt og steinsalt gjør det)


Alt dette blandes i en beholder og brettet med den ferdige fotoresisten senkes der, etter en stund kommer det bobler på brettet:


Og etter en tid vil det "bare kobberet" være fullstendig etset:


Forresten, hvis du etser ved høyere temperatur, for eksempel med en glødelampe eller i et vannbad, vil etsingen reduseres med tre, det viktigste er ikke å overdrive det, ellers vil overskuddet etse seg ...
13. Den mest praktiske måten å fjerne fotoresisten på er i samme alkali som den uetsede fotoresisten ble vasket av; etter 20 minutter vil den falle av av seg selv og det er ikke nødvendig å gni noe...

Og her er mine "jambs":


Selv om det ikke er vesentlig, men likevel er uforsiktighet skylden for alt, la ikke merke til luftbobler under fotoresisten eller overopphetet ...

Jeg fikk følgende tavle "rent":


14. Bor deretter hull og fortin platen:


15. Lodd alle delene og vask av overflødig flussmiddel:


Jeg loddet SMD-komponenter med en kinesisk infrarød loddestasjon, veldig praktisk:

Det er alt, den vanskeligste delen er over, det gjenstår bare å teste sporene for kortslutninger og begynne å programmere brikken.

Programmering atmega644

1. For å starte programmeringen, må du laste inn bootloaderen i den. Dette er ikke vanskelig å gjøre med Arduino UNO, men først må du laste ned og installere programmet.
2. Det neste trinnet er å legge til eller umiddelbart ta en ferdig sammenstilling til det installerte programmet:
3. Last opp ArduinoISP-skissen til UNO:

4. Og koble styret vårt til UNO:


I følge skisseinstruksjonene:
// pinnavn // slave tilbakestilling: 10: // MOSI: 11: // MISO: 12: // SCK: 13:
Det viser seg i henhold til opplegget mitt slik:

5. Installer deretter brettet vårt i innstillingene og last inn bootloader:




Hvis alt gikk bra, vil vi se meldingen: "Bootloader-opptak fullført"
På dette tidspunktet er lasting av bootloader"a fullført, du kan koble til skjermen, knappene, temperatursensoren og fyllingen