Posts tagged ‘mr baybus’
After such a good response to Mr. Baybus, I decided to up the ante. I wanted temperature sensing and light control, as well as a more refined interface. I also wanted a chance to write much, much better code as Mr. Baybus was most definitely a kludge. This led to the design of Mr. Baybus 2.
Mr. Baybus had a few problems I wanted to take care of. One being price, it cost way too much compared to its utililty value, which is normal for projects like this, but still…
Mr. Baybus 2 uses a much more sophisticated microcontroller, a PIC 16F870. This is a 28-pin SDIP style chip, lots more I/O pins, an onboard UART, and even an ADC. This little guy also has twice the instruction memory, so I had more freedom to make the interface somewhat more sleek, and add more features. The benefit of more pins is CHEAPER LCD. The previous serial LCD ran about $42 shipped, which is semi-high for a serial LCD in general, but it was a CrystalFontz so at least it was high quality. Anyways, now I can move to a simple HD44780 based parallel LCD (by CrystalFontz, of course). These run around $20 shipped, and even less from other places selling generics.
- Three On/Off Fan controls
- One 12V Light control (Neons, etc)
- Two centrigrade temperature sensors
- 20×2 screen (any HD44780 compatible will work)
- Simple, menu-driven style interface
- Stores fan status in non-volatile memory
A slight update to the original. I decided I wanted to re-write it in C as an exercise. While I was at it, I figured I’d add a feature or two.
Pretty basic, a complete re-write in C, Hi-Tech PICC to be exact. It’s a great compiler for the PICs and gave me opportunities to re-write the LCD, ADC and DELAY libraries in C.
- New program-loop idea, worked well
- Strobe mode for Light output
- Temperatures in Celcius or Fahrenheit
All files for Mr. Baybus 2 are available at GitHub.
Mr. Baybus is a microcontroller-based fan control system. It is a completely stand-alone unit, with no computer-control whatsoever.
Control comes from momentary switches on the front panel. You have 4 switches to toggle your fans on/off, and a brightness/contrast button, which switches you into a screen to alter those settings. Another press gets you back to the fan status display.
All settings are saved in EEPROM memory on-chip. So when you shut your system down, then power back up, your fans will be running the same as they were before, and your brightness and contrast will remain unchanged as well.
The display is a CrystalFontz 16×2 Serial LCD. This unit is EXCELLENT. It supports SPI transfers which is what Mr. Baybus prefers!
The fans are switched by power MOSFETs. IRL3102’s to be exact. They are rated to handle up to around 7A for a 12V circuit like this. This is of course far beyond anything I would ever want to throw at it, but it’s nice to know you have the room to expand.
Connections to the system are made via a small 4-pin connector. This facilitates 2 fans per circuit, 4 circuits in all. The connector is the same as the CD-Audio connector on your CD-Rom’s so it’s quick and easy to remove the fans.
The brains of the system come in the form of an 18-pin microcontroller. A very basic PIC16F84a. At 4MHz this little guy is going way faster than this system needs but hey, if you got it, why not. All 912 lines of code were written in assembly over the course of a few nights.
Full source code, schematics and PCB layouts are available on GitHub, enjoy!