Jump to content
Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
MaxN68

Automazione con Brauduino

Recommended Posts

si si va bene cosi' e non c'e' dubbio che sia uno dei requisiti di partenza

Mia idea era di rendere compatibile il funzionamento "manuale" con quello dei classici termoregolatori tipo SESTOS o STC 10000 dove l'automatico = PID e manuale = regoli staticamente PWM

 

mettiamola come "candidate feature" per una prossima release

 

Si questa Cosa sarà  magari per aggiustamenti Upgrade futuri dove magari se risuciamo a mettere LCD in I2C con i pin risparmiati si puo aggiungere un potenziometro

e con quello in ingresso analogico variare il set point PWM in modo dinamico ma prima vediamo di finire questa versione e tutti i realtivi test

Perche poi da quello si vede perche se vengono fregati troppi Byte allora poi per cose future conviene direttamtne giocare sul MEGA 2560

 

Magari si fanno due versioni BirraDuino UNO con questo FW e config per sistemi base e BirraDuinoMega con tutte le menate

che negli anni ci vengono in mente d' aggiungere :P Seno qui a forma di aggiungere carne al fuoco non mangiamo MAI :P

Share this post


Link to post
Share on other sites
Siamo arrivati in fondo finalmente., ma....
Si, c'è sempre un ma, e sulla nostra strada si è presentato un bivio.
Siamo a corto di memoria su Arduino Uno.
Sto già  lavorando per ottimizzare tutto e cercare di risparmiare quanti più byte possibili per cercare di mantenere a galla tutto il lavoro fatto.
Saranno sacrificate cose estetiche ma inutili pur di lasciare il software sull'attuale scheda. E non ci sarà  possibilità  di espanderlo ulteriormente.
Abbiamo già  provato a far girate tutto su Arduino Mega e lì non ci sarebbero problemi.
Siamo ad una scelta difficile.
Nei prossimi giorni bisognerà  prendere una decisione.
Intanto anche voi dite la vostra.

Share this post


Link to post
Share on other sites

Io voto per la migrazione al Arduino Mega 2560 perche qui come siamo ora ed era avvenuto anche su birraduino

appena si fa un fiato si rimane senza aria :(

 

Alla fine tra Arduino Uno R3 e Arduino Mega 2560 R3 il prezzo se lo si prende sulla Baya sono di scarsi 4€ di differenza e gli valgono tutti

Tra le altre cose a partita di FW gira anche più veloce menu più fluidi

 

Tanto per citarne uno spedito da UK arriva in pochi giorni se si va in cina costa ancora meno :P

 

http://www.ebay.it/itm/Arduino-Mega-2560-R3-Revision-3-Board-ATmega2560-16AU-Compatible-free-USB-Cable-/350917082697?pt=UK_Computing_Other_Computing_Networking&hash=item51b449be49

 

La mia idea è cmq di modificare il PCB in modo che possa ospitare sia uno che mega lasciandolo piccolo e semplice da realizzare ovviamente sempre monofaccia

 

Se DanielXan riesce a darci una mano sarebbe ottimo ma se si sono altri volontari ben vengano questa è la mia idea

 

Modificare questo PCB Ufficiale

http://www.saviot.com/BrauDuinoItaly/PcbBirraDefinitivi/Brauduino-lc.jpg

Usato in questo Test

http://www.youtube.com/watch?v=iKai7bztaMM

Dato che in questa versione abbiamo trovato dei Bug e per risolverli non entra più nel Arduino Uno anche se stiamo ancora facendo il tutto per farlo entrare nel UNO

Comunque per testare ora  al volo con dei distanziali ho messo un Mega 2560 ed è subbito andato bene quindi un PCB che puo ospitare entrambi non sarebbe male

https://lh5.googleusercontent.com/-hKpM8beiiIc/UuWIRyWTTuI/AAAAAAAAT8Y/eltNO_7qNC0/w1072-h804-no/IMG_20140126_220019.jpg

https://lh6.googleusercontent.com/-CSIUuVl7OuM/UuWILGZ3sKI/AAAAAAAAT8M/VqhXo_XEaS4/w1072-h804-no/IMG_20140126_220025.jpg

Quindi alla fine come vedi dalle foto lo spazio è quello basta solo cambiare un pò la disposizione componenti

Ma colleghiamo sempre i PIN in modo che se uno vuole può usare anche arduino uno

Quindi non suare i PIN 10 11 12 13

Consiglio

Pin 5 Pompa

Pin 6 Resistenza

Pin 8 Sonda

Pin 9 Buzzer

LCD

2

3

4

A4 Parallelo SDA I2C

A5 Parallelo SDC I2C

7

Sul Mega dato che ci stanno si metto una predisposizione per il tastierino membrana 4x4

Vedete cosa è più comodo se dal A8>A15 tanto per I2C si puo usare 20 21 ovviamente se uno usa il mega non salda I2C collegato ad A4 A5

Se è possibile la predisposizione Sono per chi monta il Mega 2560 per un modulo SD collegandolo dal connettore I2C e un RTC I2C sotto Arduino

E un ulteriore uscita OC basta cosi perchè il PCB deve essere semplice e pochi componenti e ponticelli da montare ovviamente monofaccia

anche perchè qui per chi usa il vecchio FW potrebbero usare anche Uno R3

Come dimensioni sarebbe ottimo un 79x99mm ma posso anche buttare una eurocad e massimo 99x99mm

cosi entra tutto in un economica cassetta elettrica 10x10 o max 15x15cm :D

Share this post


Link to post
Share on other sites
Io parlo di problemi software e tu già  parti in quinta con l'aggiungere hardware su hardware.
Ci sta da finire e rilasciare un software funzionante.
La modifica che ha portato ad evidenziare i limiti di memoria so quale è, oggi provo a vedere di recuperare memoria e so anche dove.
Concettualmente vorrei lasciarlo così come è anche perchè è già  tutto scritto e trstato.
Cambiare sistema di input significa andare a gestire ex novo tutti i sistemi di confronto dei valori immessi.
Qui si tratta di arrivare in fondo ad una strada con quello che abbiamo ora.
Quando si affronta un software lo si fa consci dell'hardware a disposizione e quello rimane fino alla fine.
Se si va incontro ad adattamenti o peggio modifiche si rianalizza tutto da capo e spesso se non quasi sempre conviene ripertire a codificare da zero.

Share this post


Link to post
Share on other sites

Massimo tranquillo il Nuovo PCB che ho proposto ha come PIN Out Base 100% compatibile con Arduino Uno

e quindi funziona anche con attuale Soft senza modificare nulla strutturalmente solo il files di definizione

Ma avra spazio per poter montare Uno R3 o il Mega 2560

Infatti ho suggerito appunto come I/O base

 

Pin 5 Pompa
Pin 6 Resistenza
Pin 8 Sonda
Pin 9 Buzzer

LCD analogico 16 Pin
2
3
4
A4 Parallelo SDA I2C
A5 Parallelo SDC I2C
7

 

Pulsanti Digitali 4 A0 A1 A2 A3

 

Quindi tutti PIN presenti un Arduino UNO R3

 

Gli altri I/O che ho suggerito cablare sono conessi a Pin presenti sul Mega ma sono solo predisposizione

che potrebbero anche non essere mai usati ma intanto saranno li incuse sul PCB che non costa nulla farlo :D

 

Quindi tranquillo nessun stravolgimento HW che Penalizza la riscruttura del Software solo una rielaborazione e disposizione del Pin Out

che ti lascia la liberta di poter montare senza modificare nulla in HW un Arduino Uno o un Mega e se un domani qualcuno avra voglia

d'implementare qualcosa non dovra rifarsi il PCB tutto qui.

Share this post


Link to post
Share on other sites

Non posso che concordare con MAX ,la configurazione HW  , le funzioni da sviluppare e l'interazione con l'esterno erano fissate ...per cui il SW (a meno di errori concettuali iniziale di progetto) dovrebbe girare su quella piattaforma con quel set di funzioni...e mi sembra che il Brauduino originale lo faccia.

 

Sono arrivato solo nella fase finale e ho dato una mano a Max nel debugare e testare la sua ultima (o quasi) versione di SW ...piu' che sul test puntuale di bachi (le cose trovate erano davvero minori) sulla parte di processo e funzionalità ' complessive in virtu' della mia esperienza brassicola (anche con il clone) e devo dire che il prodotto finale e' assolutamente valido !!  :good:  :good:  :good:

 

Ben studiato, funzionale allo scopo, con un discreto grado di flessibilità ' per lasciare a ciascuno la sua interpretazione del processo e customizzazione del clone. 

 

E' chiaro che di migliorire se ne possono sempre fare sia in termini di finezze di processo che di espansione.. se poi si comincia ad aggiungere componentistica e sensoristica si puo' fare anche un "bimbi" superautomatico ma mio personale parere e' che cosi' come e' va bene per la maggior parte degli user sia "dummy" ma anche avanzati.

 

massimo supporto alle nuove inziative e evoluzioni ma cercherei di consolidare la versione corrente e chiuderla come un prodotto "finito"

 

Lo utilizzerò' nel nuovo clone che sto realizzando per mio fratello...tester perfetto avendo buona manualita' ma cultura di pratiche brassicole nulla.

 

Davide

Share this post


Link to post
Share on other sites

Davide e Massimo anche se vi sembrerà  strano ma io concordo con VOI

 

Infatti la dieta dei Byte e le ottimizzazioni continuano sulla strada del progetto e test iniziale

senza cercare di stravolgere nulla e concordo anche io che questi aggiustamenti introdotti da Massino hanno tirato fuori un bel prodotto.

Che agevola sia utente piu esperto che quello meno esperto nella brassatura.

Risolvendo molti bug anche strutturali presenti nel progetto iniziale

 

E adesso si deve andare avanti a tetsare questo per avere un prodotto finale.

 

Ma dato che siamo sempre qui a fare la guerra con la memoria e byte che come tutti sappiamo in questo progetto è veramente al limite

 

Anche se gira ho notato fin da subbito una lentezza nel uso dei menu e come cerchi di aggiungere una chicca tutto si impalla

stiamo lavorando veramente al limite delle risorse max del atmega 328 ma ok si continuerà  a lavorare su questa strada.

 

Ma se non ce la dovessimo fare ecco qui che siamo pronti a montare un Arduino mega 2560

 

E parlo sopratutto in caso un utente oggi dovrebbe fare tutto da 0 non avendo nulla dentro

questo pcb che ho proposto darebbe la possibilità  d'avere un prodotto che gira con il fw attuale

e puo scegliere d'usare arduino uno o mega in caso prende il mega che costa circa 3 4€ in piu il tutto gira piu fluido

e un domani se qualcuno avra voglia d'implementare qualcosa si ritroverebbe un pcb gia predisposto

Tutto qui ma non è mia intenzione aggiungere hw per complicare la vita :P

 

Solo dare la possibilità  a chi parte ora di poter realizzare una cosa che è aperta verso una probabile espansione futura.

Share this post


Link to post
Share on other sites

Ho trovato alcune variabili globali che in realtà  agiscono solo a livello locale e così le ho rimesse al loro posto.
Questo già  dovrebbe aiutarci in teoria (non mi sono messo a vedere come gestisce nel dettaglio le variabili).
Forse qualche dichiarazione di variabile è sbagliata e si possono limare ulteriori byte.

Al momento abbiamo una Rev10 che sembra essere pienamente funzionante nella parte automatica con qualcosa da sistemare sulla parte manuale, specialmente su alcuni controlli di confronto in base alle opzioni di configurazione.

Credo che se avremo ulteriore bisogno di memoria ci sia una sola via, eliminare alcune cose. Innanzitutto dobbiamo risparmiare risorse sulle cose futili, quindi  vanno tolte le animazioni iniziali.


Poi abbiamo alcune vie da battere:

1) Mantenendo l'attuale struttura del software

    - Togliere la possibilità  di settaggio della doppia scala di temperatura

    - Togliere l'inserimento delle temperature degli step limitatamente a dei range ad hoc

2) Modificando l'attuale struttura del software:
    - Eliminare le fasi specifiche e tornare al settaggio libero
    - Togliere la possibilità  di settaggio della doppia scala di temperatura

Intanto vado avanto con la "dieta" al Software

Share this post


Link to post
Share on other sites

Io Max sai come la penso,comunque secondo me cambiare tutto è da folli e si entrerebbe in un tunnel dal quale non c'è via di uscita.

Share this post


Link to post
Share on other sites

Aggiornamento in casa Brauduino.
Ci
 sono delle novità .
Iniziamo
 dal nome: Open ArdBir.
Ho
 deciso di rinominare il progetto; sono state fatte così tante modifiche che di fatto è un progetto nuovo e merita un nuovo nome.

A
 che punto siamo?
Beh
 direi che siamo ai test di funzionamento conclusivi.

E'
 stato riorganizzato il menù di CONFIGURAZIONE, ora è così suddiviso.

- Parametri P.I.D.
   - Kostante P
   - Kostante I
   - Kostante D
   - Finestra ms
   - Boil Heat

-
 Parametri Unità 
   - Scala Gradi (°C-°F)
   - Ebollizione
   - Ciclo Pompa
   - Pausa Pompa
   - Sensore (Interno/Esterno)

   - Pompa in Bollitura (ON/OFF)
   - Fermo Pompa (°C-°F)

- Set. Automazione

   - Mash In
   - Fitasi
   - Glucanasi
   - Proteasi
   - B-Amilasi
   - A-Amilasi
   - Mash Out
   - Numero Luppoli
   - Bollitura
   - Sequenza dei luppoli....

Avremo
 la possibilità  di gestire la cotta AUTOMATIZZATA settando le temperature e i tempi delle varie fasi, in caso si volesse saltare qualche fase basta impostare in fase di configurazione la fase a tempo 0 tramite la pressione di un pulsante. Rimangono obbligate all'inserimento il Mash In, BAmilasi e Mash Out (il minimo indispensabile per una cotta ad uno step).
I range di temperatura sono limitati alle temperature di lavoro degli enzimi in nomenclatura.
I
 tempi di mantenimento vanno da 1 minuto a 120 minuti.
Al
 raggiungimento di ogni step il tempo sarà  scandito da un conto alla rovescia in formato H:MM:SS, negli ultimi 5 secondi di ogni step saremo avvisati da un suono intermittente.
Avremo
 un segnale acustico di avviso anche per inserire il malto, per togliere il malto e per aggiungere il luppolo.

In fase di ebollizione il controllo del riscaldamento passerà  dal PID all'uso % in gestione manuale.

In
 modalità  MANUALE si avrà  il controllo della temperatura in manuale attraverso 2 pulsanti, con gli altri due sarà  possibile controllare l'ON-OFF di pompa e resistenza.
Il
 controllo della temperatura avverrà  comunque attraverso il PID fino al punto di ebollizione (settabile da menu), in seguito subentrerà  il controllo % in gestione manuale.
Per
 aiutare al controllo delle fasi di riscaldamento è stato aggiunto un cronometro automatico in formato H:MM:SS che parte al raggiungimento della temperatura di set point.
Il
 cronometro si azzera ogni volta che si setta una nuova temperatura di set point avente una differenza di temperatura superiore ai 2° rispetto la temperatura misurata (sto pensando se mettere visibile o meno il cronometro attraverso il menu configurazione).

Con
 tutto questo lavoro fatto siamo davvero agli sgoccioli con le risorse di Arduino UNO, ulteriori implementazioni non credo possano essere possibili.
In
 caso valuteremo attentamente la possibilità  di aggiungere altre cose.

Spero
 che i test in corso ci portino buone notizie e tempi brevi per il rilascio ufficiale.

 

Share this post


Link to post
Share on other sites

Ottimo lavoro MAX

sto testando al banco le nuove funzioni e qualche test di non regressione sul vecchio

 

come abbiamo discusso offline qualche dubbio ancora sulla modalità  manuale

 

Secondo me in tale modalità ' dovrebbe funzionare ne' piu' ne' meno come il SESTOS o STC 1000 ovvero normale termoregolatore che pilota resistenza per raggiungere e mantenere il set point.

Eventualmente con la possibilita' di passare a una vera modalita' manuale dove non si controlla piu' temperatura ma % potenza delle resistenza da 0% a 100% (duty cycle del PWM)

Questo non solo perché' puo' esserci una esigenza in qualsiasi istante di avere pieno controllo della pentola e magari (ma e' mia esigenza specifica) usare la pentola per altre applicazioni (marmellate, conserve, fomraggi..) ma perché concettualmente in MANUALE il concetto di temperatura di boil, il concetto di fasi temporali e il cronometro ancorato al set point con isteresi di 2 gradi penso non abbia molto senso

 

Molto utile invece avere indicazione del simbolo H anche quando si e' sopra set point e averlo in negativo quando invece il PID attiva uscita..viceversa non si sapeva se si era premuto pulsante HEAT 

 

In automatico molto piu' coerente la fase di Mash IN che non e' una vera e propria fase con associato un tempo... semplicemente si scalda l'H20 alla strike temp e si aspetta indefinitamente fino a che non si decide di mettere il malto...

 

Ho rilevato tuttavia un "problema" sul PID: raggiunta infatti la temperatura di strike in si entra nel menu Aggiunta Malto spegnendo la pompa (corretto) ma anche il PID e quindi la resistenza va in OFF e se uno aspetta ad aggiungere il malto la temperatura inevitabilmente scende. Con il mio clone mentre faccio operazioni di aggiunta malto, fissaggio malt pipe etc il termoregolatore comunque lavora per tenere la temperatura evitando di farla scendere troppo.

Secondo me avrebbe piu' senso raggiunto lo strike in mantenerlo indefinitamente continuando a riscaldare h20 finché non si da ok a aggiunta malto e si passa quindi al primo step (tipicamente con una T inferiore di 2-3 gradi lo strike IN)

 

Sui luppoli metterei un controllo che il tempo delle gittate non sia maggiore della durata del boil

 

non ho capito a cosa serve fermo pompa

 

Infine non vincolerei le varie parametrizzazioni delle fasi a valori pre-impostati e lascerei flessbilita' da 0 a X (soprattuo comodo in fase di test al banco... ;) )

 

per questa sessione di test e' tutto ! :good:

Davide

 

PS ribadisco che gia' cosi e' ottimo !

Share this post


Link to post
Share on other sites

Ho rilevato tuttavia un "problema" sul PID: raggiunta infatti la temperatura di strike in si entra nel menu Aggiunta Malto spegnendo la pompa (corretto) ma anche il PID e quindi la resistenza va in OFF e se uno aspetta ad aggiungere il malto la temperatura inevitabilmente scende. Con il mio clone mentre faccio operazioni di aggiunta malto, fissaggio malt pipe etc il termoregolatore comunque lavora per tenere la temperatura evitando di farla scendere troppo

 

 

>Si ho notato e segnalato anche io questa cosa ma sembra che sia da capire in arduino come si fa a fargli fare una cosa mentre ne attende unaltra

in realta lui segue il set point del Mash In ma quando va in attesa di premere il tasto diciamo si distrae perche deve attendere che si preme il tasto e nel ciclo o attende il tasto o segue il PID

credo che è qui che max ha trovato difficolta esatto ?

 

 


non ho capito a cosa serve fermo pompa

 

 

 

Il fermo pompa esiste anche nel originale

 

Come vedi In questo video a 5.20 minuti fa notare che nel originale in automatico
la pompa ogni 10 minuti si ferma per 5 minuti pausa per poi riprendere per altri 10
E questo ha fatto aumentare la resa e quindi avevo chiesto se potevamo mettere questa cosa anche in questo FW del Clone e Max mi ha accontentato :D

 

http://www.youtube.com/watch?v=Ix4np_VLPcE

Share this post


Link to post
Share on other sites

Il discorso delle temperature delle fasi con un piccolo margine in ambo i sensi dei limiti è stato pensato per dare una mano nel restare nel range giusto in pieno spirito di realizzare un'automazione assistita.

Per il discorso dei luppoli mi trovi d'accordo e e opererò in quel senso.

Li metterò col limite progressivamente a scalare proprio per mantenere un controllo dell'operato proprio in virtù del seguire il discorso dell'automazione assistita.

Stavo pensando di aggiungere una voce di configurazione al menu di settaggio pentola per la calibrazione dell'offset della sonda.

Modificherò la modalità  di uscita dai menu con la pressione prolungata di un pulsante (l'unico non usato in questo frangente) perchè oggettivamente la pressione contemporanea di UP e DOWN è un po' fallace.

Spero di riuscire a metterci tutto, abbiamo solo 272 byte liberi ancora di ram. 

Per la questione MANUALE ne riparleremo e troveremo se possibile una soluzione per un uso parallelo.

Share this post


Link to post
Share on other sites

Allora facciamo chiarezza.
Il ciclo pompa e la pausa pompa sono una cosa, il fermo pompa un'altra.
Il primi due vanno insieme e stabiliscono il tempo in cui ciclicamente questa operazione di funzionamento/riposo avviene.
Tale ciclicità  inizia al raggiungimento della temperatura target e serve appunto ad aumentare l'efficienza del sistema. E' presente inoltre una sentinella sulla temperatura che fa ripartire immediatamente la pompa se la differenza di temperatura raggiunta supera una certa soglia.
Questa è una necessità  visto che dobbiamo restare cmq in azione entro certi range di temperatura.

Il fermo pompa invece è la temperatura massima in cui la pompa smette di funzionare.
Nel Braumeister originale tale temperatura è posta a 80°C.
Noi possiamo settare questa soglia a partire dai 80°C fino alla temperatura di boil.

Per chi come me ha la sonda temperatura posta esternamente alla pentola, questa opzione non è settabile.

Share this post


Link to post
Share on other sites

Si ottima precisazione Max scusate se ho messo confusione

 

Ovviamente quel parametro serve per salvaguardare la pompa dato che alcune sono dichiarate per funzionamento a a 80°C alcune 95°C ecc ecc

 

Essendo questa relalizzazione per cloni quindi possono esserci hw e pompe con caratteristiche differenti

Cosi ognuno si setta la temperatura limite di funzionamento pompa

per salvaguardare la stessa io ad esempio ad uso precauzionale la settero a 80 max 85°C

 

Davide il problema che segnali nel mash In che avevo segnalato anche io a Max non so se hai notato è presente anche quando metti in pausa

dobbiamo capire come fargli continuare a seguire il PID alla temp di set point anche quando è in attesa di un ingresso

come nel caso di raggiungimento mash in che attende la conferma aggiunta malto o in pausa che attende il comando di fine pausa.

Magari vedo anche nel forum arduino se sanno dirci qualcosa ricordo che vi era un comando che appunto serviva per questi casi

dove il ciclo doveva essere un parallelo e non consequtivo che appunto crea questo disagio

 

Grazie

Share this post


Link to post
Share on other sites

Ho appena terminato di correggere l'ultima modifica apportata a quello che un tempo era Brauduino.
Sono
 riuscito ad inserire una parte che ad un certo punto nei giorni scorsi ci ha fatto inizialmente desistere dal pensare di inserire nel programma che stava prendendo forma.
Abbiamo
 risolto i problemi di memoria liberandone un bel quantitativo, ma siamo arrivati ad avere poco spazio ancora per il codice del programma.

Il programma si presenta nella doppia versione per LCD 16x2 e 20x4 (basta selezionare all'interno del listato le righe di codice necessarie per la relativa versione).
Inizierò
 a redigere nei prossimi giorni il manuale d'uso che verrà  intanto pubblicato per permettere a tutti di scegliere se adottare questo nostro prodotto o trovare altro software OpenSource.
Non ci resta che aspettare che i test siano conclusi. 
Alla
 prossima

Share this post


Link to post
Share on other sites

Ragazzi ci siamo.
Oggi è il grande giorno.

Stiamo organizzando il rilascio del Firmware, per il momento ci stiamo appoggiando ad uno spazio Dropbox.
Il Firmware verrà  rilasciato in un'unica versione che può gestire sia la visualizzazione 16x2 che 20x4 previa configurazione nello sketch.

Il link per accedere al file è il seguente:
https://www.dropbox.com/sh/9e5rmyve6w71l3a/CAZMbBpbUB

Attualmente contiene il manuale d'uso.
Spero che il nostro lavoro vi piaccia e vi sia utile per controllare il vostro processo di birrificazione.

Per ogni problema, consiglio, critica, fateci sapere.

 

Approfitto per chiedere ai moderatori se tenere questo spazio per lo scopo descritto o aprire un nuovo 3D.
 

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×