,

BeerMKR Board Replacement:  Experiments 5 & 6

Phil Mallonee Avatar

These experiments involve the addition of a “RAMPS 1.4” board.  I realized that for a lot of this stuff, making my own board was silly.  For less that I could make some very basic stuff I can buy a board that is exactly made to go with the Marlin software that does a things that I was about to do.

Some of that is little things.  Reading a thermistor?  It needs a pullup resistor and a capacitor is a good idea.  The RAMPS board already has that installed and the values in the software already are aligned with the components on the board.

Experiment 5

On a separate board insert a JST VH connector (the heater connector) and bring out wires for this connection.

Start a brew cycle (I used Ursa Porter).

Connect a kitchen thermometer temperature probe (the kind you stick in a roast in the oven while the thermometer sits outside) to THERM1 on the RAMPS board.  Put the probe in the brew basket.

Connect a heater to the new JST VH connector and connect those wires directly to 12v.

Measure temperature with board and with a separate kitchen thermometer.

Machine connection state:

Plugged into BeerMKR:

Power, Push Button/LED, pressure gauge, solenoid, Power Supply Fan, temperature sensor.

Thermoelectric fan directly connected to separate 12v supply

Vibration motor disconnected (cable too short).

1 of 2 upper heaters connected to separate 12v supply

Plugged into RAMPS board

Kitchen thermometer probe.

Board powered from laptop USB

Discussion

Getting the wires broken out is harder than it looks.  The JST VH connectors are 3.94mm.  The prototyping board I have has holes spaced in a .1 inch grid.  The holes are also smaller than the conductor on the VH connector.  Drilling out a couple of holes to 1/16 inch and installing the connector on the diagonal let me secure the male side of the connector to the board.

The kitchen thermometer probe has a 2.5 mm jack.  I wanted to keep the probe intact to use in my actual kitchen.  I also wanted a food-safe probe since the intent is to slide this into the middle of the grain bed during the mash.  I didn’t have a 2.5mm jack handy so I cannibalized an old Sanyo Sprint phone from about 2000 to unsolder the jack for that.  I’ve since ordered some new jacks.

 I’m not sure how BeerMKR got away with not measuring the mash temperature.  I intend to do that going forward.

This was more of a qualitative experiment.  I just wanted to see the difference powering the heater would make and to get a reading on the probe to see if I needed to do any calibration adjustments.  Marlin’s native temperature handling is in Celsius so for starters I switched my checking thermometer to read in C as well.  With the default settings the temperature was always within .5 C so I called that good.

Experiment 6

Target: Run the RAMPS/Mega boards from an external 12V power supply. Use the built in MOS switches to control the heaters.  Use both heaters. Observe a closed-loop control behavior cycling power once a set temperature was reached.

The first step was to add a second VH connector and wires to my protype board.  This board is really just a holder for connectors so far, it doesn’t really have any circuitry on it. 

From the power supply mini-breakout that I had I put in a pair of 14AWG THHN stranded wires, because that’s what I had lying around.  Is that overkill? Yes.  The RAMPS board actually has two power inputs, I guess so you can use multiple supplies.  I put in a pair of jumpers between the two inputs since theoretically that input is just powering the computer.  This was a fine idea, but I later discovered that I had reversed the inputs so I used the heavy gauge wire to the computer and then jumpered to the heater with the AWG22 wire.  The heaters were still pulling under 5A combined but they did get slightly warm to the touch before I figured it out and corrected them.

The heater VH connectors went to the “D8” screw terminals.  This port has a MOS (Semiconductor Switch) controlling it so it can be switched on and off by software.

The temperature probe was still connected to the THERM1 pins.

BeerMKR status.

Power, Push Button/LED, pressure gauge, solenoid, Power Supply Fan, temperature sensor.

Thermoelectric fan directly connected to separate 12v supply

Vibration motor disconnected (cable too short).

Upper heaters connected to RAMPS D8

Lower heater disconnected

RAMPS board

Separate 12V Power Supply now powers board

Heater Connection

Temperature Probe.

BeerMKR Recipe: Ursa Porter.

Partial load of water in the machine, no grain.

Discussion:

This experiment took multiple iterations.  While the heaters came on as expected they soon turned off again.

The culprit here is “Thermal Protection”.  In a 3D printer the bed is a pretty fast system.  The default setting is that Marlin expects to see at least a 2C change in temperature in 30 seconds.  For a BeerMKR loaded with a kilo and a half of grain plus 3 kilos of water this isn’t going to change that fast.

I kept adjusting the parameters (and re-compiling and loading).  I tried 900s and 1800s.  The 1800 worked for a while, but the machine hit a bit of a wall and started slowing down.  I finally disabled thermal protection all together and now it works as I would expect it to.  Also, it really helps the BeerMKR to put the lid on and close the door.  Insulation matters.

My initial setting was at 61C.  This was below the setting BeerMKR was trying to get to with the thermoelectric chip.  My first goal was to see it heat to the set temperature and then cycle the power to the heaters.  The jump from low 50s (Celesius) to that 61 went a lot better after putting the lid on.

The system has the ability to do PID tuning (Proportional, Integrated, Derivative) tuning so that it tries to hit a temperature exactly without going over.  With the MOS power control it can do PWM (Pulse Width Modulation) to average less than 100% power as it approaches the set temperature.  The BeerMKR is so massive by comparison, with smaller heaters, too, that the system just operates as a regular thermostat.  On or off. 

I had the system printing temperature reports every 10 seconds.  The command for that is M155 S10.  I had set the “extruder” temperature sensor to a fake so it always reported 25C. The output is a line that looks like:

T:25.00 /0.00 B:63.88 /16.00 @:0 B@:0

Or

T:25.00 /0.00 B:63.88 /67.00 @:0 B@:127

The first line says the extruder (not used yet) is at 25C with a setpoint of 0, the “Bed” which is my brew basket is at 63.88C and has a setpoint of 16C.  @:0 means the extruder is at 0 power and B@:0 means the Bed is also at Zero power. This reading came from when the experiment was on a cooldown and I threw in a setpoint of 60F as a target.

The second line says the same thing for the extruder and the same temperature for the bed (B:63.88).  In this case the setpoint is at 67C.  The B@:127 says that the heater output is on full power. Think of that as 127/127% power (the power is on full for 127 out of 127 time slots).

Arduino IDE showing temperature logging

As the temperature was raised I could see the heater power cycling on and off (there is also a big red light on the board that shows that as well.

The BeerMKR bag temperature was consistently about 10F above the brew basket.  Since it was going higher I upped the setting to something approaching a mash temperature.  The behavior still cycled.

I checked on the machine later and found that it had gone into “Chill to pitch”.  The heaters were still cycling around the setpoint so I needed to turn them off.  I couldn’t find a Marlin G-Code to “turn off bed”.  It looks like the practice is to set the temperature to zero.

Conclusion

So this was a successful conclusion to the experiment.

Before the next experiment I need to do some better connections and insulation.  The outside of that probe is a metal mesh and the RAMPS board is covered with pins.  I did put a piece of craft foam on the bottom of the connector board to protect those contacts.  I should print a case bottom  to protect the MEGA/RAMPS board  and maybe I should print one for the BeerMKR board as well.

Edit: 10 minutes after I wrote the paragraph above I moved the unit and sure enough the temperature probe (which was on a short leash anyway) contacted the board.  It would still read temperatures when powered by the USB port but stopped when it was plugged into power.  I probably broke the power regulator on the Mega board.

Future

For the next experiment I think I will building a cable to tap into the I2C bus on the BeerMKR.  The pressure transducer reports digitally to the CPU on request.  I was able to read the value previously when my Arduino was the only thing on the bus.  Next I’m going to try listening to see if I can eavesdrop on the BeerMKR to Pressure transducer transaction.  I’m about 90% sure this won’t work.  The next thing to try is periodically polling the pressure myself (using the RAMPS board) and see if can interleave my readings with BeerMKR.

If that’s successful the I will try to make a brew with actual grain and manual heater control (so start early) an find a way to log the pressures as I go through the fermentation cycle.  The transducer has a scale that I’m not sure what it is, but if I can find the approximate values where BeerMKR takes action I should be able to replicate that action for the burp.

Tagged in :

Phil Mallonee Avatar

One response to “BeerMKR Board Replacement:  Experiments 5 & 6”

  1. Cris Trefzger (Brew-Dey) Avatar
    Cris Trefzger (Brew-Dey)

    It looks like you are definitely making some great progress here. Ill be following to see if you can find a solution to our heating pads problem, I myself am going to order a couple different chips to see if i can fix from that angle.

Leave a Reply

Your email address will not be published. Required fields are marked *

More Articles & Posts