Brouwen met Arduino en Excel

Gestart door gerico, 21-02-2013 20:46 u

Vorige topic - Volgende topic

0 leden en 1 gast bekijken dit topic.

gerico

Ik ben een HERMS aan het bouwen en wil daarvoor gebruik maken van een Arduino in combinatie met Excel. Daarvoor heb ik al verschillende onderdelen gekocht en getest.

Graag wil ik de resultaten met jullie delen, ondanks dat het nog niet af is. Maar je mag natuurlijk ook mee werken aan het verder brengen van het project.

Kijk voor meer informatie op de onderstaande site:
https://code.google.com/p/brouwen-met-arduino/

dennis

Mij is nog niet geheel duidelijk wat de verschillende onderdelen moeten doen:
 - Excel om het maischschema in op te geven,
 - VBA om dit naar Arduino door te geven,
 - Arduino voor de aansturing van de actuatoren en de gasvlam?

Oh, en een heel goede vraag denk ik: wat is je doel? Op afstand bier brouwen (omdat je het hebt over toegang via internet)? Reproduceerbaarheid van het eindresultaat?

koffie

(Zonder naar de losse bestanden gekeken te hebben)

Het aansturen van je brouwhardware dmv Excel of iets anders op je PC lijkt me wel wat.
Ik heb zelf al mijn recepten in Excel staan, en een vaste laptop in de brouwschuur. Scheelt je een hoop instellingen gedoe als je de brouwhardware rechtstreeks uit je recept aan kunt sturen :)

Henielma

Zijn dat echt zoveel instellingen die je voor een brouwsel moet doen?

Per brouwsel moet ik 7 velden invullen met een getal (maischschema en kooktijd) en 1 veld met een logfilenaam bij mijn geautomatiseerde brouwinstallatie. Het is in verhouding tot het brouwen geen werk naar mijn idee. Soms moet je ook niet doorslaan naar mijn idee.

gerico

Beste mensen,

Via Google-Code wil ik mijn ervaringen delen om anderen, met andere projecten, verder te helpen. Ik heb veel moeten zoeken en uitproberen voordat ik het aan de praat heb gekregen. Het delen van de bestanden kan juist een ander helpen om sneller iets te ontwikkelen.

Mijn doel met het project is om een HERMS installatie te besturen met behulp van Arduino en een laptop met Excel.

Waarom deze samenstelling? Ik ben beter in programmeren dan in knutselen met elektronica. (Still learning!) Dus probeer ik de elektronica eenvoudig te houden en de intelligentie in een programma te stoppen.

De besturing is alleen voor de infusiestappen. Koken wil ik handmatig regelen. (Ben geen voorstander voor het automatiseren i.c.m. gasbranders.)

Uiteindelijk wil ik het volgende:
- In Excel het maischschema zetten en door Excel commando's laten geven aan de Arduino om de brouwinstallatie aan te sturen.
- Arduino luistert in deze opstelling naar de seriële poort (USB) naar commando's die het van Excel krijgt.
- Arduino leest de temperaturen van de 1-wire sensors (DS18B20) in de HERMS installatie en speelt deze door naar Excel.
- De Arduino is voorzien van een relais-shield, die schakelt twee magneetventielen (elektrische kranen) open en dicht.
- Met een Denkovi relaisboard kan ik de wortpomp en verwarmingselementen aan en uit zetten.

In plaats van het Denkovi board wil ik nu een Klik-Aan-Klik-Uit schakelaar gebruiken. Dit is veiliger, je hebt dan geen extra board nodig, geen extra kabels.

Geeft dat een beeld? Als je de Excel sheet opent, zie je schematisch mijn brouwinstallatie. (Macro's moeten zijn toegestaan op jet pc !)

foz

Een paar vragen hierover.

Waarom Excel? Dit lijkt mij nogal overkill.  Het is platformgebonden en amper bedoeld voor de taak. Een simpele .NET/MONO of gescripte applicatie is ruim voldoende.

Waarom de Arduino? Het lijkt mij dat de gemiddelde PC uitgebreid met I/O hardware prima geschikt is om relais aan te sturen.

gerico

Citaat van: foz op 28-02-2013  12:13 uEen paar vragen hierover.

Waarom Excel? Dit lijkt mij nogal overkill.  Het is platformgebonden en amper bedoeld voor de taak. Een simpele .NET/MONO of gescripte applicatie is ruim voldoende.

Waarom de Arduino? Het lijkt mij dat de gemiddelde PC uitgebreid met I/O hardware prima geschikt is om relais aan te sturen.

Hoi Foz,

Het antwoord op je vragen is nogal simpel. Ik ben redelijk bekend in Excel en vooral VBa (Visual Basic for Applications). Daarnaast heeft bijna iedereen wel Excel op de pc, zelfs op de oudere pc's. Excel is ook goed in staat om informatie grafisch weer te geven. Ik ben ook ooit begonnen om dit soort dingen rechtstreeks vanuit de computer in te lezen en aan te sturen, maar daar had ik steeds weer andere (maar simpele) hardware voor nodig. Daarom dus Excel.

Met Arduino (voor EUR 24,-) kon ik gemakkelijker de verbinding met de buitenwereld maken zonder steeds stukjes hardware zelf in elkaar te sleutelen. Er is veel software en libraries beschikbaar, dus het inleren was gemakkelijk. Daarnaast kan ik goed overweg met C+ voor Arduino en VBa voor Excel.

Het is dus allemaal geen beredeneerde keuze, maar meer het resultaat van een lang traject knutselen, experimenteren en persoonlijke voorkeuren.

Kun je iets meer vertellen over he ideeën hoe een en ander met .NET/MONO kan worden gedaan. Ik ken het niet, maar misschien leuk om met anderen te delen. Ik ben benieuwd.

Gerico

foz

Citaat van: gerico op 01-03-2013  13:41 uHet antwoord op je vragen is nogal simpel. Ik ben redelijk bekend in Excel en vooral VBa (Visual Basic for Applications). Daarnaast heeft bijna iedereen wel Excel op de pc, zelfs op de oudere pc's. Excel is ook goed in staat om informatie grafisch weer te geven. Ik ben ook ooit begonnen om dit soort dingen rechtstreeks vanuit de computer in te lezen en aan te sturen, maar daar had ik steeds weer andere (maar simpele) hardware voor nodig. Daarom dus Excel.

Ik moet toegeven dat ik altijd gruwel bij Excel. Maar je hebt gelijk, gebruiken waar je het beste mee uit de voeten kan.

Citaat van: gerico op 01-03-2013  13:41 uKun je iets meer vertellen over he ideeën hoe een en ander met .NET/MONO kan worden gedaan. Ik ken het niet, maar misschien leuk om met anderen te delen. Ik ben benieuwd.

Met .NET werk je meer vanuit een applicatie, al dan niet met grafische interface. Met een versie van Visual Studio heb je de tools om die interface te bouwen met drag & drop. De achterliggende code zal voor een VBa programmeur wel bekend uitzien, vooral als je VB.NET gebruikt. Je bent dan niet zo gebonden aan de Excel manier van denken, en kan het altijd intrekken in je applicatie en gebruiken voor waar het in uitblinkt. Een paar jaar terug kon je de express versies van Visual Studio voor niks downloaden, wellicht nog steeds. Anders zijn er meen ik ook open source IDE's die hetzelfde kunnen.

hansHalberstadt

De Arduino is denk ik een slimme keuze van Gerico (goedkoop, algemeen toegankelijk en goed verkrijgbaar en zeer flexibel) om te kunnen communiceren met de buitenwereld via digitale en analoge in en uitgangen.

Zelf zou ik het liefste de Arduino willen koppelen aan een stand alone programma geschreven in een handige programmeertaal Delphi, C etc. Daarbij gaat het om de juiste drivers om het programma te laten communiceren met de Arduino via USB, liefst met wat programmeercode in de gebruikte programmeertaal. Daar ben ik (en Gerico geloof ik ook) nog niet uit. Alle suggesties zijn welkom.
(liefst de source code in C of Delphi(pascal))
 
Zonder drivers kan ik nog terugvallen op een elektuur voorstel wat ik wel werkend heb gekregen, waarbij je de audio kaart van je computer gebruikt om data vanuit het programma naar de Arduino te sturen en omgekeerd via een digitale input en output van de Arduino. De snelheid daarvan (ca 5-10 kbit/seconde) is ruim voldoende hiervoor en ik heb daar al een communicatieprotocol voor bedacht, Dat zal zeker lukken.
 
 Als dat eenmaal lukt ligt de wereld van de automatisering/meeten en regelen van het brouwproces aan je voeten en kun je het zo gek niet bedenken of het kan, zeker als je wat verstand hebt van programmeren en elektronica. (brouwproces sturen, gisting volgen via bellentellen, pulsen tellen, gistingskast regelen, automatisch SG en Brix meten, kleur meten pH meten etc.)

HansH

seed7

Citaat van: hansHalberstadt op 02-03-2013  09:12 uZelf zou ik het liefste de Arduino willen koppelen aan een stand alone programma geschreven in een handige programmeertaal Delphi, C etc. Daarbij gaat het om de juiste drivers om het programma te laten communiceren met de Arduino via USB, liefst met wat programmeercode in de gebruikte programmeertaal.

Waarom USB? Waarom niet ethernet, je kunt in een arduino een webservertje maken met een fatsoenlijke API. Makkelijk te benaderen, geen gedoe met drivers.

s7.

hansHalberstadt

Citaat van: seed7 op 02-03-2013  10:18 uWaarom USB? Waarom niet ethernet, je kunt in een arduino een webservertje maken met een fatsoenlijke API. Makkelijk te benaderen, geen gedoe met drivers.
USB is de enige communicatiemethode die op een laptop nog zit tegenwoordig en die ook op de Arduino zit, vandaar USB.
m.b.t. ethernet: zit je dan niet met hetzelfde probleem?: Heb je daar een uitgewerkt voorbeeld van voor zowel de Arduino kant als de computer kant? Welke API functie moet je dan gebruiken en hoe?

Wat ik vond was dit:
http://www.conrad.nl/ce/nl/product/081746/Arduino-Ethernet-shield?queryFromSuggest=true
en dit:
http://arduino.cc/en/Main/ArduinoEthernetShield
en dit:
http://delphi.about.com/od/networking/l/aa112602a.htm

Lijkt in eerste instantie inderdaad vrij standaard zonder je druk te hoeven maken over de onderliggende software.
Dat zou handig zijn.
HansH

seed7

Er zijn usb-ethernet adapters, maar als je de arduino ergens in je netwerk plugt kun je hem via je laptop draadloos bereiken.

De web-API kun je zelf (RESTfull) ontwerpen middels de "GET, HEAD, POST, PUT, DELETE" http-requests. Je zou bijvoorbeld de arduino middels een POST request een pakket met data in een bepaalde interval naar je home-server kunnen laten sturen. Je kunt middels GET bepaalde gegevens (b.v. web-pagina) van je arduino opvragen. Daar kan Erwin je ongetwijfeld meer over vertellen dan ik, niet bepaald mijn vak.

De officiele geintegreerde oplossing:
http://arduino.cc/en/Main/ArduinoBoardEthernet

Goedlopere alternatieven, let op dat ze compatibel zijn met de officiele bibliotheek:
http://dx.com/s/arduino+ethernet

Webserver basis;
http://arduino.cc/en/Tutorial/WebServer

Webserver:
https://github.com/sirleech/Webduino

Het leuke is dat je de meeste ethernet arduino's ook als datalogger kunt gebruiken, dus je hoeft niet realtime. Gewoon eens per uur de huidige status va je koelkast en de data van het afgelopen uur opvragen.

s7.

gerico

Hoi seed7,

Ik heb nu even serieus naar je idee gekeken van de webserver. Zeker intereesant. Je kunt het geheel inclusief je netwerk ook zo instelling dat het van buiten te benaderen is. Ik ben voldoene bekend met html en php om dat aan de gang te krijgen. Lost ook mijn probleem op dat ik de data grafisch wil weergeven en daarnaast in een database wil bewaren!

Volgens andere bronnen op internet is een ethernetshield redelijk prijzig. Sommigen zie ik voor dat doel een Raspberry Pi gebruiken (inmiddels heb ik die in huis), om een ethernetverbinding te leggen. Mijn grootste probleem is dat mijn brouwhok zo'n 50 meter achter mijn huis staat, dus moet ik eerst een kabel trekken, een home plug gebruiken of wifi inzetten. Keuzes, keuzes en nog meer keuzes (maar wel leuk! Zit straks bij 'Help mijn man heeft een hobby')

hansHalberstadt

Citaat van: gerico op 03-03-2013  08:39 uZit straks bij 'Help mijn man heeft een hobby')
Dat programma is bij ons ook al bekend. Dus als ik al dit soort zaken uit ga zoeken kom ik er misschien wel samen met Gerico in. Leuk natuurlijk als je de zaak via internet kunt benaderen, want dan kan ik vanaf de camping zelfs even kijken of alles goed loopt, dus zeker interessant om te volgen en ondersteund door Delphi dacht ik, maar in eerste instantie is een direkte verbinding tussen computer en Arduino voor mij voldoende. Ook dat wordt ondersteund door Delphi dacht ik.
De reden om dan voor een ethernetshield te kiezen (35 euro bij conrad) is omdat het via USB te lastig zou worden. (terwijl USB er juist voor bedoeld is). Via de audio kaart kost het trouwens ook niets extra, dus lijkt me nog steeds een goede optie.
Waar ik ook nog een beetje mee zit is de vraag wat het ethernetshield board voor capaciteit afsnoept van de Arduino en blijkbaar al nit geschikt voor de uno.
HansH

RobinB

50 m door de tuin, geen grote obstakels, is toch ook goed te overbruggen met WIFI? Eventueel twee richtantennes voor beter contact, moet goed komen. :)

koffie

Ik zat ook met een te slecht wifi bereik in de (brouw)schuur, en heb uiteindelijk gewoon een UTP kabel ingegraven :)

seed7

Citaat van: hansHalberstadt op 03-03-2013  09:10 uWaar ik ook nog een beetje mee zit is de vraag wat het ethernetshield board voor capaciteit afsnoept van de Arduino en blijkbaar al nit geschikt voor de uno.

Een alternatief voor een ethernet-shield kan een Xbee-shield zijn, denk dat dat minder van de arduino vraagt. Lijkt me vooral handig als je meerdere arduino's aan je netwerk wilt koppelen. Is er Xbee / Zigbee ondersteuning op de Raspberry? De raspberry als commando centrale / webserver in je netwerk hangen en die de arduino's laten "pollen". De Arduino's zou ik in zo'n opstelling ook willen voorzien van een SD-kaart-shield om hem als datalogger te laten werken, ik hou wel van wat redundantie in dit soort dingen.

Edit: Raspberrie & XBee
s7.

gerico

Seed7,

De Raspberry heeft ook een sd kaart met besturingssysteem. Een beetje data kan daar nog wel bij. De meesten gebruiken de Raspberry voor het internetcontact en gebruiken de Arduino alleen om als slave opdrachten uit te voeren. Is een minder dure oplossing (eur 25,-) dan een ethernetshield.
De Raspberry kan dan ook dienen als webserver. Ik heb de oplossingen daarvoor op gespot op het net.

Van Xbee weet ik niet wat het bereik is. Ik geloof nit zo heel ver (of zit ik er naast). Ik denk dat ik de schop maar pak om een sleuf in mijn tuin te graven. Even kijken hoe ik dt ongezien kan doen zonder dat mijn vrouw dat ziet ;-)

Gerald

Stuur haar een weekendje weg met je dochter, of haar zus. ;)

seed7

Citaat van: gerico op 04-03-2013  20:40 uIs een minder dure oplossing (eur 25,-) dan een ethernetshield.

ethernet shield $14 incl. verzending
Uno $15 incl. verzending

Ingo

Greggy

Zijn hier nog mensen mee bezig? Het liefst zou ik onze HERMS ook verder willen automatiseren dan TControl, maar dan eigenlijk niet in Excel (sorry).

Maar eigenlijk zoek ik dus een platform (hardware & software) om een PC een HERMS te kunnen aansturen d.m.v. eigen software.
Ik denk daarbij aan sensoren DS18B20 via USB, 5VDC schakelingen (via USB?), en PWM's die via software te regelen zijn. Volgens mij kan je dan alles...

Iemand ideeën voor deze hardware/software?

hansHalberstadt

Niet specifiek hiermee, hoewel ik denk dat Gerico heel goed bezig is. Mijn bedoeling is om binnenkort een programma in delphi te schrijven in combinatie met een FPGA (altera Deo nano board) en aanvullende electronica. Deo nano is echt leuk spul om mee te werken en kun je echt alles meen wat je maar zou kunnen bedenken op brouwgebied.
HansH

seed7

Citaat van: Greggy op 11-12-2013  20:43 uMaar eigenlijk zoek ik dus een platform (hardware & software) om een PC een HERMS te kunnen aansturen d.m.v. eigen software.
Ik denk daarbij aan sensoren DS18B20 via USB, 5VDC schakelingen (via USB?), en PWM's die via software te regelen zijn. Volgens mij kan je dan alles...

Misschien afgezien van een bellenteller is er volgens mij niets in onze processen die een microcontroller (real time OS) nodig maakt dus zou je alles met een Raspberry Pi kunnen doen. Er zijn USB relais borden in allerhande soorten en maten waarmee je ook 240 V/10 A etc. kunt schakelen.

Ingo

sander_123

Citaat van: Greggy op 11-12-2013  20:43 uIemand ideeën voor deze hardware/software?

Een aantal mogelijkheden:

http://www.brewbot.ca/
https://www.oscsys.com/projects/brewtroller
http://www.theelectricbrewery.com/

koffie

Citaat van: Greggy op 11-12-2013  20:43 uZijn hier nog mensen mee bezig? Het liefst zou ik onze HERMS ook verder willen automatiseren dan TControl, maar dan eigenlijk niet in Excel (sorry).

Maar eigenlijk zoek ik dus een platform (hardware & software) om een PC een HERMS te kunnen aansturen d.m.v. eigen software.
Ik denk daarbij aan sensoren DS18B20 via USB, 5VDC schakelingen (via USB?), en PWM's die via software te regelen zijn. Volgens mij kan je dan alles...

Iemand ideeën voor deze hardware/software?
Raspberry Pi.
Kun je diverse (temperatuur)sensoren mee uitlezen, en verschillende modules mee aansturen zoals relais etc.


Zoeken met Google op deze site.
Brouwspullen zijn ook te koop via Bol.com.
Als je iets bestelt bij Bol.com (ook andere zaken dan brouwspullen) via deze link steun je het forum.


Het boek van de beheerder van deze site.