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.

MC3479P and PIC

Status
Not open for further replies.
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);
}
 
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.

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.
 
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]
 
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.
 
The problem to your program is that

output_low(PIN_toMCxxCLK);
delay_ms(50);

You make your motor free running in 50ms

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).

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 - -


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]
 
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 - ?
 
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.

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.

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.
 
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?
 
Does anybody have the 17PS-c054 03 's datasheets???
and what is the difference between 17PS-c054 03 & 17PS-c054 01??
 
**broken link removed**
its in german but you should be able to figure out what is what..
does that look like it.??
 
i saw this site befor... it seems it is the only one about this motor.
thanks anyway, i'll try to translate it
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top