Announcement

Collapse
No announcement yet.

New Project - Arduino Turntable for Polar Measurements

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

  • New Project - Arduino Turntable for Polar Measurements

    Click image for larger version

Name:	TT.jpg
Views:	1
Size:	103.7 KB
ID:	1390039

    Work in progress - will provide details as I go. The basic rundown:

    23" diameter platform
    NEMA 17 motor with 1.8 degree steps driving a 50T GT-2 pinion gear, which in turn rotates the table via a 450 tooth belt. This works out to 50 steps = 10 degrees.

    Going to control the motor with an Arduino Uno and the Adafruit motor driver. Hopefully this driver is powerful enough to power a sufficiently beefy motor, but the gear reduction is so great that I'm not too worried about torque. I could probably use a cheaper microcontroller and a cheaper motor driver but I'm learning this stuff so a documented product is needed.

    Central bearing will be flanged ball bearings pressed into the top assembly. These don't really take much load. The weight of the speaker is supported by linear transfer bearings, the kind you see on those outfeed stands you have for your tablesaw. 6x 110# rating should be sufficient.

    Operating should be simple - aiming to have a plastic box with a switch next to my computer, with a power input providing power to the motor driver and arduino. Single switch progresses turntable by 5 degrees.

    With a little more work, perhaps a hall effect sensor or magnetic reed switch, another button could return the table back to 0.

    German speaker nerds designed a turntable which integrated with ARTA for one-button polar measurements. That's a bit ambitious for me.

    All parts CNC cut out of 1/2" and 1/4" mdf.

    I have no idea what I'm doing but this is turning out to be a fun project. Anyone with experience in arduino, please chime in.

  • #2
    A Lazy Susan bearing might work well.

    Will you integrate software control of the signal and data recording as well? You might automate the entire process, just short of a robot, to place, connect, run your test loop, then disconnect and remove your drivers from the turntable.

    You shouldn't need a Hall sensor or reed switch, for a closed loop, stepper motors are usually very accurate.

    This should be a good project. I look forward to seeing your progress, and how it all works out.
    Last edited by TN Allen; 10-09-2018, 07:29 AM.

    Comment


    • #3
      Great project! I'll be watching your progress as I know just enough about Arduino to get in over my head quickly on the coding side.
      Co-conspirator in the development of the "CR Gnarly Fidelity Reduction Unit" - Registered Trademark, Patent Pending.

      Comment


      • #4
        Originally posted by TN Allen View Post
        A Lazy Susan bearing might work well.

        Will you integrate software control of the signal and data recording as well? You might automate the entire process, just short of a robot, to place, connect, run your test loop, then disconnect and remove your drivers from the turntable.

        You shouldn't need a Hall sensor or reed switch, for a closed loop, stepper motors are usually very accurate.

        This should be a good project. I look forward to seeing your progress, and how it all works out.
        My only concern with the stepper motor is that if it drops steps, inaccuracies can get compounded. I need to build this thing and put some weight on it before I can tell if that's going to be a problem.

        Regarding control, there is an android/iOS app called Blynk which allows you to create a GUI for Arduino which runs on your phone and communicates via bluetooth. Might be a fun way to run this.

        First step, however, is to get the motor running in arduino, then build the platform and see how well it positions. If all that works, I'll work on whatever interface makes sense.
        Apps for iOs and Android to connect Arduino, Raspberry Pi and similar hardware. Build a beautiful drag-and-drop user interface for your project in less than 5 minutes!

        Comment


        • #5
          You might integrate the entire process using R-Pi or Tinker Board, provided you can run ARTA on one of the many OS. Tinker Board has very good audio output, either S/PDIF or analog. There are motor driver PCBs for R-Pi and Tinker Board. I think I recall correctly that I had students who used an R-Pi to control an Arduino. I think they used the Windows OS for R-Pi so they could use the Arduino GUI to write compile and upload code. You shouldn't have difficulty with dropped steps, unless the driver board or code are faulty.

          Comment


          • #6
            Originally posted by TN Allen View Post
            You might integrate the entire process using R-Pi or Tinker Board, provided you can run ARTA on one of the many OS. Tinker Board has very good audio output, either S/PDIF or analog. There are motor driver PCBs for R-Pi and Tinker Board. I think I recall correctly that I had students who used an R-Pi to control an Arduino. I think they used the Windows OS for R-Pi so they could use the Arduino GUI to write compile and upload code. You shouldn't have difficulty with dropped steps, unless the driver board or code are faulty.
            If I did pc integration I'd just use a PC; arta really requires a keyboard and mouse so you might as well just operate from a laptop. I have 0 coding experience besides some basic scripting so integrating with req or arta is beyond my abilities at present.

            Regarding the stepper motor, the one I got for this project is 3.5v 1a and 18 in/oz holding torque. I think that should be good enough to rotate a table at 9x gear reduction but who knows. The Arduino allows the speed to ramp up and down which should help dropped steps if the table momentum is enough to push the motor ahead at the end of a movement.

            Comment


            • #7
              Originally posted by civit View Post

              If I did pc integration I'd just use a PC; arta really requires a keyboard and mouse so you might as well just operate from a laptop. I have 0 coding experience besides some basic scripting so integrating with req or arta is beyond my abilities at present.

              Regarding the stepper motor, the one I got for this project is 3.5v 1a and 18 in/oz holding torque. I think that should be good enough to rotate a table at 9x gear reduction but who knows. The Arduino allows the speed to ramp up and down which should help dropped steps if the table momentum is enough to push the motor ahead at the end of a movement.
              I am maybe a half a step ahead of you with regard to programming. I know just enough to understand of basic formatting and libraries needed for an Arduino sketch. Judging by the motorized camera slider that I built last year, those steppers can stop & start fairly quickly. It's probably a good idea to ramp the speed up & down, not only for position accuracy, but also to avoid too much stress & wear on your belt. My project wasn't that complex, so I have to ramp the speed with a pot on the controller.

              FWIW - I used an EasyDriver board on my project, mostly due to size. You can set those up for fractional step rotation, but I have no idea how useful or accurate that might be in your type of project.
               
              Co-conspirator in the development of the "CR Gnarly Fidelity Reduction Unit" - Registered Trademark, Patent Pending.

              Comment


              • #8
                Originally posted by tom_s View Post
                FWIW - I used an EasyDriver board on my project, mostly due to size. You can set those up for fractional step rotation, but I have no idea how useful or accurate that might be in your type of project.
                Yeah I saw the accelstepper library and saw some people playing around with it on youtube - seems like ramping the speed up and down will be key for rotating a big heavy table. My concern with microstepping is that you're between detents of the stepper and I believe holding torque is less.

                Using a 200 step/revolution motor, a 50 tooth pinion and a 450 tooth belt I actually get 10 degree rotation with a whole number of steps (forget the math but I think it's like 50 steps for 10 degrees).

                Interestingly I don't plan on using the belt as a belt - I'm going to try to slip it around a big circle of mdf with the gears on the belt facing out, essentially creating a huge 450T gear. We will see if that's a bad idea or not, but if the circle is cut precisely and a little oversized I think it will work.

                I'm sure I'll be spending the next week learning how to turn an LED on and off in arduino but I will post pictures as I go.

                Comment


                • #9
                  I've played around with Arduinos on a couple of projects - if you hit some snags, just post here, and I'll do my best to help you.
                  I did find on a simple "blink LED" project that Chinese breadboards quality can vary a lot! I couldn't get something simple to work
                  for several hours, until I trashed the bad breadboard.
                  If you have ever done any programming, you probably know the values of comments and debug statements.
                  Say you have a stepper function:
                  Motor_Control(pin, "on or off)

                  Inside that function, I'd always have a couple of debug statements:
                  if "on or off" == 1:
                  // turn motor on
                  println("motor should be on now"

                  etc.

                  I think I hear a difference - wow, it's amazing!" Ethan Winer: audio myths
                  "As God is my witness I'll never be without a good pair of speakers!" Scarlett O'Hara

                  High value, high quality RS150/TB28-537SH bookshelf - TARGAS NLA!
                  SB13/Vifa BC25SC06 MTM DCR Galeons-SB13-MTM
                  My Voxel min sub Yet-another-Voxel-build

                  Tangband W6-sub

                  Comment


                  • #10
                    Originally posted by civit View Post

                    Yeah I saw the accelstepper library and saw some people playing around with it on youtube - seems like ramping the speed up and down will be key for rotating a big heavy table. My concern with microstepping is that you're between detents of the stepper and I believe holding torque is less.

                    Using a 200 step/revolution motor, a 50 tooth pinion and a 450 tooth belt I actually get 10 degree rotation with a whole number of steps (forget the math but I think it's like 50 steps for 10 degrees).

                    Interestingly I don't plan on using the belt as a belt - I'm going to try to slip it around a big circle of mdf with the gears on the belt facing out, essentially creating a huge 450T gear. We will see if that's a bad idea or not, but if the circle is cut precisely and a little oversized I think it will work.

                    I'm sure I'll be spending the next week learning how to turn an LED on and off in arduino but I will post pictures as I go.
                    That sounds like a solid plan, using the mdf circle as a gear. You get a better gear ratio, more torque, and you won't have to worry about the belt slipping off!

                    I didn't even think about loss of torque when microstepping. That might explain why my slider won't move my carriage with the camera on it unless everything is fairly level.
                    Co-conspirator in the development of the "CR Gnarly Fidelity Reduction Unit" - Registered Trademark, Patent Pending.

                    Comment


                    • #11
                      Thanks for the input everyone. I've been updating the design and think it could work.

                      I'm going to play with the arduino and motors until I feel like I know what I'm doing.

                      Two other methods of control occurred to me:

                      1. Use a motor to turn the platform, and use a hall effect sensor to sense small magnets recessed into the underside of the platform. Arduino program simply turns until the hall effect sensor picks up a new magnet, then stops. In this design, the # of steps is not controlling the rotation. Maybe there's a really slick way of using an optical sensor here?

                      EDIT: https://www.sparkfun.com/products/9299 optical interrupt switch

                      (I might recess a magnet into the underside for the home position anyway, or some other kind of mechanical stop. I'm sure there's a really ingenious way of doing this but I'm not sure what it is. )

                      2. Scrap the gears and moving parts and mount the platform to a big worm gearbox with 1:100 reduction or so. Simpler and possibly more robust.

                      Comment


                      • #12
                        Quick update.

                        This project requires an immense amount of learning on my part, but I am making slow and steady progress.

                        - I went to a local industrial/maker shop space near me and talked to an arduino / motion control expert, who basically said I was on the right track.
                        -for a homing switch, he suggested an optical interrupt. I think this is a good option but I will test some others.
                        -he suggested laser cutting a gear instead of making one by wrapping a belt around a disc

                        The timing belt profile I am using (Gates GT2) has a pinion profile and a belt profile. If I cut a belt profile main gear and use a metal pinion, I think there will be less room for error than if I cut a big pinion and use a 500T belt. The belts are not very stretchy. I am going to laser cut a little test jig to test the different options (metal pinion+laser cut belt profile disc / metal pinion + laser cut pinion profile disc + belt)

                        - I've been learning arduino doing some basic projects, turning LEDs on and off. It's pretty intuitive and the included libraries for motor control are excellent.

                        - I got a NEMA 17 motor and a dedicated enclosed stepper driver. These appear to both work extremely well - the stepper is quite strong and doesn't seem to overshoot or show any frailty. We will see how it acts loaded up, but I am optimistic.

                        The motor driver is a 30 dollar unit from STEPPERONLINE on Amazon. STEPPERONLINE has a website where they sell their motors, drivers and other motion control stuff. The motor was maybe $15 and the driver was $30 or so. I think this is a reasonable cost for these units. I am trying to keep costs down, and use easily available parts whenever possible.

                        I've been playing with the Accelstepper and Stepper arduino libraries today. Controlling the motor is a breeze, and the acceleration functionality is very nice indeed.

                        Working on this project has given me the chance to clarify my intentions. My intent is to create a remote control turntable that is easy for people with limited experience in these things to build. The gear will probably require laser cutting (which can be done online at a site called Ponoko), and the main assembly would probably best be CNC cut. The sundry parts should all be available on Amazon or any good industrial supply house - mostly a few bearings and a few bolts, an arduino, a motor, a driver, a power supply, and probably some kind of enclosure.

                        After I create a prototype that moves, I will do some tests and start working on an interface. At the very least, I want a software interface which allows the user to increment the turntable by some number of degrees. When I've done that, I'll try getting someone to help write a program which interfaces with ARTA - ARTA's manual describes how this works, and it seems quite simple.


                        Comment


                        • #13
                          Have you looked at Sparkfun and Adafruit, they offer good documentation for various Arduino and Pi products, as well as projects and code.

                          Here is a good source for gear belts and pulleys:
                          http://www.sdp-si.com/

                          Comment


                          • #14
                            Originally posted by TN Allen View Post
                            Have you looked at Sparkfun and Adafruit, they offer good documentation for various Arduino and Pi products, as well as projects and code.

                            Here is a good source for gear belts and pulleys:
                            http://www.sdp-si.com/
                            I just looked through their catalog. Surprised at the reasonably priced gt2 wheels. I'd like to get bigger than 120T or so, but these might be a good option. Will definitely keep in mind.

                            Comment


                            • #15
                              Hi civit,
                              I wanted to pass on another resource for timing belts and pulleys. I mentor a robotics team and we often use HTD profile belts. We have found that polybelt has a great selection and prices.
                              Nate
                              Industrial Timing Belts & Pulleys at Great Prices from Stock polybelt.com Polyurethane Steel or Kevlar cord
                              My Builds - Overnight Sensations w/ Voxel - Speedsters in surplus boxes - Zaph B3N's in bamboo - Classix II in BR-1 cabinets - Dual TPA3116 D2 amp in an old music box - Mariposas

                              Comment

                              Working...
                              X