Programming Challange 5-Phase Stepper

25 posts / 0 new
Last post
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Since I plan on building a CNC machine I remembered I had an old 5-Phase Vexta PK564-AA sitting around and i thought I would give a try to making a controller board.
The usual google searches gave me the links below but the sequence is not working.

What happens is the sequence that is in the various posts just dont work. What does work is this sequence

step1:
ldi temp,0b00011000
out portb,temp
ret
step2:
ldi temp,0b00001000
out portb,temp
ret
step3:
ldi temp,0b00001100
out portb,temp
ret
step4:
ldi temp,0b00000100
out portb,temp
ret
step5:
ldi temp,0b00000110
out portb,temp
ret
step6:
ldi temp,0b00000010
out portb,temp
ret
step7:
ldi temp,0b00000011
out portb,temp
ret
step8:
ldi temp,0b00000001
out portb,temp
ret
step9:
ldi temp,0b00010001
out portb,temp
ret
step10:
ldi temp,0b00010000
out portb,temp
ret

with the exception of the very last step. Instead of going to the next step it starts over at the first step position and I can't find any sense to how to get it to actually rotate all the way around.

The movie here http://www.siliconcoder.com/stepper1/stepper1.html
shows another unipolar motor I was playing with and those are no problem. The end of the movie is the Vexta stepping in the only sequence so far that I have been able to actually make work for 10 steps.

Anyone care to throw in a sequence I might try?

Tha actual motor is VEXTA PK564-AA
The wiring chart i have is attached
The method I am connecting is here http://dsaprojects.110mb.com/electronics/cnc/cnc_ctrl.html
I have tried this pattern from here ( I am using a micro not a parallel port) http://www.cs.uiowa.edu/~jones/step/software.html

steptab[0] = 13; { binary 01101 }
steptab[1] = 9; { binary 01001 }
steptab[2] = 11; { binary 01011 }
steptab[3] = 10; { binary 01010 }
steptab[4] = 26; { binary 11010 }
steptab[5] = 18; { binary 10010 }
steptab[6] = 22; { binary 10110 }
steptab[7] = 20; { binary 10100 }
steptab[8] = 21; { binary 10101 }
steptab[9] = 5; { binary 00101 }

Also this pattern from here http://www.cs.uiowa.edu/~jones/step/types.html
With a 5-phase motor, there are 10 steps per repeat in the stepping cycle, as shown below:

Terminal 1 +++-----+++++-----++
Terminal 2 --+++++-----+++++---
Terminal 3 +-----+++++-----++++
Terminal 4 +++++-----+++++-----
Terminal 5 ----+++++-----+++++- time--->>

The 5 wires i am connecting to positive voltage are red,yellow,purple,grey,green
The blue,white,brown,black,orange are connected to the fets.
A high signal connects the coil to ground as the above link to the schematic shows.

Attachment(s): 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Terminal 1 +++-----+++++-----++
Terminal 2 --+++++-----+++++---
Terminal 3 +-----+++++-----++++
Terminal 4 +++++-----+++++-----
Terminal 5 ----+++++-----+++++-

Easier to read if quoted as code:

Terminal 1 +++-----+++++-----++
Terminal 2 --+++++-----+++++---
Terminal 3 +-----+++++-----++++
Terminal 4 +++++-----+++++-----
Terminal 5 ----+++++-----+++++-

I'm no five-phase expert, but why are you energizing all windings at all times? Shouldn't there be some zeroes in that diagram?

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Assume these declarations and values for control of a 5-phase motor, with an H-bridge on each of the 5 leads to the motor:

If you're only using a single ended driver, then you would expect to have problems.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yeah But... Professor Jones uses a single ended drive in a parallel port... Why do you want to use h-bridge again? More torque? I see you're idea... you turn on one coil, then the one cws from it, and it half steps in between the coils, then just the second coil... so there should be 10 positions. Energizing each winding by itself should give 5 steps of 72 deg each. So if it really 'halfsteps' between poles with 2 coils on, that scheme with 3 coils on wont do anything... the 2 outside coils cancel... will be the same as the single coil in the middle.

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
I'm no five-phase expert, but why are you energizing all windings at all times? Shouldn't there be some zeroes in that diagram?

Each coil (coils 1..5) are connected at one end to positive and the other ends are connected to fets. the individual fets turn on with a "+" Logic high to the gate and turn off with a "-" logic Low to tha gate. There are no zeros ust on or off.

So basically it's 5 bits of information and that is a possible 31 patterns exclude 11111 and 00000 and you have 29 possible states. Unless their is a difference in the polarity of the individual coils. Does it make any difference to turn on a coil in the above picture A-Phase Blue positive and red ground or red positive and blue ground?
If not then with 29 possible states I intend to find the farthest move to the left and the farthest move to the right of this motor. If for example the numbers were 5 and 23 then moving from 5 to 23 should move one step in one direction and moving from 23 to 5 the other direction. Then there would be just 8 more to figure out to step from 5 up to 23 in 10 steps. I will attempt to measure the distance using a 10 inch circle attached to the motor shaft and mark the 10 steps.

Not being a numbers guy I think the possible combinations would be 25 bits but finding the maximum and minimum move of the shaft using 1 to 29 should be easy if I can set up a measuring device unless someone tells me the polarity of turning the coil on is different because then you have many more combinations to the puzzle.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The sequence is dictated by the design of the unit. Effectively you have to energise the coils in order to drag the poles of the armature around. Polarity of the coils is important - one way you're attracting, the other you're repelling. When you're using a h-bridge drive, some coils are pushing, the others are pulling, using a single ended drive, you're just pulling. So, i'd say you'd use a 2-1-2-1.. sequence that is two coils on, then one coil on. The sequence would be:

00001
10001
10000
11000
01000
01100
00100
00110
00010
00011

If the stepper in question is a permanent magnet type, then the polarity will be important.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes Yes Yes finally, i just finished with testing 5 steps 1,2,3,4,5 then I reversed the polarity on 1 and it went one additional step to the right , it's only 10pm now so by 2am i should have this licked.

That's right Kartman I was doing that but not doing polarity, Ahhh I see now the coil is wrapped on a bar and one end pushes and the other end pulls when current flows one way and opposit the other way. I guess the drawings of stepper motors I have looked at did not make this clear. I will have to take one apart I think to see it. i would think both polls are used to maximize power but perhaps not, i don't have a clear picture of how the magnets align with the coils and the bar that becomes tha magnet when current is pushed through.

I guess that means the circuit i posted above from the other guy that said he got it working is simply wrong because you can't reverse the current using this circuit. So I better work on that.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Each coil (coils 1..5) are connected at one end to positive and the other ends are connected to fets. the individual fets turn on with a "+" Logic high to the gate and turn off with a "-" logic Low to tha gate. There are no zeros ust on or off.

OK. I'm tainted by having played with bipolar motors only (and as there are no center taps on your coils, I interpreted it as such or similar). In bipolars there are three possible states: Energized in one of two directions, or not energized.

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Just fyi while i was searching for H bridges I found this new not available yet allegro product 8 AMP chip. http://www.allegromicro.com/en/Products/Part_Numbers/98618/

Looks like a stepper motors drivers dream chip for the do it yourself stepper boards and robot folks.

Yes Johan, I was tainted as well. Even the diagram I posted above shows the coils in a way that makes intuitive deduction that current would matter not clear. This link makes it very clear the arrangement of the electro magnets around the motors magnets and mentions current reversal for those motors that contain more electromagnets.

http://www.imagesco.com/articles/picstepper/02.html

Quote:
There are several types of stepper motors. 4-wire stepper motors contain only two electromagnets, however the operation is more complicated than those with three or four magnets, because the driving circuit must be able to reverse the current after each step. For our purposes, we will be using a 6-wire motor.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am still not clear in my head the actual physical arrangement or the magnets and electro magnets in a 5-phase motor but from my experiments it looks like in the full step mode where you turn on phase a,b,c,d,e is the first half of a complete series of steps and then reversing the current starting again with phase a, and continuing with b,c,d,e would complete the series continuing with phase A using the original current flow to start the next series. I have some h bridge 1 amp chips i will connect and put up a complete diagram of how I made a 5-phase stepper work.

Thanks to all for responding, many times I post a question on this board and I compete with myself to come up with the answer before someone else does, it helps me focus as 2 or 10 minds are better than one for brainstorming.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
So if it really 'halfsteps' between poles with 2 coils on, that scheme with 3 coils on wont do anything... the 2 outside coils cancel... will be the same as the single coil in the middle.

You are right, with the exception that the torque will be lower.

metron9, did you try that 20 steps sequence that Professor John talk about? I think it is what you have to do.
For tests, you can use that schematic with five transistors. Once you have the system work, make sure the shaft angle is what you expect in your software, you can switch to a better hardware approach.
If you include a resistor in series with those diodes in parallel with the coils, will allow you to increase the speed a little bit, because now the magnetic field will vanish faster when the coil is not powered. Just make sure your transistors have enough room to accommodate the extra voltage. Start with a lower resistor, test with the scope, for the maximum current, and see how far you can increase the resistor, and keeping the voltage spike in a safe area for the transistors.
And then you can switch to a full drive, either with full bridge, either with half bridges and a differential power supply. Since you will have at least two motors, I would invest in a differential power supply, instead to add a multitude of ICs.
As for full bridge approach, did you explore L6207 from ST ? This IC will accommodate two coils.
George.

www.sofgel.ro bootloader for mega and xmega
www.elsofgel.com XME development board

Pages