Proof of Concept and basic planning

A project log for Heating Controller

Tempted to call this FrankenHeatController or something, but this time round doing it a little bit better.

h3liosphanh3liosphan 10/25/2021 at 21:010 Comments

I've undergone some basic proofing of concept, started building a simple servo control using this chap's YT video -

This is a great explanation, because the net is swarmed with articles talking about how a Pi (especially the Zero) cannot drive a Servo without even a little bit of jitter - this was a misconception based on how Linux is timeshared, and hence can't drive a steady PWM signal without missing the timing - it can be done instead using the various hardware peripherals, hardware PWM on any GPIO pin is the solution.

I built a brand new RPi SD Card image with the latest Pi OS Lite on it (don't need the GUI), booted it up and fully configured it. After following the instructions to plug in a servo, power it, and drive it with a GPIO pin, all was good. This worked fine.

Obviously you'll run into issues attempting to drive powerful servos, powering the mini-servos is usually preferred without augmenting the power supply to the servo (i.e. not powering it through the 5v pin on the pi). Fortunately, with extensive testing I've managed to get a normal hobby sized servo - Hitec HS645 MG working just fine without any hiccups off of the 5v pin on the Pi - this is with a 3.4A charger from Ikea (however it's only 2.4A per USB socket, it's a 3 way). 

I have a cheapo HobbyKing servo (H-KING) that does not like working from it - the servo twitches when asked to move, then the pi immediately resets, suggesting there was a nasty brown-out.

I've experimented with an IRF540A, never having previously worked with MOSFETs before, I had to do extensive reading before figuring out it requires too high a voltage before activating. I have no experience either building a correct circuit to drive it thru a transistor, so I instead ordered some logic level MOSFETs.

I've placed an order for 10x IRLZ44N's, as I predict at least two will get blown during my experimentation!