This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Help about stepper motor in closed loop

Other Parts Discussed in Thread: DRV8824, DRV8301, DRV8312

Hello,

To move the 2 wheels of a robot, I use 2 stepper motors (bipolar, 2.5A, 24V). Because I want to know the real movement, I also have 2 incremental encodeurs wich measure the movement with 2 free wheels.

I actually use a card from Trinamic (TMCM-351) wich, according to its datasheet, is able to drive stepper motors in closed loop. But in reality, the card doesn't regulate the motor position. The card do a "steps" movement then check and correct it.

I've seen that Texas Instruments sell "motor drive solution" cards. I've tried to see in theirs datasheet if they can do what I want. I haven't found my wish.

Does someone know if TI has a card that can do what I want without major changes (or development)?

  • I can understand the frustration.  All H-Bridge drivers basically control steps, add to them up/down counters and you can increment steps.

         Add a grey scale wheel and decoder and you can find the position.  I have been working on getting the electronics together for my own version of a RepRap ( http://reprap.org/wiki ) and every version has some ' cheat ' or workaround the position issue as adding a grey scale encoder is hard to do.  One would think adding a disk with black and white segments on it to the opposite end of a stepper and an IR LED/IR detector array would be easy and could be decoded fairly fast as straight binary.  The really hard part is positioning if you can make one as a small distance off of center makes a big difference in error for position.

         The cheaper equivalent is similar to the encoder disk and offset IR emitter/detector pairs for seeing if the encoder has moved and how many " slots " or parts of " slots " it has moved and use that as the basis of if the motor is in the correct position and correct if it is not.  Another version is the simple switch at each end of the arc for what the stepper motor moves so that you know you have reached an end when the switch changes state.

    Part of the many issues on location when it comes to wheels is gears, rotation of the wheel itself, wear on the wheel changing it's diameter, the ground resistance ( sand versus asphalt ) and a host of other issues.  I am not by any means saying any of what you have is not good for what it is you want, I am saying look to different references for " where the robot wheel " should be.  The specifications for the TMCM-351 would be great for a 3 axis pick and place robot arm, they may not be what is needed for a skid steer robot.  I ( me personally ) like either IR range detection or ultrasonics.  The situation dictates which is best.  The old " wall hugging " robot was a simple toggle switch to detect a wall and force it to change directions.  In the end, it is your development, your choice for solutions and your end goal for what the robot will do.

    If you decide on adding sensors for having the robot know it's location within an environment, there are several solutions from the list of Ti components to get it all connected and possibly even run remotely with some of the Ti wireless solutions.

    Take some time and go over the end result of your robot and wright it down.  Afterwords, look in to some of the Launchpad boards, Beagle products and sample ICs lists.  There are times I know I need to be reminded to look at the " Forrest for the trees " aspect of developments.

  • Hi Nicolas,

    To answer your question, we do not have a stepper board which closes the loop with a shaft encoder input. Our DRV8824/25 EVM's have an MSP430 which you could tap into and add code to read from a shaft encoder, but this is an application which hasn't been developed so your search for a "without major changes" plastform would not be met by these offerings.

    The truth is that when it comes to motors, the request we get the most is for the complete opposite. What customers are asking for are platforms to remove all sensors. This includes hall effect sensors as well as shaft encoders. What we have been working with in the past few years is the latest trend in motion control technology, or sensorless. We do not have a sensorless stepper board, but there are some sensorless BLDC and PMSM boards which are considerably sophisticated. I would look  at development platforms for DRV8312, DRV8301 which will have ready to go algorithms to take a motor and control it through sensored or sensorless algorithms. These boards use a C2000 DSP, so what you get is an industrial grade drive system.

    When it comes to steppers, we have started to get an increasingly number of requests for sensorless, or closed loop, implementations. Although these are harder to accomplish, we are starting to add features of this kind to some of our stepper drivers. You will see, starting next year, devices with stall detection. This is not the same as sensorless, but is a start. Steppers have been accepted as open loop motors precisely because they allow for the removal of sensors. The idea is that a step commanded is supposed to be a step taken. If the step didn't take place, then the application needs to be revisited. Maybe increase current or decrease loading. Sometimes it has to do with tuning the acceleration/deceleration profiles. But the application integrity is based on the fact that enough energy is being supplied to overcome the shaft loading.

    Best regards,

    Jose Quinones