Which microcontroller is recommended for a home automated system project?

  • Thread starter bumclouds
  • Start date
In summary: I suggest picking up a good C or C++ reference book along the way, as well as an assembler book. Personally, I like "Assembling for Microcontrollers" by Brett Slatkin (O'Reilly).In summary, the recommended microcontroller for this job would be an Atmel AVR.
  • #1
bumclouds
25
0
Default Recommended Microcontrollers?
Hey guys,

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!
 
Engineering news on Phys.org
  • #2
bumclouds said:
* 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++.
 
  • #3
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
 
Last edited by a moderator:
  • #4
There's always the ubiquitous PICs... so many to choose from.

And "free" downloads of C compilers to suit.
 
  • #5
Last edited by a moderator:
  • #6
PICs are ok if you're developing in C.

The microchip assembler syntax sucks in my opinion.
 
  • #7
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.
 
  • #8
8051 is good i think. check it out
 
  • #9
NoTime said:
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.
 
  • #10
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).
 

Related to Which microcontroller is recommended for a home automated system project?

1. What is a microcontroller and what does it do?

A microcontroller is a small computer on a single integrated circuit that is designed to control specific functions in electronic devices. It contains a processor, memory, and input/output peripherals, and is used to carry out tasks such as processing data and controlling the operation of other components.

2. What factors should I consider when choosing a recommended microcontroller?

Some important factors to consider when choosing a microcontroller include its processing speed, memory size, number of input/output pins, power consumption, and cost. It is also important to consider the specific requirements of your project and choose a microcontroller that can meet those needs.

3. What are some popular brands of recommended microcontrollers?

Some popular brands of microcontrollers include Arduino, Raspberry Pi, PIC, and STM32. Each brand offers a variety of microcontrollers with different features and capabilities, so it is important to research and compare options before making a decision.

4. Can I use any microcontroller for my project?

It depends on the requirements of your project. Some microcontrollers are better suited for specific tasks, so it is important to choose one that can meet the needs of your project. Additionally, some microcontrollers may require specialized programming languages or tools, so it is important to consider your own experience and resources when choosing a microcontroller.

5. How do I program a microcontroller?

Programming a microcontroller involves writing code in a specific programming language and uploading it to the microcontroller's memory using a special programming tool. Each microcontroller may have its own specific programming language and tools, so it is important to consult the manufacturer's documentation for instructions on how to program a specific microcontroller.

Similar threads

  • Electrical Engineering
Replies
5
Views
2K
Replies
6
Views
6K
Replies
4
Views
2K
Replies
2
Views
2K
Replies
4
Views
4K
  • Programming and Computer Science
Replies
3
Views
2K
Replies
4
Views
2K
  • Mechanical Engineering
Replies
30
Views
2K
Replies
5
Views
4K
  • General Discussion
Replies
11
Views
1K
Back
Top