Announcement

Collapse
No announcement yet.

Microprocessor Control

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Microprocessor Control

    Greetings! I would like to get in touch with someone who has up-to-date microprocessor skills. The product I am developing will give craftsmen in a traditional mechanical art the ability to measure what they are doing, instead of relying only on "feel."

    The project involves 1) a small robot arm that moves a sensor through a data acquisition cycle and stores the data from ~100 such cycles in memory; and 2) a small portable display that displays the data for each cycle as an X-Y graph. I would like the display to have the ability to animate a sequence of graphs, enabling the user to quickly pick out any differences among them.

    My microprocessor skills date from the '80s and early '90s. I need help to select hardware and software components that will 1) do the job, and 2) be within my ability to learn how to develop the software. Alternatively, I would be glad to work in tandem with a programmer/systems designer. This will be a zero-pressure, fun project of limited scope.

    Suggestions? Volunteers?

  • #2
    Where are you located? i do some basic hobby stuff that may be able to do what you want..

    Comment


    • #3
      If you wish to do graphs and LCD display, id definately recommend something bigger then the typical avr/pic hobbiest microcontroller. Maybe looking into the ARM line or similar higher end UC's that are closer to single board computers then hobbiest microcontrollers.

      While it might be doable on an avr/pic, it would require MUCH optimisation IMO.
      Play Brutal Nature, Black Moons free to play highly realistic voxel sandbox game.

      Comment


      • #4
        While I prefer AVR's myself and one could do the job without too much difficulty, I would too recommend looking in to ARM's. The main reason being the display which possibly will require a bit of more memory than found in the smaller AVR's and possibly faster update of the display. Price wise the difference between a higher end AVR and lower end ARM is not great and the development tool costs can be about equal too (close to 0 ) the main difference is that ARM's are a bit more complex to get started with but you can find lots of help for that too.

        Comment


        • #5
          Dragons, I'm located in the Adirondacks near Lake Placid, NY.

          Comment


          • #6
            I was in your position in 2002, with older digital skills. Then I found myself in charge of updating a modern FPGA based design and had to get up to speed in a hurry. Not much important has changed. You've got ROHS of course, and denser footprints. BGA's look intimidating but are really no big deal if you know how to deal with them. Discrete processors come with a lot more built in peripherals. FPGA's and CPLD's are much more mainstream than they used to be. A little time spent learning VHDL can really open up a lot of possibilities.

            Do you have a schematic/board design program already? If not, Eagle is cheap and quite capable, if a little clunky. Their auto-router works pretty well too.

            I like to use Xilinx and Microblaze for this sort of thing. You can run the microblaze up to 100MHz and the chips aren't too expensive. Also you get the benefit being able to make up whatever extra logic you might need in the FPGA fabric. Look at the Spartan 3AN series -- they have integrated flash which keeps the cost down. I also like the fact that is relatively easy to add external RAM to a microblaze, something that is frequently an issue with the average highly integrated microcontroller.

            I find that even though FPGA's look more expensive ($17 I think for a Spartan XC3S200AN), they can come out being cheaper in the final design since you don't need as many support chips. Although you'll probably need
            a 6 layer board if you want to use a significant portion of the I/O, so that's a drawback.

            Due to the need to support a graphical (presumably color) display, an AVR32 is probably not going to work. I second looking into the ARM, although I don't personally have any experience with them.

            Also I just went through the prototyping process with the CrystalFontz 3.5" TFT display and the Newhaven 4.5" TFT display, if you are interested in either of those displays I'd be happy to share info.

            Good luck with your project.
            Lee

            Comment


            • #7
              I don't have the skill level you are talking about, but I also doubt that the PIC type devices are probably too limited for your project. Even if you managed to get it done with them, sooner or later you will want to expand it and you will probably be up against a hard limit.

              Probably what you want is one of the single board computers. They work a lot like a standard PC, but are made for dedicated systems like this. Keyboard, mouse, and monitor are all optional and can be used for development and if not needed, removed for the actual systems.

              This would allow any programming language and any programmer who would be able to write programs for a standard PC to work on your project. One caution here, some of them can be VERY dedicated to their way of doing things and they may be quite hard to work with if you want specific features to work specific ways. Ask me how I know.
              Paul A.
              SE Texas

              Make it fit.
              You can't win and there IS a penalty for trying!

              Comment


              • #8
                Take a look at the Cortex M3 controllers available from a variety of vendors. All use the same core but different I/O configurations. I agree with those above that the PIC, AVR type parts are not what you need.

                If you want to go FPGA look at the Altera Cyclone III parts which are nice. You can also get a processor core, LCD controller, and many other things all in one part.

                Most manufacturers have demo boards available to get you up and running in short order. I have a Altera NIOS demo board for example which sounds like it would do everything you are asking.

                I do this type of stuff for a living, but currently have no spare time for additional projects.

                Robert

                Comment


                • #9
                  I would, especially in the early stages split the problem in two, the data aquisition module and the storage/display module it downloads to. The last one can be a pc, the first becomes suddenly very simple.

                  Once it works, you can consider integration of the two.

                  Comment


                  • #10
                    Originally posted by alsinaj
                    The project involves 1) a small robot arm that moves a sensor through a data acquisition cycle and stores the data from ~100 such cycles in memory; and 2) a small portable display that displays the data for each cycle as an X-Y graph. I would like the display to have the ability to animate a sequence of graphs, enabling the user to quickly pick out any differences among them.
                    Are the kinematics of the robot arm fixed, or is the motion calculated according to sensor feedback? If you're doing multi-axis kinematics and especially if you're talking about graphical displays, you're going to need a 32-bit microprocessor.

                    Black Moon's suggestion of an ARM development system is a good one. You can get an ARM9 or Cortex development system with WinCE or Embedded Linux.
                    "Twenty years from now you will be more disappointed by the things that you didn't do than by the ones you did."

                    Comment


                    • #11
                      I'd suggest you go in a slightly different direction.

                      I write software to control machinery in my day job and putz around with various microcontrollers in the home lab.

                      I think you'd be much, much, much better off if you got this thing running on a PC before worrying about miniaturization. The inverse kinematics and User Interface will probably be the hardest part of the project. Once it's working properly, then you'll have a much better idea of what kind of CPU horsepower is needed to get the job done easily (remember programmer time is expensive, silicon is cheap!) and you can decide what kind of microcontroller to port it to.

                      And I hope you have deep pockets, since even a cursory analysis of the project indicates that it's already into 5 figures at average software development rates.

                      Comment


                      • #12
                        I think many are underestimating what one can do with the AVRs and PICs.

                        For example, this guy http://elm-chan.org/works/akilcd/report_e.html built a 128 point FFT audio analyzer driving a graphics display using an ATMEGA8. Scroll to the bottom and watch one of his 128 point FFTs in action on various audio inputs, which displays the input as well as the FFT results.

                        Comment


                        • #13
                          There are AVRs and there are AVRs..... some are much more capable.

                          But, buy moving from the uP model to a DSP type processor, one gets a lot of benefits. A DSP is great for manipulating data, but it also works very well as a controller.

                          There are lots of good ones around. We use some in the TMS320 range, for motor control, basically custom VFDs for odd things such as 5 phase motors, etc. They have worked well, but we are looking to move on to a different type now.

                          What might take a VERY capable uP, can often be done in a low-end DSP.
                          1601

                          Keep eye on ball.
                          Hashim Khan

                          Comment


                          • #14
                            There's a lot of good ideas and suggestions already posted.

                            Processor sizing, development platform and sw tools are sort of clear in my mind, with your short description.

                            The data acquisition side is less clear to me. "Robotic arm" to me, means one of those Fanuc Robots. Your description is of a craftsman manual tool.

                            I watched a 'How It Is Made' and the guy was making a bell or something. He ran over the outside of it with a pantograph doomer and made a 'drawing'. He compared his paper with the 'master' for the tone the bell was supposed to produce. He went back to tweaking until it met spec.

                            What I am getting at is could a human operated 'arm' do the movement part of the process? Then it would just be a question of measuring the movements in the joints. The data acquisition part is the hard part of this project.

                            Then any software geek could do the display part.

                            Comment


                            • #15
                              I don't think people are underestimating their power: after all, the average AVR is faster than a mid-late 80's desktop computer and many of them have as much memory, all in a tiny package that fits on your thumbnail.
                              It's that unless you're making many thousands of something, in the end it's often cheaper to get a higher power processor than absolutely necessary in order to save on the development time.

                              Originally posted by arcs_n_sparks
                              I think many are underestimating what one can do with the AVRs and PICs.

                              For example, this guy http://elm-chan.org/works/akilcd/report_e.html built a 128 point FFT audio analyzer driving a graphics display using an ATMEGA8. Scroll to the bottom and watch one of his 128 point FFTs in action on various audio inputs, which displays the input as well as the FFT results.

                              Comment

                              Working...
                              X