แฟ้มประวัติHERMANรูปถ่ายบล็อกรายการเพิ่มเติม เครื่องมือ วิธีใช้

บล็อก


21 กรกฎาคม

3D modelling to make sure things fit

I'm trying to get this version of HERMAN right - where things fit together and wiring is neat and tidy. Because it is a complex project, I'm using a variety of tools to help fit the jigsaw together.

After testing the 3 pushbutton strip for the control panel under PicaxeVSM, I'm now happy with the schematic. From here I used DipTrace to produce a board outline.

Control Panel Strip

These strips can be place side by side or end on and wired together to form a resistive ladder with an output voltage that changes depending of which button down the ladder is pressed.

I initially intend to have 6 strips side by side, so will use DipTrace to create a six-up print automatically.

To ensure that the connectors and cables would fit physically with the LCD screen, I turned to SketchUp to do some 3D modelling.

The LCD screen is a seiko 40x2 with LED backlight.

40x2 LCD

The pushbuttons were modelled to figure out height between panel board and front of panel, and the IDC header connectors modelled to give an indication of fit under the panel and with the LCD.

Control Panel Strip

These were then combined to give some neat views of a virtual control panel. Everything seems to fit, but the original artwork done in CorelDraw will need to be modified now.

Full Control Panel_1

Full Control Panel_2

Full Control Panel_3

The whole point of SketchUp is that you can look around and model in 3D space, so the three pictures above give a poor impression of what is really possible. The 3D files are available here if you want to have a good look using SketchUp.

While it took many hours to draw the components shown in the last three photos, most of that was learning how to harness the power of SketchUp. I continue to be impressed, and I'm sure I can draw 3D models quicker in SketchUp and 2D models in CorelDraw. My guess is that the whole panel above would only take a couple of hours to do from scratch.

We ordered a lot of 50 PCB drills late last week, and once we arrange for the dremel press we will be good to go. We are planning on brewing again next weekend, so it will probably be two weeks before we start making boards.

01 กรกฎาคม

Catching a free wave

I'm currently using the DipTrace free edition. I've currently stated that I am a real fan of this program - for reasons of usability and an auto-router that saves me much pain. The fact that it has a free edition that still packs a punch is icing on the cake.

Except that catching a free wave doesn't always give the best result. The control panel schematic was over the 250-pin limit when I tried to import the netlist into DT.

OK, I'm not complaining. But I did have a look at different packages available and got thoroughly confused. If there is a free 250 pin package, why is the next available option a 250-pin starter package for $75? And then to get greater functionality than I already have, the Lite package gives 500 pins for $145!

I decided to enjoy the current free gift of 250 pins and look for a workaround.

It took a while to figure out that with my compound switch with LED, I had an extra 72 pins I didn't need. For each component I had drawn in all 6 pins, which meant 12 pins for each button where a LED was needed. By redrawing the switches to four pins and the LEDs to two pins, the 72 pin reduction nearly got me down to the 250 pin limit.

The easiest thing to trim on the original schematic was the second extension bus connector. This was a 'just in case' part for expansion purposes, but will be available elsewhere in any case.

At last, a trouble free netlist import.

control panel board_final rats nest

Ratsnest after the components have been arranged on the board.

The last time I built one of these things was the prototype panel that currently drives HERMANs control. The schematic was a little less complex because it didn't have the inbuilt LEDs. The PCB was built using ExpressPCB. The naming is a little ironical. The only express part of that program is internet ordering for boards. It was a function I never used anyway and after discovering DipTrace there was no reason to keep using it. Under ExpressPCB, all the traces need to be laid down manually. Even worse than this, there are no netlists to minimise errors. A ratsnest layout like the one above simply does not exist.

I was eager to see how DT fared with the auto-router on this moderately complex board. It would have taken me weeks to get it prepared manually, catching a few spare minutes here and there, and driven me mad in the process. I feel like saying "I'm getting too old for this kind of thing." smile_omg

Anyway, the auto-router did its work in about 20 minutes, with a result likely better than I would have done manually. Fixing up the compound component pins has also made things less confusing for the machine.

control panel board_final auto route

The board has quite a lot of jumpers but that is ok. The auto-router left one further air-wire to trace. Later in the week I will do some fine tweaking on the design so that hopefully we can make a board next weekend.

30 มิถุนายน

Control Panel PCB design

Converting the finished schematic into PCB artwork has been quite slow. This is mainly because of the steep learning curve using PicaxeVSM (VSM) and DipTrace (DT) together.

VSM is a great tool for creating schematics due to its ability to virtually model circuit performance. PicaxeVSM not only does SPICE modelling, it also does picaxe code. This means that a lot of circuit design and development of code can be done 'on-screen'.

The end result of using VSM is a 'virtual-proven' schematic. It would be simple to redraw this schematic in DipTrace and then make a PCB, but this means that work that has already been done is essentially wasted. Another problem with redrawing, and perhaps a more compelling reason not to take that path, is that it is open to errors. The whole point of VSM is that the circuit has already been tested as working.

VSM is designed to work seamlessly with a number of different PCB packages depending on needs and budget. DipTrace is my package of choice because it has a free version that is more than adequate to my needs. VSM and DipTrace are capable of speaking the same language via the netlist Tango export/import sequence. There are a number of reasons it gets complicated at this point though. Firstly, the package outlines listed under VSM rarely match outlines for DT. If they do, usually the pin numbering scheme will be different.

This means that new package outline names are needed for VSM, or new packages are needed under DT. I had some trouble with VSM because documentation is poor and when I created a new component, it behaved strangely. The pushbutton of choice for the control panel is both switch and independent LED. The pictures below show the promised component and then what is actually 'placed' on the schematic.

VSM component new component as designed

VSM component2 actual component when placed

I really don't know why this is a problem. It may be because both parts of the component are 'animated' under VSM. In the meantime, I've decided it is much easier to create suitable packages in DT. This is still a detailed time consuming task.

Some of the process involved is outlined in this picaxeVSM thread. Myc is creating larger pads for components in his library because he is using the toner transfer method of making PCBs. I understand what he means here through experience, and so I've chosen that path as well.

The schematic I posted recently of the control panel board shows that the pushbuttons and LED indicators inside them are drawn as separate components. They are logically separate in the circuit - that is a pushbutton press does not automatically mean that button's LED will light.

air-wire compound component part of air-wire in DT.

D4 and SW3 are a discrete LED and switch respectively. To the bottom left SW1 & D1 are overlaid to produce the compound component.

The overlay of two components on top of each other (the pushbutton part and the LED part) seemed to confuse DT. The first run through the auto-route produced a number of errors around the compound part.

confused compound component

These seemed to be fixable. With some node editing, the following cleaner layout seemed to suggest all was good.

good compound component

On closer inspection, the LED now has two connections on the anode and the switch (the outer four pads) is only connected on one side. The fault turned out to be an errant pad number on the switch package.

With the component package fixed, the autorouter did its job again. It seemed to be less troubled by the new circuit, but the following images show it is again confused by the compound component. The blue traces from both images are actually laid over each other. The odd routing decisions show that whatever algorithm is being used cannot cope with unorthodox human 'ingenuity'.

autoroute overlay

A little bit of manual routing clears this one up without trouble. The image below shows the corrected traces, but the red circles show that the design rules check is less than happy with my compound component.

autoroute overlay3

Well this time the machine won't win - I am happy with the result and it looks like the final control panel board is not far away. smile_teeth

24 มิถุนายน

A fresh look at an old idea

The 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:
  • PC sends a break to the picaxe
  • Picaxe will see the break at some time (up to 750mS later) when the processor is free
  • Picaxe sends a ready to send back to the PC and goes into a serial receive routine
  • PC sends data or requests to the picaxe
  • Picaxe responds to each packet and echoes back contents
  • PC sends andend command
  • Picaxe resumes processing

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.

 
 
04 มีนาคม

Revised Control Panel Layout

After thinking through a number of control issues and most importantly seeking a user friendly control system, I've come up with what I hope is a near final version of the control panel layout.
 
The heating control panel in the centre of the three boxes has been re-designed to include two 'function' switches for each module and an extra up/down setting control (separating temperature and power). The existing panels will be able to be used without problem, so no need to make a completely new front panel out of aluminium (good news).
 
The Special Functions panel has a minor change to the original 6 function buttons. The bottom right is no longer an emergency stop (this is catered for with the power 'missile' switch), and will now be for underletting the mash tun. Indicator lights have been added to these top 6 switches to provide visual feedback to the user without the need to rely on a PC. These switches are all under the heading 'valve controls' because they each alter the configuration of the automated gate valves.
 
The bottom line of LEDs and single function switch is new and is there for process control. Much as a dishwasher has different cycles that can be selected, pressing the button will select different pre-set aspects of the brewing cycle.
 
The Special Functions panel belongs to a future phase of this project. It may well be that an X2 processor with a real time clock will ultimately make a PC redundant, but at the moment this is in the realm of dreams. The first two panels represent the current reality of the project.
 
The left panel has some basic control functions built in. The display mode button is intended to toggle the LCD display (the rectangle above it) between temperature and power information. Most of the buttons are simple on/off switches of various components of the machine. The Dropper button will advance the dropper one position and the reset button will reset the entire picaxe network. This button may need some guarding.
 
03 มีนาคม

Tun Module Schematic

Working through control panel/user interface issues has helped me reach a 'final' (I hope) iteration of the tun module schematic. This is the motherboard, there are two daughterboards that I will post later (Solid State Relay board & external sensor board). Thinking through RIMS and HERMS requirements also helped clarify what is needed with temperature probes.
 
I've settled on a circuit that allows simple switching of functions for each particular module. For example, the heat chamber (which controls the mash temp) has two function buttons.
  1. Mash
  2. Mash Out

This is not to say you might want to do more with the mash, such as a protein rest or two mash temperatures. The button simply give a quick setting, and the temperature is still adjustable from there.

The Hot Liquor Tun has these special function buttons:

  1. Strike
  2. Sparge

These represent the two most common settings for this vessel. The coding behind these will likely set strike to about 77 deg C and sparge to 80 deg C, but again the settings can be altered.

The Kettle has these special functions:

  1. Simmer
  2. Rolling Boil

The image attached is the schematic based on a picaxe 18X processor.

 

02 มีนาคม

Control panel/human interface

I designed a control panel layout a long time ago now, and as the machine gets closer to becoming reality I've been thinking about user control.
 
It was always intended to allow user control without need for an external computer. The addition of a PC simply allows greater automation - it becomes an intelligent coordinator of the network of control modules.
 
The early control panel layout is probably not as user friendly as I would like. It is confusing, for example, to have to select either a temperature change mode or a power change mode and use the same control for either. It seems better to simply have two controls, one to adjust temperature and the other to adjust power.
 
It seems a better idea to have more function switches than originally planned also. These are some that come to mind:
 
Heat Chamber
Mash Button - sets the machine to recirculate and regulate mash at 67 deg C
MashOut Button - regulate mash at 75 deg C
 
Hot Liquor Tun
Strike Button - sets the HLT to heat to average strike temperature (say 77 deg C)
Sparge Button - sets the HLT to 80 deg C
 
Kettle
Simmer Button - sets the kettle to heat up to 95 deg C and hold
Boil Button - sets the kettle to a rolling boil
 
Smart Functions
Quick Start
  • closes all gate valves except HLT
  • energises Hot liquor solenoid until HLT full
  • closes Hot Liquor solenoid
  • sets HLT to strike

Next Step - advances mash process one step

  • from Strike to Dough in
  • from Dough in to refill HLT and set to sparge temp
  • from refill HLT to Mash
  • from Mash to MashOut
  • from MashOut to Sparge/Kettle Fill
  • from KettleFill to Whirlpool
  • from Whirlpool to fill fermenter

The Quick Start and Next buttons might be combined, but there would need to be a previous button to enable the user to go back a stage. There ought be indicators (LEDs?) to show which stage we are on, like a dishwasher.

The LCD module will need to be upgraded (we'd run out of 08M code anyway) with either an 18X or 28X to account for the extra function buttons.

The panel can be overlaid with aluminium to account for the new layout, which also has the advantage of being able to print a black overlay on it.