Matho's controller

Australia & New Zealand Homebrewing Forum

Help Support Australia & New Zealand Homebrewing Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
lael said:
Is anyone using ArdBir software version 2.8.RC8?
Thoughts on stability and effectiveness?
Hi Lael,

I've brewed maybe four times with this one. I am impressed with the improvements compared to previous code releases. I have not felt the need to do any minor code changes with this release as I have in others.

I've only used the 20x4 LCD setting, and I wouldn't say I've done bullet proof testing. I did have an issue where it did not fire up the heater after a manual resume but I can't exactly specify what the issue was. For a full brew run through it was excellent.

cheers, Arnie
 
Vin: 12V// Vout: tbd, based on pump type. e.i 220Vac or 12Vdc.

Your relay in attached is a Vout 12V.


Daniel Xan, all in one etc are only supports.

Cheer
Cherryphilip
 
Vin: 12V// Vout: tbd, based on pump type. e.i 220Vac or 12Vdc.

Your relay in attached is a Vout 12V.


Daniel Xan, all in one etc are only supports.

Cheers
Cherryphilip
 
Thanks. The pump is a 12V D.C. pump so that should be fine. I think it only draws 0.65A so the 3A relay should also be okay.

I'm just not sure it I need a SPDT or DPDT relay. And is there anything else I might not be thinking of.

Basically, what relay do people use when they use a 12V pump?
 
That relay will be fine but it would be better if you got a din mountable relay, they will have screw terminals so you can easily connect the wiring. The relay you linked to will need some breadboard and soldering.

Connect 13 &14 to the pump output of the controller and use a normally closed contact to switch the pump output.
 
Yeah, you can find them all over as they are sourced from China (of course). It's got some small MTG holes that can be used with a small screw or stand-off. I have a roomy enclosure that I repurposed from another product, but this module is only about 1.5 x 2.5 inches. Two panel mounted relays with screw terminals would be same size or larger.
 
Barge said:
20151101_222338.jpg20151101_222338.jpg
 
MitchD said:
Connect 13 &14 to the pump output of the controller and use a normally closed contact to switch the pump output.
The first bit I get but I'm not sure what you mean by "normally closed contact". I thought I had to wire the controller to one side of the relay and the pump directly to the other and the relay would do the switching.
 
The controller is only capable of driving a relay. You will need a separate 12v positive to run the pump. Take a positive 12v from your power supply into one side of the relay contact, the other side gets wired to the pump positive. The negative runs from the pump back to the power supply without being switched.

When the controller turns the pump on a click will be heard and the pump will run.
 
Is the PID settings fixed??????????

I have build a brewsystem based on 2.8.3.RC
Ran a testrun with water yesterday to tune the PID.
After several hours, many parameter changes, I'm not able to get this correct.
I ending the regulation severel degreed below setpoint every time, the higher setpoint the higer offset.

I looked at the code and have a question regarding some of the code.
Is the PID parameters read from eeprom other places than in the function listet below?
Find it odd that this is been commented out

void load_pid_settings () {
//byte eepromKp = r_set(1);
//byte eepromKi = r_set(2);
//byte eepromKd = r_set(3);
//byte SampleTime = r_set(4);

//r_set(eepromKp, 1);
//r_set(eepromKi, 2);
//r_set(eepromKd, 3);

//myPID.SetTunings(eepromKp - 100, (double)((eepromKi - 100.00) / 250.00), eepromKd - 100); // send the PID settings to the PID
myPID.SetTunings(r_set(1) - 100, (double)((r_set(2) - 100.00) / 250.00), r_set(3) - 100); // send the PID settings to the PID

//r_set(SampleTime, 4);
//r_set(WindowSize, 5);
WindowSize = r_set(5);

//myPID.SetOutputLimits(0.0, 255.0);

//myPID.SetSampleTime(SampleTime * 250);
myPID.SetSampleTime(r_set(4) * 250);

}


In the definition section I find this code:
PID myPID(&Input, &Output, &Setpoint, 100, 40, 0, DIRECT);

Does this add up to that the PID has been changed to a fixed setting???
 
heffa35 said:
Is the PID settings fixed??????????

I have build a brewsystem based on 2.8.3.RC
Ran a testrun with water yesterday to tune the PID.
After several hours, many parameter changes, I'm not able to get this correct.
I ending the regulation severel degreed below setpoint every time, the higher setpoint the higer offset.

I looked at the code and have a question regarding some of the code.
Is the PID parameters read from eeprom other places than in the function listet below?
Find it odd that this is been commented out

void load_pid_settings () {
//byte eepromKp = r_set(1);
//byte eepromKi = r_set(2);
//byte eepromKd = r_set(3);
//byte SampleTime = r_set(4);

//r_set(eepromKp, 1);
//r_set(eepromKi, 2);
//r_set(eepromKd, 3);

//myPID.SetTunings(eepromKp - 100, (double)((eepromKi - 100.00) / 250.00), eepromKd - 100); // send the PID settings to the PID
myPID.SetTunings(r_set(1) - 100, (double)((r_set(2) - 100.00) / 250.00), r_set(3) - 100); // send the PID settings to the PID

//r_set(SampleTime, 4);
//r_set(WindowSize, 5);
WindowSize = r_set(5);

//myPID.SetOutputLimits(0.0, 255.0);

//myPID.SetSampleTime(SampleTime * 250);
myPID.SetSampleTime(r_set(4) * 250);

}


In the definition section I find this code:
PID myPID(&Input, &Output, &Setpoint, 100, 40, 0, DIRECT);

Does this add up to that the PID has been changed to a fixed setting???
Isnt the definition section just to initialise the PID settings and the line that isn't commented out
myPID.SetTunings(r_set(1) - 100, (double)((r_set(2) - 100.00) / 250.00), r_set(3) - 100); // send the PID settings to the PID
is the one thats called when needed (both in manual mode and auto mode) whenever the gas setting is false?
 
The correct code is


void load_pid_settings () {
myPID.SetTunings(r_set(1) - 100, (double)((r_set(2) - 100.00) / 250.00), r_set(3) - 100);
WindowSize = r_set(5);
myPID.SetSampleTime(r_set(4) * 250);
}

This section call the parameter from EEPROM and set the PID before start the elecrical Mash process.

I have downloaded this code from public dropbox space
 
Back
Top