general question about microcontrollers
There are a dizzying array·of microcontrollers out there and I am just barely getting an understanding of their conceptual use.··Mostly I see myself using it for interfacing with various sensors and outputting the results to a computer through a USB port, while still leaving most of the programming on the onboard laptop (I.E. use the functionality of roborealms webcam·image processing functionality and have sensors assist with or double check·object avoidance)· Would there be an advantage to starting with one controller over another if one·is starting from scratch?· Propeller seems to be the most fully featured of the parallax line.··Does it make sense to start there·and not to worry about being hardware limited in the future, or·are controllers with a simpler architecture easier to·deal with?··
Thanks for the help.
Thanks for the help.
Comments
A quick run down of my take on the Parallax line:
Basic Stamp 2 (p,pe,sx). The easiest to use and learn on uC of all time. Rock solid, IDE comes with (asit does with all Parallax products) great deal of sample code floating around. Slower than many uCs.
SX chips. Fast. Cheap. Has a decent version of Basic and can be programmed in ASM. Needs a programming "key". Not as much sample code.
Propeller. Wow. 8 uCs in one package. Mind blower of a chip. Not as easy to use as the other two, but really worth it if you need the power. Has a unique language called "Spin" and can be programmed in ASM. Sample code growing quickly.
I teach, and I use nothing but Parallax stuff in the classroom. Their support is by far the best in the business. Their documentation and teaching materials are outstanding. I use all three of the product lines for differnet things. If you want to learn uCs, my reccomendation would be to start with the Basic Stamp and once you finish all the tutorial material Parallax has to offer, you will be in a position to decide what uC suits your needs.
HTH
Jonathan
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.madlabs.info - Home of the Hydrogen Fuel Cell Robot
anyway, thanks for the advice...I just need to read a lot more. I think the main problem is that there seems to be a lot of excitement around the propeller board I don't want to get in over my head. (probably already too late)
As far as communicating to a PC and acquiring data; it will take a bit of time. It is insolently fun as well as rewarding at first. Then it becomes an obsession.
It also depends on what you plan to do. The Propeller will have a steeper learning curve, but can do amazing things. If you have any previous programming and/or hardware skills, it's totally doable. Many of us, including myself, taught themselves using the available materials and examples. The SX chips fall somewhere inbetween the Prop and the Stamp in terms of learning curve. They are quite fast and flexible.
HTH
Jonathan
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.madlabs.info - Home of the Hydrogen Fuel Cell Robot
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Stephen
It was my first microcontroller (Bought at Radio shack) unless you count the Vic 20 and Commodore64 because I programmed in assembler for those 20 years ago.
I have to say it sat on my desk for almost a year, then I started using it, now I have the SXkey and at least 5 programmers for Atmel chips and 6 large cabinets with lots of drawers stuffed with hundreds of components. I guess I have a hobby.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Think Inside the box first and if that doesn't work..
Re-arrange what's inside the box then...
Think outside the BOX!
1. The widest range of educational material of all the Parallax products
2. The most available code samples
3. Very beginner friendly
4. Still expandable via module upgrades, including using the new Spin stamp in some situations
5. The BS2 is 5V logic based vs. 3.3 for Propeller. As a beginner, you'll find it a bit easier to deal with, find part, sensors, etc.
Since you want to use a laptop to do a lot of the heavy duty computing, you wouldn't really lose much by choosing the BS2 over the Propeller. If you were choosing one or the other as the main CPU for the next Mars Rover, the Propeller would be the better choice. Although there are a few people that post here that could probably get the BS2 to work. If you read some of the case studies about what people have built with the seemingly wimpy BS2, you'll find that it isn't wimpy at all.
As for the excitement over the Propeller, a lot of that is from people that already have a lot of experience with the BS2 & SX under their belts, and can really take advantage of the extra power.
A book that you might want to check out is titled Physical Computing: Sensing and Controlling the Physical World with Computers. It deals with the BS2 and a few other brand micros, and the title gives you the right idea about its emphasis.
I find there is a minimum of a second lag when using a webcam to control my robot right now, so I want to inch my way closer to enabling the user to hit "kitchen" button on the web and not worry about my 80lb robot hitting things on the way from the living room.
I think that you should plan on eventually having several controllers (like 2 or 3). They can be all in one, like the Propeller. They can be something like the Stamp Motherboard, or you can "roll your own" using several Stamps.
I didn't mean to imply that I was doing anything with the parallax servo controller other than control the servos.
What I was trying to get across, is that, right now, I have the PSC connected to the computer directly, I am still undecided whether to leave it connected to the computer and have the basic stamp provide sensor information to an on computer program which would then adjust it's output accordingly. Or the other option would be to have the basic stamp between the computer and the PSC...essentially the computer would relay movement requests from the web and then the basic stamp would figure out if it is going to hit something if it moves in that direction...I need to figure out how to alert the user that it doesn't think it can move that direction or start moving and guide itself to the middle of the largest space. Maybe it would point the camera to what it thinks you mean and ask if this is the intended course.
The SX can handle multiple sensors, or you could use one SX per sensor if that better fits your application. A dozen SX chips would be cheaper than a single basic stamp. The only major concern I have with the SX is that it only comes in 1 DIP package. I would like to see 18-pin, 14-pin and 8-pin DIP versions.
Dave
I do have a bias towards the Propeller for any kind of multi-sensor or multi-processing sort of application. You can do some interleaving of functions with a Stamp (particularly with servo control since there's 20ms between control pulses ... that leaves lots of time to do other things, even with a Stamp).
http://forums.parallax.com/showthread.php?p=649620
I'm sure the solution lies somewhere in the 5V interface sticky, but I'm having trouble figuring out what are suggestions and what is conjecture.
If it were easy, it wouldn't be fun, and I'm learning a lot just by doing the research on this decision.
Soldering is something where it's helpful to have the right tools (like a basic temperature regulated iron with a small tip). I'm sure you can find some articles on the web on basic soldering. Get some scraps of PC board material and some cheap resistors and practice soldering. The most important part is to get the parts hot enough without overheating them before you apply solder. When do-it-yourself kits were more common, they all came with excellent instructions for soldering, sometimes even some extra parts for practice.
The issue with the PSC/Propeller is due to the way the activity LED works on the PSC. It is connected directly to the serial line and imposes an inherent pull-up effect when the signal goes low. For the Propeller this causes the signal to not swing low enough to be detected when using an inline resistor as recommended when interfacing 5V devices to the Propeller inputs. Take care.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
grindel,
Do have a look at the "sticky thread" on the Propeller forum on interfacing the Propeller to 5V devices. There are all kinds of solutions discussed that should work ... from level-shifting ICs to simple circuits using a couple of transistors and resistors.
I bought the wulfden.org PRC with all the bells and whistles and used a good soldering iron at work to put it together. It was an easy assembly and highly recommend it,
this was my first circuit board assembly.
Last night I got the PE hardware kit and some other goodies and started working through the labs and code examples. Everything has worked well so far.
I had done enough research prior to my purchase that to actually start to be able to do things with it was very satisfying. I'm sure I'll have a ton of stupid questions but,
I was happy I was able to get lights to blink, and ended the night by successfully modifying spin example 4 to display the distance sensed by ping...Which was much simpler
than I imagined it would be.
Some notes about the PRC:
Double check you have all the components before you start assembling it, I was missing a capacitor for the TVIO board, I picked up one from Radio Shack
no problem, but I had to stop for the night.
If you set up the board for USB and serial programming connections, you will end up having to make a jumper wire for the USB2SER connection because
it interferes with the IO boards.
I'm excited.
I am pretty sure I have posed this pictures a couple of years ago when I started this project, but I will again to show the behemoth that is currently the web controlled bot. I haven't hooked up the propeller yet because I am still working out the interface between the compass/ping, prop, laptop, and the (possibly eliminated) parallax servo controller
this shows the drive system based on lawn mower parts using geared 540 motors powered by 2 picoesc (a company that now appears defunct) but basically they are a complicated RC car ESC...taking PWM and changing it to DC voltage
The frame as eventually reworked.
out for a test run.
shown before I had the pan and tilt mount built, the box housed a freaking heavy deep cycle battery and 110V converter for days of run time. Also missing are the bumper switches which hooked directly to the limit switches of the ESC. Basically, it wouldn't allow you to travel any more in that direction but they supply no information to the program that something is wrong.
What has lead me to needing a microcontroller: I have found that no matter what quality one uses you still end up with at least a second of lag on webcams. This is ample time for a heavy robot to start slowly climbing an obstacle and be on its way to spilling its lead acid guts all over your nice electronics.