Beste forum,

Ik ben de laatste tijd op een schema aan het broeden geweest om een unipolaire stappenmotor via de parallelle poort en gepaste software (KCam4 - kellyware) aan te sturen.
Momenteel is het maar 1 motor. Maar later moet daar een eenvoudige cnc van gemaakt worden.

Zelf ben ik elektromechanisch ingenieur van opleiding en is mijn fijne elektronica kennis nogal beperkt. Daarom mijn onzerheid op dit vlak.. Zouden jullie daarom eens een oog op mijn schema kunnen werpen en checken of ik nergens flagrant in de fout ga? (optocouplers, ...)

Ik vond veel informatie op internet en dit is het uiteindelijke resultaat:

http://www.uploadarchief.net/files/download/circuit%20motorsturing.jpg

Helemaal links de LPT poort met pin 2 voor de step en pin 3 voor de dir (direction).
Daarnaast een logisch schakelschema dat gestuurd wordt door 2 D flip-flops en 2 XOR poorten.
Dan rechts daarnaast 4 mosfets die elk een motorwinding aansturen.
Als <M1a, M1b, M2a, M2b> de signalen voorstellen naar de respectievelijke motorwindingen zou dit output moeten zijn:

<1010>
<1001>
<0101>
<0110>
<1010>

En zou als gevolg de motor moeten draaien :-)

Alle info die ik gebruikte zijn gebaseerd op het k179 schema van kitrus en de website 'jones on stepping motors'

Alvast bedankt!!

[Bericht gewijzigd door Henry S. op (0%)]

Schema ziet er goed uit. Ik mis alleen een deel. Stappenmotoren hebben stroom begrenzing nodig. Dit kan je op 2 manieren oplossen.

1ste in de 2 midden aftakkingen zet je een begrenzingsweerstand. Is de makkelijkste manier maar haalt niet het maximale uit de motoren.

2De Stroombegrenzing schakeling met gebruik van sense weerstanden.

Kijk eens hier naar de L298 en de L297, met die combinatie is een leuke driver te maken. Deze is ook gelijk stroom begrenst, kijk op BLZ_8. Het ligt er wel aan hoe zwaar je motoren zijn.

http://www.st.com/stonline/books/pdf/docs/1773.pdf

Ik zelf heb het zo gedaan, kijk maar eens er staan ook links bij.

http://www.uploadarchief.net/files/download/ombouw_freesbank_naar_cnc_…

De schakeling ziet er goed uit.
Er zal niet direct rook uit opstijgen als je deze schakeling volgens schema maakt.
Ik heb wel een paar opmerkingen:
De weerstand van 330 ohm aan de printerpoort zou ik sowieso verhogen naar minimaal 1000 ohm.
Volgens onderstaande link mag een printerpoort nl maximaal 10 mA leveren
http://www.circuitsonline.net/artikelen/view/26/print.
Bij 1000 ohm loopt er vanaf de printerpoort ca 4 mA door de optokoppelaar. Volgens de datasheet http://www.datasheetcatalog.com/datasheets_pdf/4/N/2/5/4N25.shtml (downloaden) loopt dan aan de andere kant van de optokoppelaar max ca 0,4 mA. De weerstanden R6 en R4 staan parallel.
Die twee weerstanden zou ik vervangen door een weerstand van minimaal 15 kOhm.
Hetzelfde geldt voor de weerstanden R5 en R1. De IRFZ44 zijn zware MOSFET's. Ze zijn geschikt voor deze schakeling. Hopelijk zijn ze vriendelijk geprijsd. In de testfase zou ik ipv de motor 4 ledjes met in serie een 1000 ohm weerstand plaatsen. (ieder ledje zijn eigen weerstand). Als de ledjes in de gewenste volgorde oplichten dan is de schakeling goed. Dan pas zou ik de motor aansluiten.
(De ledjes kan je eventueel voor servicedoeleinden laten zitten)
Vergeet niet ongebruikte ingangen van de CMOS ic's 4030, 4093 en 4013 aan de VSS te leggen (pin 7)!!! Doe je dat niet, dan hebben deze IC's een kort leven. Meet het stroomverbruik van de 5V. Deze dient lager te zijn dan 2 mA (bij gebruik van 15 kOhm weerstanden). Is deze stroom groter, dan zitten er fouten in de gebouwde schakeling.

PS
Ik vraag me af of er geen vrijloopdioden over de motorspoelen geplaatst moeten worden ter bescherming van de MOSFET's.
Misschien dat iemand anders op dit forum hierover uitsluitsel kan geven. Zoals benleentjes ook schrijft is de motorstroombegrenzing nog een punt van aandacht.

@ lambiek: ik heb een unipolaire motor en als ik me niet vergis is die sturing een dubbele H-brug en enkel bruikbaarvoor een bipolaire stappenmotor? (of kan je daar ook een unipolaire mee aansturen?

@ benleentje: de reden dat er nog geen stroombegrenzing staat is omdat ik met een hele kleine stappenmotor werk nu (12V, 85 ohm) en ik denk dat dat niet de moeite is aangezien die maximaal 12/85 = 0,141 A kan trekken? Of is het toch al de moeite om hier een stroombegrenzing te zetten?

@ ohm pi: Er moeten inderdaad vrijloopdioden over! die ben ik vergeten zetten. Zet ik er morgen bij. Ik zal ook de weerstandswaarden aanpassen zoals voorgesteld door jou.
De raad van de ledjes zal ik ook opvolgen!

Nog twee vraagjes:

1)die mosfets zijn overgenomen van de schakeling k179 van kitrus maar nu ik eens kijk op de website waar ik mijn onderdelen ga kopen verkopen ze die niet in stock.
Zou dit een goede vervangkeuze (1,9 euro / stuk) zijn? Rekening houdend dat ik later plan zwaardere motoren aan te sluiten (met stroombegrenzing)

Mosfet:
* type nummer: IRF540
* omschrijving: n-ch
* waarden: 100V-27A-150W
* behuizing: TO220

En is die aanstuurbaar door die D flip-flops?

2) Waarom moeten die ongebruikte ingangen aan pin 7 gelegd worden?

Alvast enorm bedankt! Het doet goed mensen hun opbouwende meningen te horen!

Of is het toch al de moeite om hier een stroombegrenzing te zetten?

HEt is gewoon pure noodzaak. Zolang de motor draait zal elke spoel maar kort aangestuurd worden en zal de stroom wel laag blijven. Als je heel langzaam gaat steppen op stil wilt gaan staan wordt de stroom veel te hoog en verbrand de motor.

Dat is wel een beetje kort door de bocht; als de inductie van de spoelen de stroom moet begrenzen, moet je wel verdomd hard stappen. Aangezien het fluxpad niet gesloten is, is de inductie van die spoelen vrij laag.

De tegen-EMK is een veel grotere factor bij het beperken van de stroom, en daar zit juist het probleem; zodra je snel gaat stappen, loopt de stroom snel terug, waardoor het koppel afneemt. Daarbij is het ook wel fijn als de stappenmotoren een houdkoppel kunnen leveren, en daarvoor zul je toch echt de stroom moeten begrenzen.

Er zijn echt wel meer dan die 2 manieren om de stroom te begrenzen; je kunt de stroom meten en daarmee de MOSFETs besturen, je kunt de tegen-EMK, weerstand en inductie gebruiken om de benodigde spanning, en daarmee de duty-cycle te berekenen, maar je kun ook nog een lineaire stroombron gebruiken, als de motoren toch klein zijn. Dit om maar even een paar mogelijkheden te noemen, maar er zijn er nog veel meer.

Als je een paar flinke weerstanden in serie zet, kun je de spanning verhogen, en wordt de invloed van de inductie en tegen-EMK veel kleiner. Het is natuurlijk niet bepaald efficiënt of elegant, maar wel simpel en redelijk doeltreffend.

Je zou ook een omschakelbare voeding kunnen gebruiken, waarbij je de spanning kiest afhankelijk van de stapsnelheid.

@Sparky: je overtuigde me om toch een stroombegrenzing te installeren. Nu is mijn spanning vast 12V en heb ik geen omschakelbare spanningsbron. Welke stroombegrenzing zou ideaal zijn voor mij ifv kostprijs en eenvoud? Ik zag iemand die een lampje hangt tussen zijn spanningsbron en zijn motoren. Afhankelijk of hij veel vermogen nodig heeft of niet steekt hij er zwaardere of minder zware lampjes in (1 - 10W) Is dat een goedkope oplossing of eerder een debiele? :)
Wat zou je mij aanraden? Ik heb te weinig kennis terzake om hier zelf een beslissing over te nemen. Het zou moeten instelbaar zijn en goed voor lage vermogensmotoren en motoren die iets meer vermogen hebben.

@ohm PI: als ik maar 4mA trek naar mijn diode in de optocoupler en ongeveer 0,4mA door mijn tor, reageert de 4N25 dan wel snel genoeg? En gewoon uit nieuwsgierigheid, wat zou er gebeuren moest R6 of R5 een lage waarde hebben? En loont het de moeite de basis van de optocoupler via een hoge weerstand (10k) aan de ground te hangen? Of moet dat helemaal niet?

bedankt!!

Op 16 januari 2010 00:33:49 schreef SparkyGSX:
Dat is wel een beetje kort door de bocht; als de inductie van de spoelen de stroom moet begrenzen, moet je wel verdomd hard stappen. Aangezien het fluxpad niet gesloten is, is de inductie van die spoelen vrij laag.

wat bedoel je hier mee? Eenvoudig uitgelegd? :)

en als je spreekt over stroombegrenzing, bedoel je dan eigenlijk ook een soort van 'constante stroombron'? Die ervoor zal zorgen dat als de TEMK te groot wordt en bijgevolg de spanning over de motor te klein er toch nog voldoende stroom vloeit om hem een goed koppel te laten leveren?

Een spoel met een gesloten kern, zoals een ringkern, heeft een veel hogere inductie als een spoel (met gelijk aantal windingen, etc.) waarvan de spoel een luchtgat bevat. Dit laatste is bij een motor het geval, omdat er altijd ruimte moet zijn tussen de rotor en de stator. Dat betekend, dat de inductie relatief laag is, en dus niet veel invloed zal hebben op de stroom, terzij je echt heel erg hoge stapfrequenties gebruikt.

De eenvoudigste manier is om met elke fase een weerstand in serie te zetten, en de voedingsspanning naar verhouding te verhogen. Je gaat dan wel een hoop energie opstoken in de weerstand, maar eenvoudiger dan dat gaat het niet worden.

Ik zou zeggen: bouw het eerste eens op voor 12V, en als dat allemaal naar behoren werkt, kun je alsnog gaan kijken naar mogelijkheden om het koppel te verhogen met een goede stroomregeling.

Op 15 januari 2010 23:39:26 schreef el_b:
@ lambiek: ik heb een unipolaire motor en als ik me niet vergis is die sturing een dubbele H-brug en enkel bruikbaarvoor een bipolaire stappenmotor? (of kan je daar ook een unipolaire mee aansturen?

Nee je kan er ook een unipolaire motor mee aansturen, als je de draden waar normaal je voedingsspanning op komt maar niet aansluit.

EDIT:
Snuffel hier ook eens rond.

http://www.majosoft.com/engraving/html/majosoft_free_engraving_softwa.…

[Bericht gewijzigd door Lambiek op (12%)]

Dank u Lambiek, heel interessante site! Ik snuffelde al heel veel rond en ben blij verrast door de hoeveelheid informatie die voorhanden is!

@ Sparky en alle andere: Ik vond een eenvoudige current chopper die ik toevoegde op mijn schema. Hij is nu gedimensioneerd op een maximale stroom van 5OO mA. Dat is voor het kleine motortje dat ik nu gebruik.

Mijn nieuw schema (te groot om hier duidelijk te posten, daarom een link):
http://www.uploadarchief.net/files/download/motorsturing%203.jpg

De werking is volgens de persoon die dit on-line zette als volgt:

'-The 2 transistor circuit measures the voltage over the power resistor.
-As current in the stepper winding rises, so does the voltage over the power resistor.
-The transistor BD 135 is mounted across the resistor (base-emitter) and when voltage reaches apx. 0.6 volts the transistor closes.
- The collector of the BD 135 is connected to the much larger power transistor´s base and pulls down the base of the 2N3055 causing it to open.
- The voltage on the emitter will drop and reduce the current flowing in the power resistor and stepper windings.
- The pot is mounted to fine tune the currentflow.
- No additional safety circuit is added, so if you turn the potmeter to far to the vcc you will DEFINATELY fry your BD 135 and probably the resistor too!!! So it is for fine tuning of current only!!!
- You can add a 560 ohm resistor between VCC and potmeter to make the circuit fool proof...
'

Ik denk dat ik dat wel ongeveer snap. Als de spanning over de weerstand 0,6V bereikt is de maximale waarde bereikt. 0,6 V / 1,2 ohm = 500 mA. Dan sluit de BD135 tor en opent de power transistor 2N3055. Er is een spanningsval over de power tor en de stroom daalt bijgevolg.
Het enige dat ik niet vat is waarom die potentiometer daarbij zit.
En wat bedoelt hij met als je de pot teveel naar vcc draait?
Moest ik een 560 ohm weerstand toevoegen, waar steek ik die dan? En waarom?

Sorry voor mijn misschien naïeve vragen maar ik wil gewoon bijleren en dit forum is ideaal om op mensenmaat gesneden antwoorden te krijgen :-)

Alvast bedankt!!

Om te beginnen is dat geen current chopper, maar een lineaire stroombron. Op zich is daar niets mis mee hoor, zolang de stroom niet te groot hoeft te worden, en daarmee de warmteontwikkeling in die transistor beperkt blijft.

Met de potmeter kun je de gewenste stroom instellen. Wanneer je deze helemaal naar de Vcc draait, zal er een te grote stroom door de basis van de 2N3055 gaan lopen, waardoor deze stuk gaat. Je kunt die 560 ohm weerstand opnemen in de lijn tussen de potmeter en de basis van de 2N3055, om dat te voorkomen.

Ik vind het geen mooie constructie, temeer omdat de 2N3055 echt een waardeloze transistor is, maar het zal best werken voor kleine motoren. Begin hier eerst maar eens mee te experimenteren, dan kun je nog wat kennis er ervaring opdoen met stappenmotoren en stroomregelingen, en later met schakelende regelaars gaan spelen.

Ik werk zelf met motorstromen die in de tientallen ampères lopen, en dan is zoiets echt niet meer haalbaar, en worden de constructies veel complexer en kwetsbaarder voor domme foutjes.

Overigens zijn dat helemaal geen domme vragen hoor; je kunt beter vragen wat je niet begrijpt, dan alleen roepen dat je een schema wilt hebben zonder enige moeite te willen doen om iets te begrijpen, van dat volk hebben we er al een paar teveel hier.

Wat Lambiek zegt is bijna helemaal waar; je kunt een unipolaire motor aansturen alsof het een bipolaire is, mits de middenaftakkingen van de spoelen niet aan elkaar zitten. Met een motor met 6 draden kan het dus wel, maar met een motor met 5 draden (dus een gezamelijke middenaftakking) kan het niet.

@sparky: Nog vragen :-)

1) Helemaal naar VCC draaien, bedoel je daar dan mee dat er dan geen weerstand meer zit tussen de 2 torren? Dus als ik nu laten we zeggen een constante stroom van 500 mA wil hebben, geleverd door die lineaire stroombron. Op hoeveel ohm moet die potentiometer dan staan?

2) Ik begrijp dat dit idd niet geschikt is voor grote motoren. Hoe hoog zouden de stromen mogen oplopen om met dit schema toe te komen?

[Bericht gewijzigd door el_b op (40%)]

Als je het zo gaat maken zo als het op het schema staat, kan je misschien beter deze fet's nemen zie data sheet. De IRF540 moet je eigenlijk met een hogere spanning open sturen, maar misschien gaat het wel omdat jou motoren niet zo zwaar zijn.

http://www.irf.com/product-info/datasheets/data/irl1104s.pdf

Je kan je stroom begrenzing ook via pwm doen, plaats een and_poort tussen de gate's van de fet's en zet daar een instelbaar pwm signaal op.

We beginnen met het gegeven dat de printerpoort niet meer dat 10 mA mag leveren, anders einde printerpoort en einde aansturing stappenmotor. Bij het kiezen van de weerstand aan de printerpoort blijf ik het liefst aan de veilige kant. De kleinst toelaatbare weerstand is dus 5 V / 10 mA = 500 ohm. Bij deze waarde zit ik echt op de grenzen van het toelaatbare. (PS hier hou ik geen rekening met de spanningsval over de led in de optokoppelaar). Voor de veiligheid pak ik een factor 2. Je mag de weerstand van 1000 ohm verlagen maar het mag zeker niet lager dan 500 ohm worden. Ook hier staat informatie over de hardware van de printerpoort.
http://www.circuitsonline.net/artikelen/view/26/print.
Snelheid 4N25:
Ik verwacht dat bij 1000 Ohm ledweerstand en 15 kOhm optokoppelaarweerstand de optokoppelaar snel genoeg zal zijn. De 15 kOhm weerstand is geknoopt aan de emitter. (Gemeenschappelijke Emitter Schakeling is sneller dan Gemeenschappelijke Collector Schakeling). Tussen de basis en de Ground zou ik zeker geen weerstand aansluiten. Dan werkt de optokoppelaar niet meer. Het kan eventueel wel tussen de basis en de emitter van de optokoppelaar. Door deze weerstand van 10k gaat het uitschakelen van de optokoppelaar sneller.
Verlagen weerstand R5 en R6:
Bij een hoge weerstandswaarde werkt het systeem gewoon. Als de weerstand verlaagd wordt zal op een gegeven moment de stroom die de optokoppelaar levert onvoldoende zijn om genoeg spanning over de weerstand op te bouwen om de schmitt-trigger te laten omklappen.
Weerstanden R6 en R4 staan parallel. R6 moet weg. Dit geldt ook voor de weerstanden R5 en R1. Laat R1 weg.
Niet gebruikte ingangen van CMOS ic's uit de 4000-serie moeten ergens op aangesloten worden. Dit kan zijn: de voedingsspanning van het IC (hier 5V) of de ground. De ingangsweerstand van de ingangen van deze IC's is extreem hoog. De ongebruikte ingangen zien alle electrostatische velden. Dit resulteert in een onvoorspelbaar gedrag van de ongebruikte poorten (maar daar heb je geen last van) en in een hoog stroomverbruik. Daar heb je wel last van. Het IC wordt heet en gaat ten gevolge van de warmteontwikkeling stuk. Dit is ook één van de redenen dat je de opgenomen stroom van de 5V moet meten. Is die hoog (meer dan 2 mA) dan wijst dat op een fout. Het kan zijn dat één of meer IC's defect zijn, één van de ingangspinnen hangt open of de schakeling is niet opgebouwd volgens schema.

Over de stroombegrenzing:
De stappenmotor, is dat een exemplaar met een permanente magneet of gebruik je een wormwiel in de aandrijving?
Zo ja, dan kan je de stroom misschien domweg uitschakelen als je werkstukje door de stappenmotor in de juiste positie is gebracht.
Om de stroom uit te schakelen heb je tussen de flipflops en de mosfet's extra AND-poortjes (4 stuks = één IC) nodig.

Uitschakelen zou ik zeker niet doen, dan heb je kans dat je je positie kwijt raakt, ook met een wormwiel overbrenging.

Als je de driver enable aan of uit zet zie toch vaak een kleine verspringing, niet doen dus.

@Lambiek: Merci! ik ga de mosfet nemen die ge mij aanraadt. Is het zo dat enkel die IRL reeks met TTL niveau's kan open geschakeld worden?

@Ohm Pi: Dank je, ik ga je raad opvolgen en de 1000 ohms laten staan. De parallelle weerstanden vervang ik door 1 x 15kOhm.
Ik heb nog een weerstand van 10k tussen basis en emitter geplaatst zoals je voorstelde.

http://www.uploadarchief.net/files/download/motorsturing%204.jpg --> Zie schema of het nu allemaal in orde is :-)

De stroombegrenzing ga ik bouwen gelijk hij eropstaat nu. Ik heb geen wormwiel en schakel ook liever mijn stroom niet uit!

[Bericht gewijzigd door el_b op (12%)]

Nee er zullen vast meer types zijn die logic level zijn, maar deze pas ik nogal eens toe, en voldoen goed.

En ik zeg niet dat de IRF540 niet voldoet, als er niet te veel stroom loopt gaat het misschien wel. (heb ik in mijn vorige post ook gezegt)

De CMOS ic's werken nu op 5 V. De voedingsspanning van deze IC's (ook in deze schakeling) kan en mag verhoogd worden tot 10 V en dan ben ik nog aan de veilige kant. De MOSFET's worden dan krachtiger en zekerder opengestuurd. (Volgens de datasheet mag de voedingsspanning max 18V zijn, maar in de praktijk is deze spanning veel te hoog.)

dus eigenlijk zouden de D flip-flops mogen gestuurd worden door 12V? En dan hebben Q en °Q die 12V als uitgangsspanning om de CMOS met te sturen?
Dan veronderstel ik dat het geen TTL Cmos meer hoeft te zijn ook?

Deze type's zijn niet speciaal TTL, de 4093, 4030, 4013 kan je van 5VDC T/M 15VDC gebruiken.

@sparky: Nog vragen

1) Helemaal naar VCC draaien, bedoel je daar dan mee dat er dan geen weerstand meer zit tussen de 2 torren? Dus als ik nu laten we zeggen een constante stroom van 500 mA wil hebben, geleverd door die lineaire stroombron. Op hoeveel ohm moet die potentiometer dan staan?
Mag je dat met R = U/I berekenen?

2) Ik begrijp dat dit idd niet geschikt is voor grote motoren. Hoe hoog zouden de stromen mogen oplopen om met dit schema toe te komen?