Electronic Projects, forums and more.

Go Back   Electronic Circuits Projects Diagrams Free > Electronics Categories > Robotics Chat


Robotics Chat Specific to discussions about robots and the making of.

Reply
 
LinkBack Thread Tools Display Modes
Old 15th March 2004, 01:31 AM   (permalink)
Default

Yes, I understand that your driver is a high level control chip, that is, you dont have to take care of the sequence pwred. The chip will automatically output the sequence as you make a pulse at the inputs.

Quote:
How do u supply no power? provide those wire with both L L right.. just checking.
Yes, or HIGH - HIGH if you wanna. Because there will be no current flowing the winding then no magnetic field produced.

Quote:
The PIC only supplied the Clk to the stepper motor chip where the frequency is pretty slow.. i can see my attached led blinking.
I don't know your MC34xx, but I think, frequently, a higher level driver should have another pin to control 2 level speed. If your MC doesn't have this pin, you have a limited speed running. But to control the speed, you change the frequency of input pulse. You may take a look to the datasheet and find the max speed that would be produced by your MC.
falleafd is offline  
Old 15th March 2004, 07:43 AM   (permalink)
Default

Could one of the reason why it still didn;t work because the current is not sufficient?

The motor is trying to turn but not turning
__________________
Computers can be a head-egg at some time
zhizhi16 is offline  
Old 15th March 2004, 10:49 AM   (permalink)
Default

Did you test the amount of holding torque when the motor is stationary? That is, when there are no pulses going to the MC3479 chip and only power is being applied? Try to turn the motor shaft by hand. Is there a difference when there is no power being applied?

I notice you applied 17V to the motor when the maximum rating is 18V. That is very close to the limit. I have seen motor drivers die when you cross that limit even briefly. And it is very easy to cross it even if your supply voltage is lower than that because the motor generates some back emf. That is why there are protective diodes. You could have a busted driver.

You should test it with a pulse rate of like one pulse per second or slower to really see if you've got it wired right and to check if all of the transistors of the driver are OK.

What is the rating and specification of the motor? A motor model number would be most helpful.
__________________
"Having to do with Motion Control"
motion is offline  
Old 15th March 2004, 12:54 PM   (permalink)
Default

Is there a difference when there is no power being applied?
>> YEP there is a difference

That is why there are protective diodes. You could have a busted driver.
>> Doubt so.. cause my batterys are almost 3/4 drained.. it should be less than 17.. Just tested it just now.. only 14V

You should test it with a pulse rate of like one pulse per second or slower >> Clk (LED) pulses aprox twice every second..

What is the rating and specification of the motor? A motor model number would be most helpful.
ASTAOSTN 17PS-C054-03
http://www.ocp.tudelft.nl/mecha/Mech.../ASTAOSTN.html

Looking that the stepper sequence diagram there seem to be no way.. im able to get the sequence
RB(HL) YB(--)
RB(--) YB(HL)
RB(LH) YB(--)
RB(--) YB(LH)

There is a diagram to interface the MCxxx chip to a micro
http://www.geocities.com/q_low_designs/image32.gif
Mine differs.
- I've put a 1k resister btw PH_A and +12V
- didn't have uF filter cap.
__________________
Computers can be a head-egg at some time
zhizhi16 is offline  
Old 15th March 2004, 05:27 PM   (permalink)
Default

Well, The picture of your motor and the parameter, I cannot understand because it's in Germany. But I guest I got that it is a bipolar motor, 3.6 deg/step.

I cannot view your schemes, because it's firewalled by vietnamese network. May you send it to my email : doanhiep@swissinfo.org?

But because I and some technician here do not know what you did, and cannot see the problems happening to your motor as you powered it. So you follow these steps and tell us if you cannot make it clear at which step

1) Use the batteries 12VDC, apply to YW (+-) and see if there is a torque at the rotor? If yes, continue with RB (+-). If it's clear, continue to step 2

>> Your motor is good, it's not dead, because there are torques as you power the 2 windings.

2) Use the batteries 12VDC (don't use 17VDC) then apply (+-) as the sequence below:

YW
RB
WY
BR

If your motor turns, your motor works good. Why you have to do so is because as you pwr the motor by hand, you cannot run it too fast, and you will sure that your motor works well at slow speed at highest torque.

3) Do not connect your motor to your driver. Use 4 leds (2 red and 2 green) to test the outputs of your MC34xx. Note that you have to put 10K resister to protect the leds. Measure the output voltage, are they near 12VDC as pwr supply?

Test this, you will sure that your driver working. If it works, continue to step 4

4) Connect your motor as identically as you did test, set one pulse to your MC and keep this pulse HIGH, don't turn it off. Check if your motor has its torque. If it works, oki, you nearly make it clear. You don't have to take care of CW/CWW bit. if it turns, GOOD, you don't care bout the direction. We can change it later.

5) Set 2 pulse (1 second a pulse, each duty cycle of a pulse is 50%, which means ON in 500ms, OFF in 500ms, ON in 500ms, OFF in 500ms). If your motor turns 1 step, it works good. Try with 100 pulses (1 second period pulses). If your motor turns 1 revolution, it works good.

6) Reduce the frequency of those pulse to 100 pulses/second.

So, at which step you cannot make it through?
falleafd is offline  
Old 15th March 2004, 10:01 PM   (permalink)
Default

I cannot understand because it's in Germany.
>> Yeah i can't understand too.. i have to guess the details.

I cannot view your schemes
>> Sent

1) Use the batteries 12VDC, apply to YW (+-) and see if there is a torque at the rotor? If yes, continue with RB (+-). If it's clear, continue to step 2
>> Passed

2) Use the batteries 12VDC (don't use 17VDC) then apply (+-) as the sequence below:
>> Passed

3) Do not connect your motor to your driver. Use 4 leds (2 red and 2 green) to test the outputs of your MC34xx. Note that you have to put 10K resister to protect the leds. Measure the output voltage, are they near 12VDC as pwr supply?
>> Hmm something new.
>>Yep. They blinked, I supplied 13.7 V, used a 20K resistor.

4) Connect your motor as identically as you did test, set one pulse to your MC and keep this pulse HIGH, don't turn it off. Check if your motor has its torque. If it works, oki, you nearly make it clear. You don't have to take care of CW/CWW bit. if it turns, GOOD, you don't care bout the direction. We can change it later.
>> "Test" as in the sequence in Number 2? I can't cause the driver's sequence is fixed I can't change it.
-- Not sure

5) Set 2 pulse (1 second a pulse, each duty cycle of a pulse is 50%, which means ON in 500ms, OFF in 500ms, ON in 500ms, OFF in 500ms). If your motor turns 1 step, it works good. Try with 100 pulses (1 second period pulses). If your motor turns 1 revolution, it works good.
>> I didn't use a timer for my pulsing.. Just used a simple in precise delay_ms() loop.
Im using PCW C Compiler.

while (true) P
output_low(PIN_toMCxxCLK);
delay_ms(50);
output_high(PIN_toMCxxCLK);
delay_ms(10);
}
__________________
Computers can be a head-egg at some time
zhizhi16 is offline  
Old 16th March 2004, 02:47 AM   (permalink)
Default

Quote:
4) Connect your motor as identically as you did test, set one pulse to your MC and keep this pulse HIGH, don't turn it off. Check if your motor has its torque. If it works, oki, you nearly make it clear. You don't have to take care of CW/CWW bit. if it turns, GOOD, you don't care bout the direction. We can change it later.
>> "Test" as in the sequence in Number 2? I can't cause the driver's sequence is fixed I can't change it.
-- Not sure
No, your MC34xx is a high level driver, you only have to make a pulse at the input, But you have to connect to the pin as identically as you did test several times days ago. Nigel showed you how to connect the motor to your MC34xx. Try with it. Or you may connect as YWRB in sequence to your MC. You then hold a pulse HIGH 100%. And you don't have to change the sequence anylonger. HOLD A PULSE ON 100%. Check if there is a torque??? Is it strong? Because you did pass step 3, that is your output voltage at MC is oki. You have to do step 4, because I don't know if there may be something wrong as you connect your motor to the MC34. Because as you passed step 3, everything works good. I need to check if you are doing wrong in your software.

At this Step, HOLD A PULSE 100% only, don't try to write a complex program. ONLY ONE PULSE. Then check the torque if it is as strong as you applied directly the batteries to the motor.

Quote:
5) Set 2 pulse (1 second a pulse, each duty cycle of a pulse is 50%, which means ON in 500ms, OFF in 500ms, ON in 500ms, OFF in 500ms). If your motor turns 1 step, it works good. Try with 100 pulses (1 second period pulses). If your motor turns 1 revolution, it works good.
>> I didn't use a timer for my pulsing.. Just used a simple in precise delay_ms() loop.
Im using PCW C Compiler.

while (true) P
output_low(PIN_toMCxxCLK);
delay_ms(50);
output_high(PIN_toMCxxCLK);
delay_ms(10);
}
That is you delay only 60 ms each step. So you run your motor at about 10 step/second. But you keep it at hold torque only 10ms, and you make your motor free longer than keep it (50ms to 10ms). It may cause the weak torque, and your motor won't turn continuously. I don't know the word in English, but we usually say it "LOST PULSE" because of the weak torque.

Try it at 1 step/second as I told in step 5, don't go through and do step 6. This is your step 6. If you don't do exactly as I told you, I cannot know where did you get problem.

Timer or delay loop is not the problem. It's only the time you delay each step. You can try it as 50ms ON and 10ms OFF, you will see it works differently. But you should try step 5 first.
falleafd is offline  
Old 18th March 2004, 09:42 PM   (permalink)
Default

Opps i kinda lost u..

No, your MC34xx is a high level driver, you only have to make a pulse at the input,
>> This is the clking pin right, where i send the pulses.

But you have to connect to the pin as identically as you did test several times days ago. Nigel showed you how to connect the motor to your MC34xx.
>> I didn't get what he said.. All i know was that.. the motor turned with the sequence that the told me.. but not how to connect to the MC34xx. I read some where before.. each pair is for each side of the stepper driver.
RB on left(L1,L2) and YW(L3,L4) on right.

torque??? Is it strong?
>> tested that before there were torque.

I need to check if you are doing wrong in your software.
>> cant be its just a very slow pulsing 1 pulse a second.

I know the sequence of the stepping. What i still dun understand is
the stepper motor driver is giving out as below, on the left. But what
i need is on the right.

R B Y W // motor wire connects to
L1, L2, L3, L4 // chip pins Lxxx.
---------------------- R B Y W
Phase A | H L H L - - H L
B | L H H L H L - -
C | L H L H - - L H
D | H L L H L H - -

I'll never get the sequence to drive the stepper motor.
I'll never get "-" to be both the same HH or LL.

[/quote]
__________________
Computers can be a head-egg at some time
zhizhi16 is offline  
Old 19th March 2004, 01:07 AM   (permalink)
Default

Quote:
I'll never get the sequence to drive the stepper motor.
I'll never get "-" to be both the same HH or LL.
It looks like a busted driver or your program is sending two pulses when it should be sending only one. Why don't you select half stepping mode by connecting the F/HS pin to logic high.
__________________
"Having to do with Motion Control"
motion is offline  
Old 19th March 2004, 03:08 AM   (permalink)
Default

The problem to your program is that

Quote:
output_low(PIN_toMCxxCLK);
delay_ms(50);
You make your motor free running in 50ms

Quote:
output_high(PIN_toMCxxCLK);
delay_ms(10);
Then you power it in 10ms

Thus, the torque of motors will be applied in just 1/6 of your period. It may cause the small torque, and if you give loop of these, the rotor may vibrate but it may not turn.

10 steps per second is enough strong, because frequently, they drive stepping motors at 100 steps per second to 400 steps per second. And it may upto 4000 steps per second as free running (no load).

Quote:
R B Y W // motor wire connects to
L1, L2, L3, L4 // chip pins Lxxx.
---------------------- R B Y W
A | H L H L - - H L
B | L H H L H L - -
C | L H L H - - L H
D | H L L H L H - -

Quote:
L1, L2, L3, L4
----------------------
A | H L H L
B | L H H L
C | L H L H
D | H L L H

As you get your 2 pairs of wires, the bipolar step motors need each pair be pwred.

RB is a pair (first pair)
YW is a pair (second pair) (as you tested)

at phase A, as you connect R to pin 1, B to pin 2, Y to pin 3, W to pin 4.

It's right. You did your hardware right. No problem.

Just rewrite you program as

Code:
output_low(PIN_toMCxxCLK); 
delay_ms(30); 
output_high(PIN_toMCxxCLK); 
delay_ms(30);
Test it again.

But you didn't tell me how did you test with the steps I gave. You stopped at step 3, and measured the voltage, and it worked. So try with step 4 and 5 and 6. Then tell me again.

Step 4, keep the clk HIGH all the time, dont turn it off. Check the torque at your motor. If it's strong enough (you hard to turn it by hand), go to step 5.

Step 5, do the subroutines I rewrite above

Step 6, reduce the delaying time.[/quote]
falleafd is offline  
Old 19th March 2004, 03:39 AM   (permalink)
Default

Good idea.. it makes sense now.. from the data sheet it has
_ _
A A B B
H L H L <- dun want
x x H L <- yep
L H H L <- dun want
L H x x <- yep
L H L H <- dun want
x x L H <- yep
H L L H <- dun want
H L x x <- yep

Does it matter if "don't want" is there? the abv is the half stepping sequence. "yep" is exactly the same as the sequence that stepped my motor when i tried it manually.

I also check it.. with my multimeter.. 22mA is going into the coils. it doesn't sound right to me..
In the recomennded operating condition. I coil max is 350mA and min is NIL mA.

how come their minimum current is - ?
__________________
Computers can be a head-egg at some time
zhizhi16 is offline  
Old 19th March 2004, 05:46 AM   (permalink)
Default

A A B B
H L H L <- dun want
x x H L <- yep
L H H L <- dun want
L H x x <- yep
L H L H <- dun want
x x L H <- yep
H L L H <- dun want
H L x x <- yep

A much better table now! Boy was your earlier table confusing! Maybe you have calmed down now.

Quote:
Does it matter if "don't want" is there? the abv is the half stepping sequence. "yep" is exactly the same as the sequence that stepped my motor when i tried it manually.
The "dun want" steps are perfectly OK. Putting them there makes it run smoother. I was concerned with the motor resonance problems that are strong when full stepping.

Quote:
I also check it.. with my multimeter.. 22mA is going into the coils. it doesn't sound right to me..
In the recomennded operating condition. I coil max is 350mA and min is NIL mA.
This is the reason your motor is not running. 22mA is very low. The value of the bias resistor I figured should be 120K ohms to set the phase current to 240mA.
__________________
"Having to do with Motion Control"
motion is offline  
Old 19th March 2004, 08:21 AM   (permalink)
Default

As you run your motor at full step level, MCxxxx make the torque 2^0.5 times stronger than run as you tested manually.
falleafd is offline  
Old 23rd March 2004, 01:54 PM   (permalink)
Default

thnks for all ur help.. just recently got back to this... after my buzy-ness

i tried it.. however this time.. my stepper motor seems to be dead.. After connecting the 15V supply to the chip. i measureed gnd and Vin it gave me 1.1V why is that so? shouldnt it be 15v?
__________________
Computers can be a head-egg at some time
zhizhi16 is offline  
Old 23rd March 2004, 04:53 PM   (permalink)
Default

You should test your board again if any two pins are connected unexpectedly.
falleafd is offline  
Reply

Bookmarks

Thread Tools
Display Modes





All times are GMT. The time now is 09:01 PM.


Electronic Circuits  |  Learning Electronics
Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.

eXTReMe Tracker