IR synced small motor driver

Discussion in 'The Projects Forum' started by DIYSteve, Oct 27, 2011.

  1. DIYSteve

    Thread Starter New Member

    Oct 27, 2011
    24
    0
    Very grateful to have found this forum. Thanks for any help you can provide.

    I would like to run a motorized wheel at 120 rpm synced to an IR signal -- basically an on/off signal, and one ON pulse per revolution.

    I probably can get by with a potentiometer to adjust the rotor to approximately 120 RPM and then rely on the pulse to finally sync the rotor speed.

    Since the rotor might start up out of positional phase, there might have to be some way of adjusting it to sync up. But then it should remain stable in position as well as RPM.

    To give an idea of the size of this motorized project for circuit output power requirements, the diameter of the wheel will be probably 4" (100 mm) and would weigh about 1 ounce (28 g.). I hope it would just spin on the motor bearings, like a muffin fan.

    I'd like help with a driver circuit, and a possible suggestion for a motor -- surplus is fine.

    I've built breadboard circuits before, and printed circuit kits, (and once way back in 1983, an LNW-80 computer from bare boards and surplus IC's). I have a multimeter, but that's all for test equipment.

    Thank you if you can help.
     
  2. crutschow

    Expert

    Mar 14, 2008
    12,995
    3,229
    You could use a phase detector from a phase-lock circuit, such as the CD4046, to synchronize the motor with the input pulse. You would need a position signal from the motor so the circuit can synchronize that to the pulse. Some type of photo-interrupter circuit could be used to detect wheel position.

    For maximum efficiency you could use a PWM circuit to control the speed of a DC motor. If efficiency is not a concern then you could use a simple linear circuit consisting of an op amp and a power MOSFET.

    You will likely have difficulty testing and trouble-shooting the circuit without an oscilloscope.
     
    DIYSteve likes this.
  3. DIYSteve

    Thread Starter New Member

    Oct 27, 2011
    24
    0
    Thanks Carl.

    I looked up CD4046 and found this page with 3 circuits on it: http://www.taswegian.com/NBTV/forum/viewtopic.php?t=491&highlight=4046.

    Are these pretty much what you were thinking? Does the "Sync In" line mean the input from the IR detector, and is the other "Opto Fork" the input from an encoder spot I would put on the wheel?

    re your other suggestions: Yes I could put a simple encoder spot or hole on the disk.

    And power consumption efficiency is not an issue for the motor drive part. The whole thing is pretty small, and would be powered by maybe a DC output wall wart, if possible.

    I don't have an oscilloscope, but would it be possible to use the Visual Analyzer program ( http://www.sillanumsoft.org ) for this, somehow? I've used it a few times to check the frequency of a homemade pulse jet engine by running the audio from a video of it running through the Visual Analyzer program.

    I'm sorry I am not able to design circuits beyond something basic (switches and lights, or a simple linear DC power supply), though I'm very at home building things. Maybe one of those three circuits can be used as is?

    Thanks so much for the suggestions.
    Steve
     
    Last edited: Oct 27, 2011
  4. THE_RB

    AAC Fanatic!

    Feb 11, 2008
    5,435
    1,305
    120RPM is very slow, that's only 2 rotations per second. As you have 1 pulse per rotation that leaves your closed loop control system updating at one 2Hz.

    What is the load? If the load changes it will be very hard to get it stable. If there is just a constant very light load (like a fan or a rotating mirror etc) then it should be ok.
     
  5. DIYSteve

    Thread Starter New Member

    Oct 27, 2011
    24
    0
    Sorry I made a stupid mistake. :( I went to a friend's house -- he had a an oscilloscope, and after hooking up a silicon detector to the input we figured out the frame rate is 60 hz approx, so the motor speed would be approx 3600 RPM.

    I took a picture of the oscilloscope attached to a silicon photodetector for the IR (attached). The divisions on the oscilloscope in the picture are 2 milliseconds.

    The full frame looks like 4 peaks (2 sets of 2) and a downward going pulse. This is with the detector held right against the IR source, not across the room.

    The motors we tried were brushless DC -- 3 phase, 6 pole (counted 12 magnets) -- some from an RC airplane that I had and also a DLP filter wheel.

    He had a driver board for the motors but it had an analog signal for speeding up the motor (a voltage signal). So not really useful for this -- but we were able to run the motors anyway. It did have a tach output, but again, it probably counts motor pulses, and we would probably need to sense something on the wheel for true feedback and position.
     
  6. crutschow

    Expert

    Mar 14, 2008
    12,995
    3,229
    Synchronizing the motor to the LED pulses is a difficult task so be prepared for much trial and error.

    The analog motor control signal could be provided by the output of a phase-detector (such as the filtered output of the type II detector in the 4046 chip) which would synchronize the LED pulses to the position pulses.

    What is the nature of the motor tach output signal? Measure it with the oscilloscope. You may be able to use that for the wheel position signal.
     
    Last edited: Nov 1, 2011
  7. DIYSteve

    Thread Starter New Member

    Oct 27, 2011
    24
    0
    Thanks Carl! I was thinking it might be better to find a different motor driver board maybe with a digital signal input instead of analog. We were just using the one Cal had on his bench (Koford brand) to see how a few different motors we had would drive a spinning disk. (enough power, difficult starting, etc). The tach output of the driver board counts driver output pulses, but (I'm guessing) that's not necessarily where the disk is, if there are missed steps with the motor, so to keep a stable position relative to the input pulses it might be necessary to read an index mark on the wheel itself -- like an encoder does. I don't think I have to resolve more than a single mark -- once per rev, so I don't need a real fine encoder.
     
  8. Bernard

    AAC Fanatic!

    Aug 7, 2008
    4,170
    395
    If the timing pulse is synced to line frequency[ 60 Hz], a two pole synchronous motor could be used; or generate 60 Hz & use a 24V timing motor. Use short interuptions of power to bring motor into sync with timing pulse.
     
  9. DIYSteve

    Thread Starter New Member

    Oct 27, 2011
    24
    0
    Thanks Bernard, but I don't control the timing pulse, I want to follow an existing IR sync signal produced by a laptop's IR emitter.
     
  10. THE_RB

    AAC Fanatic!

    Feb 11, 2008
    5,435
    1,305
    The laptops IR port will be driven from a driver that is subservient to interrupts etc in the operating system (Windows) and will most likely be a really poor freq "sync" with pauses etc.
     
  11. DIYSteve

    Thread Starter New Member

    Oct 27, 2011
    24
    0
    Interesting, I thought this forum was here to help solve project design problems, not enumerate reasons that it wouldn't work. FYI as an example of successful driver syncing, Nvidia's 3dVision IR output does indeed sync their active stereoscopic 3D glasses at 60 hz under Windows 7. I also have built a CNC foam cutter from scratch and have run several Windows, DOS, and Linux based control programs, which admittedly vary in their ability to provide smooth stepping. I'm well aware of OS timing issues. But bottom line, this wasn't a question about Windows interrupt/driver issues, but a hardware design assistance question, given a stable IR waveform as a pre-condition. I don't blame people for not having the time to help -- understandable -- but in that case I (and probably other questioners) would prefer no answer to discouragements.
     
  12. Bernard

    AAC Fanatic!

    Aug 7, 2008
    4,170
    395
    First feed both signals into toggle flip-flops to give square wave signal; then divide down if necessary to they match at 3600 RPM, then feed into phase comparator; use DC output, massager with OP Amp to fit speed control.
     
    Last edited: Nov 11, 2011
    DIYSteve likes this.
  13. THE_RB

    AAC Fanatic!

    Feb 11, 2008
    5,435
    1,305
    Sorry if I sounded less than helpful! :) My post was indeed typed in a hurry.

    I asked you in post #4 what the load was? That information will help people advise you with hardware. Also, you should specify how accurate your timing needs to be, ie how stable you need to hold the speed.

    I'm assuming for now you need to fix both the speed and phase of the rotating mystery object with a 60Hz framerate like in a video application. In the case of the video goggles then minor timing variations will not matter as your eye won't detect the fact that windows makes some pulses late or early, as long as there are 60 pulses each second your eye filters the timing issues out.

    But if you need to sync lock a rotating mass at 3600 RPM to the 60Hz pulses then timing will definitely be an issue. Please provide more info on exactly what it needs to do. :)
     
    DIYSteve likes this.
  14. DIYSteve

    Thread Starter New Member

    Oct 27, 2011
    24
    0
    @Bernard, Thanks very much for answering! While I understand the building blocks you list, I can't design practical circuits to do this myself. I can build from a schematic, and troubleshoot with help. But that's about it.

    @The_RB, Thanks for answering, no problem about drivers, etc. The load, as best I can represent it before actually building something was given in the first post:
    Final note: I've decided to hire someone to design this circuit, since I don't think I will be able to do it this way. I would really have liked to learned something about practical motor circuit design by doing it here with help, rather than just paying someone else, but it seems too complicated for an internet project of this sort. Thanks to all who answered.
     
Loading...