L6474 or powerStep01 drivers


Results 1 to 19 of 19

Thread: L6474 or powerStep01 drivers

  1. #1
    Member
    Join Date
    Jun 2012
    Location
    SA
    Posts
    153
    Downloads
    0
    Uploads
    0

    Default L6474 or powerStep01 drivers

    Does anyone have experience of using L6474 or powerStep01 drivers from ST Micro?

    On the face of it they are powerful, capable drivers and are available on cheap, ready to use boards with arduino format pins, but I can not get them to work properly.

    I have added SPI comms to GRBL for the setup and have them basically working. but I can not get more than 2.5A into the motors despite driving them at up to 60V !

    These chips claim a max of 6A and 10A respectively.

    does anyone have any direct experience of using these chips?

    Similar Threads:


  2. #2
    Registered jfong's Avatar
    Join Date
    Apr 2004
    Posts
    733
    Downloads
    3
    Uploads
    0

    Default L6474 or powerStep01 drivers

    The l6474 is rated at 45volts and 3amp RMS. The pulsed output current of 7amps is less than 1ms. How are you measuring the current? A standard dvm meter will not accurately read the stepper motor current. You will need a fairly expensive current probe and oscilloscope to properly measure the RMS and peak values of the driver chip.

    Since good oscilloscope current probes are too expensive to buy, you can use a ACS712 Hall effect current sensor to get a good approximation of stepper motor current. The ACS712 interface board can be purchased for a few dollars on eBay. I use a 5amp version.

    https://uploads.tapatalk-cdn.com/201...51fab9a961.jpg

    The output of the ACS712 is connected to channel 1 of the Rigol scope. The sensor isn’t high bandwidth so best current readings are at low RPM. The top of the sine wave is about 500mv. The current sensor sensitivity is 185mv per amp

    .5/.185 = 2.7amps.

    The ACS712 is good enough to see the individual microstep currents. You can even see the 8 different current settings to a the 8 microstep drive.

    The ACS712 is to slow to see peak current but good enough to calculate RMS.

    Last edited by jfong; 02-07-2018 at 09:35 PM.


  3. #3
    Member
    Join Date
    Jun 2012
    Location
    SA
    Posts
    153
    Downloads
    0
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    Thanks, I do realise that a DVM is not an accurate measurement for non sinusoidal waveforms.

    That probe is a useful idea, however, the powerSTEP01 uses an external 0R1 current sense resistor on the ground side of each H-bridge output, which provides an ideal point to monitor the current in exactly the same way as the chip is doing.

    I am using a 'scope to look at it:
    L6474 or powerStep01 drivers-half_step_scope-jpg

    The pulse train is circa 1kHz and vertical 0.2V/div with zero on the y=0 axis: ie equal +ve and -ve excursions.
    The jitter is probably due to the stepper driver software not giving perfectly regular step pulses.

    Motor winding is 1ohm, 1.6mH ( R/L 625 Hz ) nominal 5V rating. I'm driving it with 50V

    If I slow it down the ramp portion shows staircase half-step microsteps as expected but triggering is less stable so hard to get a useful scope shot. However there is still this sudden switch from +max to -max which is what I don't get. I am expecting a symmetric cycle : 0 .70 1.00 .70 0 -.70 -1.00 -.70 0 on each phase.

    This was taken using the ST demo board: X-NUCLEO-IHM03A1 , they are very similar to their L6474 cousins which I used initially I went to powerstep to get more I and V in there since the doc was saying 80V at the time. When it came it had been changed to say 50V so was barely different to the L6474. It does have superior current capability and does not over heat like the L6474 boards do. ( they do not run to spec and need a fan ).

    Does that scope waveform seem correct to you? It does not make sense to me.

    Here is a slower step rate , same scales.
    L6474 or powerStep01 drivers-step01_grbl_1000_half-jpeg

    It is not clear on the photo but during the flat section there is fast switching between the upper and lower limits

    The current limiting parameter to the chip is set at 0x31 which corresponds to about 3.9A that is consistent with the peak to to peak swing on the scope. Though I do not see how this can be going negative on the scope since it is the H bridge which inverts to current flow , not a polarity swap. It should be showing successive waves of only positive amplitude.

    The main problem is that it rises in magnitude as expected but then slams from max to min , rather than reducing in microsteps. Can you make sense of that?

    Last edited by reg.miller; 02-08-2018 at 06:20 AM.


  4. #4
    Member
    Join Date
    Jun 2010
    Location
    Australia
    Posts
    4252
    Downloads
    4
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    The main problem is that it rises in magnitude as expected but then slams from max to min , rather than reducing in microsteps. Can you make sense of that?
    Yep, no worries.
    The switching between full off and full on is probably happening in 0.1 microseconds. AT the CRO settings you are showing you won't see the switching, but it is there. Trying to understand the waveform without understanding FET switching is going to be difficult. Get some Application Notes from the vendors and read.

    Cheers
    Roger



  5. #5
    Member
    Join Date
    Jun 2012
    Location
    SA
    Posts
    153
    Downloads
    0
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    Thanks, I have read the extensive datasheet for these chips extensively and have a good understanding of FET switching. Of course it is fast , that is not my problem.

    The point is that this driver is supposed to be producing a symmetric cycle : 0 .70 1.00 .70 0 -.70 -1.00 -.70 0 on each phase, as I said. That is not happening. It looks more like 0 .70 1.00 ... 0 .70 1.00

    Maybe I'm just looking at this wrong or not understanding what I'm seeing but this does not seem consistent with half-step driving of the motor.

    can you comment on that?



  6. #6
    Member
    Join Date
    Jun 2010
    Location
    Australia
    Posts
    4252
    Downloads
    4
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    Hi Reg

    There's the nice clean theory of stepper drivers, and there's the somewhat otherwise practice. These things do work, but the signals are always extremely noisy and confused. There's all sorts of very high speed switching going on, radiating RFI up into the FM band. You would need a scope with over 200 MHz bandwidth to see what's going on. As I don't know what driver it is or what the circuit details are, it's hard to say more. But if it makes the motor go around, it's working.
    I have designed and built them in the past, and Marcus and his crew have my respect.

    Cheers
    Roger



  7. #7
    Member
    Join Date
    Jun 2012
    Location
    SA
    Posts
    153
    Downloads
    0
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    Look, I do not have a GHz band RF problem. I'm trying to understand the waveforms I posted in #1 which do not look anything like the simple 0 - 0.7- -1-- -0.7- 0 cycle they are supposed to be in theory. Clearly you do not understand that any more than I do , so you go into irrelevant, handwaving generalities which do not address the problem. Thanks.

    But if it makes the motor go around, it's working.
    I'm not building a finger spinner, I'm building a CNC mill. That has design requirements a little more specific than axis drivers which simply "go round".

    As I don't know what driver it is or what the circuit details are,
    Well you do know if you read, in #1 I gave the chip I'm using and in #3 I detailed the demo board on which it is running. X-NUCLEO-IHM03A1 .

    Sticking that in your favourite search tool will get product description, schematic and even gerber files , if you want.


    X-NUCLEO-IHM03A1 - High power stepper motor driver expansion board based on powerSTEP01 for STM32 Nucleo - STMicroelectronics
    http://www.st.com/resource/en/schema..._schematic.pdf

    I'd be surprised if that enables you to any more pertinent remarks, but I'm always ready and delighted to be surprised.


    who's Marcus?



  8. #8
    Member
    Join Date
    Jun 2010
    Location
    Australia
    Posts
    4252
    Downloads
    4
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    I do not have a GHz band RF problem
    Probably not. But the FM band is not that high: "In Europe, Australia and Africa, it spans from 87.5 to 108 megahertz - also known as VHF Band II - while in the Americas it ranges from 88 to 108 MHz." to quote Wikipedia. Modern MOSFETs WILL radiate up there.

    When I said "I do not know", I meant I have not read up on the details. I don't have the time.

    I have built Class-D drivers in the past, and blown up my share of MOSFETs in the process. I had a glass bottle full of dead FETs at one stage: it turned out that the FETs of that era could not handle the waveforms. We had to wait until MOSFETs included capable fly-back diodes. The waveforms you posted conceal what is going on: you need to look at them with a much faster timebase.

    Marcus runs Gecko, makers of some of the more respected (made in USA) drivers for steppers and servos.

    Cheers
    Roger



  9. #9
    Member
    Join Date
    Jun 2012
    Location
    SA
    Posts
    153
    Downloads
    0
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    How do you know "what is going on". You don't have either the time of the inclination to look at the chip spec. and circuit used.

    You don't even seem to have the time to read my description of what the problem is and what I am trying to find out.

    I'm expecting a full cycle of microsteps similar to what the first reply showed ( except that I'm only using half-step mode ). That does not seem to be happening.

    L6474 or powerStep01 drivers-2e36bd1b228eb4cf8028dc51fab9a961-jpg

    I originally set out design my own drivers using FETs from PC mobos ( which have suitable protection diodes built-in ) but thought that was just re-inventing the wheel and a bit of a waste of time when bespoke chips were now common and expressly designed to do the job.

    The time I've wasted on these boards, I wish I'd gone down that route. now.



  10. #10
    Member
    Join Date
    Feb 2007
    Location
    canada
    Posts
    962
    Downloads
    0
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    Yes, i designed a complete L6474 muti axis system for my small routers, but find they run extremely hot. Without a heat sink ( at 1.5a/phase ) they will reach 120C in less than 60 seconds then trip out.
    I've added little machined heat sinks on each one, and run a fan to control the heat.
    I find powering the chips 3.3volts from external reduces heat it a bit, but not much. My main PS voltage is 42V

    Do you find yours run hot ? There must be some parameter im not setting.. what params are you using ?

    I use to use the L6207 and they ran almost cold at 2A/ph . But there were a bit rough.

    Larry K

    Manufacturer of CNC routers and Viper Servo Drives
    www.LarkenCNC.com and www.Viperservo.com


  11. #11
    Member
    Join Date
    Jun 2012
    Location
    SA
    Posts
    153
    Downloads
    0
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    Thanks for the reply Larken. Yes, the L6474 demo boards do run hot and do NOT conform to what they claim to do. Like you I found I had to glue a small heatsink on the back of the board near the chip ( This is done because the heat dissipation is primarily via the copper cladding of the board and the heat contact of the chip is soldered to the board). Having done that I added a small 30mm CPU to the end of the stack of boards, I was able to get them to supply a good current without over heating.

    I have now moved to STEP01 demo boards which seem to be a better design and do not overheat. The chips have significant differences which need to be dealt with but are basically very similar. The main drag is that you need to use a SPI command to set / change direction since there's no direction pin. One caveat is that they seem more designed to run using the "internal motion engine" and the the external pulse STEP input is a bit of nod to the 'old' way of doing things. This does not allow some of the nicer current and control features in step mode and it is not possible to synchronise the axis movements of several cards using the internal driver mechanism, as is required for a CNC m/c.

    Over all , I'm satisfied with the switch to STEP01. I managed to keep the same code base with a few compiler switches to cater for the differences.

    PS, I wasted a lot of time playing with params. like you thinking that was the cause of the heating. I did get minor improvements but the chips do seem to dissipate a lot of heat and the demo boards do not get rid of it as they claim to do. ( The point of the demo boards is to show devs how to do it right, but they don't). Since the documentation does not fully explain how to use the params and you won't get any replies out of their "community" forums, it all becomes a bodgey trial and error process, not and engineered solution.



  12. #12
    Member
    Join Date
    Jun 2012
    Location
    SA
    Posts
    153
    Downloads
    0
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    Here is what I think was the last L6474 config I used before moving to STEP01:

    Code:
    //#define std_config
    #ifndef std_config
    uint16_t tmp; 
       // decrease slew-rate and config_toff, per Enrico ???  get defaults from sh #0
      tmp = ( L6474_GetParam(0, L6474_CONFIG ) & ~L6474_CONFIG_VOLT_SR )  & ~L6474_CONFIG_TOFF_MASK;
      L6474_SetParam( ALL_SHIELDS, L6474_CONFIG, tmp | L6474_CONFIG_SR_320V_us | L6474_CONFIG_TOFF_016us ); 
      L6474_SetParam( ALL_SHIELDS, L6474_T_FAST, L6474_FAST_STEP_16us | L6474_TOFF_FAST_10us );  
      L6474_SetParam( ALL_SHIELDS, L6474_TON_MIN, L6474_TON_MIN_4us ); 
      L6474_SetParam( ALL_SHIELDS, L6474_TOFF_MIN, L6474_TON_MIN_17us );  // cf L6474_TOFF_MIN  
    #endif
    Enrico is an STM guy who provided some suggestions to reduce heating. I can't be sure these are exactly what he recommended. The get and set procedures are my own which are fairly self explanatory. The defined constants should be equally so.

    HTH.



  13. #13
    Member
    Join Date
    Feb 2007
    Location
    canada
    Posts
    962
    Downloads
    0
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    Thanks
    Here is my little 4 axis motherboard with plugable L6474 toasters.
    The problem is probably the mosfets in the output bridge don't have a low enough on resistance .

    The other thing i don't like is having to send serial data every time just to change the current when the motor is idling. This is prone to eventually glitching with the wrong current value and will cause the motor to stall.
    They should have a separate line for 2 banks of settings.

    Larry

    Attached Thumbnails Attached Thumbnails L6474 or powerStep01 drivers-img_5764-jpg   L6474 or powerStep01 drivers-img_5762-jpg   L6474 or powerStep01 drivers-img_5765-jpg  
    Manufacturer of CNC routers and Viper Servo Drives
    www.LarkenCNC.com and www.Viperservo.com


  14. #14
    Member
    Join Date
    Jun 2012
    Location
    SA
    Posts
    153
    Downloads
    0
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    Yes, I suspect you are correct about the output FETs but switching timings can affect heat produced since switching too often means more transient time when you are not even in the 'on resistance' mode of the FETs.

    I used much smaller heat sinks than you have. IIRC they were pulled off a DRAM memory card and were lightly finnned about the size of a 20 pin DIL. I think the spec for the copper cladding described for PCB design was too light.Also some forced ventilation is needed for continuous operation.

    Why do you need to change the current when the motor is running ? Why does this cause glitches ? I managed to send a 3 byte command to a stack of three driver boards in 20 us on an arduino uno. That should be able to fit into any machining pulse timing without causing a fault. How fast are you running the steppers? Disable interrupts and bitbang the SPI and you can get back out before anyone notices

    What software are you running? I use modified GRBL, anything using Arduino libs will be a disaster.( I dropped Atmel hardware anyway and use STM now )

    [EDIT] I had a quick look at your site products but does not seem to be what you are discussing above. Are you still using a printer port of a Windows PC for stepper control ?!

    Last edited by reg.miller; 08-26-2018 at 01:55 AM.


  15. #15
    Member
    Join Date
    Feb 2007
    Location
    canada
    Posts
    962
    Downloads
    0
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    The spi update is to set the 50% idle current when the motor sits or more than a second. But repeated sending serial with no error correction could eventualy lead to an error in a noisy environment.
    I have an onboard pic that sends the spi commands . The drive just accepts step/dir .

    ( I'm using it on my small cnc routers running my starcnc usb controller. I don't sell it separately. )

    On your powerStep01 , having to send an spi to change the direction is pretty crazy. Those chip designers seem out of touch with the customers. Step/dir is the standard interface for 30 years.

    Larry

    Manufacturer of CNC routers and Viper Servo Drives
    www.LarkenCNC.com and www.Viperservo.com


  16. #16
    Member
    Join Date
    Jun 2012
    Location
    SA
    Posts
    153
    Downloads
    0
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    I agree that not having a dir pin seems odd. Not sure what the motivation for that was. They seem to regard the whole step/dir paradigm as "legacy" and intend the use of the on chip motion control. These chips are probably aimed at automotive applications rather than machine control.

    Since dir can only change at min step speeds, it's not much of an issue thought. Likewise for setting idle current. If you can not ensure enough noise immunity you will have problems at some point, you could equally get false step pulses or unexpected change of direction for a couple of steps.

    If the error results in a bad command, there is an error code and the FLAG pin trips. If you need to double check, you could always read back any param settings via SPI to ensure that they return the value which was sent.

    With proper shielding and circuit layout it should be possible to make such comms to work perfectly over the very short distances involved.



  17. #17
    Member
    Join Date
    Jun 2010
    Location
    Australia
    Posts
    4252
    Downloads
    4
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    They seem to regard the whole step/dir paradigm as "legacy" and intend the use of the on chip motion control.
    They have made the wrong choice in the wrong market but do not want to acknowledge that. Referring to 'Step/Dir' as 'legacy' can only be described as hilariously ignorant (or commercially biased). And I strongly doubt the auto industry will go for any unique orphan custom variation.

    When you come across a vendor like that, the best thing you can do is to simply write off any investment you have made and walk away. Trying to recover any sunk costs is just utterly futile.

    Cheers
    Roger



  18. #18
    Member
    Join Date
    Jun 2012
    Location
    SA
    Posts
    153
    Downloads
    0
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    "hilariously ignorant (or commercially biased)"

    Well it would be fair to assume that STM makes "commercially biased" decisions and are not "hilariously ignorant". It should be underlined that it was only my guess that is what they are doing with these chips. There probably is a market for small compact chips with enough intelligence to provide "goto X" with preprogrammed accel params, without the need for external step by step control. Window winders springs to mind. In an automotice context I would not want to tie up CPU time servicing every single pulse of a window motor movement.

    This paradigm does not suit all uses so they retain the alternative STEP input as well.

    Some of the advanced current control methods are only available using the internal motion control, which is unfortunate for my needs but probably a necessary limitation rather than hilarious ignorance.

    They may not be ideally designed for CNC control but for the minor inconvenience of sending a SPI sequence to set DIR they do seem to provide good voltage and current capabilities and with a demo board costing about $15 per motor they are a snip compared to other options.

    It is amusing how small business niche users are willing to call global corps "out of touch" or "hilariously ignorant". Maybe you are not part of their target market for this product.

    [ PS This relates to the PowerSTEP01 , not the L6474 titled in this thread. The former does not have heat problems mentioned. Both STM chips and very similar in operation and control .]



  19. #19
    Member
    Join Date
    Jun 2010
    Location
    Australia
    Posts
    4252
    Downloads
    4
    Uploads
    0

    Default Re: L6474 or powerStep01 drivers

    Window winders springs to mind.
    Very good point. The world does not revolve around hobbyist CNCs.

    Cheers
    Roger



Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

L6474 or powerStep01 drivers

L6474 or powerStep01 drivers