EmbeddedRelated.com
Forums

which is the best pic for robotics

Started by mr_gees100_peas March 15, 2006
Hi, 

   I was wondering if there is a preference ina aprticualr PIC model
that is use more often for robotic. I know the 16f877a is a good
general purpose but is there anything better. I mean, something that
is 1) well supported, 2) has plenty of program memory 3) has the
features that robot builders like like PWM ADC channels and what not.
Again, it has to be something common. Maybe theres a 255KB program
size micro but if its not supported by programers, software (C, basic)
and what not then is not worth mentioning.
	
--- In piclist@picl..., "mr_gees100_peas" <geovar13@...>
wrote:
>
> Hi, 
> 
>    I was wondering if there is a preference ina aprticualr PIC model
> that is use more often for robotic. I know the 16f877a is a good
> general purpose but is there anything better. I mean, something that
> is 1) well supported, 2) has plenty of program memory 3) has the
> features that robot builders like like PWM ADC channels and what not.
> Again, it has to be something common. Maybe theres a 255KB program
> size micro but if its not supported by programers, software (C, basic)
> and what not then is not worth mentioning.
>

Well, I would start with the compilers.  There are several but the
free ones are cc5x and PIC C Lite.  Investigate which chips the free
versions can program.

Robots vary as does the choice of processors.  The 16F877A is good, it
has 8k of flash.  But, the free version of cc5x has a code limit of 2k
so you have to link modules together to get around it.  No big deal,
just something to consider.

For a smaller device, I like the 16F88.  It has a great selection of
gadgets and is well supported by cc5x.

If you move to the 18F devices, Microchip has a C compiler that you
can get for free (limited time?).  These are newer devices and tend to
have more memory and greater speeds.

I've been disappointed with the free C compilers for the PICs. 
Particularly problematic is cc5x, the one I use.  It just won't handle
difficult expressions and it won't allow functions pointers in arrays.
 Among other things.  But, it works pretty well for the price.

The 16F877A is a very popular chip for robotics.  It is used in the
MiniSumo Mark III (www.junun.org) and is the underlying chip for the
OOPic (www.oopic.com).

Besides, it is just a chip.  One of many you will wind up using.  As
good a place to start as any...

Richard
	
Hi Gees,

Try the 18F452 or 18F4620 or...   More room, faster, all the goodies...

NEW COMPILER 18F.  Supported by microchip and HI-TECH, probably others 
by now.

'877A is a good part if it fits!  Go for ISP.

Alan  KM6VV

mr_gees100_peas wrote:
> Hi, 
> 
>    I was wondering if there is a preference ina aprticualr PIC model
> that is use more often for robotic. I know the 16f877a is a good
> general purpose but is there anything better. I mean, something that
> is 1) well supported, 2) has plenty of program memory 3) has the
> features that robot builders like like PWM ADC channels and what not.
> Again, it has to be something common. Maybe theres a 255KB program
> size micro but if its not supported by programers, software (C, basic)
> and what not then is not worth mentioning.
> 
> 
> 
> 
> 
> to unsubscribe, go to http://www.yahoogroups.com and follow the
instructions 
> Yahoo! Groups Links
> 
> 
> 
>  
> 
> 
> 
>
	
My comments...

rtstofer wrote:
> --- In piclist@picl..., "mr_gees100_peas" <geovar13@...>
wrote:
> 
>>Hi, 
>>
>>   I was wondering if there is a preference ina aprticualr PIC model
>>that is use more often for robotic. I know the 16f877a is a good
>>general purpose but is there anything better. I mean, something that
>>is 1) well supported, 2) has plenty of program memory 3) has the
>>features that robot builders like like PWM ADC channels and what not.
>>Again, it has to be something common. Maybe theres a 255KB program
>>size micro but if its not supported by programers, software (C, basic)
>>and what not then is not worth mentioning.
>>
> 
> 
> Well, I would start with the compilers.  There are several but the
> free ones are cc5x and PIC C Lite.  Investigate which chips the free
> versions can program.

The CCS C compilers are OK for robotics and at $125, not that bad. 
There are a few freebe's out there, but as Richard says, not that high a 
quality.  If you want Basic instead, PIC Basic and PIC Basic Pro are 
very well thought of.  I've seen Forth, Pascal and a few other oddballs 
too.

> Robots vary as does the choice of processors.  The
16F877A is good, it
> has 8k of flash.  But, the free version of cc5x has a code limit of 2k
> so you have to link modules together to get around it.  No big deal,
> just something to consider.

If you have the option, skip the 16F series and just go for the 18F 
ones.  They are a bit more expensive but they are in general easier to 
program, faster and have lots of cool hardware modules to choose from.

> For a smaller device, I like the 16F88.  It has a
great selection of
> gadgets and is well supported by cc5x.

   An awesome part.  Plenty of Flash, RAM, EEPROM AND a UART to boot!

> If you move to the 18F devices, Microchip has a C
compiler that you
> can get for free (limited time?).  These are newer devices and tend to
> have more memory and greater speeds.
> 
> I've been disappointed with the free C compilers for the PICs. 
> Particularly problematic is cc5x, the one I use.  It just won't handle
> difficult expressions and it won't allow functions pointers in arrays.
>  Among other things.  But, it works pretty well for the price.

   Richard, for the LIFE of me I can't understand why anyone would use 
arrays of pointers to functions in an embedded processor!  Unless you 
were writing an interpreter of course...  ;)

> The 16F877A is a very popular chip for robotics. 
It is used in the
> MiniSumo Mark III (www.junun.org) and is the underlying chip for the
> OOPic (www.oopic.com).

   My current robot favorites are the 18F252, 18F2220, 18F442/448 and 
that nice 16F88.  In general I look for a hardware UART and two PWM 
channels.  Those 40MHz parts are nice too.

> Besides, it is just a chip.  One of many you will
wind up using.  As
> good a place to start as any...

In robots I've used 8 pin 12F675's up to 144pin 18F6680's.  It is
just 
whatever you like to do.

DLC

> Richard
> 
> 
> 
> 
> 
> 
> 
> 
> to unsubscribe, go to http://www.yahoogroups.com and follow the
instructions 
> Yahoo! Groups Links
> 
> 
> 
>  
> 
> 
> 

-- 
-------------
Dennis Clark          TTT Enterprises
www.techtoystoday.com
-------------

> > I've been disappointed with the free C
compilers for the PICs. 
> > Particularly problematic is cc5x, the one I use.  It just won't
handle
> > difficult expressions and it won't allow functions pointers in
arrays.
> >  Among other things.  But, it works pretty well for the price.
> 
>    Richard, for the LIFE of me I can't understand why anyone would use

> arrays of pointers to functions in an embedded processor!  Unless you 
> were writing an interpreter of course...  ;)

Dennis,

I was doing this state machine and as part of the state table I wanted
to encode the address of the action routine.

The alternative is to code it is a huge switch() statement and that is
the way it wound up.

Just one of the annoyances of a minimalistic implementation of C.  To
some extent that is why I favor the AVR chips and GNU C.  I WANT the
full language and I WANT the full set of library functions,
particularly the conversion functions and printf().  To get it I need
to have more flash and more RAM.  OK by me...  I'll just have to
settle for 5 times the speed as well.

Richard
	


rtstofer wrote:
--- In p...@yahoogroups.com, "mr_gees100_peas" <geovar13@...>
wrote:
Hi, I was wondering if there is a preference ina aprticualr PIC model
that is use more often for robotic. I know the 16f877a is a good
general purpose but is there anything better. I mean, something that
is 1) well supported, 2) has plenty of program memory 3) has the
features that robot builders like like PWM ADC channels and what not.
Again, it has to be something common. Maybe theres a 255KB program
size micro but if its not supported by programers, software (C, basic)
and what not then is not worth mentioning.

You might want to take a look at JAL ,
(often used in Mark-III)
and keep in mind that in a few weeks a total new version will be released.

Stef Mientki




--- In piclist@picl..., "mr_gees100_peas" <geovar13@...>
wrote:
>
> Hi, 
> 
>    I was wondering if there is a preference ina aprticualr PIC model
> that is use more often for robotic. I know the 16f877a is a good
> general purpose but is there anything better. I mean, something that
> is 1) well supported, 2) has plenty of program memory 3) has the
> features that robot builders like like PWM ADC channels and what not.
> Again, it has to be something common. Maybe theres a 255KB program
> size micro but if its not supported by programers, software (C, 
basic)
> and what not then is not worth mentioning.
>

I like the 16F690, it's like a 16F88 but has two more i/o and has 
motor bridge configuration of it's pwm outputs for full motor control.
	
rtstofer wrote:
>>>I've been disappointed with the free C
compilers for the PICs. 
>>>Particularly problematic is cc5x, the one I use.  It just won't
handle
>>>difficult expressions and it won't allow functions pointers in
arrays.
>>> Among other things.  But, it works pretty well for the price.
>>
>>   Richard, for the LIFE of me I can't understand why anyone would
use 
>>arrays of pointers to functions in an embedded processor!  Unless you 
>>were writing an interpreter of course...  ;)
> 
> 
> Dennis,
> 
> I was doing this state machine and as part of the state table I wanted
> to encode the address of the action routine.
> 
> The alternative is to code it is a huge switch() statement and that is
> the way it wound up.
> 
> Just one of the annoyances of a minimalistic implementation of C.  To
> some extent that is why I favor the AVR chips and GNU C.  I WANT the
> full language and I WANT the full set of library functions,
> particularly the conversion functions and printf().  To get it I need
> to have more flash and more RAM.  OK by me...  I'll just have to
> settle for 5 times the speed as well.
> 
> Richard

   A bit off topic, but I also like the AVR's, but GNU C is not all that 
pretty nor all that well implemented, but it is getting better.  I like 
the AVR because I can work from my Mac completely native on all stages 
of the development.  Microchip does not support nor encourage anything 
off of the Windows platform.  If I could just get them to change that...

DLC

-- 
---
Dennis Clark    TTT Enterprises
---