Is it possible to build a complete home appliance with Arduino?

Hello all,

I'm a relatively newbie to electronics and Arduino (just started Mechatronic studies after Mechanical). I was wondering, is it possible to build a complete home appliance with Arduino? An appliance powered by AC mains, but the programming controlled by Arduino. My intended appliance is a wheat kneading machine, so it will involve motors (servos probably?), temperature sensors, an LCD, a control panel (can use numeric keypad initially) and some heating mechanism too. (kneaders are available in market but they lack certain features and have certain problems which make me despise them. So thought to work on my own which will also make me learn Arduino more).

What do you think is it possible to build such a complete machine from scratch with Arduino?

Thank you all for your answers in advance.

Yes.
Probably not servos - they are intended more for precise position control.
Regular motor that you just turn on/off and don't care about position are likely all you need.

arslanzaidi:
I was wondering, is it possible to build a complete home appliance with Arduino? An appliance powered by AC mains, but the programming controlled by Arduino.

Yes, as a matter in fact, most modern home appliances run on the exact same basics as Arduino.

I'm also a mechatronica student (Next to working 45 hours a week...), but of the electrical kind. In the first semester they introduced us with arduino because it has 99% of the capabilities needed for "normal" home- and industrial appliances.

Do you have a general idea of what you want and how you want it? maybe a general schematic or flow diagram?

Well, thanks for the "encouraging" answers :slight_smile: Just feeling more in love with Arduino. Regarding flow, I am at very initial stage of planing, will be definitely taking things out of my brain to paper and will share soon. I am learning the basics at the moment, getting to know the control of components individually, will integrate in 2nd phase.

Simple DC motor will off course be the best choice for the rotor but the appliance will also have a component having linear motion (up and down). Simple DC motors will serve the purpose? (or even Stepper motors?)

arslanzaidi:
Simple DC motor will off course be the best choice for the rotor but the appliance will also have a component having linear motion (up and down). Simple DC motors will serve the purpose? (or even Stepper motors?)

The question should be: How well controlled do you want it? A normal DC motor is easy to run and cheap. But the accuracy ain't so good. You can only program it to run for X time. A stepper motor you can control with great accuracy but it requires a bit more programming (Not necessarily a bad thing!).

There are linear stepper motors out there, 26DBM10D2U-L Portescap | Motors, Actuators, Solenoids and Drivers | DigiKey

Hmm..that's a great piece of equipment. Anyways, first I will be reading more about motors myself to select the best ones for my project in my opinion and will come back to this great community off course to discuss the choices.

The processor at the core of the arduino in intended of just this kind of application. You will find them in all kinds of gadgets from washing machines and microwaves to stereo's and TV's (and the controllers).

There are a huge range of AVR processors from ATMEL. Take a look at the makers web site.

Mark

There is information on the [u]Arduino Playground Page[/u] about interfacing with motors & high power devices.

With any project, you'll need to break it into parts. With the Arduino (or any microprocessor/microcontroller project) you can start by separating the the project into 3 main parts - The input & user interface, the software (firmware), and the output & power control.

On the output side, it's often best to start by turning on & off LEDs before actually connecting motors & relays.

And, you can usually do lots of output & hardware testing under software control (with little or no user interface).

AC POWER ISOLATION - If you are running motors & heaters from AC line voltage, you MUST electrically isolate the Arduino (and yourself) from the dangerous voltages. This can be done with relays, or optical isolators (or a solid state relay, which is electrically isolated). The details of what's best to use depend a couple of factors, including what you are trying to control and what kind of control you need, but for now just keep in mind that there must be no direct electrical connection between the Arduino and the AC power.

MOTORS - Most applications will use a "regular" AC or DC motor. These are fairly easy to control with a relay, transistor, or MOSFET. They tend to run fast and are often geared-down. DC motors are easy to reverse (by reversing the direction of current flow). To some extent you can control the speed, and the Arduino's built-in PWM capability makes DC motor speed control easy. But, if you need precise speed control or if the load varies and you need constant speed, then you need some sort of speed-feedback and that gets trickier.

With "regular AC or DC motors, or stepper motors, a micro-switch or an [u]Opto-Interrupter[/u] is often used to set the end-points or "home" position. i.e. A garage door opener doesn't need precise control, but it needs to know when the door is fully-open or fully-closed.

A stepper motor generally has 200 steps per revolution (1.8 degrees per step). They require a special driver circuit, and you have to feed it a pulse every time you want it to "step". (Actually, they can be "micro-stepped" to get a fraction of a step.) They can run fairly fast, but not as fast as a DC motor, and most stepper motor applications run fairly slowly. Of course, gears or pulleys can be used for more-precise control. The print head in a printer is usually positioned with a stepper motor. There is usually a home sensor, but there is no other feedback. So if the motor is stalled, or mechanically moved, or something unexpected happens where one or more steps are "missed", the software won't know the true motor position (until it's returned "home").

A servo motor is an angular motor that makes less than a full revolution. They come with a built-in driver circuit, so you only have to supply power and an a pulse that sets the angle. They are in a constant feedback loop. So for example, if you are sending it a 90 degree control pulse and something mechanically slows-down the motor or forces it away from the 90 degree position, it will try to get back to that 90 degree target-setting. Servo motors are geared, so they are not as quick as regular AC or DC motors. Since they don't "spin" 360 degrees, the speed is usually specified as degrees-per-second under some stated load.

http://www.neonsquirt.com/dishwasher.html

Wow, nice... (More words could not describe the awesomeness better)

Thanks a lot DVDdoug for this much explanation. Thanks CodingBadly for the link. It will definitely help.

It will be further helpful if more case studies can be provided (like this dishwasher), playing and building AC devices. I have googled but have not got much relevant links.