• We have implemented the ability to gift someone a Supporting Membership now! When you access the Upgrade page there is now a 'Gift' button. Once you click that you can enter a username to gift an account Upgrade to. Great way to help support this forum plus give some kudos to anyone who has helped you.

BrewmaniacEX

Ajude o Home Brew Talk Brasil:

rafaelcaza

Member
Afiliado
29/9/20
Mensagens
6
Localização
Francisco Beltrao
Olá, fui utilizar o controlador e aparentemente deu um erro no processo de fervura, o sensor parou a contagem em 98º e não subia mais (dessa maneira não informando quando chega na temperatura de 99 e assim atrapalhando o processo) gostaria de saber se isso já aconteceu com alguem, não acredito que seja um problema de software e muito menos a potencia da resistencia.
 

dumpa

Well-Known Member
Afiliado
28/8/14
Mensagens
252
Olá, fui utilizar o controlador e aparentemente deu um erro no processo de fervura, o sensor parou a contagem em 98º e não subia mais (dessa maneira não informando quando chega na temperatura de 99 e assim atrapalhando o processo) gostaria de saber se isso já aconteceu com alguem, não acredito que seja um problema de software e muito menos a potencia da resistencia.
Possivelmente é pq a temperatura de fervura em sua localização/altitude é menor. Se chegou a 98 é possível que essa seja a temperatura de fervura na sua cidade. É só programar a fervura para 97 por exemplo, vai passar disso mas iniciará a contagem.
 

rafaelcaza

Member
Afiliado
29/9/20
Mensagens
6
Localização
Francisco Beltrao
Possivelmente é pq a temperatura de fervura em sua localização/altitude é menor. Se chegou a 98 é possível que essa seja a temperatura de fervura na sua cidade. É só programar a fervura para 97 por exemplo, vai passar disso mas iniciará a contagem.
MEU DEUS, faz total sentido, fiquei tão preocupado com o equipamento que esqueci da parte fisica do negocio, obrigado
 

caju

Well-Known Member
Afiliado
3/10/17
Mensagens
82
Alguem indica um tamanho de caixa steck para 2 ssrs? Tenho os dissipadores proprios para os ssr, pretendo colocar os 2 do lado de dentro da caixa e do lado de fora um cooler. Alguem ja fez um parecido? Tem fotos?
 

perlporter

Well-Known Member
Afiliado
4/4/16
Mensagens
130
Localização
Cordeirópolis/SP
Alguém utilizando a versão 5.0 em produção ?
Instalei recentemente e não consigo importar receitas e muito menos alterar os valores padrões da automação.

Compilei e tudo funcionando maravilhosamente :)
 
Última edição:

ACoelho

Member
Afiliado
20/7/21
Mensagens
6
Localização
Sao Paulo
Olá pessoas, sou entusiasta de IOT e Arduino, e ESP8266 é uma novidade para mim. Estou apanhando muito com compilação usando PlatformIO. Está dando todos os erros possíveis para compilar. Porém ao usar .bin flasheando vai que uma beleza usando o arquivo "BrewManiacEx.050.portuguese-br.bin"
A diferença que vou usar o sensor temperatura MAX6675 e tenho que modificar a biblioteca dos fontes. Mas não subir os arquivos .CPP
Mas não consigo subir de forma alguma os arquivos.
 

Attachments

Gu_MAZZA

Well-Known Member
Afiliado
12/3/17
Mensagens
373
Olá pessoas, sou entusiasta de IOT e Arduino, e ESP8266 é uma novidade para mim. Estou apanhando muito com compilação usando PlatformIO. Está dando todos os erros possíveis para compilar. Porém ao usar .bin flasheando vai que uma beleza usando o arquivo "BrewManiacEx.050.portuguese-br.bin"
A diferença que vou usar o sensor temperatura MAX6675 e tenho que modificar a biblioteca dos fontes. Mas não subir os arquivos .CPP
Mas não consigo subir de forma alguma os arquivos.
Na linha 11 remove as "//", escolha qual opção de firmware que vai querer e digita no lugar do "development", depois deixa a linha 12 como comentário e pronto.
Sobre modificar pra usar o MAX ai não sei com efetuar.
 

ACoelho

Member
Afiliado
20/7/21
Mensagens
6
Localização
Sao Paulo
Na linha 11 remove as "//", escolha qual opção de firmware que vai querer e digita no lugar do "development", depois deixa a linha 12 como comentário e pronto.
Sobre modificar pra usar o MAX ai não sei com efetuar.
Mazza, já até havia feito isso mesmo, bem como ajustar as portas para windows.
o mesmo problema dá no macOS, compilei qualquer outro codigo na minha wemos pela IDE do arduino e a comunicacao está correta, o codigo sobe.
Mesmo usando o Git do Vito puro, sem qualquer modificação, da esse error enorme. não compila nenhum environment exceto do "spargeheater". Acredito ter algo algum parametro no codigo ainda desconhecido e nao comentado pelo Vito
 

Attachments

ACoelho

Member
Afiliado
20/7/21
Mensagens
6
Localização
Sao Paulo
Finalmente consegui compilar na Wemos a versão 0.5, a versão que hoje (22/07/2021) está no git do Vito na branch Master parece que falta comentar ou documentar algo pelo Vito (realmente não achei ou sou muito b*rro :( ou os dois).
De toda forma baixei a versão .5beta4
Construi a build e compilei. Funcionou!

Agradeço a colaboração aqui.
Espero poder ajudar também.
 

Attachments

Última edição:

Gu_MAZZA

Well-Known Member
Afiliado
12/3/17
Mensagens
373
Finalmente consegui compilar na Wemos a versão 0.5, a versão que hoje (22/07/2021) está no git do Vito na branch Master parece que falta comentar ou documentar algo pelo Vito (realmente não achei ou sou muito b*rro :( ou os dois).
De toda forma baixei a versão .5beta4
Construi a build e compilei. Funcionou!

Agradeço a colaboração aqui.
Espero poder ajudar também.
Conseguiu alterar o sensor?
 

ACoelho

Member
Afiliado
20/7/21
Mensagens
6
Localização
Sao Paulo
Conseguiu alterar o sensor?
Sim, já estou lendo temperatura pelo MAX6675. Tive que fazer também algumas modificações em alguns pinos, pois a interface do MAX6675 é SPI (Usa mais que dois pinos do Arduino Wemos)
Vou passar alguns pinos pra PCF8574 e tá tudo resolvido. ;)
 

Gu_MAZZA

Well-Known Member
Afiliado
12/3/17
Mensagens
373
Sim, já estou lendo temperatura pelo MAX6675. Tive que fazer também algumas modificações em alguns pinos, pois a interface do MAX6675 é SPI (Usa mais que dois pinos do Arduino Wemos)
Vou passar alguns pinos pra PCF8574 e tá tudo resolvido. ;)
Vc mexeu apenas no arquivo BrewManiac.cpp?
Eu sou bem ruim de programação, já tentei estudar oq modificar pra utilizar o MAX31685 mas não consegui entender o código pra saber como alterar os sensores.
 

ACoelho

Member
Afiliado
20/7/21
Mensagens
6
Localização
Sao Paulo
Vc mexeu apenas no arquivo BrewManiac.cpp?
Eu sou bem ruim de programação, já tentei estudar oq modificar pra utilizar o MAX31685 mas não consegui entender o código pra saber como alterar os sensores.
Também não sou bom em programar, mas a gente se ajuda powh.
Eu alterei sim o BrewManiac.cpp e coloquei um #define UseMAX6675 true||false no config.h pois se eu quiser usar o DS18B20 ou MAX6675. Ajustei os pinos pra usar a interface SPI na Wemos e realoquei para usar na PCF8574 a bomb e heat e sensor level.


******************************
config.h
#define UseMAX6675 true
*****************************
Pins.h
**linha 134
#if !UseMAX6675
#define SensorPin NODEMCU_PIN_D6
#endif

**linha 121
#define HEATER_USE_EXT true
#define PUMP_USE_EXT true

**linha 134
#if UseMAX6675
#define NODEMCU_PIN_D5 14 // (CLK / SCK) mas 6675
#define NODEMCU_PIN_D6 12 // SO/DO Sensor max 6675
#define NODEMCU_PIN_D8 15 // CS Sensor max6675
#else
#define SensorPin NODEMCU_PIN_D6
#endif

**linha 169
#if PUMP_USE_EXT != true
#if UseMAX6675
#define PumpControlPin NODEMCU_PIN_D3
#else
#define PumpControlPin NODEMCU_PIN_D5
#endif
#else
#if UseMAX6675
#define ExPumpControlPin 5
#else
#define ExPumpControlPin 5
#endif

#endif
#if HEATER_USE_EXT != true
#if UseMAX6675
#define HeatControlPin NODEMCU_PIN_D7 //alterado por acoelho 26/07/2021 para usar max6675
#else
#define HeatControlPin NODEMCU_PIN_D7
#endif
#define ExHeatControlPin 7
#else
#if UseMAX6675
#define ExHeatControlPin 7 //alterado por acoelho 26/07/2021 para usar max6675
#else
#define HeatControlPin NODEMCU_PIN_D7
#endif

#endif

***********************************
BreawManic.cpp
**linha 14
#if UseMAX6675
#include "max6675.h"
#else
#include <OneWire.h>
#endif

**linha 717
#if UseMAX6675
MAX6675 max6675(NODEMCU_PIN_D5, NODEMCU_PIN_D8, NODEMCU_PIN_D6);
#else
OneWire ds(SensorPin); //alterado para trazer max6675 acoelho 26/07/2021
#endif

**linha 726
#if !UseMAX6675
byte _sensorData[9];
#endif

**linha 852
void tpSetSensorResolution(byte *addr, byte res)
{
#if !UseMAX6675
ds.reset(); // rest 1-Wire
if(addr) ds.select(addr);
else ds.skip(); // select DS18B20
ds.write(0x4E); // write on scratchPad
ds.write(0x00); // User byte 0 - Unused
ds.write(0x00); // User byte 1 - Unused
ds.write((res << 5)|0x1F); // set up en 12 bits (0x7F)
ds.reset(); // reset 1-Wire
// write EEPROM, by lekrom
if(addr) ds.select(addr);
else ds.skip();
ds.write(0x48); // Save settings to non-volatile
#endif
delay(15); // Wait for EEPROM write to complete.
}

**linha 1124
void tpSensorRequestConvert(void){
#if !UseMAX6675
ds.reset();
ds.skip();
ds.write(DSCMD_CONVERT_T, 0);
#endif
}
bool tpSensorDataReady(void){
#if !UseMAX6675
ds.reset();
ds.skip();
byte busy = ds.read_bit();
if (busy == 0) return false;
return true;
#else
return true; //pode ser que precise colocar um delay aqui - acoelho
#endif
}
bool tpSensorRead(float* pReading){
#if UseMAX6675
float reading = max6675.readCelsius();
if(gIsUseFahrenheit) reading = C2F(reading);
*pReading = reading;
return true;
#else
// reset & "select" again
ds.reset();
ds.skip();
// request data
ds.write(DSCMD_READ_SCRATCHPAD);
for ( byte i = 0; i < 9; i++) { // with crc we need 9 bytes
_sensorData = ds.read();
}
/* add this routine for crc version */
if ( OneWire::crc8(_sensorData, 8) != _sensorData[8]) { //if checksum fails start a new conversion right away
// re-issue convert command
return false;
}
// data got!
#if EnableSensorResolution == true
gSensorResolution=_sensorData[4] & 0x60;
#endif
// data got!
unsigned int raw = (_sensorData[1] << 8) + _sensorData[0];
// at lower res, the low bits are undefined, so let's zero them
if (gSensorResolution == 0x00) raw = raw & ~7; // 0.5C 9 bit resolution, 93.75 ms
else if (gSensorResolution == 0x20) raw = raw & ~3; // 0.25C 10 bit res, 187.5 ms
else if (gSensorResolution == 0x40) raw = raw & ~1; // 0.125C 11 bit res, 375 ms
// 0x60 0.0625C 12bits, 750ms
float reading = raw * 0.0625;
if(gIsUseFahrenheit) reading = C2F(reading);
*pReading = reading;
return true;
#endif
}
void tpReadInitialTemperature(void){
#if UseMAX6675
tpSensorRequestConvert();
int i=0;
while(i< 10){
if(tpSensorDataReady()) break;
delay(100);
i++;
}
float reading;
if(tpSensorRead(&reading)){
lpfSetInitialValue(reading);
gCurrentTemperature= reading +gSensorCalibration;
}
#else
tpSensorRequestConvert();
int i=0;
while(i< 10){
if(tpSensorDataReady()) break;
delay(100);
i++;
}
float reading;
if(tpSensorRead(&reading)){
lpfSetInitialValue(reading);
gCurrentTemperature= reading +gSensorCalibration;
}
#endif
}
void tpReadTemperature(void)
{
#if FakeHeating
return;
#endif
#if UseMAX6675

if (_isConverting == false)
{
if(gCurrentTimeInMS - _lastTempRead > MinimumTemperatureReadGap){
// start conversion and return
tpSensorRequestConvert();
_isConverting = true;
_lastTempRead = gCurrentTimeInMS;
}
return;
}
// check for conversion if it isn't complete return if it is then convert to decimal
if(! tpSensorDataReady()) return;

float reading;
if(! tpSensorRead(&reading)){
// CRC Error;
tpSensorRequestConvert();
_isConverting = true;
return;
}
gCurrentTemperature = lpfAddValue(reading) + gSensorCalibration;
_isConverting = false;

#else
if (_isConverting == false)
{
if(gCurrentTimeInMS - _lastTempRead > MinimumTemperatureReadGap){
// start conversion and return
tpSensorRequestConvert();
_isConverting = true;
_lastTempRead = gCurrentTimeInMS;
}
return;
}
// else if convert start
//if (_isConverting)
//
// check for conversion if it isn't complete return if it is then convert to decimal
if(! tpSensorDataReady()) return;
float reading;
if(! tpSensorRead(&reading)){
// CRC Error;
tpSensorRequestConvert();
_isConverting = true;
return;
}
// reading += gSensorCalibration; //((float)(readSetting(PS_Offset) - 50) / 10.0);
//apply calibration
gCurrentTemperature = lpfAddValue(reading) + gSensorCalibration;
_isConverting = false;
#endif
}
#endif // #if MaximumNumberOfSensors > 1

**linha 2804
int pidGetValue(int index)
{
#if !UseMAX6675
if(index == SensorResolutionIndex)
return ResolutionDecode(gSensorResolution) + 9;
#if MaximumNumberOfSensors > 1
else
return (int)readSetting(CalibrationAddressOf(_pidSettingAux));
#endif
return 0;
#endif
}
void pidSetValue(int index, int value)
{
// only for sensor resolution
#if !UseMAX6675
byte res= value -9;
if(index == SensorResolutionIndex){
#if MaximumNumberOfSensors > 1
for(byte i=0;i<gSensorNumber;i++)
tpSetSensorResolution(gSensorAddresses,res);
#else
tpSetSensorResolution(NULL,res);
#endif
}
#if MaximumNumberOfSensors > 1
else{
changeSettingValue(CalibrationAddressOf(_pidSettingAux),value);
gSensorCalibrations[_pidSettingAux] =((float) value -50)/10.0;
}
#endif
#endif
}
 
Última edição:
Topo