[January 1, 2015]
The brains of this washing machine are built around a PIC16F887 microcontroller with a 20MHz crystal. Since I'll probably be modifying this board often I didn't bother designing a PCB and used perfboard instead.
Power comes from the main 24VDC rail and goes through a USB car charger's circuit board, which steps it down to a clean 5 volts to power the µC. The 24V power also feeds the pull-up resistors of the input interface:
This circuit is repeated for each of the 8 inputs, it's basically a voltage divider to bring 24v signals down to 0-5V for the PIC's input ports. The 9v1 Zener diode rejects all noise under 9V, preventing false transitions in the output. I copied this design from a 1980's vintage Italian PLC I worked a lot with in a previous job. The circuit proved fairly reliable for the last 30 years under far less than ideal conditions, so I thought it was worth using for this application. I feel the Zener was really important in that particular circuit because it used TTL technology, which has a much lower noise margin around 0v than CMOS. Still, I think it does help when there's a lot of electrical noise around.
The outputs are just wired to a ULN2003 array of 7 NPN transistors, which drive the relays in the power boards.
I wired an ICSP header for ease of reprogramming, and the µC still has many free IO pins, including the UART, which I have reserved for future features (Maybe "Internet of Things", remote control panel, etc.)
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.