Author Topic: Can a PocketPC be used instead of a microcontroller?  (Read 13934 times)

0 Members and 1 Guest are viewing this topic.

Offline ArislanTopic starter

  • Full Member
  • ***
  • Posts: 70
  • Helpful? 0
Can a PocketPC be used instead of a microcontroller?
« on: October 24, 2006, 09:36:42 AM »
Was thinking about hooking up my iPaq to my robot instead of a PIC. Any idea how to interface it to the board?

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #1 on: October 24, 2006, 12:00:20 PM »
Yeap, Ive seen it done many times. The commands are sent out through the serial interface. Do a search on 'serial' in this forum.

Offline dunk

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 1,086
  • Helpful? 21
    • dunk's robot

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #3 on: October 24, 2006, 01:13:13 PM »
i got to see that robot in action at my uni (CMU) where it was developed . . . it was soooo slow . . . he put a nice processor on it to drive just 3 servos and 2 sharp IR :-\

i believe they tried selling it as a kit at some point . . .

(call me mr negativity  :P)

Offline polar bear6

  • Full Member
  • ***
  • Posts: 98
  • Helpful? 0
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #4 on: October 24, 2006, 03:20:44 PM »
does anyone know if this will work with a HP95LX?
or in other words a Hewlett Packard 95 Lotus Exportable.
also known as the first handheld Pocket Pc that was on the marked (its from 1991, so yeh, its old)

Offline dunk

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 1,086
  • Helpful? 21
    • dunk's robot
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #5 on: October 25, 2006, 03:13:33 PM »
you actually have more luck finding a standard rs232 serial port on older kit than on newer equipment.
so you probably can with the addition of some sort of serial to I/O controller.

dunk.

Offline JesseWelling

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 707
  • Helpful? 0
  • Only You Can Build A Robot!
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #6 on: October 25, 2006, 04:27:25 PM »
or a microcontroller that you program to interpret serial comands.... :P


*edit* ....was that too mean?

Offline dunk

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 1,086
  • Helpful? 21
    • dunk's robot
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #7 on: October 25, 2006, 07:41:25 PM »
what did you think i meant by "some sort of serial to I/O controller"....?

dunk.

Offline JesseWelling

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 707
  • Helpful? 0
  • Only You Can Build A Robot!
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #8 on: October 26, 2006, 12:17:24 AM »
http://www.pololu.com/products/pololu/0207/

and there is alot more out there too.....makes it easy but....well you have heard of software bloat?
I consider this hardware bloat..... :-\

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #9 on: October 26, 2006, 06:42:26 AM »
I dont believe that pololu board has any input capabilities . . .

Offline JesseWelling

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 707
  • Helpful? 0
  • Only You Can Build A Robot!
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #10 on: October 26, 2006, 10:50:27 AM »
that's kinda my point....

I'm a cs major and I have a cs adjuct professor who loves all the extra gadgets.
I swear he has seperate boars for Input output and analog measurments, all connected to his strong-arm running linux.
It makes for good prototyping but in the end you could reduce all your harware to a single avr or pic to do  a2d, digital i/o, and pwm. he just doesn't want to learn firmware programing. It's a casee of faster solution != best solution.

Just think of how much power he is wasting running 3 boards instead of 1.

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #11 on: October 26, 2006, 12:01:21 PM »
I know many other cs profs just like yours . . . I think they are just sheltering themselves from embedded stuff cause it looks hard, and all they know are pc's . . .

unless im doing AI, or have a huge budget and a huge robot, i refuse to use anything but microcontrollers . . .

Offline JesseWelling

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 707
  • Helpful? 0
  • Only You Can Build A Robot!
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #12 on: October 26, 2006, 10:21:28 PM »
Yea, I'm sold on the gumstix/robostix combo for makeing robots. It seems to provide the most muscle with the least amount of fat if you know what I mean. It's not a PC but it's not just a micro either. For any one looking to do research into mobile robots it's a godsend.

Offline ArislanTopic starter

  • Full Member
  • ***
  • Posts: 70
  • Helpful? 0
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #13 on: October 26, 2006, 11:42:39 PM »
So the robostix is a more advanced microcontroller? It looks interesting for $49.

http://gumstix.com/store/catalog/product_info.php?products_id=139

Apparently can be programmed in C++, who to me would be very nice!

Should I get this thing for my robot?

Offline JesseWelling

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 707
  • Helpful? 0
  • Only You Can Build A Robot!
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #14 on: October 27, 2006, 04:55:40 AM »
If you are sticking to smaller robots that don't do all that much thinking an AVR is really handy. Although I recoment you program in C and if you really want object orientation just use structures that way you won't take a hit in performance. But they are rather cheep and well engineered. And go perfectly well with a gumstix (were made for eachother) if your ai advances beyond what the atmega can handle. Only problem is that if you don't have a gumstix you have to use your own boot loader.

Offline ArislanTopic starter

  • Full Member
  • ***
  • Posts: 70
  • Helpful? 0
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #15 on: October 27, 2006, 04:11:49 PM »
How about using an actual pc motherboard, like something out of a 486, 66mhz? Can anything be done in robotics with that? In a way that is cheaper than a microcontroller.

Offline dunk

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 1,086
  • Helpful? 21
    • dunk's robot
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #16 on: October 27, 2006, 05:23:24 PM »
so i'm experimenting with 2 platforms for my next bot at the moment.
my requirements were that i wanted something with a USB host port so i could use a standard USB webcam for machine vision.

approach 1 uses a EPIA mini ITX motherboard and DC-DC converter. http://www.mini-itx.com/store/?c=2#p1641
with this sort of motherboard on the bot i would be able to get real time stereo vision working. (no more messy IR sensors for me....)
the main problem with using a PC motherboard is power draw.
using a less powerfull PC would obviously use less power but will still be hugely inefficient. PCs just aren't built with low power draw in mind.
using a 10Ah battery pack i was only able to power my MiniATX motherboard for about 4 hours, despite the motherboard only drawing around 1 Amp. (in theory it should have run for around 10 hours.)
i put this down to the battery pack only being able to supply that sort of high load near the top of it's charge cycle.
using a laptop motherboard would probably be a far more power efficient way of getting lots of on board processing power.

the other processor i am considering is a Linksys "slug". http://www.linksys.com/servlet/Satellite?c=L_Product_C2&childpagename=US%2FLayout&cid=1118334819312&pagename=Linksys%2FCommon%2FVisitorWrapper
it's designed as a network storage device but it's got 2 USB host ports on there, (with the ability to solder on another 2, as well as a standard serial port) and only draws a few hundred milliamp.
all you have to do is put a more usefull operating system on there: http://www.nslu2-linux.org/ and you have a small, powerfull processor, running linux, with USB, i2c, serial port, ethernet, etc.
this processor won't be powerfull enough to do real time stereo vision but will definitely be powerfull enough to do video edge detection and shape recognition from a single camera.

using something other than a microcontroller on you bot will mean you will have to solve the I/O problem. how do you read sensors and switch motors on and off from a standard PC?
i'm using this project to build USB I/O controllers: http://www.obdev.at/products/avrusb/index.html so i'll still need microcontrollers on the bot even with my more advanced processor.
using a serial port or i2c I/O conroller is also an option.

i'm still undecided which processor i'm going to go with. (maybe i'll end up with 2 bots...)
while the PC motherboard is overkill, it lets you do lots of cool stuff with it's somewhat excessive processing power.
the linksys slug on the other hand is a nice compromise between power consumption, while still being able to use PC peripherals and operating system.
the advantage of using USB components and a standard operating system is i can develop the various pieces on my laptop and then plug them into the bot controller once they are working.
even the controller is changeable as they will both run the same linux operating system as my laptop.

dunk.

Offline JesseWelling

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 707
  • Helpful? 0
  • Only You Can Build A Robot!
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #17 on: October 27, 2006, 06:44:04 PM »
the slug looks interesting....it's very much like a gumstix (same family of processors) on a smaller budget but you have the bonus of USB host. Gumstix don't have that yet. I bet you could probably use the buildroot from a gumstix on the slug infact but you would need to enable the USB host. You might consider looking at the gumstix buildroot because it is excellent for cross compiling different packages. People have been running python, player, uisp (to down load to avr micros), and all number of networking utilities, which are all "make menuconfig" easy with the buildroot.

Let me know how the slug goes.

Offline ArislanTopic starter

  • Full Member
  • ***
  • Posts: 70
  • Helpful? 0
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #18 on: October 27, 2006, 07:03:38 PM »
When I go to that link it shows me "Network Storage Link for USB 2.0 Disk Drives
Easily Add Storage Space to Your Network", nothing to do with slugs.

Anyway...back to the original topic...nowadays I can buy a used Palm Pilot for $35-50. Would it not be best to connect those to some board via the serial cable and use the Palm as the brain for my robot?

Offline JesseWelling

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 707
  • Helpful? 0
  • Only You Can Build A Robot!
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #19 on: October 27, 2006, 07:36:47 PM »
"slug" = NSLU2

Quote
the other processor i am considering is a Linksys "slug".

 :P

As for your using the Palm...that depends on what you get for the price and what you want to get out of it.
Is it going to be hard to develop your code for the palm? What kind of OS does the palm run presently? Does it suport
user level threading?

The botom line for me is what are you gaining from using a Palm instead of a microC? If you end up paying 50 for a palm, 20 for a microC and still have to program the microC, in addition to fidling with the palm to get it to work, how does that save you time or money? Granted if it works out that you get a nice display and output for your robot with better memory capeablility I would say that might be worth it.
« Last Edit: October 27, 2006, 07:51:41 PM by JesseWelling »

Offline ArislanTopic starter

  • Full Member
  • ***
  • Posts: 70
  • Helpful? 0
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #20 on: October 27, 2006, 07:59:47 PM »
I don't know for sure. But I did some digging and I found this product:

http://www.pontech.com/products/sv200/index.htm

And it costs $59. But the advantage is that it controls servos and receives input from Sharp IR finders. Then my research came full circle finding this page:

http://www.cs.cmu.edu/~pprk/  And THAT had a lot of good info. 

All I want my robot to do is follow programming, I am not trying to get a fully autonomous dancing robot that serves cocktails.
The thing is that you could use an older laptop for more programming power, or who knows, even a Dell Axim x51. This would just mean getting a different interface cable from Acroname.
However, this pontech controller can only give you access to 8 servos. Would be nice to be able to control a lot more.

Offline ArislanTopic starter

  • Full Member
  • ***
  • Posts: 70
  • Helpful? 0
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #21 on: October 27, 2006, 08:06:35 PM »
I need to look into this, because my project would require 12 servos and 2 motors. I think I need a larger board than the SV203.

Offline JesseWelling

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 707
  • Helpful? 0
  • Only You Can Build A Robot!
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #22 on: October 27, 2006, 08:14:13 PM »
"follows programing" is a little vauge.

Why don't you out line your project a little bit and then every one would have a better feel for what you needed and could offer more accurate advice.

Offline ArislanTopic starter

  • Full Member
  • ***
  • Posts: 70
  • Helpful? 0
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #23 on: October 27, 2006, 11:31:30 PM »
Hi Jesse thanks for asking.

Original plan is a 20 inch tall robot with a 6 wheel base, a cylindrical body, two arms and a head with blinking lights. I think it will need about 8 IR sensors, like 2 for each side of the base.
So, 2 motors for moving around, plus 12 servos for arms, claws and head. I won't add torso rotation because that would cause the internal wiring to get tangled. I expect the robot would weigh about 27 pounds.  So I need to calculate what type of motors I need for that. But what is getting me is the microcontrollers, I have no idea what to get, or if using the Palm would be enough for me to build this thing. If anyone has any advice I am all ears, as I have never built a functional robot, only several replicas of tv robot puppets :P

Offline polar bear6

  • Full Member
  • ***
  • Posts: 98
  • Helpful? 0
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #24 on: October 28, 2006, 07:40:35 AM »
oh my god your making a DALEK!!!!!!
THE DALEKS HAVE RETURNED, FLEE FOR YOUR LIVES!!!!

http://en.wikipedia.org/wiki/Dalek
for those people that have lives a dalek is a robot in a british TV program.

Offline ArislanTopic starter

  • Full Member
  • ***
  • Posts: 70
  • Helpful? 0
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #25 on: October 28, 2006, 04:07:20 PM »
I am, how did you guess?

Offline polar bear6

  • Full Member
  • ***
  • Posts: 98
  • Helpful? 0
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #26 on: October 29, 2006, 05:10:39 AM »
seriously? are u making a Dalek?
that would be so cool:P :) ;)

Offline ArislanTopic starter

  • Full Member
  • ***
  • Posts: 70
  • Helpful? 0
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #27 on: October 29, 2006, 11:35:22 AM »
I sure can't make a Tardis, might as well make a Dalek!

Offline dunk

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 1,086
  • Helpful? 21
    • dunk's robot
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #28 on: October 30, 2006, 04:24:25 PM »
hey Arislan,
so just to be clear on your requirements,
you need 14+ outputs for your various motors.

what about inputs? what level of controll do you need?
will your bot just follow a set sequence of movements or would you like it to react to it's environment or user input (remote control etc)?

most of the alternatives to microcontrollers discussed here (ie. palm pilots, gumstix, PC motherboards, reprogrammed NSLU2) all have the same problem if you want to use them for this sort of application.
they all require some sort of external I/O controller.

most of the commercially available I/O controllers use microcontrollers as the interface between the I/O pins and the host PC/palm plot/whatever.
most of the commercially available I/O controllers have less than your required 14 outputs.
you may want to consider programing some sort of microcontroller yourself so you can build something with the required number of I/O pins to connect to your palm's serial port.

of course, this may be over kill. if you are going to be using microcontrollers anyway you may decide you don't need the palm, right?

the other option discussed in this thread is the gumstix robostix board.
this board is essentially a pre built ATmega128 board. so it's still a microcontroller. an AVR microcontroller form Atmel to be exact. (you spot a common microcontroller theme here right? i'm starting to sound like Admin....)
while it's designed to be used with the gumstix board it can be used on it's own.
you will still need to program it but if you don't mind the programming of a microcontroller but don't want to have to get your soldering iron out it looks like a good option.
AVRs can be programmed in C not C++ as far as i know (but i'm fairly new to AVRs so please someone correct me if i'm wrong).
most of the AVRs (this one inclused) have logic level RS232 ports built in hardware for easy interfacing to other hardware.

did you ever find out what sort of interface your choice of Palm Pilot has?

anyway, enough of my ranting.
yes, you could use the Palm Pilot as your robot brain but not without some hardware to add Input/Output functionality.

dunk.

Offline ArislanTopic starter

  • Full Member
  • ***
  • Posts: 70
  • Helpful? 0
Re: Can a PocketPC be used instead of a microcontroller?
« Reply #29 on: October 31, 2006, 05:09:40 AM »
Quote
what about inputs? what level of controll do you need?
will your bot just follow a set sequence of movements or would you like it to react to it's environment or user input (remote control etc)?

Hi dunk!
I would like to pimp it up some, gradually adding more features. There is even a voice recognition chip capable of holding up to 40 words each (HM2007).  So some kind of transmitter would be useful.
I'm thinking of 8 IR sensors, sonar, and something like a Quickcam for vision, if i ever get to expand that much. I was reading up on a project for robot vision  that used CdS cells instead. It wasn't very descriptive but it said this:

"This [vision] suite contains 50 CdS cells, seven analog multiplexers, a sonar emitter circuit, a sonar
receiver circuit, and a Mekatronix TJ pro board with a Motorola 68HC11 microcontroller
operating in expanded multiplexed mode with 32k of SRAM. In addition to the electronics,
each eye contains a 50 mm lens, focusing images on each of the two CdS arrays"

Not sure how it would have worked.

I think what I should do is get some drawings started and post them here, so I can get suggestions. I'm fine with buying the gumstix/robostix combo if that will allow me to add all i want to my robot.  My PocketPc can use a serial cable but I noticed that the battery no longer holds a charge. In the long run I think getting the stix could be the better idea, these older cheap pdas seem to be too much trouble even for chaning the battery.

 


Get Your Ad Here

data_list