Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Should I Use A Microcontroller Or A Microcomputer?

  1. Jan 19, 2014 #1
    I am working on, with some friends, a small project. It is to take a toy radio-controlled car and put a rotating electronic rangefinder on it in order to have it drive itself around SIMPLE obstacles. We all have a slight background in electronics (not much) and lots of experience in computer programming. We are currently torn between using a Zilog Z80, with required peripherals, or a microcontroller. The car is about 8"x16", so size really isn't a problem. It runs from two BLDC motors. We have decided on using two rangefinders, two color sensors, various servo motors, and other data-gathering peripherals. The rangefinders will be building a simplistic map of the car's surroundings in order to navigate them.

    Do you recommend us to use a microcontroller, build a full system with the Z80, choose a different option, or do something else with our time?
  2. jcsd
  3. Jan 19, 2014 #2


    User Avatar
    Science Advisor

    If you're mainly programmers and not EE types with lots of electronic chip level building experience the best thing is to have a system designed for your type of application that allows for modular hardware. A Z80 is a good general purpose chip that won't have much of the type of internal hardware needed for embedded control. Yes, it's possible to add the needed hardware but it's much easier to get the job done with a micro-controller designed for reading encoders, controlling motors , sending data with SPI/I2C/RS-232 ,converting analog to digital and back with one or two chips on a module.
  4. Jan 20, 2014 #3


    User Avatar
    Science Advisor

    I switched from Z80 to PIC microcontrollers long ago.
    Everything you need to do can be done with a microcontroller.
    Consider for example the Microchip PIC and dsPIC 16-bit microcontrollers.
    Once you have written a real time operating system it will be trivial to program your system.
    The RTOS must handle all interrupts, the clock and schedule future tasks.
    My original minimal RTOS for PIC16F84 assembled to 32 words.
    It made it possible to implement new projects in assembly language in less than an hour.
    If the workload gets too much for one processor then you can distribute the workload across several slave microcontrollers.
  5. Jan 20, 2014 #4
    As much as I love the Z80, it is a bit dated now. The newer microcontrollers are far faster and smaller. Most include internal EEPROMs and have inexpensive development boards available with prototyping areas on them. You can get a complete development system (including a dev board) for under $100.
  6. Jan 20, 2014 #5
    Thank you, everybody. After reading your posts, we have decided to go with something that comes all-in-one, in this case Texas Instruments's Launchpad boards that come with everything. Once again, thank you all for pointing us in the right direction.
    Last edited: Jan 20, 2014
  7. Jan 21, 2014 #6
    You mentioned that you would have several servos. I have a hint for you. Do some digging and make sure that your chip has enough hardware timer interrupts to support all the servos and motors. It's really easy to use one timer interrupt to control one servo or motor. Controlling many servos and motors with one timer is a pain and it's difficult to debug the software. You'll see what I mean when you get into writing the software. More timers is more better for more RC projects.

    Some chips even offer multiple PWM's that are easy to configure as motor and servo drivers.

    For PIC's you can find out what peripherals and interrupts are available in PIC's product selection guide. I would recommend finding something similar for the ARM's in the launchpads and putting some thought into what kind of interrupts and peripherals you want.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook