A while ago, [Kyle] built an automated mushroom cultivator. This build featured a sealed room to keep contaminants out and enough air filtering and environmental controls to produce a larger yield of legal, edible mushrooms than would otherwise normally be possible.
Now, he’s at it again. He’s expanded the hardware of his build with a proper, grounded electrical box for his rig, added more relays, implemented PID for his temperature and humidity controller, and greatly expanded the web interface for his fungiculture setup.
Like the previous versions of his setup, this grow chamber is controlled by a Raspberry Pi with a camera and WiFi module. Instead of the old plastic enclosure, [Kyle] is stepping things up with a proper electrical enclosure, more relays, more humidity and temperature sensors, and a vastly improved software stack. Inside the enclosure are eight relays for heaters and humidifiers. The DHT22 sensors around the enclosure are read by the Pi, and with a proper PID control scheme, controlling both the temperature and humidity is simply a matter of setting a number and letting the machine do all the work.
The fungi of [Kyle]’s labor include some beautiful pink and white oyster mushrooms, although with a setup like this there’s not much fungiculture he can’t do.
The USB Implementers’ Forum doesn’t make things easy for anyone building a product with a USB port. To sell anything with USB and have it work like USB should, you need to buy a USB Vendor ID, a $5000 license that grants you exclusive use of 65,536 USB Product IDs. Very few companies will ever release 65,000 products, and there are a lot of unused PIDs sitting around out there.
Now, someone has finally done the sensible thing and put an unused USB VID to work. pid.codes obtained the rights to a single VID – 0x1209 – and now they’re parceling off all the PIDs that remain to open source hardware projects.
This is not a project supported by the USB Implementers’ Forum, and is more of a legal game of chicken on the part of pid.codes. The only thing the USB-IF could do to stop this is revoke the original VID; useless, because they can’t reassign it to anyone else. The original owners of the VID, InterBiometrics, licensed their VID before transferring or sublicensing VIDs and PIDs was prohibited by the USB-IF.
You can get a PID by forking the pid.codes repo, claiming a PID, and sending a pull request. Once that’s accepted, that PID is yours forever.
Go to any control systems class, and you’ll see a final project that demonstrates loops, integration, and everything else that can be learned in a semester or two of control theory. This project is not from one of those classes. It is, however, very cool: it balances a 40mm steel ball on the rim of a lasercut wood wheel using nothing more than a solar cell as a sensor.
[Manuel] was inspired to build this ball-balancing device after seeing a similar project at CCC about six years ago. He doesn’t remember who made it, and eschewed the PC/Matlab architecture of the original, but this build retains one interesting feature of its muse. The input to the control system is just a high intensity light bulb and a solar cell. The 40mm steel ball blocks the light reaching the solar cell most of the time. Slight variations in voltage go through the control system to keep this ball balanced on top of the wheel.
The only hardware for this build is a motor, a motor driver, and an ATMega644P. The first revision of the hardware was just a few breakout boards stuffed into a rat’s nest of wiring in the base of the build, but this has been fixed in version two with a new PCB. Video below.
Continue reading “Balancing A Ball With A Solar Cell”
[Ed] owns a 3-zone reflow oven (which he coincidently uses to manufacture reflow oven controllers), but its performance has gotten worse and worse over time. The speed of the conveyer belt became so inconsistent that most boards run through the oven weren’t completely reflowed. [Ed] decided to rip out the guts of the oven and replace it with an Arduino, solving the belt problem and replacing the oven’s user-unfriendly interface
When [Ed] was looking into his belt speed problem, he discovered that the belt motor was controlled by an adjustable linear regulator with no feedback. Although this seems a bit sketchy by itself, the motor also had some mechanical issues and [Ed] ended up replacing it entirely. After realizing that closed-loop speed control would really help make the oven more consistent, [Ed] decided to overhaul all of the electronics in the oven.
[Ed] wanted to make as little custom hardware as possible, so he started out with an Arduino Mega and some MAX31855’s that measure multiple thermocouples in the oven. The Arduino controls the belt speed and runs PID loops which control heating elements in each of the oven’s 3 zones. The Arduino can be programmed with different profiles (stored in EEPROM) which are made up of 3 zone temperatures and a conveyor speed. Don’t have a 3-zone oven of your own to hack? Check out some DIY reflow oven builds we’ve featured before.
[Patrick Herd] was in Sweden recently and decided to help out a team of high school students in the International Young Physicist Tournament — The challenge? Chocolate Hysteresis.
Chocolate what? When chocolate melts, it doesn’t actually re-solidify at it’s melting point — in fact, it’s quite below that. The challenge here is figuring out a scientific way of measuring the time (and temperature) it takes to return to a solid state. This in itself is kind of tricky considering you have to accurately measure the temperature and be able to empirically tell if its solid or liquid.
The first scientific apparatus they came up with was the Chocolate Rig V1 – a very simple peltier heated and cooled calorimeter. They used an Arduino to control the temperature and a motor shield to power the peltier plate. It kind of worked but they discovered it was difficult to assess the physical state of the chocolate. This is when [Patrick] started doing some research and discovered rotary viscometry.
Continue reading “Melting Chocolate – FOR SCIENCE!”
Hot glue falls into the same category of duct tape and zip ties as a versatile material for fixing anything that needs to be stuck together. [Ed]’s Bosch glue gun served him well, but after a couple of years the temperature regulation stopped working. Rather than buying a new one, he decided to rip it apart.
With the old temperature regulation circuit cooked, [Ed] looked around for something better on eBay. He came across a cheap PID temperature controller, and the Frankengluegun was born.
A thermocouple, affixed with some kapton tape and thermal paste, was used to measure the temperature of the barrel. Power for the glue gun was routed through the PID controller, which uses PWM to accurately controller the temperature. All the wiring could even be routed through the original cord grips for a clean build.
Quality glue guns with accurate temperature control are quite pricey. This solution can be added on to a glue gun for less than $30, and the final product looks just as good.
Heated beds for 3D printers help reduce the amount of curling and warping of parts. The warping happens when the part cools and contracts. The heated bed keeps the part warm for the entire print and reduces the warping.
As an upgrade to her Printrbot, [Erin] added a heated bed. The first plan was to DIY one using Nichrome wire, but heated beds are available at low cost. They’re basically just a PCB with a long trace that acts as a resistor. She added a thermistor to monitor temperature and allow for accurate control.
The Printrbot heated bed worked, but didn’t heat up quite quick enough. [Erin] was quick to scratch off the solder mask and solder new leads onto the board. This converted the board into two parallel resistors, halving the resistance and doubling the power.
This version heated up very quickly, but didn’t have a steady heat. The simple control that was being used was insufficient, and a PID controller was needed. This type of control loop helps deal with problems such as oscillations.
The Printrbot’s firmware is based on Marlin, which has PID support disabled by default. After rebuilding the code and flashing, the PID gains could be adjusted using g-codes. With the values tuned, [Erin]’s printer was holding steady heat, and can now print ABS and PLA with minimal warping.