Forum Moderator
Italy
Online
Brattain Member
Karma: 219
Posts: 16447
Don't know what I do
|
 |
« Reply #60 on: October 17, 2012, 06:37:46 am » |
Visto il proliferare di produttori diy di birra non è che serve un beta tester del prodotto finale ?  Per avere un sample come si fa? 
|
|
|
|
|
Logged
|
|
|
|
|
MC
Offline
God Member
Karma: 9
Posts: 670
|
 |
« Reply #61 on: October 17, 2012, 07:17:42 am » |
Visto il proliferare di produttori diy di birra non è che serve un beta tester del prodotto finale ?  Ti posso segnare nella mia RED list, ma sappi che io produco quasi esclusivamente birre rosse stile belga. ]  Bando alle ciance, riepilogo il mio sistema birrificante: MashThun (tino di ammostamento) capacità 70lt, materiale acciaio inox , fondo filtrante di tipo bazooka completamente in acciaio inox, pale agitatore grani in acciaio inox pilotate da motoriduttore (motore tergicristallo camion  ) , coperchio semistagno con guarnizione di tenuta. Fonte energetica piastra elettrica vetroceramica 2500w. Sto allestendo una piccola scheda che farà da interprete tra la sonda di temperatura e l'azionamento del relè verso il PC, per fare prove userò questo abbinato ad un software c# che si occuperà solo del pilotaggio semi-manuale del relè e della raccolta dei dati di temperatura rilevati nel tempo dalla sonda. Con questo conto di fare esperimenti sufficienti a poter trasferire poi tutta la logica del controllo su arduino.
|
|
|
|
« Last Edit: October 17, 2012, 07:24:56 am by niki77 »
|
Logged
|
Vi è una spiegazione scientifica a tutto. La fede è solo quell'anello che si porta al dito dopo il matrimonio.
|
|
|
|
Monza
Offline
Newbie
Karma: 1
Posts: 43
|
 |
« Reply #62 on: October 17, 2012, 09:10:58 am » |
Ma per piastra riscaldante in vetro ceramica, intendi quello portatili Niky?
|
|
|
|
|
Logged
|
|
|
|
|
MC
Offline
God Member
Karma: 9
Posts: 670
|
 |
« Reply #63 on: October 17, 2012, 09:57:02 am » |
Yess, tipo questa per esempio , ma non è esattamente quella.
|
|
|
|
|
Logged
|
Vi è una spiegazione scientifica a tutto. La fede è solo quell'anello che si porta al dito dopo il matrimonio.
|
|
|
|
MC
Offline
God Member
Karma: 9
Posts: 670
|
 |
« Reply #64 on: October 19, 2012, 08:43:38 am » |
Trovato un pò di tempo ho messo insieme un pò di righe di codice per il controllo  Nella foto la linea rossa è la temperatura rilevata (simulata al momento da una funzione) La linea centrale gialla è la temperatura impostata e l'altra linea celeste è il valore del controllo pid . ora mi manca di prendere l'arduino attaccare sonda e relè e vedere come si comporta in una situazione reale.
|
|
|
|
« Last Edit: October 19, 2012, 09:49:23 am by niki77 »
|
Logged
|
Vi è una spiegazione scientifica a tutto. La fede è solo quell'anello che si porta al dito dopo il matrimonio.
|
|
|
|
Offline
God Member
Karma: 6
Posts: 541
|
 |
« Reply #65 on: October 19, 2012, 09:02:09 am » |
Ma per piastra riscaldante in vetro ceramica, intendi quello portatili Niky?
ma sei sicuro che per scaldare e tenere a temperatura un po di brodo ci va tanto studio? va bene tenerere a bada un altoforno che produce/costa milioni di euro bisogna essere previdenti, ma per queste cose le soluzioni sono gia state trovate e collaudate
|
|
|
|
|
Logged
|
Le cose si possono considerare facili in due casi: quando le si conosce bene o quando non le si conosce affatto...
|
|
|
|
Monza
Offline
Newbie
Karma: 1
Posts: 43
|
 |
« Reply #66 on: October 19, 2012, 03:08:36 pm » |
Rieccomi, scusate per l'assenza prolungata ma ,ho passato 4 giorni di passione! Niky, l'hai presa proprio sul serio 'sta cosa! 
|
|
|
|
|
Logged
|
|
|
|
|
MC
Offline
God Member
Karma: 9
Posts: 670
|
 |
« Reply #67 on: October 19, 2012, 03:20:11 pm » |
No è una vita che devo finire quel coso e non ho mai trovato tempo, ora che ci ho rimesso le mani non farmi cambiare idea!!!! Parte del progetto la riutilizzero anche per un sistema di cottura a bassa temperatura che volevo fare da tempo. Non tutti sanno che 'il brodo' cotto a bassa temperatura è mooolto più buono! 
|
|
|
|
|
Logged
|
Vi è una spiegazione scientifica a tutto. La fede è solo quell'anello che si porta al dito dopo il matrimonio.
|
|
|
|
Monza
Offline
Newbie
Karma: 1
Posts: 43
|
 |
« Reply #68 on: October 20, 2012, 09:27:29 am » |
Allora, partiamo dal principio..... Non riesco a leggere nemmeno una temperatura a seriale. Sonda ds18b20 e arduino uno rev3. Come si scrive il codice?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 114
|
 |
« Reply #69 on: October 20, 2012, 09:51:41 am » |
Sonda ds18b20 e arduino uno rev3. Come si scrive il codice?
ciao, scaricati OneWire.zip da: http://www.pjrc.com/teensy/td_libs_OneWire.htmluna volta decompresso deve essere messo nella cartella libraries. Dopo aver rilanciato Arduino nel menu file => esempi => OneWire troverai: L' esempio DS18x20_Temperature bello e pronto Luca
|
|
|
|
« Last Edit: October 20, 2012, 09:58:16 am by llluca »
|
Logged
|
|
|
|
|
Monza
Offline
Newbie
Karma: 1
Posts: 43
|
 |
« Reply #70 on: October 22, 2012, 02:34:46 am » |
Ho caricato quella libreria, ma il risultato è che legge una temperatura maggiore di circa 3°C rispetto ad un termometro a mercurio che ritengo affidabile. Provando poi a collegare la sonda in parasite mode, la situazione peggiora ancora di più. Poi, siccome dovrò visualizzare la temperatura su un display, cosa si può togliere dal codice, in maniera di visualizzare soltanto "temperatura = 26,5" (es.)?
|
|
|
|
|
Logged
|
|
|
|
|
Monza
Offline
Newbie
Karma: 1
Posts: 43
|
 |
« Reply #71 on: October 22, 2012, 02:38:39 am » |
Il codice è questo #include <OneWire.h> // DS18S20 Temperature chip i/o OneWire ds(10); // on pin 10 void setup(void) { // initialize inputs/outputs // start serial port Serial.begin(9600); } void loop(void) { byte i; byte present = 0; byte data[12]; byte addr[8]; if ( !ds.search(addr)) { Serial.print("No more addresses.\n"); ds.reset_search(); return; } Serial.print("R="); for( i = 0; i < 8; i++) { Serial.print(addr , HEX); Serial.print(" "); }
if ( OneWire::crc8( addr, 7) != addr[7]) { Serial.print("CRC is not valid!\n"); return; }
if ( addr[0] == 0x10) { Serial.print("Device is a DS18S20 family device.\n"); } else if ( addr[0] == 0x28) { Serial.print("Device is a DS18B20 family device.\n"); } else { Serial.print("Device family is not recognized: 0x"); Serial.println(addr[0],HEX); return; }
ds.reset(); ds.select(addr); ds.write(0x44,1); // start conversion, with parasite power on at the end
delay(1000); // maybe 750ms is enough, maybe not // we might do a ds.depower() here, but the reset will take care of it.
present = ds.reset(); ds.select(addr); ds.write(0xBE); // Read Scratchpad
Serial.print("P="); Serial.print(present,HEX); Serial.print(" "); for ( i = 0; i < 9; i++) { // we need 9 bytes data = ds.read(); Serial.print(data, HEX); Serial.print(" "); } Serial.print(" CRC="); Serial.print( OneWire::crc8( data, , HEX); Serial.println(); }
|
|
|
|
|
Logged
|
|
|
|
|
Lamezia Terme
Offline
Shannon Member
Karma: 386
Posts: 10240
Le domande di chi vuol imparare rappresentano la sua sete di sapere
|
 |
« Reply #72 on: October 22, 2012, 04:15:47 am » |
è meglio se lo racchiudi tra i tag "code"
|
|
|
|
|
Logged
|
|
|
|
|
Rome
Offline
God Member
Karma: 1
Posts: 564
La mia prima bromografata!!
|
 |
« Reply #73 on: October 22, 2012, 04:37:09 am » |
Bè, non conosco la libreria, ma nel tuo codice non vedo la conversione, quindi immagino sia nella libreria. dovresti aprire il file della libreria e trovare la riga di conversione, li sicuramente ci trovi il valore da cambiare per 'tarare' la sonda. Per la stampa dei valori è abbastanza intuitivo, ogni riga Serial.print() stampa qualcosa, se Serial.println() stampa e poi va a capo. Individua le righe che non vuoi e le 'commenti' mettendo // all'inizio della riga. modifica poi la riga che ti stampa la temperatura e scrivici quello che vuoi.
|
|
|
|
|
Logged
|
|
|
|
|
Rome
Offline
God Member
Karma: 1
Posts: 564
La mia prima bromografata!!
|
 |
« Reply #74 on: October 22, 2012, 04:48:16 am » |
Perdonami, la conversione sta nello sketch di esempio, che tu hai tagliato, o non hai postato completamente. alla fine dello sketch dovresti avere questo: // convert the data to actual temperature
unsigned int raw = (data[1] << 8) | data[0]; if (type_s) { raw = raw << 3; // 9 bit resolution default if (data[7] == 0x10) { // count remain gives full 12 bit resolution raw = (raw & 0xFFF0) + 12 - data[6]; } } else { byte cfg = (data[4] & 0x60); if (cfg == 0x00) raw = raw << 3; // 9 bit resolution, 93.75 ms else if (cfg == 0x20) raw = raw << 2; // 10 bit res, 187.5 ms else if (cfg == 0x40) raw = raw << 1; // 11 bit res, 375 ms // default is 12 bit resolution, 750 ms conversion time } celsius = (float)raw / 16.0; fahrenheit = celsius * 1.8 + 32.0; Serial.print(" Temperature = "); Serial.print(celsius); Serial.print(" Celsius, "); Serial.print(fahrenheit); Serial.println(" Fahrenheit"); dove la riga 'celsius = (float)raw / 16.0;' ti da il risultato che viene stampato. basta che alla fine dellì'operazione aggiungi '- 3.0' e sei a posto. il codice l'ho preso da qui. Ciao!
|
|
|
|
|
Logged
|
|
|
|
|
|