Which microcontroller is recommended for a home automated system project?

  • Thread starter Thread starter bumclouds
  • Start date Start date
Click For Summary

Discussion Overview

The discussion revolves around selecting a suitable microcontroller for a home automation system project, which involves controlling door locks, blinds, lights, and heating in a model house. Participants explore various microcontroller options, considering factors such as programming experience, cost, and specific project requirements like analog inputs and motor control.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant suggests the need for a microcontroller that supports C or C++ programming due to limited experience with assembly language.
  • Another participant notes that many stepper motors may lack sufficient torque for controlling blinds, recommending gearhead motors and optical encoders or limit switches.
  • A basic stamp is proposed as a quick and easy option, though it is noted that it uses BASIC rather than C.
  • Atmel AVR microcontrollers are mentioned as popular with good community support, and a specific kit is highlighted for its value.
  • Participants mention the versatility of PIC microcontrollers, with many options available and free C compilers.
  • Some express a preference for PICs due to their efficiency, while others caution about the assembler syntax used in Microchip products.
  • One participant recommends the Atmel AVR for its capabilities spanning hobby to industrial use, along with community support and C compiler availability.
  • The Motorola/Freescale 68HC11 is mentioned as an industry-standard option, albeit potentially more expensive.
  • Another participant suggests the dsPIC33F from Microchip for more complex motor control and additional features, indicating it may be overkill but beneficial for prototyping.
  • Discussion includes the idea that learning assembly can provide insights into microcontroller operation, though some participants argue that modern microcontrollers are designed with high-level languages in mind.
  • Consideration is given to decentralizing the system with multiple microcontrollers for different functions and ensuring reliable communication between them.

Areas of Agreement / Disagreement

Participants present multiple competing views on the best microcontroller options, with no consensus reached on a single recommendation. Various preferences and considerations are expressed regarding programming languages, ease of use, and specific project needs.

Contextual Notes

Participants mention limitations such as the torque capabilities of stepper motors and the need for additional components like gearhead motors and encoders for effective control. There are also discussions about the appropriateness of different programming languages and the complexity of the project requirements.

bumclouds
Messages
24
Reaction score
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
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++.
 
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:
There's always the ubiquitous PICs... so many to choose from.

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

The microchip assembler syntax sucks in my opinion.
 
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.
 
8051 is good i think. check it out
 
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).
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 6 ·
Replies
6
Views
7K
  • · Replies 17 ·
Replies
17
Views
7K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
4
Views
3K
Replies
4
Views
5K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 3 ·
Replies
3
Views
3K
Replies
5
Views
4K