Stappenmotor driver step probleem!

Hallo CO'rs,

Ik ben weer met een klein projectje bezig en dit keer is het een stappenmotor driver..... Heel simpel dingetje, wordt aangestuurt door step en dir signaal via parallel poort en wordt vertaald door een Pic16F628A.

Ik heb dus een schakeling met daarin een fout bij de step ingang van de pic (RA2, pin1).

Link schakeling: http://postimg.org/image/au1xep48v/
Transistor is een een BD136, hij is zo aangesloten omdat je anders een spanning van ong. 1V blijft houden op de ingang van de PIC

Wat dus het probleem is dat de step niet wordt geregistreerd als R9 niet tussen de transistor-->pic en de -5V zit. Als ik mijn scoop erop zet (Meetsnoer 10M Ω ) dan doet de schakeling het fijneloos. Als ik de scoop vervang voor een weerstand tussen de 1M Ω en de 5M Ω , doet de schakeling het af en toe..... (Dus 1M Ω niks, 5M Ω niks maar er tussen wel)

Mijn vraag luid als volgt: Is er iemand die weet hoe dit komt en hoe het op te lossen is? (sowieso zal het iets te maken hebben met pullup/pulldown weerstand?)

Als er nog vragen zijn hoor ik die graag!

Groet,
Yves

Arco

Special Member

Waarom zit die transistor ertussen? Die doet niks nuttigs. En dat het zonder R9 niet werkt lijkt me logisch, dan zweeft de ingang...
En met zulke hoogohmige weerstanden aan een vermogenstor werkt ook al niet best...

[Bericht gewijzigd door Arco op dinsdag 2 juli 2013 21:32:34 (24%)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Op 2 juli 2013 21:31:34 schreef Arco:
Waarom zit die transistor ertussen? Die doet niks nuttigs. En dat het zonder R9 niet werkt lijkt me logisch, dan zweeft de ingang...

De transistor zit er tussen om het signaal soort van te inverteren. ik krijg vanuit de opto-coupler een hoog signaal. had het eerst al geprobeerd met een NAND maar dat signaal kon de pic niet waarnemen.

"Zwevende ingang" Daar zat ik dus ook al aan te denken. eerst zat daar al een weerstand en toen deed hij helemaal niks. dus had ik hem eruit gehaald, daarna deed hij het wel alleen wou hij de stappen motor niet meer uit zetten en bleef dus doordraaien. en toen kwam ik er per toeval achter dat als ik de scoop erop zet hij het fijneloos doet.

Op 2 juli 2013 21:31:34 schreef Arco:En met zulke hoogohmige weerstanden aan een vermogenstor werkt ook al niet best...

Okey en wat voor waarde zou jij doen dan ?

[Bericht gewijzigd door Henry S. op dinsdag 2 juli 2013 22:09:13 (12%)

Arco

Special Member

Transistor eruit kiepen en het signaal softwarematig inverteren. Zelfde pull-up als de andere opto (2k7) is goed.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Vind dat nogal een raar schema, je pic op 10V laten werken, zet deze en de rest van je sturing op +5V? Ook C1 zou wat lager mogen iets van een 100nF.

Edit: als je pic op 10V hebt gezet is die wrs al op gesmoord, dus wat is het nu +5V of 10V

[Bericht gewijzigd door Damic op dinsdag 2 juli 2013 23:07:57 (24%)

Ben Belg sowat :D :: plaatjes zijn meestal klikbaar

Op 2 juli 2013 22:54:56 schreef Arco:
Transistor eruit kiepen en het signaal softwarematig inverteren. Zelfde pull-up als de andere opto (2k7) is goed.

Zal ik morgen eens proberen :)

Op 2 juli 2013 23:04:36 schreef Damic:
Vind dat nogal een raar schema, je pic op 10V laten werken, zet deze en de rest van je sturing op +5V? Ook C1 zou wat lager mogen iets van een 100nF.

Edit: als je pic op 10V hebt gezet is die wrs al op gesmoord, dus wat is het nu +5V of 10V

Het is gewoon gnd en +5V dacht dat het even wat handiger was (voor mij zelf!) aangezien ik ook werk met de de gnd van de parallel poort. tevens is die 10uF helemaal niet zo groot in principe is een 47uF normaal voor een pic 16F628 (Dat is mij altijd aangeleerd!)

Lambiek

Special Member

Normaal wordt een ULN.... gebruikt bij een unipolaire stappenmotor, jij gebruikt hem nu voor bipolair. Daar heb je die weerstanden voor nodig die nu bij de uitgang staan van je ULN. Daar staat nu al 300mA over zonder dat je motor er aan hangt. Dus je ULN zal het behoorlijk warm krijgen, en je weerstanden ook.

T1 heeft geen zin, die kan je weg halen. Zet twee 10K weerstanden aan de ingangen A2 en A3, (maak hier pull up's van) en trek de ingangen naar de gnd via je optocouplers.

Dan nog die zenerdiode, wat doet die daar. De ULN mag 50V hebben, en er zitten vrijloop diode's in.

Als dat type ULN te warm wordt kan je misschien beter een ULN2803 nemen dan heb je acht uitgangen, dan kan je er twee parallel zetten voor meer stroom.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 3 juli 2013 10:29:17 schreef Lambiek:
Normaal wordt een ULN.... gebruikt bij een unipolaire stappenmotor, jij gebruikt hem nu voor bipolair. Daar heb je die weerstanden voor nodig die nu bij de uitgang staan van je ULN. Daar staat nu al 300mA over zonder dat je motor er aan hangt. Dus je ULN zal het behoorlijk warm krijgen, en je weerstanden ook.

T1 heeft geen zin, die kan je weg halen. Zet twee 10K weerstanden aan de ingangen A2 en A3, (maak hier pull up's van) en trek de ingangen naar de gnd via je optocouplers.

Dan nog die zenerdiode, wat doet die daar. De ULN mag 50V hebben, en er zitten vrijloop diode's in.

Als dat type ULN te warm wordt kan je misschien beter een ULN2803 nemen dan heb je acht uitgangen, dan kan je er twee parallel zetten voor meer stroom.

Hallo Lambiek,

Bedankt voor je reactie ik gebruik idd een bipolaire motor. de ULN wordt niet warm wel werden de weerstanden warm maar dat heb ik opgelost om dus 2W weerstanden parallel te zetten (Aangezien hij ong. 3,5W kwijt moest raken).

Zou jij misschien een schemaatje kunnen tekenen met wat je plan exact is bij het vervangen van T1 :) .

De zenderdiode is eigenlijk alleen maar een kleine beveiliging maar aan jou reactie te zien kan ik die net zo goed weg halen.

Arco

Special Member

T1/R10 weghalen en OK2 hetzelfde aansluiten als OK1.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Lambiek

Special Member

Zo dus.
http://www.uploadarchief.net/files/download/voorbeeld%20%20yves.e.jpg

En die zener kan je ook weghalen.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 3 juli 2013 12:22:56 schreef Arco:
T1/R10 weghalen en OK2 hetzelfde aansluiten als OK1.

Op 3 juli 2013 12:29:17 schreef Lambiek:
Zo dus.
[afbeelding]

En die zener kan je ook weghalen.

Zo had ik het als eerst aangesloten maar dan doet hij helemaal niks qua aansturing van de step.

Ook heb ik maar de software van de pic veranderd zodat hij het signaal zelf inverteert en weer aangesloten op de manier zoals jullie die aangeven (en ik hem als allereerst had). Maar geen succes hij doet net zoals toen helemaal niks.

Hierbij even de code van de pic zoals hij nu is (dus aangepast op deze situatie):

pic basic code:

Device 16F628A                ;Gebruik een 16F628A type
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
All_Digital true

Dim Voor1           As Byte 
Dim Achter1         As Byte
Dim Puls1           As Byte                                

Symbol Step1 = PORTA.2 
Symbol Direction1 = PORTA.3
Symbol Spoel1 = PORTA.1
Symbol Spoel2 = PORTA.0
Symbol Spoel3 = PORTA.7
Symbol Spoel4 = PORTA.6
Symbol Delay = 5

Clear

;Start/stop
While 1 = 1
start:


If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf

If Puls1 = 1 Then
    Select Voor1
        Case 1
            GoTo V1
        Case 2
            GoTo V2
        Case 3
            GoTo V3
        Case 4
            GoTo V4 
        Case 5
            GoTo V5
        Case 6
            GoTo V6
        Case 7
            GoTo V7
        Case 8
            GoTo V8
    EndSelect
    Select Achter1
        Case 1
            GoTo A1
        Case 2
            GoTo A2
        Case 3
            GoTo A3
        Case 4
            GoTo A4 
        Case 5
            GoTo A5
        Case 6
            GoTo A6
        Case 7
            GoTo A7
        Case 8
            GoTo A8
    EndSelect
       
    If Direction1 = 1 Then 
        GoTo Achteruit
    ElseIf Direction1 = 0 Then 
        GoTo Vooruit
    EndIf
EndIf

Wend


;Vooruit
While 1 = 1
Vooruit:


V1:

If Direction1 = 1 Then 
    Voor1 = 0
    GoTo A1 
    EndIf
If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf
If Puls1 = 0 Then GoTo start EndIf
Puls1 = 0
Voor1 = 1
Achter1 = 0
High Spoel1
Low Spoel2
High Spoel3
Low Spoel4
DelayMS Delay

V2:

If Direction1 = 1 Then 
    Voor1 = 0
    GoTo A2 
    EndIf
If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf
If Puls1 = 0 Then GoTo start EndIf
Puls1 = 0
Voor1 = 2
Achter1 = 0
High Spoel1
Low Spoel2
High Spoel3
High Spoel4
DelayMS Delay

V3:

If Direction1 = 1 Then 
    Voor1 = 0
    GoTo A3 
    EndIf
If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf
If Puls1 = 0 Then GoTo start EndIf
Puls1 = 0
Voor1 = 3
Achter1 = 0
High Spoel1
Low Spoel2
Low Spoel3
High Spoel4
DelayMS Delay

V4:

If Direction1 = 1 Then 
    Voor1 = 0
    GoTo A4 
    EndIf
If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf
If Puls1 = 0 Then GoTo start EndIf
Puls1 = 0
Voor1 = 4
Achter1 = 0
High Spoel1
High Spoel2
Low Spoel3
High Spoel4
DelayMS Delay

V5:

If Direction1 = 1 Then 
    Voor1 = 0
    GoTo A5 
    EndIf
If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf
If Puls1 = 0 Then GoTo start EndIf
Puls1 = 0
Voor1 = 5
Achter1 = 0
Low Spoel1
High Spoel2
Low Spoel3
High Spoel4
DelayMS Delay

V6:

If Direction1 = 1 Then 
    Voor1 = 0
    GoTo A6 
    EndIf
If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf
If Puls1 = 0 Then GoTo start EndIf
Puls1 = 0
Voor1 = 6
Achter1 = 0
Low Spoel1
High Spoel2
High Spoel3
High Spoel4
DelayMS Delay

V7:

If Direction1 = 1 Then 
    Voor1 = 0
    GoTo A7 
    EndIf
If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf
If Puls1 = 0 Then GoTo start EndIf
Puls1 = 0
Voor1 = 7
Achter1 = 0
Low Spoel1
High Spoel2
High Spoel3
Low Spoel4
DelayMS Delay

V8:

If Direction1 = 1 Then 
    Voor1 = 0
    GoTo A8 
    EndIf
If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf
If Puls1 = 0 Then GoTo start EndIf
Puls1 = 0
Voor1 = 8
Achter1 = 0
High Spoel1
High Spoel2
High Spoel3
Low Spoel4
DelayMS Delay

Clear

Wend


While 1 = 1
Achteruit:


A8:

If Direction1 = 0 Then 
    Achter1 = 0
    GoTo V8 
    EndIf
If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf
If Puls1 = 0 Then GoTo start EndIf
Puls1 = 0
Achter1 = 8
Voor1 = 0  
High Spoel1
High Spoel2
High Spoel3
Low Spoel4
DelayMS Delay

A7:

If Direction1 = 0 Then 
    Achter1 = 0
    GoTo V7 
    EndIf
If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf
If Puls1 = 0 Then GoTo start EndIf
Puls1 = 0
Achter1 = 7
Voor1 = 0 
Low Spoel1
High Spoel2
High Spoel3
Low Spoel4
DelayMS Delay

A6:

If Direction1 = 0 Then 
    Achter1 = 0
    GoTo V6 
    EndIf
If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf
If Puls1 = 0 Then GoTo start EndIf
Puls1 = 0
Achter1 = 6
Voor1 = 0 
Low Spoel1
High Spoel2
High Spoel3
High Spoel4
DelayMS Delay

A5:    

If Direction1 = 0 Then 
    Achter1 = 0
    GoTo V5 
    EndIf
If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf
If Puls1 = 0 Then GoTo start EndIf
Puls1 = 0
Achter1 = 5 
Voor1 = 0
Low Spoel1
High Spoel2
Low Spoel3
High Spoel4
DelayMS Delay

A4:

If Direction1 = 0 Then 
    Achter1 = 0
    GoTo V4 
    EndIf
If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf
If Puls1 = 0 Then GoTo start EndIf
Puls1 = 0
Achter1 = 4 
Voor1 = 0
High Spoel1
High Spoel2
Low Spoel3
High Spoel4
DelayMS Delay

A3:

If Direction1 = 0 Then 
    Achter1 = 0
    GoTo V3 
    EndIf
If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf
If Puls1 = 0 Then GoTo start EndIf
Puls1 = 0
Achter1 = 3 
Voor1 = 0
High Spoel1
High Spoel2
Low Spoel3
High Spoel4
DelayMS Delay

A2:

If Direction1 = 0 Then 
    Achter1 = 0
    GoTo V2 
    EndIf
If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf
If Puls1 = 0 Then GoTo start EndIf
Puls1 = 0
Achter1 = 2 
Voor1 = 0
High Spoel1
Low Spoel2
High Spoel3
High Spoel4
DelayMS Delay

A1:

If Direction1 = 0 Then 
    Achter1 = 0
    GoTo V1
    EndIf 
If Step1 = 0 Then
    Puls1 = Puls1 + 1
EndIf
If Puls1 = 0 Then GoTo start EndIf
Puls1 = 0
Achter1 = 1 
Voor1 = 0
High Spoel1
Low Spoel2
High Spoel3
Low Spoel4
DelayMS Delay

Clear

Wend

End                           ;Einde programma

[Bericht gewijzigd door Yves.e op woensdag 3 juli 2013 13:28:52 (80%)

Je ziet hoe Lambiek de tekening netjes maakt met de voeding boven, de aarde beneden en signaal-richting van links naar rechts. Veel leesbaarder dan jou schema!

Dan is er iets mis. Er is IETS wat niet werkt. Meet een voor een je componenten door, om te zien of ze doen wat ze moeten doen.

Dus: Geen signalen op de optocouplers -> A2, A3 hoog ? Check dat!
Wel signaal op de optocouplers -> A2 en A3 laag? Check dat!

(Als je echt een hekel hebt aan het inverteren van signalen kan je een optocoupler ook zo schakelen dat het signaal hoog wordt als de optocoupler aangestuurd wordt. Bedenk zelf het schema! )

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Op 3 juli 2013 13:29:29 schreef rew:
Je ziet hoe Lambiek de tekening netjes maakt met de voeding boven, de aarde beneden en signaal-richting van links naar rechts. Veel leesbaarder dan jou schema!

Dan is er iets mis. Er is IETS wat niet werkt. Meet een voor een je componenten door, om te zien of ze doen wat ze moeten doen.

Dus: Geen signalen op de optocouplers -> A2, A3 hoog ? Check dat!
Wel signaal op de optocouplers -> A2 en A3 laag? Check dat!

(Als je echt een hekel hebt aan het inverteren van signalen kan je een optocoupler ook zo schakelen dat het signaal hoog wordt als de optocoupler aangestuurd wordt. Bedenk zelf het schema! )

Alle onderdelen werken prima.... als je metend opbouwt en alle waardes zijn prima dan lijkt mij dat alle componenten gewoon werken.

ook heb ik natuurlijk veel zelf gemeten en uitgeprobeerd voordat ik bij CO dit topic plaatste.

Ik zal maar even moeten kijken hoe het anders schakelen van een optocoupler in zijn werk gaat.... ik had dat probleem dus eerder opgelost om er een transistor te plaatsen (waarbij de aansturen van de motor fijneloos ging zolang je de meetsnoeren van de scoop tussen de ingang RA2 en de gnd hield).

Lambiek

Special Member

Op 3 juli 2013 13:29:29 schreef rew:
Je ziet hoe Lambiek de tekening netjes maakt...........

Dank je rew. :+

@ Yves.e,
Persoonlijk zou ik dit met een dubbele H_brug doen, met bv de L298, of een L293D, of een vergelijkbaar iets.

Wat wil je er eigenlijk mee doen, omdat je zegt dat je het via de PC bestuurd. Of is het puur om te weten hoe een stappenmotor werkt.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 3 juli 2013 13:51:14 schreef Lambiek:
[...]
Dank je rew. :+

@ Yves.e,
Persoonlijk zou ik dit met een dubbele H_brug doen, met bv de L298, of een L293D, of een vergelijkbaar iets.

Wat wil je er eigenlijk mee doen, omdat je zegt dat je het via de PC bestuurd. Of is het puur om te weten hoe een stappenmotor werkt.

ik denk dat ik maar is zo'n L293D ga kopen (wil het graag compact houden). Het wordt een stappenmotor driver voor een zelfbouw cnc machine. aangezien ik wil dat het echt eigenbouw is gebruik ik geen kant-en-klare drivers. en werk zoals de meeste diy'ers met Mach3

:)

Lambiek

Special Member

Let er wel op dat de L293D maar 600mA per kanaal is. Zie datasheet.
http://idmax.free.fr/Aide/Stepper/l293.pdf

Als ik naar je programma kijk heb je halve stap mode gebruikt, maar klopt je code wel.

Je kan het ook zo neer zetten.

pic basic code:


Symbol freq = 5
 
Symbol motor = PORTB

Clear                         ;Wis alle RAM geheugen   
 
        ;76543210            ; Hulpregel 
PORTA = %00000000            ; Zet poort_A laag
PORTB = %00000000            ; Zet poort_B laag
TRISA = %11111111            ; Poort_A I/O
TRISB = %00000000            ; Poort_B I/O

run:     

motor = %00001010 ; Stap_1
DelayMS freq
motor = %00001000 ; Stap_2
DelayMS freq
motor = %00001001 ; Stap_3
DelayMS freq
motor = %00000001 ; Stap_4
DelayMS freq
motor = %00000101 ; Stap_5
DelayMS freq
motor = %00000100 ; Stap_6
DelayMS freq
motor = %00000110 ; Stap_7
DelayMS freq
motor = %00000010 ; Stap_8
DelayMS freq
GoTo run

Je zou ook nog kunnen overwegen om een L297 te gebruiken in plaats van een pic, maar dat is aan jou natuurlijk. Zie datasheet.
http://www.technologicalarts.com/myfiles/data/AN470.pdf

Dat zou ook gelijk het probleem oplossen van je stroom regeling door je spoelen. Dat gebeurt bij een gekochte regelaar ook, daar wordt de stroom door een pwm signaal geregeld.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 3 juli 2013 16:08:40 schreef Lambiek:
Let er wel op dat de L293D maar 600mA per kanaal is. Zie datasheet.
http://idmax.free.fr/Aide/Stepper/l293.pdf

Als ik naar je programma kijk heb je halve stap mode gebruikt, maar klopt je code wel.

Je kan het ook zo neer zetten.

pic basic code:


Symbol freq = 5
 
Symbol motor = PORTB

Clear                         ;Wis alle RAM geheugen   
 
        ;76543210            ; Hulpregel 
PORTA = %00000000            ; Zet poort_A laag
PORTB = %00000000            ; Zet poort_B laag
TRISA = %11111111            ; Poort_A I/O
TRISB = %00000000            ; Poort_B I/O

run:     

motor = %00001010 ; Stap_1
DelayMS freq
motor = %00001000 ; Stap_2
DelayMS freq
motor = %00001001 ; Stap_3
DelayMS freq
motor = %00000001 ; Stap_4
DelayMS freq
motor = %00000101 ; Stap_5
DelayMS freq
motor = %00000100 ; Stap_6
DelayMS freq
motor = %00000110 ; Stap_7
DelayMS freq
motor = %00000010 ; Stap_8
DelayMS freq
GoTo run

Je zou ook nog kunnen overwegen om een L297 te gebruiken in plaats van een pic, maar dat is aan jou natuurlijk. Zie datasheet.
http://www.technologicalarts.com/myfiles/data/AN470.pdf

Dat zou ook gelijk het probleem oplossen van je stroom regeling door je spoelen. Dat gebeurt bij een gekochte regelaar ook, daar wordt de stroom door een pwm signaal geregeld.

Hmm je geeft me wel weer goed informatie :D.

Ik heb mijn code zo opgebouwd zodat je zowel CW als CCW kan draaien en er zit een soort geheugen in zodat als de step weg gaat of de motor van richting moet veranderen hij altijd op de goede plek wordt geactiveerd en zo dus real time werkt.

300mA is nodig dus dat lukt opzich toch wel met die L923?

Ik ga is even veder onderzoeken naar die mogelijkheden maar eerst even kijken hoe het werkt om bij een opto-coupler het signaal te inverteren/

Lambiek

Special Member

Je kan je optocoupler op twee manieren aansturen, of je doet het in de plus, of je doet het in de min/gnd. Maar waarom zou je dat doen, het kan toch simpel in je software.

pic basic code:


;normaal
puls
;invert
~puls
Als je haar maar goed zit, GROETEN LAMBIEK.
Arco

Special Member

Dat komt neer op alle vergelijkingen van de betreffende input omkeren:

pic basic code:


  If Opto2 = 1 Then
    ... 

vervangen door

pic basic code:


  If Opto2 = 0 Then
    ... 
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Op 3 juli 2013 17:32:26 schreef Arco:
Dat komt neer op alle vergelijkingen van de betreffende input omkeren:

pic basic code:


  If Opto2 = 1 Then
    ... 

vervangen door

pic basic code:


  If Opto2 = 0 Then
    ... 

Dat is dus exact het zelfde als wat ik al vele malen meer heb gedaan maar dat maakt in mijn geval niks uit omdat hij dat pulsje niet pakt.

edit: de enige keer wanneer mijn schakeling echt werkt zoals hij moet is in de begin situatie van dit topic :(

[Bericht gewijzigd door Yves.e op woensdag 3 juli 2013 17:43:08 (11%)

Lambiek

Special Member

Als je hem bij de PC kant om wil draaien, (bij je printerpoort) kan je het zo doen. Zie voorbeeld.
http://www.uploadarchief.net/files/download/resized/voorbeeld%20%20yves.e_1.jpg
En het moet werken op deze manier, ik doe niet anders als ik iets via de PC aanstuur. Let er wel op dat de optocoupler het signaal bij kan houden, je moet dus een snelle optocoupler hebben. Ik weet niet welke frequentie je uitstuurt via de PC, daar moet je dus een geschikte optocoupler bij zoeken.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 3 juli 2013 18:49:17 schreef Lambiek:
Als je hem bij de PC kant om wil draaien, (bij je printerpoort) kan je het zo doen. Zie voorbeeld.
[afbeelding]
En het moet werken op deze manier, ik doe niet anders als ik iets via de PC aanstuur. Let er wel op dat de optocoupler het signaal bij kan houden, je moet dus een snelle optocoupler hebben. Ik weet niet welke frequentie je uitstuurt via de PC, daar moet je dus een geschikte optocoupler bij zoeken.

ik had hem geschakeld via de plus (volgens mij via Mach3 ook de enige optie....)

MAAAR!!!! ik had weer mijn schakeling opgebouwd in de oude situatie en ik had mijn scoop draden vervangen voor een tijdelijke weerstand (3x 3.9M in serie) van rond de 10M en het werkt nu fijneloos. Dus ik ga morgen even naar de winkel om een 10M weerstand te kopen omdat ik die thuis niet zo snel kan vinden :D

Dus iedereen thx die mee heeft gedacht met dit topic!

:D

Arco

Special Member

Ergens een weerstand van 10 meg aan hangen "omdat het dan werkt" is niet echt een probleem oplossen...
Beter de schakeling wijzigen zoals aangegeven.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Lambiek

Special Member

Ja dat vindt ik ook, het zal misschien best werken maar niet op de juiste manier.

Als het niet werkt zoals we het hier aangegeven hebben is er iets anders aan de hand. En zo kan je natuurlijk geen betrouwbare cnc machine maken, hier krijg je geheid problemen mee later.

Als je haar maar goed zit, GROETEN LAMBIEK.

Een 4N25 optocoupler is hiervoor niet voldoende, is te traag en de dimensionering van de componenten is moeilijk.

Datasheet: http://www.vishay.com/docs/83725/4n25.pdf

De CTR is maar 20% en het schakelen naar 0V is zo goed als onmogelijk tenzij je de led met 20-50 mA aanstuurt.

De schakelsnelheid hangt af van de collector weerstand.
Voor een 2K7 pull up duurt het al 20µsec om van laag naar hoog te schakelen bij een 10mA stroom door de led. (Fig 12 en 13).

Al deze problemen kan je vermijden door een HCPL2531 of 6N136 te gebruiken, die werken probleemloos met pulsen van 1-2 µsec en worden in alle motordrivers gebruikt (op enkele goedkope chinese TB6560 drives na die dan ook problemen hebben met gemiste steppulsen )