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.
Hi Steve,
We made a similar mistake when starting out on the DRV8432, but it doesn't work as the other side needs to toggle as well.
If you have a high resolution PWM input, you could experiment with a really low pulse every cycle to the PWM_B rather than making it constant.
Or, you could even consider 4-quadrant unipolar switching. Your "effective" output then becomes "(PWM_A - PWM_B)*2", thereby doubling your frequency, as well as your "rest" position coming in at PWM_A = PWM_B.
Regards,
Anup
Hi Anup
We are using drv8432 in stepper motor M3=M2=M3=0 do I wonder if an APP o material we can read 4-quadrant unipolar in order to apply to motor control.
You mention also to provide to PWM_B a small pulse is any suggestions for the duty cycle PWM_B how small we can got or parentage of the duty cycle PWM_A
Regards
Albert
Hi Albert
Not so sure about you first question. Maybe Anup can help.
For the second question, test result shows 1us will be effective for our purpose. You can use small pulse longer than that according to the way how you generate the PWM.
Best regards,
Hi Wilson
Thank you for the info. I would like to corroborate with you the following sequence :
M3=M2=0 M1= 1, NO CBC current control .
I have two questions:
I)
OC_ADJ = 33K , we use the board with stepper motor 4 Amp .
As an example :
1) We move CW
PWM_A = PWM (Center aligned) freq= 80 KHZ
PWM_B = 0
PWM_C = PWM
PWM_D = 0
2) CCW
PWM_A=0
PWM_B =PWM
PWM_C= 0
PWM_D=PWM
Is any problem to control drv8432 with the above stetting ? , If it yes which correction I have to make ? drv8432 to work with M3=M2=0, M1=1;
II) How can I ask Anup for " 4-quadrant unipolar idea" where can I find more information ?
I need to open a new case ?
Albert
Hi Albert,
Unfortunately, there's no app that I referred to. The concept is that we give two different PWMs on both ends, lets say PWMA and PWMB. When PWMA_dutycycle = PWMB_dutycycle, the net output is ZERO. When PWMA_dutycycle > PWMB_dutycycle, we can assume that the motor moves in positive direction, and negative direction when PWMB_dutycycle > PWMA_dutycycle. I will look up and see if I can find any documents on the same.
In your case, I am not sure whether you would want to use a PWM! Is that for microstepping, or do you want such uncontrolled motion on the stepper?
Regards,
Anup
Sorry Anup for the dealy.
Our application is Micro-stepping , and I am having problems to use M3=M2=0, M1=1 , after first step FAUL goes down , has a ADJ a resistor of 33K and we setup current 1.4 Amp ,
Out PWM is center aligned, if the motor move
CW ,
PWM_A= pwm, PWM_B=0
CCW
PWM_A=0, PWM_B =pwm
IS any problem with this configuration ?
Albert
Albert,
The PWM pattern you mentioned above results in 2-quardent uni-polar. I don't see any issuse with Mode-setting pins. DRV8432 should be functional in this case. I think you are missing something in micro-stepping logic which may be resulting in OC.
Based on 2-quardent uni-polar pattern, we have application example using C2000 piccolo micro-controller for stepper micro stepping.It can be found in control-suite: controlSUITE\development_kits\DRV8412-C2-KIT_v131\Stepper
For 4-quardent Uni-polar, I don't know about application note but once you are successful with 2-quardent unipolar scheme, it can be easily converted to 4-qurdentadent. Attached PPT will help you to generate the pattern.
Milan-Motor Applicaiton Team6177.Uni-polar PWM.ppt
Milan
We use a bipolar motor in microsteps the signal mentioned was only for one phase.
First cuadrant: PWM_A= pwm; PWM_=0, PWM_C=pwm; PWM_D=0 ;
My questions is if we setup M3=M2=M1=1 FAULT line goes down , we have a breakpoint in the interrupt when happen the event. No more of two steps and we detect FAULT goes low ,
ADJ resistor 33K, , VDD=12 V ( no noise, for testing we use a lab power supply ) , PVDD =24V.
Shunt resistor 4 x 0.125 Ohms . IF We config M3=M2=0 M1=0 the motor move just fine as expected .
my question is Why FAULT line goes down after second step , when M3=M2=0; M1=1
Albert
Hi Albert,
I haven't touched this IC for a long time now, but would you like to provide a very short duration "1" pulse on the "0" PWM output instead of having it constantly at 0? That should reset it's over-current detection logic every cycle.
Also, M1 = M2 = M3 = 1 seems to be a reserved mode! Why are you using that?
--
Anup
Sorry Anup
I made a mistake M3=M2=0; M1 =1 no CBC. What can be the problems when M1=0 , the motor move in micro stepping , if we set M1=1 motor stop and FAULT goes down low.
I will try tuo use the pulse in with M1=1.
Albert
Albert,
So if I read correctly:
if M1=0, motor moves fine.
If M1=1, Motor stops and nFault goes low.
That's becuase motor is drawing transiently higher current during start-up.
With M1=0, DRV 8432 performs a CBC current-limiting function rather than prematurely shutting down the device. This feature could effectively limit the inrush current during motor start-up or transient.
With M1=1, it latched shut-down so as soon as OC is detected, nFault goes low.
Please refer to over-current section of data-sheet for more details.
Best Regards
Milan-Motor Application Team
Milan ,
I read several times the data sheet.
I have a questions in the EVB shows M1 =0 to use with stepper.
Here is my question:
Where is the mistake in stating the motor with PWM signals bipolar stepper:
Fisrt quadrant , move CW, bipolar
PWM_A = pwm ; PWM_B =0
PWM_C-= pwm ; PWM_D=0;
Note: We are implementing now a PWM_B PWM_D pulse of 1 uSec for PWM_B PWM_D when both are in Zero
How can PWM signals need to be created when M1=0, like EVB
Albert
Albert,
I'm not able to understand your exact questions here.
What do you mean by EVB? Is it EVM (evalulation module)?
Are you looking for answer how to do generate PWM signals for DRV8432 to drive stepper?
Please clarify.
Best Regards
Milan-Motor Application Team
Milan
I need to know how a bipolar stepper motor can be drive with M1=0;
This is my only question, please
Why drv8432 FAULT goes to low when
PWM_A =PWM , PWM_B =0 ;
PWM_C=PWM ; PWM_D =0 Where are is the mistake
Albert
Milan
Having PWM_B = PWM_D =0 ( first quadrant ) you mentioned to create a pulse instead in driving all pwm period in 0.
Adding this pulse will allow to work in M1=0. ?
Albert
Albert,
Over-all it's pretty confusing. I'm not able to understand your quries? In one of the previous post you mentioned:
IF We config M3=M2=0 M1=0 the motor move just fine as expected .
So what's the issue with M1=0?
Can you please clarify, you exact questions?
Best Regards
Milan-Motor Application Team
Albert,
After revisiting post once again, I realized that you are asking, why to add short pulse on PWM B and PWM D=0, with M1=0, in cycle-by-cycle mode.
The reason is that with M1=0, In CBC current limiting mode, when side FET OC is detected, the device will turn off the affected low side FET and keep the high side FET at same half bridge off until the next PWM cycle. But if PWMB and PWMD are always low, there is no next PWM pulse so device shuts-off permanently. Therefore in 2-Quad uni-polar switching, it is recommended to add small pulse for PWMB and PWMD.
If you go with 4-quad uni-polar switching, this problem will not appear.
Best Regards
Milan-Motor Application Team
Hi Milan
Thank you for the answer.
One small question: the pulse we have make PWM_B, PWM_D needs to be after intermediately PWM_A PWM_C goes to 0 o we need to provide a delay before the pulse is done ?
Albert
Albert,
You can add small delay so as not to limit the max operating duty cycle . The other paramter to look for pulse-width, both of them will put limit on max duty cycle.
That's why 4-quad uni-polar scheme would be best as it will not have above limitation.
Best Regards
Milan-Motor Application Team