From: Jonathan Kirwan
Subject: Re: PIC/Microcontroller recommendation?
X-Newsreader: Forte Agent 1.92/32.572
NNTP-Posting-Date: Mon, 16 Dec 2002 17:18:54 GMT
Organization: AT&T Broadband
Date: Mon, 16 Dec 2002 17:18:54 GMT
On 16 Dec 2002 07:04:25 -0800, firstname.lastname@example.org (Mike) wrote:
>I'm looking to design a simple motor control circuit utilizing a
>microcontroller. Basic needs are 4 digital outputs, 3 digital inputs,
>and 3 analog inputs.
>Other factors contributing to the choice are:
>ease of programming.
>low additional component count.
>low cost development/programming system.
>low cost production buy.
>speed and performance levels are not cirtical; this is a very simple
>total production units of about 100.
>The basic stamp was my initial consideration, but is way outside of my
>target production buy cost.
>see below for an overview of the intended application:
So you are considering the idea of using a micro to implement
I see three digital inputs:
"extend" momentary pushbutton
"retract" momentary pushbutton
"stop" momentary pushbutton
and three analog inputs:
"extend limit" potentiometer
"retract limit" potentiometer
"arm position" potentiometer
I assume the four outputs are for the motor control?
With production near 100 units, saving pennies on CPU cost won't
be all that important. Saving some dollars is, but not pennies.
So this really leaves the Atmel, Microchip, Motorola, and Texas
Instruments as reasonable choices. I think Cygnal is out.
Of these, there are:
Atmel AT89 (8051 CPU, flash)
Atmel AT90 (AVR CPU, flash)
Microchip 'F' (PIC CPU, flash)
Motorola Nitron (HC08 CPU, flash)
Texas Instruments MSP430 (flash)
I've done many projects with the AVR and PIC and 8051 cores, am
just starting on one with the MSP430, have barely done anything
with the Nitron, and have done one with the AT89.
You do not mention the need for a C compiler. This can make a
big difference in your choice, so you'll need to specify that.
Whatever you pick, you should make sure that the ports support
weak pullups, which is probably adequate for your momentary
buttons, without the need for an external pullup or pulldown.
All of them have the ability, though if memory serves, it's not
quite as generalized on the AT89.
You also need an ADC, probably 8 bit is good enough, and with an
input mux, which I think all of the above have versions for.
Development tool costs (non-compiler) will be defrayed over your
100 unit production run, which probably means that anything
under $100 will only mean $1/unit and may be tolerable. Your
need (or lack of it) for a single-stepping debugger may impact
the tool choice. The STK500 for the AVR line is $79 (I paid
$72) and is an excellent board for running programs -- it
includes a bunch of momentary switches, so you could test that
right away. But you can't single-step with it. The TI MSP430
FET140 tool provides a simple system to try and use and can
single step, but it isn't nearly as general purpose across the
broad line of parts as is the STK500 and it doesn't have bunches
of buttons already there.
Your application doesn't seem to require any particular one, so
it's probably going to be down to what you expect to get from
your development tool hardware, what compilation mode you will
be in (C or assembly or both or ???), and what kind of debugging
support you'd like (target board ICE, etc.)
(I'm assuming you'll need flash, instead of OTP.)