|
Forum Index : Microcontroller and PC projects : Advice needed for building temperature control system
| Page 1 of 2 |
|||||
| Author | Message | ||||
| rogerdw Guru Joined: 22/10/2019 Location: AustraliaPosts: 940 |
Hi, I've been on thebackshed forum for a while but rarely ventured in here. I'm currently building a solar air heater and have reached the stage where I need some controls. I had experience many years ago with Z80's and then PIC Microchips ... but I assume it would be a lot easier and more effective to use something a little more advanced ... particularly in using prebuilt displays and temperature modules ... and associated library routines etc. Does that mean a Raspberry Pi or Arduino of some sort ... or are there better options. My requirements are to monitor five seperate temperatures ... have a reasonable size display so I can read from a distance (7" or 9") ... an output to control a variable speed motor ... and some buttons or a pot to set desired parameters. Apart from driving and reading the above, it will also need to perform some really basic decision making and timing functions. Does anyone have any thoughts or suggestions please. Cheers, Roger |
||||
| Solar Mike Guru Joined: 08/02/2015 Location: New ZealandPosts: 1173 |
You could look at this post Plant Propagation Controller , it uses a Picaxe 20M2 to talk to 8 temperature sensors, control 4 pumps. I have the pcb, no software written as yet as wont require the thing until end of this year. Should cover most of your requirements. Cheers Mike |
||||
| Tinine Guru Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
This is a bit overkill But it depends on whether you put a value on your time. |
||||
| CaptainBoing Guru Joined: 07/09/2016 Location: United KingdomPosts: 2171 |
redneck tech. Brilliant https://www.youtube.com/watch?v=FtfaZMahSUU I might have put the fan at the bottom just to remove thermal stress. Using cans like this seems to be quite a common solution. watching this vid, there are loads in the suggestions down the side. Edited 2021-05-26 17:58 by CaptainBoing |
||||
| lizby Guru Joined: 17/05/2016 Location: United StatesPosts: 3478 |
Picaxe is a great chip, but getting a large-screen display with graphics is difficult unless you use the pricy Nextion displays. Here's an example of an ARMMite F4 with hat PCB, 800x480 display, and 2x20 breakout PCB for controlling pins (you can also use flying wires): ![]() Details and links to PCB gerber files at Armmite F4 on Fruit of the shed (See "Boards for 2x20 40-pin pi-type connector", "Some LCDs" (and "LCD Adaptors" if you want a display bigger than the 320x240 one).) For a 7" or larger display, BigMik's F4 PCB pointed to by tinine might be the best option. ~ Edited 2021-05-26 21:21 by lizby PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
| zeitfest Guru Joined: 31/07/2019 Location: AustraliaPosts: 622 |
The question is, do you want a system that is useful as a heater without stuffing about, or do you want to tinker about with an micro/electronic system as being the main activity ? They are both perfectly legit aims of course. Simple DIY temperature/heater control systems are rife on the Net, just google it. If you are wanting to step through the elements of good analog measurement techniques and develop your own system that works, I would start with a micro that has a good analog-digital converter and carefully use that sticking to the design notes. A pic32mx170 AD will easily give accurate single-shot measurements if used correctly. Another way is to just use digital sensors and read their data digitally, you can buy several systems that have pre-built modules that just fit together and the software has pre-built examples. |
||||
| Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 8297 |
I wouldn't have thought that temperature management in a system like this would be in need of much absolute accuracy. Repeat accuracy would probably be more important. Without knowing a lot more about what's wanted I wouldn't like to guess at the programming effort required. IMHO the F4 + LCD display would be good. Plenty of IO pins, so using 5 for DS18B20 temperature sensors (check the temperature range) would be ok. A DAC output could give 0-3.3V that could be converted for a motor drive. The touch screen interface, with the on-screen controls, would be a rather neat way to get round the buttons & switches - and it's all handled in MMBasic. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
| rogerdw Guru Joined: 22/10/2019 Location: AustraliaPosts: 940 |
Thanks Mike, that is certainly likely to be adaptable to what I need ... though I'd have to get up to speed with the programming side. I downloaded a picaxe manual and have had a good read. Do you have spare boards you would sell? I see the 1-wire-wide-area-network ... I'm assuming that allows online connectivity ... so I could use my PC for a detailed display??? ... and just have a few basic buttons and leds on the device perhaps? That definitely is a very attractive proposition. I like the size of the display and the very tidy interface board ... though I'm not at all familiar with the STM32F4. What programming language and process is needed for them ... is it a steep learning curve? Thanks for all those suggestions. Again, I am not familiar with any of that gear so am wondering if it may be too large a task for my abilities given the time required. I've been reading up on the various items and slowly gaining some understanding, so I'll keep studying. That's an excellent question and thanks for asking it. If I had plenty of time up my sleeve, I'd go for the latter ... but at the moment, I really just need to add some controls to my device and pretty it up later. I think that was what I was hoping for in the back of my mind. The heater is already a fairly large task and lots of time spent learning an additional new skill is time that will delay using the heater. As above, I can always pretty it up later on. Agreed, you are correct. Close enough is good enough at the moment. I really need more monitoring and control so I can fine tune the device and get the best out of it. Once I've done that, I will probably be able to get away with a much simpler control system ... but I am still learning every day about how it runs ... and that often changes how I think it is best controlled. There's a picture of the prototype in this fairly long thread on the build here I certainly like the idea of the F4 and 9" touch screen display ... mmmm! and it's MMBasic ... more reading. Thanks for all the input so far. Cheers, Roger |
||||
| Tinine Guru Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
MMBasic: The answer is "Yes", so what's the question? You can write/debug your code in a few hours...it's that ridiculously easy. |
||||
| rogerdw Guru Joined: 22/10/2019 Location: AustraliaPosts: 940 |
Okay, that's encouraging then. I've had plenty of experience with assembly and machine code ... but none with MMBasic or any other higher level language for that matter. Where do I start? ![]() Cheers, Roger |
||||
| lizby Guru Joined: 17/05/2016 Location: United StatesPosts: 3478 |
Link to photo didn't work for me; this should go to the exact post . Intro to the Maximite here. Downloads are on that page. You can download the DOS MMBasic version and manual. While it unfortunately doesn't include graphics or control of pins, you can learn the basic syntax. For instance: do print "Hello, World" loop (<Ctrl-C breaks out of the never-ending loop.) ~ Edited 2021-05-27 01:40 by lizby PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
| Tinine Guru Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
Where are you located? I have surplus F4 and MX170 units to get your feet wet or you can order the aforementioned unit from BigMik. |
||||
| rogerdw Guru Joined: 22/10/2019 Location: AustraliaPosts: 940 |
Whoops, thanks for correcting that. Thank you. I have been reading through his site. I need to soak it all up, though 1.30am ... bedtime!! Ahh, thanks for the offer. I'm in South Australia. So if I ordered a display, an F4 and BigMik's interface board ... along with some temperature sensors, p/supply etc ... I'd just have to write my code in MMBasic, load it in and run it? And things like motor drive or relay outputs can be bought as plug in modules or need to roll my own? Cheers, Roger |
||||
| lizby Guru Joined: 17/05/2016 Location: United StatesPosts: 3478 |
These relay modules are easy to use. Most of the "5V" modules (control side) are likely to work with 3V3 from the Micromite. These work in other circumstances (but maybe not for big motors with large inrush currents). As far as motors go, it depends on what type, what voltage, what requirements. Screens like this are not hard to construct: ![]() Edited 2021-05-27 02:37 by lizby PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
| rogerdw Guru Joined: 22/10/2019 Location: AustraliaPosts: 940 |
Thanks for the links, that should be easy enough then. I'm not sure about the motor yet. At present I have a simple two speed 240V exhaust fan which works ok (43 and 50 watts) ... but I'm leaning towards a variable DC motor for some slower speeds for when there is not much heat output ... and really high for when it is pumping. Still only a maximum of a couple hundred watts perhaps. There have been suggestions I simply hook up a dc blower fan to a PV panel and allow the sun to determine the speed ... and that could even work to a degree ... but I think it will need a little more finesse for best results. I like the idea of a larger screen so I can have the critical info viewable from a distance. Nothing worse in this day and age having to go right across the room, get down on my knees so I can get the right viewing angle for the el-cheapo lcd displays ... get out my phone so I can turn on the torch ... you get the picture. There's a lot to be said for old style analogue dials and displays ... maybe not the accuracy or the smarts ... but you can get a pretty good picture at a distance. Thanks for all the help. Cheers, Roger |
||||
| Tinine Guru Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
Everything I do with microcontrollers is paid for (puts bread on the table) I have always searched for the simplest solutions that don't compromise performance. My current solutions: Non time critical: Micromite/Armmite Semi time critical: PIC32MX170 running Bypic instead of MMBasic. This is the same on-chip programming but with a sort of on-chip compiler and runs faster than the CMM2. Supports up to 20 tasks. Deterministic real time: Parallax Propeller. Using the 3 above "secret weapons", I can accomplish any task without being a wizard programmer. Front end? I don't believe in dedicated touch-screen displays or keyboards because pretty much everyone has the most powerful HMI ever created in their pocket. Bluetooth interfacing is a walk in the park and so is Android programming. My clients are only impressed with something that looks at least as good as what they see on their phone....who wants a limited colour/resolution display? It's ridiculous IMO. And if/when that display fails? It's so stupid when one can simply download an app to any Android device. |
||||
| rogerdw Guru Joined: 22/10/2019 Location: AustraliaPosts: 940 |
Makes a lot of sense. And thanks for your comments on your solutions seperated into timing requirements. I will keep that in mind for any future projects. My current project falls into the first category ... non time critical. Haha, yeah, that makes sense too ... though in this instance, I want (myself and others) to be able to walk through a room and see some info at a glance ... ... without having to pull out my phone/realise I left it in the workshop/eventually find it in the car ... ... and then fumble with the stupid edge thing because it's too sensitive ... turn up the brightess because for some reason it still thinks it's in the sun ... You might think I'm a millenial and into instant gratification .. but I'm not ... I just hate making simple stuff hard to do and time consuming. Of course that applies to building controls too, so you've got me there. Awesome ... I have plenty of projects in mind that could do with both. I'll ask more questions when I'm at that stage. Yes, fair point. It's something I have to deal with on a regular basis in repairing equipment for people. Cheers, Roger |
||||
| Andrew_G Guru Joined: 18/10/2016 Location: AustraliaPosts: 873 |
Roger, This a relatively easy menu created on an Eastrising 800x480 LCD. It is using BigMik's F4-ER adapter to an F4 running MMBasic. In this case it just turns on modules connected to the F4 - but they could be relays, motors or whatever. Temperature in this case is provided by a DS18B20, a DH22 or the internet via an ESP8266. It automatically dims the LCD when the Light Dependent Resistor reading, ie "Dim Below", drops below 5 (it is currently 28.0) it will dim to 10% and the "Bright" value is 80% - all adjustable by MMBasic's GUI controls on the menu. The settings can be saved or abandoned. Cheers, Andrew |
||||
| lizby Guru Joined: 17/05/2016 Location: United StatesPosts: 3478 |
Agreed. My uses are simple, but I turn on a heater in the barn and a light which is hard to get to using html on my phone. The heater predates my experience with MMBasic, so for wifi connection it uses a picaxe connected to a small router running openWrite. Clunky, but functional. For the light I use Annex on a Sonoff wifi switch. What do you use for bluetooth on the Micromite end? And what do you use to develop your interface app on the android phone? PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
| rogerdw Guru Joined: 22/10/2019 Location: AustraliaPosts: 940 |
Thanks Andrew. So you wrote the script for the display example you showed, or are there libraries of code to choose from and modify etc. That looks great. I can see myself using all of those types of interfaces. Thank you. Cheers, Roger |
||||
| Page 1 of 2 |
|||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |