Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Allegro A3977, Idle noise Help

Status
Not open for further replies.
Also, have you tried running in microstepping mode yet?

Another thing to try is increase the operating voltage of your motor. You are running at 24V but the A3977 can handle up to 35V. A higher voltage will give you better performance at high speeds.

Finally, how much current is one motor using? If the duty cycle allows for it, there is no reason why you couldn't run the motor at a current that is higher than its rating. The more current flowing, the more torque you will have. Just make sure your operation duty cycle is such that the motor will not overheat.
 
Motor drive Options

Thanks,
Changing mechanical config of pump motor is not possible since the motor shaft goes straight into the rear of the pump rotor plate.

I'll try changing the ramp up curve. I can get the code cutter to put in more steps, but I'll do that after I try winding up the drive voltage. I'll also play with the ramp up steps values (freq + interval) since I can set these on-the-fly.

I can also squeeze more current out of the A3977, as that's presently set at about 75%. Heating should not be a problem as the pumps only run for about 5 seconds every minute or so, and we switch off the ENABLE line at the end of reach run, specifically for this reason. I did about 50 consecutive runs this afternoon (each about 20 secs) with no discernable heating in the chip.

I'll keep you posted. Thanks again.
 
Have admitted defeat with the current hardware. No matter what I do with the kit I'm working with, I still have unreliable operation. Basically, I get a stall once in every 7-8 attempts to run the motor, and, I still get some degree of stuttering/shuddering in every couple of runs. This is just not up to what is required for this application. The real limiting factor seems to be, as everyone has suggested, in the acceleration process. The code in our controller is able, currently, to generate a 5 step ramp-up sequence, and while this could easilly be expanded to 10 - 15 steps, or more, I don't think we have the capability to achieve the performance, and especiailly, the level of reliability, demanded by this application, in the time frame available.

For your interest, we have identified an alternate set of driver chips from TRINAMIC (Germany) that handle everything. With either an RS232/485, or an I2C, or CAN connection, you feed it the required number of steps and the desired step frequency, and it works out and manages the acceleration curve process for you. While the standard serial link is good, I2C is especially attractive to us, as this is what we use for our main machine control bus.
 
You went from stalling all the time to stalling 1 out of five and finally 1 out of 8 which means you were making progress.

The new driver chips will help a little but everything they do could be accomplished in your software with the existing drivers. I take it you don't want to waste any more time playing with acceleration algorithms?

Also be prepared to accept that the stepper motors on these pumps may simply not be adequate for your particular application regardless of how you drive them. It sounds like the pumps were intended for dispensing very small controlled quantities but you are going for a larger volume.

Let us know how it works out!
 
Hi Phalanx,

Yes, I was making progress, but much too slowly for the time imperatives of this project. Basically, the sales/marketing end of the team never fully comprehended what a development and prototyping cycle(s) is, and I didn't push pack hard enough this time around, so they sold the product too early. We have three! initial installs to do, right now!, and little time left to be ready for them. We are going to use some off-the-shelf commercial modules, at great cost, to do these first three systems, then go back and rework our own solution. It appears that the Trinamic chip set is by far the shortest path to a finished and economical drive system. I will probably go back and play with the present prototype, but only when I have time.

The pumps themselves were the other side of the problem. The pump unit is a product of another division of this client group, and was the original trigger for this whole project. They quoted a very high efficiency, but the units they delivered to us to use were only about 50% efficient (later found out they were 2nd generation proto's that had been fiddled with). This started us out on the whole high speed drive saga.

Thanks very much for your assistance. I'll keep in touch and let you know what develops.

Regards
Colin (colin@ptcsg.com)
 
hi all -

I'm designing a a3979 stepper board, and came across this forum, some really useful info here. I'd like to use the TVS trick Matilda mentioned last year, to protect from damage by hand-turning the motors:

Matilda said:
Well...
Here is what I came up with...
I had no stock on any TIP devices, so I started looking around in inventory and came across a whack of some Transient Voltage suppressors.
P6KE27A

I put one across the BYV diodes. Which puts its close to the stepper motor and across GND and the 24V supply. On my test board I removed the blown A3977 and put in a socket for test purposes. So, if I run the stepper motor around the track with the TVS in place all is well. But if I remove the TVS and run the stepper, the A3977 blows and the power supply running the board resets.

Matilda.

The thing is, I'm not using external diodes on my board. So if I just put the TVS across VBB/GND, will that work? Because it looks like the back emf is going to go through the chip before it gets to the TVS. Any advice appreciated...
 
Putting external diodes from VBB and GND will not work because, like you said, there is a path through the chip. The back EMF is generated between the mosfets so even with the diode from VBB to GND, it will be forced to travel through them.

You will have to install 4 diodes, two each to VBB and GND on both sides of the motor. When you do this, make sure to turn off synchronous rectification on the chip to assure that the back EMF travels through the external diodes and not the internal ones.
 
phalanx, thanks for your reply...

I'm hoping to avoid using external diodes if I can. I've been thinking about it some more - tell me if this makes sense to anyone: wouldn't the mosfet body diodes perform the same function as the external ones? I know the drain-to-source breakdown of the mosfet is 35 volts. But shouldn't the body diodes in forward conduction handle much more than that? In that case all I'd need is a single unidirectional TVS across the power supply, no?

Thanks again...
 
For normal motor operation, the built-in rectification of the chip is more than adequate. In an application where you expect the motor to be forcefully driven by an external force, I would include the protection diodes since they will be able to handle higher voltages and currents without failing.
 
Hi,
I have read this thread several times because I have some issues with the noise - blanking time with 3977 boards.
Matilda, I have tried your reccomandation 10n+10K and it seems to perform better with higher inductance motors, unfortunately I have found that it doesn't work good on microstepping mode.
PRactically in 1/8 microstepping, 8 steps are going well and the next 8 are not executed - on 9-th step the motor is "jumping" one full mechanical step.

Did you met same problems ?
Also playing with RC values , on 10n+22K pair I have destroyed the 3977. Maybe was from something else...

Any ideas ?

Daniel
 
..hi
i have several question.
what home output in a3977?
how i can built step input signal?
we have 3 pionts on the linear path : left limit - right limit and home position.
i think , we can for 2 limit switchs , connect 2 switchs to dir pin ( a3977) by gate xor.
for home position , i don't know .
please help me. ( quicly)
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top