Connect with us

Electronics Project

Discussion in 'General Electronics Discussion' started by Koen Crawford, Jul 25, 2016.

Scroll to continue with content
  1. Koen Crawford

    Koen Crawford

    Jul 25, 2016
    I have been tasked with creating a jig that rotates a cylinder forwards and backwards 360 degrees. Ideally i would like the cylinder to rotate forwards 360 degrees within 5 seconds and then backwards 360 degrees. I've looked at using an arduino along with a motor to rotate the cylinder. would this be the best way of rotating a motor ?
  2. hevans1944

    hevans1944 Hop - AC8NS

    Jun 21, 2012
    Depends on what you are trying to DO. How big is the cylinder? What is its moment of inertia? How do you plan to rotate the cylinder? If you are planning to use a motor, will you need to reduce the maximum rpm of the motor to slow down the rotation rate to one revolution per five seconds (12 rpm)? Is overshoot at the end of the rotation a problem? Do you need to stop quickly once a full 360 degrees is reached? Does it run at the same speed in reverse as it does forward? How many forward and backward rotations are needed once you start? Or does it make one forward rotation, stop, make one reverse rotation, stop and wait for someone to tell it to repeat? Why do you want to use an Arduino? What motor (type, manufacturer, and part number) did you have in mind? How will you sense when a 360 degree rotation has been reached? How much error in positioning can you tolerate? How much time and money are you willing to spend on this project?
  3. Koen Crawford

    Koen Crawford

    Jul 25, 2016
    Thank you for replying. The circumference of the cylinder is 160. I need the cylinder to rotate forwards then backwards until the unit is then turned off, therefore it will need to be continuous. So far I've decided to put wheels on the motor to grip the cylinder and use the arduino to give it the time frame. So far this is just a concept for my jig. Any recommendations for a motor and device to rotate the cylinder are greatly appreciated. There is no budget for this project. However I would like to keep the costs down where ever possible.
  4. davenn

    davenn Moderator

    Sep 5, 2009
    160 what ? miles, metres,feet? inches ?

    quite difficult for us to see what your mind is planning

    how about some drawings

  5. hevans1944

    hevans1944 Hop - AC8NS

    Jun 21, 2012
    We cannot do that until you answer the questions I asked earlier. If you don't know how to calculate (or measure) moment of inertia and the other parameters that I asked about that influence design you will have to muddle through this on your own and try to come up with something that works by trial-and-error. Nothing wrong with that, but the less you know the more likely there will be a lot of error before a trial yields acceptable results, if ever. So, good luck with that.

    And as @davenn asked, please provide units with any numbers you choose to throw out here. For all we know you are moving a 160 foot circumference (or 51 foot diameter) solid-steel cylinder of some unknown length. You provided no dimensions or drawings or material specifications, so it is impossible to know how much power is required to accelerate your cylinder, whether uniform motion (constant angular velocity) is a requirement or not. Your parameters are vague and non-specific. This is not the way to approach any design effort. You need to tell us what you are trying to DO and let us provide suggestions on HOW to do it. We need to establish a dialog here where you answer questions and we suggest answers.

    For example: Hi, EP responders! Master machinist Crawford here, aspiring to move into electronics. My supervisor has a machine that allows us to mount a 160mm circumference (50.93mm diameter) solid polycarbonate cylinder 250 mm long on center-less support bearings. We need to build a jig that will turn this cylinder back and forth through 360 degrees, completing a full clockwise motion followed by a counter-clockwise motion every ten seconds. Once initiated, the back-and-forth motion will continue until commanded to stop. There should be no cumulative rotation of the target cylinder caused by inaccuracy in the back and forth rotation.

    Each of the support bearings are (insert bearing specification here) and have x.xx kg·m² moment of inertia. The rotational motion should ideally be sinusoidal, reaching maximum velocity after 180 degrees rotation and becoming zero at each end before rotating in the opposite direction.

    I am thinking of using a stepper motor to drive a rubber friction cylinder that will press against the polycarbonate cylinder from above, centered between the two support cylinders, and loaded against the polycarbonate cylinder by the weight of the motor and support bearings. The length and diameter of the rubber friction cylinder is to be determined, but it must be long enough to allow rotation without slippage under a downward pressure of approximately 10 N force applied by 1 kg total weight of motor and friction cylinder. I am a little rusty at computing torque and acceleration requirements, but If this appears feasible, please recommend a stepper motor, motor driver, and controller.

    I would like to issue and count stepper motor pulses, perhaps with an Arduino Uno, to determine the angle the target cylinder rotates through with an overall non-cumulative error of ±2 degrees. To do this I must assume there is no slippage between the friction roller and the target cylinder and no "lost steps" in the stepper motor. I could perhaps verify these assumptions, if necessary, by sending continuous stepper motor pulses to a binary counter that overflows, using the most significant bit as a direction control bit, and observing whether there is any net rotation of the target cylinder. I would appreciate any advice on whether this scheme will work, or suggestions for alternative drive mechanisms. Please advise if further specifications are required. I will provide dimensioned drawings of the machine and target cylinder.


    From Krak_Pocket: Hi ya, newbie! I recommend ya rip out the rotor of a largeish three-phase motor and surround your cylinder with its field coils. Use some superduper glue to attach a few of them superduper rare magnets around yer cylinder and then apply a rotating magnetic field to the windings of the three-phase motor whose rotor ya removed. Reverse the direction of the field rotation each time yer cylinder has rotated through 360 degrees. Ah recommend three-phase pulse-width modulation of the field coils using simple 555 timer circuits you can find on the Internet. Hope this helps.
  6. Harald Kapp

    Harald Kapp Moderator Moderator

    Nov 17, 2011
    Apart from the (electro-)mechanical considerations (as to which I second my peers in their previous answers): An arduino, PWM etc. is possibly overkill in this application:

    • Use a reversible motor (e.g. a straight DC motor, no fancy brushless one)
    • Add a double pole double throw (DPDT) switch to the fixed base of the device at the point where you want the disk to reverse rotation.
    • Add an actuator (e.g. a protruding stick or similar) to the rotation disk such that it operates the DPDP switch on the base when the actuator reaches the switche's position due to the rotatiojn of the disk. make sure the actuator-switch combination is mounted in an elastic way such that neither actuator nor switch are broken when the turning disk can't stop and reverse roatation immediately but has some lag (a switch like e.g. this one will probably suffice as it is internally spring loaded and will toggle all the way to the end position once it has been tipped over a certain threshold. This will leave some time for the motro to stop and reverse direction- depending on the speed and masss of your device).
    • Wire the DPDP switch such that it reverses the rotation of the motor when operated by the approaching actuator.
    • Add a second main switch (manually operated) to turn the device on or off.
    hevans1944 likes this.
  7. hevans1944

    hevans1944 Hop - AC8NS

    Jun 21, 2012
    I will add to Harald's suggestion to use limit switches and actuators to reverse the direction of rotation. The "best" way to do this is with two cams mounted adjacent to each other and attached to one end of your cylinder through a connecting shaft. The cams can be made adjustable by loosening a radial set-screw securing the cam to the shaft. Sometimes the mechanism that "locks" each cam in position on the shaft is machined as part of the cam: a split-ring that can be squeezed to clamp down on the shaft. The cam itself is just an eccentric lobe that can over-run a leaf-actuated micro-switch. You should use two of these cam/switch mechanisms so as to allow independent adjustments of the clockwise and counter-clockwise reversing positions.


    A pair of relays, each momentarily actuated by one of the micro-switches, and wired to be self-latching, applies power to the DC motor in a polarity that will drive the motor to move the cylinder cam toward the other limit switch. When this switch is actuated by its cam, the first relay is de-energized, a second relay energizes and self-latches, and the motor reverses. To get everything going, a push-button switch momentarily energizes either relay.

    It is always a good idea to employ over-running limit switches followed by a fixed bumper-stop in case over-run does occur. A current sensor can be used to detect collision with the bumper stop and turn everything off by tripping off when the DC motor stall current occurs. Over-runs should always be controllable. A means must be provided to disable the motor if an over-run into the bumper stop ever occurs during normal operation, which situation being an error condition.

    Once started, DC motors will run with a fairly constant speed under load, but will speed up (accelerate) if the only thing being driven is a low-friction inertial load, which it sounds like your cylinder might be. This can result in a LOT of angular momentum stored in the cylinder as it approaches the reversal point. When the DC motor is reversed, that stored angular momentum represents energy that must be dissipated in the motor armature before the cylinder direction is reversed. Make sure whatever motor you use can tolerate this.

    One possible way around this problem is to use a more complicated cylinder rotation mechanism that stores rotational energy in a pair of opposing springs. When the cylinder is In the centered position between limits, the two springs together have zero net stored energy. As the cylinder rotates it stores energy in one spring while releasing energy from the other spring. At the end-point of rotation, the spring-stored energy is used to accelerate the cylinder in the opposite direction, whereupon the cycle repeats.

    This mechanism can (and probably should) be made a resonant system, so the cylinder velocity follows a sinusoidal profile: zero velocity at the end points of rotation and maximum velocity as the cylinder rotates through the middle position. One simple implementation is to wrap a flexible cable around a pulley attached to one end of the cylinder, securing each cable end to a pair of extension springs whose other ends are fixed to the machine base. The resonant frequency will depend on the spring constants and moment of inertia of the driven cylinder. With low-friction support bearings for the cylinder, very little motor power is required to maintain oscillations.
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day