View Full Version : The brains of the operation
teilhardo 06-17-2005, 01:12 PM Hi All,
Its been a while since I have posted here but I have been without a garage for the last 10 months (while in school) and am trying to conclude a relatively simple project that I began a few years ago. Anyways, to finish this project, I need to control 4 pumps, 2 solenoids, 1 SSR , a level sensor, and 3 thermocouples (LM34's). Anyways, my original plan was to use a microcontroller and a large quantity of MOSFETS along with A/D conversion circuits to accomplish this task. But then the design became more and more complex (adding more I/O) while I also decided to make the contraption more user friendly by adding a GUI. I was wondering, for any of the really technically inclined on here how one with my lack of advanced technical skills could somehow control this contraption with a computer. Would JAVA be the best? Maybe use the parallel port? Or could I maybe use a hybrid system that uses a GUI AND a microcontroller? THe microcontrollers i have access to are the basic STAMP2 and the PIC 16FXX (if I remember correctly)
If anyone has any opinions, etc please feel free to contact me. I am in need of some advice at this point.
Thanks a lot for listening,
Tei
ViperTX 06-17-2005, 02:48 PM All depends on how you want to do it....you could use your pc & basic to validate the design...then either graduate to C or Forth....how's that for a combo. You could use the basic stamp to control everything and use the PC as your gui terminal and download to the stamp.
Al_The_Man 06-17-2005, 02:57 PM I guess it would depend somewhat on wether you want to achieve this with minimum cost or minimum engineering or both?
I would think the cheapest way would be with a PIC and work in one of the GUI LCD serial panels that are out there, maximum engineering, another way if you want to use a PC is VB and PC based Analogue/IO cards which come up on ebay at times.
The way that may involve more cost but minimum engineering is by PLC, most have their own type of GUI and third party ones like Maple OIT, if again, you can get a deal on eBay, you can achieve both min. cost- min. engineering.
The PLC also has built in various type of outputs SSR relay etc.
Al.
wizard 07-04-2005, 12:18 AM Hi All,
Its been a while since I have posted here but I have been without a garage for the last 10 months (while in school) and am trying to conclude a relatively simple project that I began a few years ago. Anyways, to finish this project, I need to control 4 pumps, 2 solenoids, 1 SSR , a level sensor, and 3 thermocouples (LM34's). Anyways, my original plan was to use a microcontroller and a large quantity of MOSFETS along with A/D conversion circuits to accomplish this task. But then the design became more and more complex (adding more I/O) while I also decided to make the contraption more user friendly by adding a GUI. I was wondering, for any of the really technically inclined on here how one with my lack of advanced technical skills could somehow control this contraption with a computer. Would JAVA be the best? Maybe use the parallel port? Or could I maybe use a hybrid system that uses a GUI AND a microcontroller? THe microcontrollers i have access to are the basic STAMP2 and the PIC 16FXX (if I remember correctly)
If anyone has any opinions, etc please feel free to contact me. I am in need of some advice at this point.
Thanks a lot for listening,
Tei
Here is my point of view:
Java is not the way to go unless you are supplied with libraries for hardware interfacing. The exception would be a microcontoller with a built in java that allows direct access to hardware. Java is a virtual machine environment and needs special techniques to access hardware, it is doable but I get the impression you aren't ready for that.
Another issue similar to Java's problem is that modern OS do not allow direct hardware access either. So you will need drivers or the ability to write them. So consider hardware with supported drivers if you wise to build GUI on modern PC OS'es.
Micro controllers are always a possibility but if you haven't spent some time with them there is a learning curve!
For one off things like this it would probably be best to stick with a PC and I/O hardware supported with good drivers. This can be either an I/O card in an expansion slot or a USD device. Shop around a bit!
Dave
pmurray 07-04-2005, 12:05 PM teilhardo,
The approach I would take is the hybrid approach and this is why:
- If real-time control of you’re A/D’s, solenoids, switches, etc. is an issue, doing it on a PC running a modern windows type OS could be difficult. IMO, real-time control of external devices from this type of PC is difficult and non-deterministic. Today’s modern PC’s are geared more for running Power Point, not real-time control of external devices.
- And, as already mentioned, direct low-level control of required existing ports (or new ports contained on a plug-in board that contains your specialized hardware) can be difficult to do. Programming instructions required to do this are now prohibited from use at the application level and must be used from the kernel. Unless you are running something like Linux, where dealing with the kernel is somewhat relatively easy, as compared to doing it on say, a Windows OS, is a real pain.
- However, modern PC’s with a windows type OS are great for implementing GUI’s. Or, you could use it as just terminal interface to your board with it’s own microcontroller using an RS-232 connection.
Given the above and, since you are going to have to be building specialized hardware anyway, why not add a microcontroller for the required real-time control with something as simple as an RS-232 (or USB, etc.) link to the PC. This link would send various commands and receive status and data from your board.
As an example, to initially get going and to help you debug your custom hardware, you could use a terminal program (like Hyper Terminal that comes free with MS OS’s) for the initial software on the PC side. On your application board, using an RS-232 interface, you could write a command-line or menu driven program for testing and running your hardware.
At a later time, you can spice things up by writing a GUI application for your PC for controlling your board. It would still use the same physical link, in this example, RS-232 but, with a different logical interface – a protocol that used codes that are sent to your board (from your GUI) to do various functions and a receive mode for completion status and to retrieve any necessary data from your board.
I have worked with embedded controllers for 25+ years, and, regardless of the application, I would always embed a debug monitor (poor man’s debug tool) with the application and connect a terminal to the board to get feed back.
I have just started working with the PIC microcontrollers and have departed from programming in assembly and am using C exclusively – this has made things a lot easier in that I have not had to learn a new assembly language. When compared with something like the venerable HC11, I am amazed at the amount of onboard resources and prices that the PIC’s, Atmel’s, etc. offer.
As an example of the above type of hybrid system – using a GUI interfaced to a microcontroller – look at Microchip App Note AN893 – read the firmware/software section of this paper. Here’s the link: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1999&ty=&dty=§ion=&NextRow=&ssUserText=AN893&x=0&y=0&DesignDocSelect=
Just my 2 cents. . . Hope this helps
plm
P.S. Looking at your profile, I see electronics and engineering are among your interests. I don’t know what your career goals are but if they are leaning towards technology, knowing how to work with embedded controllers, writing real-time code and, although probably not necessary for your current project, knowing how to use FPGA’s and an HDL for programming them are very tangible skills to have. Master these disciplines, along with some motion control theory, and you can do things like seek and track following algorithms for the actuator on a disk drive or the motion routines on a professional CNC controller.
murphy625 07-04-2005, 12:17 PM Hi All,
Its been a while since I have posted here but I have been without a garage for the last 10 months (while in school) and am trying to conclude a relatively simple project that I began a few years ago. Anyways, to finish this project, I need to control 4 pumps, 2 solenoids, 1 SSR , a level sensor, and 3 thermocouples (LM34's). Anyways, my original plan was to use a microcontroller and a large quantity of MOSFETS along with A/D conversion circuits to accomplish this task. But then the design became more and more complex (adding more I/O) while I also decided to make the contraption more user friendly by adding a GUI. I was wondering, for any of the really technically inclined on here how one with my lack of advanced technical skills could somehow control this contraption with a computer. Would JAVA be the best? Maybe use the parallel port? Or could I maybe use a hybrid system that uses a GUI AND a microcontroller? THe microcontrollers i have access to are the basic STAMP2 and the PIC 16FXX (if I remember correctly)
If anyone has any opinions, etc please feel free to contact me. I am in need of some advice at this point.
Thanks a lot for listening,
Tei
My system controls several pumps, solinoids, lights and sirens, a servo motor, several limit switches, etc etc.
I use Camsoft and a Galil card.. This enabled me to control, monitor, and regulate my process and provided lots of room for expansion.
I guess it all depends on how much money you want to spend. My system was very cheap compared to some others.. I actually have what Camsoft considers to be a "low-end" system..
Murph
|
|