motor controller speed issues

Discussion in 'The Projects Forum' started by awwende, Mar 11, 2010.

  1. awwende

    Thread Starter Active Member

    Feb 17, 2009
    39
    0
    I'm working on a stepper motor controller for a desktop cnc mill. the schematic is at the bottom, as well as the stepper motor datasheet.

    For my steps i'm using 0-5v square wave with a 50% duty. As I increase the frequency from 0-150Hz, the motor speed increases linearly, but around 200Hz the speed decreases dramatically as if it's catching every other step.

    the switching speed on fets are 15ns on and 100ns off.

    Does anyone know what the problem is? The clock on my counter is rated for over 1MHz. Is it something in the circuit or is it my motor?

    If you need any clarification, let me know.

    http://www.instructables.com/files/orig/F5L/OYU4/F5R8QRL0/F5LOYU4F5R8QRL0.jpg

    http://www.eminebea.com/content/html/en/motor_list/pm_motor/pdf/pm55l048.pdf
     
  2. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    What MOSFETs are you using?

    What voltage are you using for your motors?
     
  3. rjenkins

    AAC Fanatic!

    Nov 6, 2005
    1,015
    69
    The light bulb should not be a problem in principle, it's being used as a 'baretter' style ballast. As long as it's supplying enough current to the motor it should be fine.

    However, for that circuit to work the power supply should be at least twice the rated voltage of the motor; the more the better.

    Think of each winding as a center tapped transformer. When one end is switched to ground through a transistor, the other end will go to double the voltage on the motor common.

    If that peak voltage is higher than the incoming supply, a high current will be fed through the protection diode back to the supply and the center tap of the winding will be forced down to V+/2, reducing the supply voltage to the motor.

    At low frequencies it's just a transient pulse each time it steps, but at higher frequencies it will happen too fast for the circuit to recover.

    The other alternative is to remove the diodes and fit VDRs across each winding section, rated just over the motor voltage.

    That will protect the transistors and give a fast quench on the motor windings, without any 'short circuit' effects.

    Note the resistor or filament ballast feed to the motor reduces the inductive time constant, allowing faster operation & higher torque. The higher the supply voltage the faster the motor will be able to run, even with the same current limit and the same steady-state voltage on the motor common.
     
  4. shortbus

    AAC Fanatic!

    Sep 30, 2009
    4,019
    1,542
    Not to rain on your parade, but, how are you going to interface your driver to your computer? This type of driver is OK to test your motor, but when it comes to making it move to do machining?

    The driver boards to do CNC use signals from the computer to vary speed and direction.

    Also your motors probably won't be strong enough to move your axis when you add in the cutting force to the moving force. In fact thats probably what is causing you to lose steps.

    Most home CNC's use a NEMA23 or larger motor and a 200step/revolution and 1/2step or micro step them.

    http://www.cnczone.com/ is a much better place to get CNC information than instructables!
     
  5. nomurphy

    AAC Fanatic!

    Aug 8, 2005
    567
    12
    Try placing the diodes D1:4 between PL1:4 and PL5 (across the windings) instead of at the FETs, make sure all the cathodes point toward PL5.

    Also, you may need to add a better gate driver. You don't specify the FETs, but I would be concerned about the lack of drive currrent available from the 4028 to overcome the total gate charge. Check with your finger to see if the 4028 is getting very warm.
     
  6. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    In addition to the gate drive current concerns, what diodes are you using?

    They need to be a fast recovery type. Your typical 1N400x and 1N5400x power rectifier diodes are not fast enough.
     
  7. awwende

    Thread Starter Active Member

    Feb 17, 2009
    39
    0
    My FETs are N-ch 100v, 12A the RFP12N10L. The light bulb I replaced with a 50 ohm 10W resistor. I left this going for 5 minutes, and never felt anything get hot, the resistor got warm, but that was it.

    My diodes are 1N4004.

    The connection to the PC is through the parallel port. I wanted to see what the issue was before I fabricated the PCB with a 24V 6.5A supply.

    This is all for a engineering club I'm in with most of our budget gone so replacing steppers was never a plan but I'm almost positive that they have enough torque to move the dremel around.
     
  8. awwende

    Thread Starter Active Member

    Feb 17, 2009
    39
    0
    I should mention that for my test i only used 12v and i think IEEE's bench supply can only put out maybe 1.5A could that be part of the problem or is that just torque related?
     
  9. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    Trying to run those 24v steppers on 12v will result in very poor performance.

    Remove the resistor entirely, and the 1N4004 diodes as well. You really need at least a 24v supply capable of delivering 800mA or more. You could use a higher voltage supply, and then add the current limiting resistor and faster diodes back in.

    To calculate the current limiting resistor value:
    Rlimit = (Vsupply - 24v) / 800mA
    For example, if you found a 48v supply that could output at least 1A, then calculate:
    Rlimit = (48v - 24v) / 800mA
    Rlimit = 24/0.8
    Rlimit = 30 Ohms
    Use a non-inductive power resistor for best results.
    Calculate the wattage requirement as:
    Prequired = E x I x 2 (the x2 is for reliability and to keep the resistor cool)
    Prequired = 24 x .8 x 2
    Prequired = 38.4 Watts or higher. You could use two 15 Ohm 20W resistors in series.

    If you have a spare ATX-form factor power supply sitting around, you might convert it to a bench supply. Google "ATX bench supply" for lots of ideas. However, make certain that the -12v can output at least 1A before you attempt the modification. After that, you can wire across the -12v and +12v to get 24v. Note that the voltages will be referenced to earth ground.
    [eta]
    After re-reading the thread; this last idea won't work so well, as the supplies would have to be isolated from each other. You could, however, use a PC's +12v supply for the motor, albeit with sluggish performance and low power.

    Marlin P. Jones & Associates has this 24v 6.5A switching supply on sale for $15:
    http://www.mpja.com/email/03-09-10a.asp?r=%%ref%%&s=15
    Not ideal, as it would be best if your supply was higher than 24v for faster stepping/better performance. You could wire two of those supply's outputs in series to get 48v. You would most likely have to "float" the ground on one of the supplies.
     
    Last edited: Mar 12, 2010
  10. awwende

    Thread Starter Active Member

    Feb 17, 2009
    39
    0
    The power calculations are a tremendous help. when i first started working on the project I was in circuits I class which got my head stuck figuring out how to do everything. Funny you should give me that link, that's the exact power supply we were planning on using. I bought one of those a couple months ago for a bench top power supply. What kind of recovery time should i look for in my diodes? Doing a quick search on Digikey, will 300ns be fast enough or do i need 50ns?
     
  11. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
  12. awwende

    Thread Starter Active Member

    Feb 17, 2009
    39
    0
  13. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    No, I don't know.

    Can you use the search engine? It's pretty good.
     
  14. awwende

    Thread Starter Active Member

    Feb 17, 2009
    39
    0
    That's ok. I was just about to delete it. I found them on ebay for $1 a piece :)
     
  15. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    Electronic Goldmine has these on sale:
    http://www.goldmine-elec-products.com/prodinfo.asp?number=G14509
    120 Ohms, 3 Watts, 50 of them for 99 cents. They have a $10 minimum order, I think.

    Wire two in series, eight of those series strings in parallel for a combined resistance of 30 Ohms, and power dissipation rating of 48 Watts. You could wire them up on perfboard or Veroboard/stripboard.
     
  16. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    Watch out for auctions. Shipping charges can add up really quickly. Also read the ad carefully for any other charges they might tack on.
     
  17. awwende

    Thread Starter Active Member

    Feb 17, 2009
    39
    0
  18. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    Keep in mind that the resistor you're looking at expects to get its' cooling by being bolted to a chassis that acts as a very large heat sink. If you mount it on a fiberglass board, you will need some other way to get rid of about 20W of heat.

    I suggest that you leave at least 1/2" clearance between the power resistor and the board. You will need a heat sink for it unless you mount it on a chassis.
     
  19. awwende

    Thread Starter Active Member

    Feb 17, 2009
    39
    0
    I'm also having a second problem, which I thought was minor but really isn't; my stepper is skipping one of the steps. All four FETs are working but yet when I test it with the motor step 1 goes to position 1, step 2 goes position 2 and 3 to 3 but when I get to step 4, I move to position 5.

    Any clue what's causing that?
     
  20. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    Did you change the diodes to something faster, or simply remove them?

    What is the voltage for Vdd? I see a 6.2v Zener and a 220uF cap, but what are you actually measuring?

    If you're driving the CMOS logic using the Zener and 1k resistor, you might bump the resistor up to 1.7k - or replace the Zener and resistor with a 7805 regulator.

    What are you using to control the board? What are it's logic input levels?
     
Loading...