Announcement

Collapse
No announcement yet.

CNC Pickup Winder

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

  • #16
    Originally posted by salvarsan View Post
    The mind boggles.

    The 32-bit ARM-based Arduino Due was released yesterday Monday 10/22/2012. It fits all the 3.3v compliant Arduino shields.
    Downside: $49 vs. Uno32's $27, but the Arduino has ~4x more memory.

    Question:
    Why would you need more than a 1-D track for guiding wire onto a bobbin? A 3D gantry seems excessive.
    Well, I can tell you that for the winder design I have in my head, I'd want to use 2 steppers: One to spin the bobbin for a preset amount of turns, and the other to control the traverse. I know you can technically control more than one stepper with your standard 8-bit Arduino, but to the extent of my knowledge, anyway, I think speed quickly becomes an issue.

    As far as Hugh's design goes, I'm only assuming he'll be using more than one stepper motor.

    Comment


    • #17
      Originally posted by Chris Turner View Post
      ...anyway, I think speed quickly becomes an issue...
      IMHO, an Arduino can/should be able to deal with it, but the steppers can have (speed) limitations in this application.

      Do a search (on this forum) for the old Elepro CNC winder project from 2009, stepper motor speed became an issue (which might have been an issue with Elepro's PIC implementation) but the fast-fix was to use XL pulleys/belt to get 2:1 pulley ratio for more speed.
      -Brad

      ClassicAmplification.com

      Comment


      • #18
        Unless the PIC based system did a poor job generating clean pulses, it is unlikely that it is to blame. More likely than not, the issue was either due to the power supply, steppers (unlikely since this should be a small load) or acceleration curves were not optimized. We already have some arduino parts sitting around, and the design will be as simple as possible to meet our design goals and no simpler. Another advantage is that we will be developing the computer based controls in parallel with the self-contained arduino solution. It's not our first rodeo, and this is comparatively a simpler job than building a precision CNC router for as little as we did.

        To address an earlier question: unless you saw a picture of our router and got confused. Our winder is a pile of parts at the moment and will not have a gantry. It will most likely run on two stepper motors. We've resolved that it is unlikely a 1.8° per step one will be necessary, especially for our target maximum winding speed of 1000 RPM. Theoretically, with what we have 800 RPM should be possible... But also a waste of capability.

        Kevin: Thanks for checking us out. I don't even have a current picture of the router loaded at the moment, and it really looks nice with a bed of extruded aluminum T-slots. As much as I dream of getting a CNC router in every garage, I would settle for increasing the number of community hackerspaces. Many people believe CAD/CAM does all the work, you scan in a design, it figures out how to make it, you slap a block of material on the cutting bed, and a few minutes later you have your part. Reality is that like any tool, there is a learning curve. I was lucky with CAD because my father, an electrical engineer, got some software when I was about ten... I immediately took an interest and became complete proficient very quickly. While at Martin, I got to do a bit of everything including spending time as a CNC operator. College made things worse because now I technically know exactly what I'm doing. It would be fun to teach some classes on traditional drafting, CAD, CAM software (tweaking cutting paths), and releasing trained people into the world. That dream feels unlikely.

        This is really a nice lively bunch, and I'm glad I finally involved myself in this forum. If this project is true to form like out others, there will be a lull for a while and suddenly pictures of a nearly complete machine will appear. Be patient. I'll do my best to keep everyone informed.

        Comment


        • #19
          Originally posted by Hugh Evans View Post
          Unless the PIC based system did a poor job generating clean pulses, it is unlikely that it is to blame. More likely than not, the issue was either due to the power supply, steppers (unlikely since this should be a small load) or acceleration curves were not optimized.
          To be fair to the Arduino (), the troubles I've had in using more than one stepper at once at the speeds I want for a winder was when using the AccelStepper library (here...). The standard Arduino Stepper library is good for single motors. This AccelStepper library allows you to control more than one with an 8-bit controller, just not at the speeds I'd think would be adequate for a winder. YMMV, I suppose.

          Then again, I didn't have multiple types of steppers or power supplies to play around with, either.

          Comment


          • #20
            Originally posted by Chris Turner View Post
            To be fair to the Arduino (), the troubles I've had in using more than one stepper at once at the speeds I want for a winder was when using the AccelStepper library (here...). The standard Arduino Stepper library is good for single motors. This AccelStepper library allows you to control more than one with an 8-bit controller, just not at the speeds I'd think would be adequate for a winder. YMMV, I suppose.

            Then again, I didn't have multiple types of steppers or power supplies to play around with, either.
            I rather swing a sock full of quarters at my head than run multiple real time peripherals off one 8-bit controller. The horsepower just isn't there, don't care whose it is.

            Arduino UNOs and PIC16s can stick with single chores, where they excel. If I was constrained to 8-bit controllers, I'd use one per peripheral and coordinate them from a central executive.

            There needs a minimum bandwidth*MIPS*memory that most of the new 32-bit ARM/MIPS/DSP types seem to meet handily, so we have an agreeable selection list.

            -hizself
            "Det var helt Texas" is written Nowegian meaning "that's totally Texas." When spoken, it means "that's crazy."

            Comment


            • #21
              Seriously, everyone, don't get too worked up over what kind of arduino board we should use. I can assure you the candidates should have sufficient horsepower... And if we need to change the design to ensure proper performance, we will. What we won't do is release a product that we haven't already tested thoroughly and feel confident that it will function as intended. I've been trained in areas including lean engineering, which means I also know how to over-engineer something and design products that I would want as a result. I promise to post updates and progress reports. The first incarnation will be driven by our PC based controller, which by far will have the most horsepower. Arduino development will be happening alongside, and rest assured that you will know about it when we announce it and post videos.

              For now, relax. If you have a cool idea or question: don't be afraid to ask. When all is said and done a lot of people will have access to an incredibly powerful yet easy to use tool that won't break the bank.

              Want to know my biggest concern right now? Getting ahold of good examples of vintage pickups that need to be rewound so that we can have an opportunity to properly analyze and document our findings. I suspect that is going to take some work unless we get very lucky.

              Comment


              • #22
                Originally posted by Hugh Evans View Post
                To address an earlier question: unless you saw a picture of our router and got confused. Our winder is a pile of parts at the moment and will not have a gantry. It will most likely run on two stepper motors. We've resolved that it is unlikely a 1.8° per step one will be necessary, especially for our target maximum winding speed of 1000 RPM. Theoretically, with what we have 800 RPM should be possible
                Back of the envelope calcs --

                The repeatable resolution is important.
                At the worst case, we want to lay AWG 45 (0.00192" dia. single build), a resolution of 520 steps/inch.
                A 3.6° per step motor = 100 steps/revolution.

                A whackadoodle 5.2:1 lead screw would be exact in a perfect world.

                We can get 20,10, and 4 Turns/Inch lead screws off the shelf.
                A 10 TPI Lead Screw may seem to give enough resolution, some 0.0010" advance per 3.6° step.
                That's 2 steps per advance for #45 wire.

                A 'perfect lay' wind on a 0.5" high bobbin using AWG 45 is 260 winds.
                260 winds takes 19.5 seconds at 800 rpm.
                That's 13.33 winds per second, spread over 0.0256 inches
                Traverse rate is 0.0256 inches/sec

                Not a fast traverse rate, so a fast traverse motor is not needed.
                13.33 winds/sec @ 2 steps/wind = 26 steps/sec = 38 ms/step
                A NEMA 14 3.6° step motor may be sufficient.

                For #38 wire (.0045" dia. single build), for when someone does a run of Charlie Christian style pickups,
                That 13.33 winds/sec spans ~0.06 inches, needs 120 steps/second from the motor, 8.3 ms/step.

                Don't remember if that's practical. Might be noisy.

                My first-cut estimate is a NEMA 14 3.6° step motor driving a 10 TPI lead screw to feed an 800 rpm spindle.

                -hizself
                "Det var helt Texas" is written Nowegian meaning "that's totally Texas." When spoken, it means "that's crazy."

                Comment


                • #23
                  many posts with my name.... always same author...

                  .......my gaussmeter project..... ........
                  .......first pickup with my cnc winder........

                  .... NEW cnc pickup winder user manual.....

                  Comment


                  • #24
                    Coda:

                    120 steps/sec is an easy steps for a small (NEMA-14) hybrid step motor.

                    Has anyone analyzed the wire tension change on an oblong bobbin at 600 rpm?
                    600 is a nice number for rpm <-> rps interconversion.
                    "Det var helt Texas" is written Nowegian meaning "that's totally Texas." When spoken, it means "that's crazy."

                    Comment


                    • #25
                      Originally posted by salvarsan View Post
                      I rather swing a sock full of quarters at my head than run multiple real time peripherals off one 8-bit controller.
                      I'd rather black my face and swing a sock full of quarters at a LA cop's head. With no witnesses around.

                      I'd feel especially uneasy working on the Arduino with its support libraries written in C++ by hipsters. They probably think real-time programming means finishing their English Lit. coursework 5 minutes before it's due.

                      I've been trained in areas including lean engineering, which means I also know how to over-engineer something
                      Surely that would be fat engineering?
                      "Enzo, I see that you replied parasitic oscillations. Is that a hypothesis? Or is that your amazing metal band I should check out?"

                      Comment


                      • #26
                        To clarify your question: are you asking if a tension differential is created based on geometry or winding speed? I will be able to run some very well controlled experiments. Having access to an Instron is great

                        Comment


                        • #27
                          Originally posted by Steve Conner View Post
                          I'd feel especially uneasy working on the Arduino with its support libraries written in C++ by hipsters.
                          One sock full of quarters coming up.

                          You didn't closely read the Arduino development libraries or the compiler flags.
                          If you haven't tried to convert it to a make+Makefile build, you don't appreciate how much effort they saved you.

                          The Arduino base hardware abstraction rationalizes an otherwise noxiously inbred bunch of special purpose pins and registers exceeded in bletcherousness only by PIC architectures. The Arduino IDE is blissfully easy to develop in.

                          As for C++, in practice, you write C for a C/C++ compiler.

                          In the Arduino environment, it is EASY to read, easy to write. The only way it could be better is to be a Python IDE that generates native object code.

                          You use the class constructor mechanism in place of special library calls, and all new class instances are based on a soft copy since the memory allocator has less than 2k to fiddle with.

                          And how many class instances are you going to breed in a 32kB executable?

                          I'll take a mild performance hit in exchange for rapid development any day.

                          If the Arduino is too slow for you, then you get an ARM platform.

                          Did I mention the Arduino made embedded development very easy?
                          "Det var helt Texas" is written Nowegian meaning "that's totally Texas." When spoken, it means "that's crazy."

                          Comment


                          • #28
                            Originally posted by Hugh Evans View Post
                            To clarify your question: are you asking if a tension differential is created based on geometry or winding speed? I will be able to run some very well controlled experiments. Having access to an Instron is great
                            If you can instrument the wire tension as it "dances" spooling onto an oblong bobbin, I say "outstanding!"

                            If you statically set the maximum tension before wire stretch, then it will be exceeded at speed without unusually good tension regulation.

                            The actual winding tension is tailored to application; tighter for loud situations, looser for sane volume levels. The rationale is that looser windings give an audible amount of sonic sweetening ... until they are too microphonic and prone to feedback.

                            Joe Gwinn has looked into the tech of magnetic wire tensioners, so you may want to confer with him on the details of making an inexpensive tension regulator.
                            "Det var helt Texas" is written Nowegian meaning "that's totally Texas." When spoken, it means "that's crazy."

                            Comment


                            • #29
                              I have travelled the Netduino path and had problems with the small things.... like a menu system that actually works easily with the single line LCD & keypad, spinning multiple motors simultaneously while collecting positional info and probably the most difficult was recovering from issues mid-wind (ie. not doing a complete restart in the case of something correctable happening.)


                              Although, to be fair, most of these issue were due to my lack of programming skills in .NET

                              I'd probably go for rev counting an optical encoder (ir reflective sensor) as they have some with built in capacitor discharge circuits that allow for digital input.




                              I've ended up going down a PC controlled via USB route, only because my components come with the .dll files to make this a snap.


                              I have programmed a pretty good scatter wind simulator based on randomly selecting the next traverse from an array of prime numbers. This allows for random/mixed TPL during the winding process.

                              For example if you use the following list of primes [3, 5, 7, 11, 13, 17, 19, 23] and randomly select you will treverse on average 12 steps with each wind, If you have 240 steps per layer you average 20TPL but might go as high as 80TPL or as low as 10TPL

                              Setting your array size and content you can pretty much control the upper and lower TPL as well as the average TPL.

                              I like prime numbers because the lack of comon denominators means that you are less likely to lay a wire on top of an existing wire on the return-traverse.


                              My PC does this "on the fly" and records the steps to a dBase so I can rebuild any "randonm scatter wind' precisely. Of course you can pre-program your stepper controller based on this technique before execution I guess.

                              Good luck with the project, I'd be interested in building/testing when its done.

                              Comment


                              • #30
                                Salvarsan: I see your sock full of quarters and raise you a handbag with a brick in it. Real-time programming is difficult. If development seems blissfully easy, it's because someone has already buggered up the real-time issues for you. Read the bug history for the AccelStepper library to get an idea of what I'm talking about. (how did they end up asking an 8-bit micro to compute square roots in real time?)

                                One of my early real-time experiences involved a diesel engine running away and trashing a bunch of stuff because the code controlling the fuel rack got interrupted by some other routine.

                                BTW, an Instron what? I've used one of their tensile testing machines, but I struggle to see the relevance to pickup winding.
                                "Enzo, I see that you replied parasitic oscillations. Is that a hypothesis? Or is that your amazing metal band I should check out?"

                                Comment

                                Working...
                                X