Home Control Projects

kmuj

Member
Join Date
Sep 2008
Location
Newcastle
Posts
3
Hi There,

I am looking to do some PLC based control projects at home and am currently at the stage of choosing a PLC. I do not require a large number of IO but am looking for something affordable and fast.

I would like to be able to implement custom (advanced) control algorithms in hard real time. I would also like to plot data (inputs/outputs) on a PC as it is happening, although the plotting does not have to be in hard real time.

I'm not very experienced in PLCs but am thinking PLC because (correct me if i'm wrong) micro controllers require some significant programming just to set it up (comms, IO, interrupts etc). Also I thought about using a PC but to achieve hard real time seems like too much trouble.

I would like to know if PLCs are indeed suited for this and if so any recommendations would much appreciated.

Thank You,
kmuj
 
It depends on what "home projects" that you plan to do. For most of the ones I would want to do, a PLC would be suitable. If you want to view data on a PC, you may need additional software that is designed to work with the specific PLC.

First determine how much you are willing to pay, then how many inputs and outputs. Then look at PLC specifications and prices. Remember, the total cost also will include the necessary programming software to run the PLC, cables, manuals, and Input and Output add-on modules.
 
The type of projects I was thinking of include magnetic levitation, inverted pendulums, switching power supplies, ball and plate... I don't think these type of projects require more than a few inputs and outputs so that isn't really a concern.

I didn't really want to spend over 800 AUD. Do you think this is possible?
 
Some options.
1. Choose a soft PLC to take advantage of their vastly greater computing firepower. This may also make your programming tasks simpler due to lack of downloading etc, I'm not sure (I have never used one myself - industry is not fond of such things). You may even be able to find something open source and get the programming software for little except time (hardware is never free, of course). Normal PLCs may struggle a bit with control tasks that require genuinely high speed control, so you may find it limited for really tough control tasks. They normally have some canned logic -PID blocks etc - that may be helpful to you.

2. Consider a dedicated board you program in C to implement your own control algorithms, with an serial port interface or similar to dump data back to the main computer. Yes, this is equivalent to setting up a microntrontroller but gives you 100% freedom for control tasks you mentioned.

3. If you use linux, you could take a version of Linux and write the control algorithms there, and output using the ports built into the computer plus a little bit of buffering electronics (the sort that can easily be built on a breadboard). It is surprisingly easy in Linux to hack an old computer with a parallel port/game port and use the port pins for whatever general control tasks you want. Obviously your input and output is somewhat limited (digital inputs and outputs, analogue inputs but no analogue outputs) but teamed with a little electronics knowledge you can add a cheap DAC or ADC chip and you're in business. Overall, this is a cheap and flexible option if you're willing to learn some Linux programming along with your control algorithms. Not a bad use for a poxy old computer, either - strip out everything but the control logic and dump the results into a text file or similar for processing later.
http://www.beyondlogic.org/spp/parallel.htm
http://www.faqs.org/docs/Linux-mini/IO-Port-Programming.html#ss6.2
It took me a day or so at uni to get a simple program turning on LEDs and such with some prexisting Linux knowledge and about $15 aussie dollars to get usable physical inputs and outputs switching on LEDs. I'd bet my hat there is something similar for Windows if that's your thing, but I understand it's a bit harder to program yourself.

Good luck!
 
Last edited:
A quick code to my comment "or you could use Windows if you are more comfortable with that". Your requirement of "hard real time" cannot be filled with PC based control in the Windows environment. If you check the how-to link I posted earlier, you will find that Linux has hard-real time kernels available that you can use. However, all Linux 2.x kernals (everything in the last few years) supports some soft real time features such as thread scheduling and such.
 
Alot of the above projects would be better suited on a microcontroller. It would also make the control much more inexpensive and you can set it up with exactly what you need. The micro will probably be a tad more work and brain power up front but I think you'll be happier in the end. PLC's are really more for "Industrial Processes" controlling machines ect. of course they can do far more but, micros a more customizable.
check out www.parallax.com they have some pretty interesting offerings that make it much easier to jump into micros.
 
For the micro controller route you may also want to check out www.netburner.com Look specifically at the PK70 product. They have some interesting add-in boards that may help with some of the projects you are considering.

We have used their stuff to implement a product at work. Very good RealTime OS based on micro-C OS II. There are a couple of reference books written by the person that first implemented the micro-C OS that you can find online.

Anyway, I would look at their stuff (and parallax mentioned above, check out their propeller micro).

Darren
 
PLC GURU said:
Alot of the above projects would be better suited on a microcontroller. It would also make the control much more inexpensive and you can set it up with exactly what you need. The micro will probably be a tad more work and brain power up front but I think you'll be happier in the end. PLC's are really more for "Industrial Processes" controlling machines ect. of course they can do far more but, micros a more customizable.
check out www.parallax.com they have some pretty interesting offerings that make it much easier to jump into micros.

Agreed, a microcontroller is the best and most flexible option for customizable for small, fast control applications. However, the OPs requirement for real time trending is difficult to achieve with a microcontroller - if data capture were all that was required then I'd use a micro and just dump the data out with the serial port (very very easy in C). This by itself might make a PC-based controller a better idea.

As an alternative micro - the Atmel AVR was widely used in the robotics department at my old uni in Sydney, and I successfully built an interface board to control sonars, general IO, reversing motors, bidirectional command/data interface to a onboard computer etc with it, so it is very capable of all the tasks you mention (I believe some students even did balancing beam projects with it). I do recommend getting a development board though so you don't have to much around with things like a RS232 interface chip, programming buffers etc. Designed from the ground up to be programmed in C as well, and there are several free or otherwise good compilers for it floating about (codevision etc).

Incidentally, since you are in Australia I will mention that I bought the AVR200 board (http://www.jedmicro.com.au/avr.htm) for experimentation around the house myself and found it good but bulky. Protected inptus and outputs are good for the inevitatble wiring mistakes you get from prototyping on breadboards ;)
 
kmuj said:
The type of projects I was thinking of include magnetic levitation, inverted pendulums, switching power supplies, ball and plate... I don't think these type of projects require more than a few inputs and outputs so that isn't really a concern.

I didn't really want to spend over 800 AUD. Do you think this is possible?
you can look at mitshubishi alpha has inbuilt screen reasnable cheap apart from software if you can get a copy
also have used omron z relay alsao has screen not as good as full plc easy to program and cheap can be expanded
 

Similar Topics

I've been tasked with designing a new Homes automation with a PLC. First issue is an option the client wanted. Lets say we have a bathroom and...
Replies
14
Views
7,070
Hello, 1.How to set axis (axis_servo_drive) as home position when the axis travel to specific position? 2. Does the instruction MAM could move...
Replies
5
Views
4,054
Hi Everyone, I have a project involving a Beckhoff IPC with Twincat and a Yaskawa servo motor and drive. I'm trying to use the MC_HOME function...
Replies
2
Views
507
I set up a Mitisubishi test system on the bench. Q03UDSPU Q173DCPU MR-J3-40B HF-KP43 HMI is a LS XP50 TTA/KP43 I am trying to use a signed...
Replies
1
Views
398
I'm looking for some starter kits but there aren't so many on the market, so I'm thinking about buying individual components for my needs. I just...
Replies
15
Views
2,469
Back
Top Bottom