แฟ้มประวัติHERMANรูปถ่ายบล็อกรายการเพิ่มเติม ![]() | วิธีใช้ |
|
24 มิถุนายน A fresh look at an old ideaThe HERMAN control system has been evolving for many years. After my first few all-grain brews I got sick of poking a glass thermometer into various hot spots and decided to make a monitor with a single control of the hot liquor tun (which also contained a heat exchanger). So I built an analog ciruit board with a few LM35 temperature sensors, an op amp for setting a trigger point, and a relay for switching the hot liquor tun element on and off. The output was measured with a digital thermometer.
This whet my appetite for more and better control. So I found an I/O board that connected to a PC parallel port. The board itself had no processing power, so all the intelligence in the system was coded into a VB3 program. I found my old Compaq laptop the other day and fired it up and was actually quite impressed with how capable this early technology was.
Over time the VB3 code was upgraded to VB6, but the interfacing was simply the bridge between the machine and the PC.
Then about three years ago I discovered the picaxe system of microcontrollers. I had been frustrated by the limits of my parallel system, and in particular that the only (practical) way to get extra inputs and outputs was to get a second parallel port and I/O board. The picaxe offered serial connections and the possibility of an easier expansion path.
So a new interface was built, with a picaxe 40X under serial control of the PC. The 40X mostly read inputs like temperatures and level switches. It also daisy-chained to an 18X that handled the solid state relays. The boards were complex and custom built for some set tasks. The system was not easy to change or expand.
After using the picaxe control system for a while and having a few embarrassing moments when Windoze locked up and the PC needed a reboot, the biggest shortcoming of the interface came to light. The picaxe was being used like the old parallel board - without any intelligence of it's own. The PC was making all the decisions, and the picaxe none. All the control 'eggs' were in the PC 'basket'.
With the re-design of a control system, the first decision was that there would be a control panel on the machine that would be supplemented by the PC.
In the process of ripping apart the physical machine that was HERMAN 5.x and building the machine on a new trolley, the interfacing was also removed. The new control gear was not ready for use, so we have needed to be lateral to get the machine up and running. This has involved a hotch-potch of old picaxe based fermentation controllers, and then utilising some basic circuitry from the 40X interface.
Yesterday I was looking into the capabilities of the 40X/18X combination interface because we were wanting a way to test the solid state relay board that is now complete. As I was devising code to do this, it struck me how capable the existing control board is and how far my understanding of the picaxe has come.
One of the pitfalls with the picaxe (at least prior to the X1 and X2 models) is that you need clever workarounds to get serial communications and readings of DS18B20s to work. The old setup basically had the PC 'dumping' serial requests on the picaxe in the hope that something would get through. The requests did get through occasionally when the 40X was not occupied with temperature measurements. Yesterday, however, I found myself working on a communications system that ought work reliably every time.
When the PC wants to communicate with a picaxe that might be busy, the following sequence should work a bit better than the earlier coding:
With some basic hurdles overcome, it seems the 40X/18X is begging to be pushed back into service. Where level sensing switches were in place, these can be easily connected to the switches on the new control panel to implement some real-world control. As it will take some time to fully test and implement the newer control system, it is nice to see how far we've come on this journey, and good to see the return of an old friend. 19 มิถุนายน Building the solid state relay unitWe had a great day yesterday building our solid state relay box. This unit houses 5 solid state relays which will be used to power the hot liquor tun heater, the heat chamber heater, the kettle heater, the mash tun mixer, and the pump. Control of these relays is remote, to keep control equipment and power switching separate. The box includes a cooling fan that blows directly across the large heatsinks attached to the relays. This is over-engineered, but done for peace of mind. Without fan cooling, the heatsinks run at about 55 degrees C on maximum load. The box also includes LM35 temperature sensors that are attached to the heatsinks.
The circuit was built from scratch, so we
The box has been drilled for LEDs on the front panel, and AC cabling in and out on the back panel. The heatsinks, temperature probes and LEDs are yet to be fitted. We are intending to brew again next weekend, so it may take a couple of weeks to finish this project. Some photos of the process are attached. 12 มิถุนายน Tun user controlMany months ago I began coding for a new PC control program for HERMAN on VB2005. It has been a difficult process trying to learn a language that seems foreign to VB6. While this coding project had been on hold, the move towards the new hardware of HERMAN 6 has taken great strides. I looked with fresh eyes at the tun user control I'd been developing and saw much to like, but also much to change to make it easier to use.
While it is a bit rough around the edges and there are more features to install, playing with the control on-screen is easy and I can now join the dots to see how it will be used with the picaxe hardware and control panel that will ultimately end up on HERMAN.
The old user control can be seen on the screen shot below of the early "HERMLET" code.
I've added a screen shot of the new user control as well. The user control is running a test PID mode and has just begun to wind back the power to reach a target temperature of 67.0 degrees.
Steps forwardOn Sunday, HERMAN 6 brewed his first successful beer with a working PID controller. It was lovely to watch the consistent temperature at the exit of the heat chamber, with the duty cycle of the heater making minor adjustments as needed.
While we were out walking the dogs and allowing HERMAN to do his thing, the mash temperature rose from the target of 67.0 degrees to 68.8. The graph indicates that this is an issue of calibration rather than a functioning problem of the PID algorithm. The mash temperature follows a classical curve that slows down towards 68.8 and then stays flat. This is not unexpected as calibrating the temperature probe at the heat chamber exit is difficult as there is no easy access to it while liquor is flowing through the chamber.
The minor tweaks since last brew have obviously paid off. The mash tun false bottom now seals tightly at the base of the tun with the help of some rubber insulation that is designed to lag piping. Even though we made a hefewiezen with 40% wheat, there were no flow issues like last brew. By the way, the bohemian pilsner at the heart of all our trouble last brew is as good as we've ever made one
The graph below comes from the data log of the brew session and graphing is done within the HERMAN program. The red line is the mash temperature. We doughed-in a little high initially and let the temperature drop low to compensate. The green line represents the heat chamber temperature that is PID controlled. The purple line comes from a newly installed probe at the entry point into the mash tun. The differences between them shows that some further calibration is needed.
04 มิถุนายน Gate Valve Actuator BoardWith the release of the Picaxe 14M I've been re-designing and hopefully finalising the control and driver boards for actuating the gate valves in HERMAN.
The designs will need to be tested on a prototype board but are probably close to a final build. The control board accepts either bush button controls or remote computer commands to open and close the gate. A multiturn potentiometer will provide position feedback. A pulse width modulated output will enable variable speed control of the motor. This means that the motor will have the capcity to slow down when close to target in the same manner as a servo motor.
The motor driver board has been separated from the control board for ease of servicing in case of driver failure. The board is designed to piggyback on the control board via a molex connector.
We now have polymorph, so this afternoon we should be close to completing the coupling between gate valve and the drive motor.
The schematics for the control and driver board are below (apologies for the low resolution - that is a function of the blog space upload):
|
|
|