5 fase stappen motor aansturen met discrete componenten

Ik ben in het bezit van deze stappenmotor de PH566 van Vexta.
Hiervoor zou ik graag een motor besturing willen opbouwen met discrete componenten in plaats van een microcontroller.

Uit de motor komen 10 draden, de aansluitingen heb ik doorgemeten welke draden bij elkaar horen.
De groepering van de fases A tot en met E heb ik op het internet kunnen vinden.

Het aansturen zou ik met een L298 quad halve brug kunnen doen waarvoor ik er dan twee nodig heb om de vijf fases aan te kunnen sturen.
Maar welke codering gebruik ik hiervoor?
En kan mogelijk ook het L297 stappen motor stuur ic met wat aanpassingen gebruikt worden?

Bij voorbaat dank voor uw reactie.

"tijd" is een interpretatie van een bepaald moment op een bepaalde schaal. Het begin van tijd is ontstaan na het begin van het universum. Buiten het universum bestaat er geen tijd, het is slechts een dimensie.
Lambiek

Special Member

En kan mogelijk ook het L297 stappen motor stuur ic met wat aanpassingen gebruikt worden?

De L297 is voor twee fase motoren, dat zal niet makkelijk gaan denk. Je hebt geen twee poolparen tegenover elkaar. Hoe wil je dat aan gaan sturen? bipolair of unipolair.

Denk dat je voor jezelf eerst een waarheidstabel moet maken van de stappen, en dan kijken hoe je het beste te werk kan gaan.

Kun je via wat tellers geen stappenplan maken, en de puls genereren met een NE555? En dan je eindtrap opbouwen met transistoren of met mosfet's.

Als je haar maar goed zit, GROETEN LAMBIEK.

Hallo Lambiek. Om een puls te genereren met een NE555 leek mij ook een goed idee. Ik heb het vermoeden dat de spoelen worden bekrachtigd volgens de Gray code.
Door 5 bits te gebruiken wordt het aantal stappen geen 16 maar 32 (als ik het juist heb).
Een 4 bit Gray code ziet er zo uit:

Waarbij tussen de fases een fase verschil van 90° is.
De codering in een encoder disk ziet er dan zo uit voor vijf fases:

Zou zoiets met behulp van flip flops en wat poortjes gemaakt kunnen worden?
Ik denk dan aan besturing met schakelaars voor omhoog en omlaag tellen.
De Gray code op een rotary encoder disk kan wellicht ook gebruikt worden om de motoren daarmee aan te sturen, complexe schakelingen met flip flops is dan niet meer nodig.
Een dergelijke ratary encoder is denk ik een absolute encoder in Gray uitvoering, is dit niet makkelijker om dat zo te doen?

Ik vond ook nog dit op het web.

[Bericht gewijzigd door Martin V op 2 september 2016 12:16:56 (25%)]

"tijd" is een interpretatie van een bepaald moment op een bepaalde schaal. Het begin van tijd is ontstaan na het begin van het universum. Buiten het universum bestaat er geen tijd, het is slechts een dimensie.
Lambiek

Special Member

Op 2 september 2016 11:57:58 schreef Martin V:
Waarbij tussen de fases een fase verschil van 90° is.
De codering in een encoder disk ziet er dan zo uit voor vijf fases:
[bijlage]

De code is in ieder geval goed.

Zou zoiets met behulp van flip flops en wat poortjes gemaakt kunnen worden?

Ja in principe wel, maar compact zal het niet worden denk.

De Gray code op een rotary encoder disk kan wellicht ook gebruikt worden om de motoren daarmee aan te sturen,...

Wil je die zelf gaan maken dan?, of heb je er al een.

Een dergelijke rotary encoder is denk ik een absolute encoder in Gray uitvoering, is dit niet makkelijker om dat zo te doen?

Maar is dat wat je echt wil dan, om het met een encoder te doen?

Ik vond ook nog dit op het web.
[bijlage]

Hier heb je nog een voorbeeld.

5 BIT GRAY CODE.pdf

Als je haar maar goed zit, GROETEN LAMBIEK.

Hoe kom je erbij dat het gray code zou zijn? Hoe is dat logisch als tegen-EMK vorm?

Je moet het zien als een BLDC motor, waarbij elke fase een sinus of trapezoid vormige tegen-EMK heeft, maar dan met 5 fases in plaats van 3, en 72 graden onderlinge verschuiving in plaats van 120 graden. Teken eens een grafiek van 5 in fase verschoven sinussen, waarbij je steeds de grootste positieve en negatieve fases bekrachtigd. Je hebt 5 halve bruggen nodig, en het handigste is waarschijnlijk om het hele ding in een ster configuratie te zetten.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Lambiek

Special Member

Op 2 september 2016 15:44:34 schreef SparkyGSX:
Hoe kom je erbij dat het gray code zou zijn? Hoe is dat logisch als tegen-EMK vorm?

Ho, dat komt niet van mij hé. :) Ik weet niet wat de TS al geprobeerd of uitgezocht heeft.

.., maar dan met 5 fases in plaats van 3, en 72 graden onderlinge verschuiving in plaats van 120 graden.

72 graden is ook de stap hoek van de motor, kan ook niet anders. Tenzij je ook nog microstepping gaat doen.

Je hebt 5 halve bruggen nodig, en het handigste is waarschijnlijk om het hele ding in een ster configuratie te zetten.

Daarom vroeg ik ook al, wil je het unipolair doen of bipolair.

Maar ik weet wel dat het niet simpel gaat worden met discrete componenten.

Als je haar maar goed zit, GROETEN LAMBIEK.

Hoe kom je erbij dat het gray code zou zijn? Hoe is dat logisch als tegen-EMK vorm?

Hallo Sparky GSX, wat ik hier neerschrijf zijn louter ideeën in een mogelijke richting, wellicht een goed idee of een totaal verkeerd idee.
Ik heb totaal geen ervaring met stappenmotoren, het is voor het eerst dat ik mij hiermee bezig hou.
Voor unipolaire stappenmotor besturingen, voor gewone stappenmotoren lijkt mij dit niet zo moeilijk, met een klein aantal flip-flops en wat poortjes blijkt dit gemaakt te kunnen worden.
Maar voor een vijf fase aansturing blijkt gat allen gerealiseerd worden met een gecompliceerde besturing, waar ik mij dus duidelijk heb vergist in de complexiteit van de schakeling.
Dit door mijn onkunde blijk ik dus een verkeerde motor gekocht te hebben.

De motor was voor mij aantrekkelijk omdat er een overbrenging met een groot tandwiel van 96mm in diameter op de motor zit.
Op dit tandwiel welke ik horizontaal opstel, plaats ik een platform waarom een 80 bij 80 cm raam antenne voor de korte/middengolf frequenties is geplaatst.
Het raam wordt over een hoek van 180° gedraaid en gekozen op de gewenste ontvangst richting.
Dat is ongeveer de bedoeling en ik dacht dat 'even' te kunnen bouwen met wat elektronica.

Een blokgolf met een fase verschil van 90° is niet zo moeilijk met twee D flip-flops, een fase verschil van 72° hoe zou dat gedaan kunnen worden?

En hier loop ik al direct tegen het eerste struikelblok aan, wellicht zou een besturing met een microcontroller of arduino toch eenvoudig zijn als discrete componenten...

"tijd" is een interpretatie van een bepaald moment op een bepaalde schaal. Het begin van tijd is ontstaan na het begin van het universum. Buiten het universum bestaat er geen tijd, het is slechts een dimensie.

Zeer waarschijnlijk wel ja.

Als ik het goed begrijp, hoef je voor jouw toepassing geen noemenswaardig koppel te kunnen leveren; dat maakt het wellicht eenvoudiger, als je kunt leven met een lagere resolutie. Wat je kunt doen, is van alle wikkelingen 1 kant aan de + van je voeding hangen, en de andere 5 aansluitingen allemaal een eigen MOSFET naar de ground geven. Die MOSFETs kun je vervolgens met een Arduino aansturen, door ze om de beurt aan te sturen. Op die manier zal de motor steeds een stapje zetten, maar hij zal wel alle even (of oneven) stappen overslaan, waarmee je dus de resolutie hebt gehalveerd. Wellicht kun je, door 2 fasen tegelijk aan te sturen, die verloren stappen er weer bij smokkelen. Hoe dan ook wordt het geen geweldige oplossing, maar wel een simpele die waarschijnlijk wel zal werken.

Ik kan je verzekeren dat het echt geen Gray code patroon is; alle fasen zijn gelijk, alleen in fase verschoven. Die 72 graden verschuiving gaat over de plaats van elke stappen in een elektrische omwenteling (je moet vele elektrische omwentelingen maken voor 1 mechanische omwenteling), en je kunt dat eenvoudig doen met een teller die tot 10 telt of 20 telt (respectievelijk 36 of 18 graden per stap). Zo'n motor moet, afhankelijk van het stappenpatroon dat je gebruikt, 10 of 20 stappen maken, voordat je elektrisch gezien weer op dezelfde positie bent. Bij een gewone unipolaire of bipolaire motor zijn dat 4 of 8 stappen.

@Lambiek: mijn opmerking over Gray code was ook gericht aan de TS, die ermee begon. Het is natuurlijk niet waar dat deze motor stappen maakt van 72 graden (mechanisch), want dat zou betekenen dat een normale stappenmotor perse stappen zou maken van 45 of 90 graden. Je moet het verschil zien tussen de elektrische en mechanische hoek; deze motor maakt 500 stappen per omwenteling, dus met een patroon van 10 stappen moet je dat patroon 50 keer doorlopen om de as 1 mechanische omwenteling te laten maken.

@TS: wat is je gewenste/vereiste stapgrootte?

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Shiptronic

Overleden

er staat 0.72° per stap, das toch iets anders dan 72 ;)

Dus 360° / 0.72 = 500 stapjes voor een rondje

[edit] zie het nu pas; 360° / 5 fasen = 72° fase verschil

Kan je met een teller niet iets? tot 5 laten tellen en elke keer een andere uitgang sturen, na 5 begin je weer overnieuw

Wie de vraag stelt, zal met het antwoord moeten leren leven.

code:

table 1 below. An H represents that the MOSFET is active.
Step     0 1 2 3 4 5 6 7 8 9 
Highside fet
VOHGA    H H L L L L L L L H
VOHGB    L H H H L L L L L L
VOHGC    L L L H H H L L L L
VOHGD    L L L L L H H H L L
VOHGE    L L L L L L L H H H 
Lowside fet
VOLA     L L L L H H H L L L
VOLB     L L L L L L H H H L
VOLC     H L L L L L L L H H
VOLD     H H H L L L L L L L
VOLE     L L H H H L L L L L 

TIM      H L L L L L L L L L 

Je hebt per fase 3x hoog en 7x laag valt denk ik nog niet mee om dat enkel met wat counters te doen.

[Bericht gewijzigd door benleentje op 2 september 2016 20:33:09 (61%)]

Lambiek

Special Member

Op 2 september 2016 19:28:12 schreef Martin V:
Ik heb totaal geen ervaring met stappenmotoren, het is voor het eerst dat ik mij hiermee bezig hou.

Dan is dit misschien wel een leerzaam artikel voor je.
https://www.circuitsonline.net/artikelen/view/47

En hier loop ik al direct tegen het eerste struikelblok aan, wellicht zou een besturing met een microcontroller of arduino toch eenvoudig zijn als discrete componenten...

Dat is een ding dat zeker is, en ik zou dan ook eerst met een simpele twee fase stappenmotor beginnen.

Als je haar maar goed zit, GROETEN LAMBIEK.

Discreet full step zou nog net moeten kunnen

code:


0	---|>|----	High A
1	---|>|----	
9	---|>|----	

1	---|>|----	High B
2	---|>|----	
3	---|>|----	

3	---|>|----	High C
4	---|>|----	
5	---|>|----	

5	---|>|----	High D
6	---|>|----	
7	---|>|----	

7	---|>|----	High E
8	---|>|----	
9	---|>|----	

4	---|>|----	Low A
5	---|>|----	
6	---|>|----	

6	---|>|----	Low B
7	---|>|----	
8	---|>|----	

8	---|>|----	Low C
9	---|>|----	
0	---|>|----	

0	---|>|----	Low D
1	---|>|----	
2	---|>|----	

2	---|>|----	Low E
3	---|>|----	
4	---|>|----	

De getallen links zijn de uitgangen van een 10 teller waarbij er maar elke keer 1 uitgang hoog mag zijn

Dus uitgang 0 gaat High A, Low C en low D
---|>|---- stel een diode voor
High A stel een fet voor aan de bovenkant van een halve H-brug

Je hebt dan nog een puls generator met bv een NE555 nodig die je kan regel met een potmeter voor de snelheid.
En verder moet je de teller nog met een schakelaar vooruit of achteruit laten tellen.

De highside N-fets hebben elk een aparte driver nodig een de benodige hogere spanning op te wekken. Je kan als je maar tot max 12V gaat gaat kunnen vervangen voor een P-fet. Een P fet werkt geinverteerd ten opzichte van een N-fet. Dus je hebt dan ook 5 inverters nodig achter de diode's. Maar gelukkig zitten er daar 6 van in 1 IC.

Al met al ben je denk beter af met een kleine micro controller

[Bericht gewijzigd door benleentje op 2 september 2016 21:07:47 (27%)]