element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Personal Blogs
  • Community Hub
  • More
Personal Blogs
Legacy Personal Blogs Stepper Motor Frustration
  • Blog
  • Documents
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: gypo
  • Date Created: 14 Sep 2013 9:00 AM Date Created
  • Views 1249 views
  • Likes 0 likes
  • Comments 8 comments
  • allegro
  • spi
  • a4988
  • drv8825
  • microstepping
Related
Recommended

Stepper Motor Frustration

gypo
gypo
14 Sep 2013

I need to be able to drive a few stepper motors moving in microstep, each motor will have a 1kg shape attaced directly to its rotor.  The stepper motor I have to use is the Astrosyn MY6403-02N (24V, 1.5A, Step 1.8 degree)

 

The reason for microstepping isn't for the position accuracy it is to cut the noise down as much as possible, having quite a few of these motors in a small area would otherwise end up very noisy.

 

I have used stepper motors a long time ago but never needed to use microstepping. 

I have, as a refresher to myself built a few circuits all based on PIC Chips for the motor controller and a L298 to drive the stepper motor with a view to developing one or more of them into a microstepping circuit.

 

Building the statnard circuits was OK and worked fine.  Once I looked at microstepping it was obvious that these first circuits needed too much changing to make them into microstepping circuits and so new circuits were looked into.

 

I'm not wanting to do all the PWM stuff with the PIC chip, I need to be able to just tell the motor driver chip what direction and by how many steps.

I need the PIC to do all tracking of which way the shape is pointing, how many steps and in what direction it needs to move to get to its next position.

 

I have been looking at several dedicated stepper motor driver chips from the likes of TMC, Texas, Allegro and others.

Most of the chips require setting up by using SPI and that is another of my stumbling points.  I have used I2C but not SPI and that is an up hill struggle.

 

Currently I am having 2 motor driver boards made one based on a Texas DRV8825 and an Allegro A4988.  I'll be able to attach one of my many PIC chip boards to them to control them to try them out (Fingers crossed).

 

I have previously had built a driver board that uses the TMC260 & TMC429 chips but have yet to get SPI working enough to be able to try it out.

 

If anyone wants to join in or helpme get something working sooner rather than later I'd appreciate it very much.

 

I have a good range of Pic chips, Pickit 2, Pickit 3, ICD3, several Pic demo boards and can get PCB made.  In the past I have written Pic18 programs in assembly and C but now usually rely on using Flowcode to generate my code.

I think that is why I am having problems, been too long away from the guts of Pic programming.

Attachments:
image
image
image
  • Sign in to reply
  • gypo
    gypo over 11 years ago in reply to mcb1

    Markimage

     

    I can't tell you exactly what the project is because it's to have a grand unveiling the day the building is opened, so till then must remain a secret.

     

    What I can tell you the motors will drive a very large animated display in a major building.

    The motors will be controlled independently something like this.....

     

    A PC will send out movement commands over CANBUS to 70+ CANBUS transceivers.

    Each CANBUS transceiver can have from 2 to 10 motor controllers connected to it either by SPI or LINBUS (I haven't decided which yet).

    The motor controller will just that control the motor.

     

    The transceivers will be a PIC chip and will only respond to movement commands destined for a motor controller it is connected to.

    The movement command will be relayed to the motor controller is destined for by the CANBUS transceiver by either LIN or SPI.

    The motor controller (again a PIC chip with a dedicated motor controller) will then work out what steps and what direction it needs to move the motor for it to get to it's next position.

     

    As you can see the PC has a lot of data to send, hence the reason for splitting the processing functions and using dedicated motor chips.

    Sending the movement commands is all the PC has to worry about, plus a bit of fault and housekeeping functions.

    The transceivers just have to translate from one signal protocol to another and route to the relevant motor controller.

    The motor controller moves the motor depending on where it's told to move it again plus a bit of fault and housekeeping functions.

     

    It is a big project that has and will present all sorts of problems.  PIC chips are my choice because I have more experience with them than any other embedded device.

    I may need help with this but as yet I still have to work out with what...

     

    I have added a drawing of 1 motor group of the system there will be 70+ of these legs in the system (only 1 PC)

     

     

     

    Chris

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mcb1
    mcb1 over 11 years ago in reply to gypo

    Chris

    That is one serious project, that suggests you better get it right.

     

    Most people don't realise there is a large chunk of metal in a stepper and therefore a large amount of mechanical noise transfered.

     

    Can you tell us what it controls.

    How do you intend to split up the control function, or are they driven at the same time.?

     

    Mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • gypo
    gypo over 11 years ago in reply to mcb1

    Mark

     

    I have had a look and I have several L297's on various boards and a L298 that is still in its packaging.  I'll look at them later on.

     

    The noise has been almost taken care of, having heard the noise the motor makes at full step, current and voltage I have damped it loads and it is almost as quiet as one microstepping but in full step. 

     

    I am hoping that microstepping will make it even quieter.  I am using a factory made stepper motor damper for the motors.  It gets rid of the higher frequency noise (or at least reduces it a lot) that bolts between the motor and it's mounting bracket.  The mounting bracket has a softer rubber gasket between it and the structure it bolts onto, that one reduces the low frequency noise. 

     

    Voltage and current was one of the first things I looked at as I have to drive over 500 of these motors (100 moving at any one time) and so the guys sorting out power to the building wanted to know what supplies I needed so they can factor that in, in their work. 

     

    Having used the Microchip stepper motor demo board to microstep the motor I was able to determine that it only needed around 200mA from the 24V sipply to get the motor to do what I needed.  That was a big saving from the 1.5A per coil the datasheet stated, I am limiting the current to 1A for each motor as some time I may need to switch back to full step for a short time, 1A still keeps it below the max for the motor yet will hopefully keep it in step.

     

     

    Thanks for your thoughts and advice, any help is much appreciated.

     

    Regards

    Chris

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mcb1
    mcb1 over 11 years ago in reply to gypo

    The L298 is the driver (H bridge).

    Its the L297 that does all the interfacing, and cause it to micro/half step.

     

    The amount of current you apply can also make the noise higher, so if you can get away with reducing the voltage/current you may reduce it.

    Mounting is the other thing that transfers the noise, so it might also be worth looking at.

     

    Mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • gypo
    gypo over 11 years ago in reply to mcb1

    Mark

     

    I had been looking at using the L297 with the L298,  I think I still have one somewhere.  I have a few boards got from ebay with the L298 on and the diodes, I got them as a starting point.  They work OK for normal stepping but have yet to use them for microstepping..

    Maybe I'll dig them all out again and see what I can do them before trying again with the more complicated chips..

     

    You are right sometimes a hardware solution can save time, effort and the pain of doing it in code....  And I was thinking of that when I took this on...

     

     

    Regards

    Chris

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube