Im looking into designing something for a Uni project. What we have in mind is a "Home Automated System". What we are going to do is find a model house (perhaps a doll house) that resembles a real house and design a system that can remotely control door locks, blinds/curtains, lights and heating.
With the heating we're obviously not going to use a real heater, just something like an LED that shows the user that the "heater" has been switched on.
My question to you guys is this: What microcontroller would you suggest for this job?
These are some of the things we will probably need to take into account when choosing our microcontroller:
* We don't have very much experience at coding assembly language, however we've had a fair bit of experience with coding of C and C++.
* Cost isn't really much an issue.
* With the heating, we plan to use a thermistor such as the LM335Z to indicate to the system whether or not the room needs to be heated. So the microcontroller might have to have analogue inputs.
* We will be using stepper motors for the blinds/curtains.
* And electromagnets for the door locks
* We may think about adding in a security feature to the system such as an access pin at some later date.
Any recommendations for a microcontroller would be greatly appreciated! Something that is easy to use and program would be absolutely ideal!!!
Thankyou!!
NoTime
Aug11-08, 01:58 PM
* We will be using stepper motors for the blinds/curtains.
Just a thought
Having made a blind controller, most stepper motors don't develop enough torque for this function.
I needed to use a gearhead motor.
So optical encoding and/or limit switches come to mind.
Sorry, I'm not familiar enough with current uP selections.
For ease of use you would want a uP development board, most of which have C or C++.
mgb_phys
Aug11-08, 03:17 PM
A basic stamp (http://www.parallax.com/) would be quickest and easiest.
But it's programmed in Basic rather than C and not commonly used in industry
The Atmel AVR is a very popular family with great community support. http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3146
I haven't bought one yet, but I'm impressed with what you get for the money with this kit http://www.deccancode.com/multiple-micro-support-board.asp
zeitghost
Aug11-08, 05:43 PM
There's always the ubiquitous PICs... so many to choose from.
And "free" downloads of C compilers to suit.
Sakha
Aug12-08, 01:04 AM
Basic stamps are great because coding in them is really easy, AVR's are a very nice option too, but stick to the PIC's they're just really great and efficient.
I started with the PICkit 2 Debug Express, and don't regret it at all.
http://www.microchipdirect.com/productsearch.aspx?keywords=dv164121
zeitghost
Aug12-08, 01:46 PM
PICs are ok if you're developing in C.
The microchip assembler syntax sucks in my opinion.
asynchronous13
Aug13-08, 12:13 PM
The Basic Stamp is incredibly easy and quick to program. Great for quick proof-of-concept work, but also very limited capabilities. BASIC only.
PICs are numerous, pretty decent, sort of stuck at hobby-level applications. C compilers available.
Atmel AVRs are what I would recommend. Capabilities span hobby to industrial usage. Lots of community help. C compilers available.
Motorola/Freescale 68HC11 is an industry workhorse. Probably more expensive than the other options. C compilers available.
N468989
Aug13-08, 07:24 PM
8051 is good i think. check it out
WiseKensai
Aug14-08, 02:30 PM
Just a thought
Having made a blind controller, most stepper motors don't develop enough torque for this function.
I needed to use a gearhead motor.
So optical encoding and/or limit switches come to mind.
Sorry, I'm not familiar enough with current uP selections.
For ease of use you would want a uP development board, most of which have C or C++.
Well, if you need to do more complex motor control with encoders, A/D's for the temp sensor, code in C, and have enough GPIO do to random stuff (as well as serial interfaces for the planned keypad), you might want to check out a more advanced uP, such as the dsPIC33F from Microchip (the Motor Control (MC) sub family is where you want to look).
The general class of device you're looking at is a DSC (Digital Signal Controller). A bunch of different companies make them, Atmel, TI, Microchip, etc. Sure, it might be a little overkill, but the extra horsepower will be worth it in prototyping, and you said cost wasn't that big of a factor.
MATLABdude
Aug16-08, 06:16 AM
These days, Assembly seems passé, what with 10s of MHz clock speeds, oodles of clock cycles to burn, and peripherals handling nearly everything under the sun. I'm a big fan of learning assembler because it gives you a better idea of what happens "under the hood" of your C, or C++ powered project. Then again, that's how I got introduced to microprocessors/controllers, and this may be an instance of propagating abuse. ;-)
That said, C isn't too far abstracted from assembly, and if you pay attention to the datasheet / reference manual, you can learn a lot (assuming this is for a first project, for instance). I started out using PICs, but they're (at least, the PIC12,14,16,18 families) designed by EEs for EEs, and were not really designed with C in mind. The ATMEL family was designed to be programmed in C right from the git-go (if you go for the high-level language thing).
The ATMEL 8-bit family offers:
*GCC standard C (don't underestimate the importance of this) compiler support, with a good (official) free Windows tool chain (AVRStudio) and some decent Linux stuff.
*(cheap) official programmer (good for nearly the entire line): AVRISP mkII (~$30)
*not so expensive in-circuit emulator tool: AVR JTAG ICE mkII (~$300)
*oodles of on-board peripherals (a few even offer USB and ethernet--if this is important, but then, so does the PIC)
I was going to recommend something with oodles of I/O (e.g. ATmega644P), but then I saw that your project is targeted towards home automation. Not to tell you how to do your project, but give some consideration towards decentralization of your system (e.g. a micro to control a set of blinds), and a good communications system back to your central controller (HINT: don't expect passing of 5V logic and GND to be really reliable in a big network).