A year in review
I bought myself a netradio to save taking loads of time to create my own (and it was cheaper than the parts would have cost me). I'm currently using it to listen to Epic Rock Radio and use it daily. Or course, I did some light hacking of it.
I figured out how a ray caster works, and amply demonstrated why continual using emulated FP was a terrible idea.
I wrote a simple MIDI sequencer. It's not great, but it works and isn't bad for something I threw together from scratch during my summer holiday.
Fibre was installed near the property boundary. Maybe it'll actually be switched on some time this year?
I played with an ESP32 for time lapse, and did some work on USB MIDI (for RISC OS).
In terms of non-electronic stuff, I got myself an old rotovator from an advert on the internet, it even worked. Also got some gas lanterns working in case the zombie apocalypse happens. Fixed up some old phones and...
...got myself a new washing machine, and additional warranties and insurance as it's one of those "clever" things, which means I don't expect it to last as long as an old fashioned mechanical one. They offered a ten year guarantee on the motor after a phone call, which I guess is nice, but how about the driver transistors on the controller board? Isn't that the part that usually gives up the ghost?
I did a massive tidy-up of the living room. Yesterday was the final rubbish collection of the year, and I was able to include the last of the bin bags that have been sitting out back since the end of May (!).
(my bin is now a small one (which is logical enough as it's only me here now) and it's only collected once a fortnight; so in effect I have a quarter of the previous disposal capacity...yet it's pretty much the same price (about €4,50 a collection), such is what can happen when one depends upon a barely-regulated monopoly)
Following that, I finally got around to hooking an RCCB to the sockets in the bedrooms, plus rigging up some extra sockets in the kitchen by tapping off the three-phase socket under the sink.
John and Irene stopped by for a visit. The first visitors I've had since mom died (and nobody since then, since I'm an introvert).
I did find myself a girlfriend...who isn't real and may have between four and six fingers depending on the whim of the AI that generated her.
For the first time, I got myself a flu vaccination. Intelligently, at the same time as a Covid booster. One in each arm, and I only sleep on my side. I didn't quite think that through.
And, of course, a new Lidl opened near me and I'm trying to avoid the call of the centre aisles...
In terms of the outside world, well it seems like an apocalypse is happening. Multiple ones, actually. Just no zombies. How upsetting. Election year on both sides of the ocean. Trump 2.0 doesn't bear thinking about. If the English vote the bloody Tories in again, after all they've buggered up in the near decade and a half of their mismanagement, I feel like I ought to set my passport on fire and beg the EU to allow me to become a citizen of anywhere that isn't a cesspool (sorry, England, but your rivers...).
So rather than be depressed by all of that, I'll shut the shutters, crank up the metal, and drink lots of tea as life passes me by. Once in a while I'll pop over to The Daily Mail to laugh at the clickbait articles, as if The Most Pressing Thing in England right now is what some twat said on TikTok. Apparently you can make deep meaningful insights about a person depending on whether they see a woman or a rabbit in this badly drawn picture of a duck. No, sorry, I see a duck. Where's the duck option?
Oh, and I'm half a century old. Whoopee.
Mechanical washing machine controller teardown - part two (machine control)
Here's the final part of the look at the washing machine controller.
On the underside of the third level up is switch #4.
The heater control switch.
This switch is actually more impressive than a simple "heater control" switch, and it is the only switch that is wired to the neutral side of the mains.
The wiring is as follows (the blue highlight means they're joined):
(thin red - output)
|From pressure sensor
(purple - input)
(purple/yellow - output)
(black/white - input)
|To pressure sensor
(purple/white - output)
So what is happening here is that the Neutral enters, and is directly connected to the input of the water level sensor. If this switch is fully pressed, then the heater will be off and the controller motor (the thin red wire) will be active.
If this switch is pressed a little bit, then no connection will be made. The heater will be off and the controller motor will be disabled. The motor will remain disabled until the water level sensor switches to 'full' mode and the input from the level sensor becomes active, at which point the controller motor will restart.
This might sound a bit complex, but it effectively allows the machine to pause while waiting for the drum to fill with water, regardless of what the input water pressure is.
My new washing machine doesn't like my low (from a well) water pressure. It's okay when doing my normal weekly wash on the "Magic 40" cycle, but if I use other cycles and/or put more washing in the machine (which absorbs more water), it'll usually stop and light up the little "Where's the water?" indicator until I go press the Go button. I kind of wish there was a way to override this timeout and have it just wait until the machine is full enough...
Yes machine, it might take you eight minutes to fill, but your EU-approved Eco 40 cycle will do a 3kg load in two and a half bloody hours - shall we talk about that then? Stop being so impatient.
That, by the way, is why I use the Magic 40 cycle. It does pretty much the same thing in one hour.
Now, if the input is on the lower right and the heater is the upper right, then clearly there's no way the two can run at the same time, right?
Exactly. When the heater is to run, the switch is not pressed, which takes the power through the water level sensor (input on the left). Which means, no matter what the machine thinks it is doing, it's simply not possible to run the heater until the level sensor says there is enough water in the machine.
This switch corresponds to this part of the programme.
We'll come back to this switch below as it can be used to override part of the behaviour of the water level sensor.
On the other side of this slice of the controller is this switch.
Pump or fill?
What this switch does is to control whether the extraction pump is running (not pressed) or if the main fill solenoid is active (pressed). There's also a halfway "do nothing" position, but generally the fill solenoid is the normal position here.
But, wait, if the normal setting is to run the fill solenoid, then why don't your shoes fill up with water from the flooding?
The secret lies in the fact that the water level sensor actually has two outputs. Let's look at those.
|Water level sensor
|LOW / EMPTY
- "Normal" fill solenoid
- "Conditioner" fill solendoid
- Motor Fast winding
|HIGH / FULL
- Extraction pump (*)
- Motor Slow winding (*)
This also means that certain behaviours are impossible (barring hardware failure), namely:
- The heater cannot run unless the machine is full.
- The input solenoid(s) will be active until the machine is full.
- The drum cannot fast spin when the machine is full.
But also note the '(*)' markers. It's not useful to have the extraction pump cut out the moment that the machine registers empty as it won't turn on again until the machine is full. So what happens is the switch described at the top (switch #4) can override the pressure sensor to keep the extraction pump and motor slow windings active (but due to how it works, running the heater at the same time is impossible).
This override allows the extraction pump to work all the time it is enabled, regardless of whether the machine is full or empty. You might have thought it would be better to run the pump from it's own switch, but then we also want the motor's slow winding to be able to run as well (because going from stopped to 500rpm with nothing in between would slaughter the clutch), and this way is just as easy given that there is no direct connection to the Neutral input - Neutral goes via switch #4 or the level sensor.
So this switch here normally runs the input solenoid and when the machine is full the level sensor takes it out of circuit, or it can switch to running the extraction pump.
This switch corresponds to this part of the programme.
Fill or pump programme.
Also worthy of note are the two connections to the extraction pump on the left (upper part). This is how the half load is handled. For the drain part of the second rinse, this switch rests in an inactive position, and the half load button is slaved off of the motor control (described yesterday). If the half load button is not pressed, then power comes to the extraction pump connection here by way of the half load button (which is the second of the wires plugged in here).
When the machine steps to the next position after the drain of rinse 2, it will activate the fill solenoid as usual, but if the half load button was pressed (hence no drain), the machine will already be full so the machine won't pause as it won't need to fill, so it'll just carry on with the intermittant drum rotations as is normal during rinsing.
This leaves the final slice of the controller, and the final switch.
There is only one wire on the right. This is the mains Live input. If this switch is pressed, power passes to the two wires on the upper of the connections on the left. The thick one is to the live side of the heater (because it's a 2kW draw). The other wire is the "and everything else" wire.
If the switch is pressed more, this also brings in the lower of the connections on the left, which is for the secondary fill solenoid (the conditioner).
And if this switch is not pressed? Then the machine is completely unpowered (live disconnected) and after about a minute the door solenoid will release. Which means the machine is capable of turning itself off (unlike our old Zanussi which required you to press the power switch and then wait for the door release - an annoying waste of time).
Here's the final programme.
Between the fast wheel timing the motor rotations (and direction), with the water level sensor and controller effectively altering the circuit as necessary, five two-way switches and two three-way switches, when used at the right times, can make a machine with safety features like not heating unless the machine is full or running the motor at 500rpm unless the machine is empty, along with useful ergonomics like auto-off and wait-until-filled...plus a seemingly complex motor control (pulsed, bi-directional, and dual speed).
Pretty much all possible thanks to a wheel that turns.
Impressive, isn't it?
As I'm a nerd, I'm just trying to imagine how many lines of code, I/O pins, relays, and triacs it would require to replicate what this device does.
Happy New Year
All that remains is to wish all of my readers a Happy New Year, and hope that 2024 is a better year. I won't hold my breath...
Please note that while I check this page every so often, I am not able to control what users write; therefore I disclaim all liability for unpleasant and/or infringing and/or defamatory material. Undesired content will be removed as soon as it is noticed. By leaving a comment, you agree not to post material that is illegal or in bad taste, and you should be aware that the time and your IP address are both recorded, should it be necessary to find out who you are. Oh, and don't bother trying to inline HTML. I'm not that stupid! ☺ ADDING COMMENTS DOES NOT WORK IF READING TRANSLATED VERSIONS.
You can now follow comment additions with the comment RSS feed. This is distinct from the b.log RSS feed, so you can subscribe to one or both as you wish.
|Gavin Wraith, 31st December 2023, 17:18
Happy New Year to you too. This festive season has been muted by horrid colds. In the past we used to have two Christmas celebrations: Danish on Dec 24-th and English on Dec 25-th, with as many of the family as could be mustered.
This time the Danish celebration had been postponed to New Year's Eve. Our guests have all departed and there is a mass of food to be finished up. The cat looks relieved. On Christmas Eve my Rpi 5 arrived. I have made three attempts so far to get it to run Raspberry Pi OS with the KDE desktop. But after making all the magic incantations and rebooting it ends up hanging with [FAILED] Failed to start smartmontools.service.
|Zerosquare, 1st January 2024, 02:46
Happy new year!
Speaking of electro-mechanical stuff, you should check out Technology Connection's recent videos on YouTube about old pinball machines. Like your washing machine, they use plenty of simple but clever tricks to implement complex behaviour.
|Rick, 1st January 2024, 12:57
Hi Zerosquare, sad news this morning.
The two areas that I like are around Fukui and around Shimane. Yeah, the places where "not a lot happens". I've been to London maybe four times in my life, and Paris exactly zero times...
As for TechConn, yeah, I saw that and was like "Good grief, I'm *not* sitting through fifty minutes about a pinball machine".
...fifty minutes later... 😂
(and I see he's uploaded another, so that's why No Effort November had more videos than December!)
|David Pilling, 1st January 2024, 18:55
Mechanisms are an interesting subject, it took the finest engineers of a generation to devise the push push retractable ball point pen. Now one would use Python on Raspberry Pi5 to divide by 2.
|Rick, 1st January 2024, 19:15
I'd use a calculator. There's one by the phone, and it runs for ages on a button cell. 😉
|C Ferrls, 1st January 2024, 20:29
USA spent millions to be able to use a pen in Space - the Russians used a pencil!
(Felicity? Marte? Find out!)
- Cheesy nightmares, Monterey Jack, That Palestine thing. (2024/02/22)
- Dude..., SimpleSeq v0.23. (2024/02/18)
- Internet trauma, Sweet almond, Mowing, Beautiful brioche. (2024/02/17)
- MIDI and the broken brain, SimpleSeq v0.22, MIDI v0.12. (2024/02/11)
- SimpleSeq v0.21, Wait WAIT?, Tree hacking, Brioche against the odds, Big parcel. (2024/02/10)
List all b.log entries
Return to the site index
PS: Don't try to be clever.
It's a simple substring match.
Last read at 14:54 on 2024/02/24.
© 2023 Rick Murray
This web page is licenced for your personal, private, non-commercial use only. No automated processing by advertising systems is permitted.
RIPA notice: No consent is given for interception of page transmission.