Stappen Motor via Delphi besturen

Pagina: 1
Acties:
  • 191 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 22-06 00:20
Ik heb reeds via google gezocht, en ook op dit forum, maar ik geraak er niet uit :'(

De bedoeling is om de stappenmotor die ik uit een oude deskjet printer gesloopt heb (PM55L-048-HPD5) aan te sturen via par poort.
Nu heb ik de stappenmotor faq gelezen, en via nog wat google zoekwerk kreeg ik alles juist aangesloten via een ULN2003
--> waar ik 12V op zet, wat mocht volgens de faq -- die dingen chip en stappenmotor komen wel heet, is dit normaal?

Getest via het VB progje op een oude pentium pc, en het werkte ;)

maar nu zou ik graag dat ding aansturen via delphi (hier ken ik de basis van ;-) ) om dan verder te integereren in een groter delphi programma (voor diy cd changer)

Heeft er iemand een idee, of oplossing hoe ik die kan aansturen via delphi 7.0? _/-\o_

Acties:
  • 0 Henk 'm!

  • Rey Nemaattori
  • Registratie: November 2001
  • Laatst online: 04-06 14:41
Je hebt um aan de praat gekregen in VB maar je wil eigenlijk een delphi 7.0 versie van het zelfde proggie?

Ik heb zelf wel wat basis programmeren in deplhi gehad(delphi 5 though, zal wel niet zo heel veel verschillen met 7) maar aansturing van de printer/com/netwerk poorten hebben we niet gehad....helaas...

[ Voor 59% gewijzigd door Anoniem: 44568 op 13-07-2004 08:27 ]

Speks:The Hexagon Iks Twee Servertje

"When everything is allright,there is nothing left."Rey_Nemaattori


Acties:
  • 0 Henk 'm!

Anoniem: 25556

tvicport.

De link is een volledig werkende demo, meer informatie:
http://www.entechtaiwan.com/dev/port/index.shtm

uit de documentatie:
code:
1
2
3
4
with VicPort do
    begin
      {...}
      Port[$2F8]:=$34;     // write a byte to port

Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 22-06 00:20
ik kan precies dat ding niet installeren onder delphi 7
op de site staat er dat het ook voor deze geschikt is, maar in de zip, zit het enkel tot 6...
als ik dan de handleiding volg, en die voor de 6 probeer te installeren, krijg ik een error:
"cannot load package 'rtl60'. It contains unit 'system,' which is also contained in package 'rtl70'

Iemand een idee hoe dit op te lossen? :?

Acties:
  • 0 Henk 'm!

  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 18-05 17:57
Als het goed is kun je vanuit Delphi gewoon inpout.dll aansturen, hoe dit moet weet ik ook niet, maar dat zit je vanuit Visual basic nu ook te doen.

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 22-06 00:20
probleem was dat het gewoon getest is met een scriptje voor qbasic dat in de faq staat :'( dus ik snap niet 100% wat er staat :'(
ik heb via een omweg dat componentje als activeX kunnen installeren onder delphi7 :)
Dan wilde ik via de "pin[i]" op true en daarna terug op false te zetten het ding laten draaien, maar dat werkt jammer genoeg niet :'(
hij doed wel "iets" maar het is niet draaien...
heeft er soms iemand een stukje code voor delphi waarmee dit zou lukken? want ik geraak er precies niet uit...
Bedoeling is gewoon om te kunnen kiezen om x stappen naar links of rechts te zetten (basically het ding van een stappenmotor dus :) )

@bobo1on1 : zag in een ander topic dat je de code van je draaiding van je webcam ter beschikking stelde, maar de rarfile is er blijkbaar niet meer...mag ik deze anders eens inzien?

[ Voor 4% gewijzigd door Promy op 13-07-2004 01:36 ]


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 09-06 21:17
Een stappenmotor laten draaien is iets anders als een gewoon motortje laten draaien.
Ik meen dat je zelf de stappen moet doorgeven, door steeds op een andere draad stroom te zetten. Zo 'stapt' hij steets 1 positie verder.

Dat je motortje maar wat raars doet met jouw code uit Delphi kan betekenen dat je probeerd een 'te grote stap' te maken... zet eens stroom op een andere pin?

Heb zelf totaal geen ervaring met stappenmotoren, maar heb hier eens een duidelijke uitleg over gelezen hier op GoT

[ Voor 3% gewijzigd door frickY op 13-07-2004 13:19 ]


Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 22-06 00:20
Yeps, dat weet ik dat je iedere keer stroom moet zetten op een andere spoel.
Ik heb de motor aangesloten op een ulm2003 ic.
De juiste draden aangesloten zoals beschreven op http://www.doc.ic.ac.uk/~...er/control2/sequence.html.
Daarna, getest met stukje code onder qbasic:

------code qbasic van het internet-----
' Stepper Motor Test Program
' Written by Vince Long
' April 2003

' Read the values from the data statement

FOR I = 1 TO 8
READ Coil(I)
NEXT I

' Clear the screen and get the delay value from the user

CLS
INPUT "Enter the delay value"; Delay

LOCATE 10, 1
PRINT "Now rotating the motor"

' Start rotatinig the motor

DO
FOR I = 1 TO 8
OUT 888, Coil(I)
FOR D = 1 TO Delay: NEXT D
NEXT I

I$ = INKEY$

LOOP WHILE I$ <> CHR$(27)

END


' These are the values that are sent to the motor

DATA 1,3,2,6,4,12,8,9

----einde code qbasic van het internet-----

Via dit werkte de motor op een oude pc met win98 erop (testpcke, kwestie van mijn 'grote' computer niet op te blazen als ik verkeerd soldeer :) )

Nu wilde ik dat dus via delphi 7, aansturen...mbv tvicport (als activeX component in delphi gekregen)

---begin delphi code----
tvicport1.OpenDriver ;
for i := 2 to 4 do tvicport1.Pin[i] := false;//alles terug op nul zetten
for j := 0 to 100 do
begin
for i := 2 to 5 do //pin 2 tot 5 eerst aanzetten en dan terug afzetten
begin
tvicport1.pin[i] := true ;
tvicport1.Pin[i] := False;
end;
end;
---einde delphi code---

Die 'pin' stuurt volgens de handleiding een "hoog signaal" naar de overeenkomstige pin.
Die "opendriver" is om het ding te initialiseren.

Jammer genoeg werkt dit dus niet :'( ... wat doe ik mis?

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 09-06 21:17
Promy schreef op 13 juli 2004 @ 10:31:Via dit werkte de motor op een oude pc met win98 erop (testpcke, kwestie van mijn 'grote' computer niet op te blazen als ik verkeerd soldeer :) )
Test je je Delphi dingetje op diezelfde pc?
Ik weet niet welke poort je gebruikt maar in XP kan je niet zomaar de LPT poort benaderen.. en in 2000 volgens mij ook niet.

Acties:
  • 0 Henk 'm!

  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 18-05 17:57
Promy schreef op 13 juli 2004 @ 01:35:
@bobo1on1 : zag in een ander topic dat je de code van je draaiding van je webcam ter beschikking stelde, maar de rarfile is er blijkbaar niet meer...mag ik deze anders eens inzien?
Er staat weer een nieuwe link in het topic :)

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


Acties:
  • 0 Henk 'm!

  • Springuin
  • Registratie: Juli 2002
  • Laatst online: 22-06 16:08
Promy schreef op 13 juli 2004 @ 10:31:
Jammer genoeg werkt dit dus niet :'( ... wat doe ik mis?
Je moet dus een spoel aanzetten (spoel1), ff wachten (bijv 50ms) en dan de volgende spoel aanzetten(spoel2) en dan de vorige uitzetten(spoel1)
Nu zet je de spoel aan en in het volgende commando direct weer uit. Dat is veel te snel, dat kan dat motortje niet bijhouden.

Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 22-06 00:20
kben er dan toch in geslaagd om het aan te sturen ;-)
maar nog een klein probleemke...
linksom draaien lukt perfect (alhoewel hij met de hand tegen te houden is, waarschijnlijk omdat er maar 12V op staat terwijl het eentje voor 24V is)
maar rechtsom draaien lukt nie :'( ... hij springt weg en weer...

als ik met dat webcamprogje (tof progje btw) doe, dan is het net hetzelfde... ene richting werkt, andere niet....

het is me nog maar 1 keer gelukt om toch rechtsom te draaien, wat de zaak nog raarder maakt
Iemand een idee wat er hier mis zou kunnen gaan?
en die ULN2003...zou die 24V aankunnen? waarschijnlijk niet zeker?

Acties:
  • 0 Henk 'm!

Anoniem: 118646

Ik ben momenteel ook bezig met een stappen motor. Maar ik kan geen goede schema's vinden. Wel heb ik andere IC's gevonden die tot 35 volt aan kunnen (link: http://www.allegromicro.com/sf/5804/) alleen is die niet meer in productie. Er is wel een vervanger die zels met maar 2 datalijnen aan kan worden gestuurd. (lijn 1: aan/uit, lijn 2: linksom rechtsom)

Misschien kun je daar wat mee als je een wat sterkere stappen motor aan wil sturen.
offtopic:
Waar heb jij een aansluit schema gevonden voor die ULN2003+stappenmotor? In de How-To is deze offline...
Zou je hem ergens kunnen uppen ofzo?
Of kan iemand het zo uit leggen?

[ Voor 4% gewijzigd door Anoniem: 118646 op 13-07-2004 22:22 ]


Acties:
  • 0 Henk 'm!

  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 18-05 17:57
Heb je hier wat aan? ik heb het net speciaal voor jou zitten tekenen O-)

Afbeeldingslocatie: http://www.xs4all.nl/~loosen/elektronica/Stappenmotor%20unipolair%20schema.png

Dit schema gaat theoretisch tot 47 Volt en 2 Ampere, ik gebruik em voor me webcam standaard.

Omdat ik zo aardig ben heb ik ook maar even het schema voor de uln2003 getekend :)

Afbeeldingslocatie: http://www.xs4all.nl/~loosen/elektronica/Stappenmotor%20unipolair%20schema%20uln2003.png

Ik lees net dat die uln2003 maar 500 mA aankan, daar kun je toch niet fatsoenlijk een stappenmotor mee aansturen.

[ Voor 63% gewijzigd door bobo1on1 op 13-07-2004 23:13 ]

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


Acties:
  • 0 Henk 'm!

Anoniem: 118646

woei Dank u!!!! _/-\o_ _/-\o_ _/-\o_

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 09-06 21:17
tweaker-liefde O+

Je gaat deze stappenmotor voor een CDwisselaar gebruiken? Komt daar een CiPje van? :9

Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 22-06 00:20
hmm, die uln2003 is misschien idd niet sterk genoeg.
omdat ik nogal ver van electronicawinkel woon (50km ofzo) ben ik ff gaan zoeken in de resten van printer waaruit de stappenmotor kwam. (hpdeskjet520)
Ik zag er een L6221A IC in zitten (http://212.57.231.17/data...roelectronics/DS47950.pdf wat een quad darlington array die 50V aankan is.
nu vroeg ik me af of dit onderstaand schemake juist is...

Afbeeldingslocatie: http://users.skynet.be/sennesael/chippy.jpg
natuurlijk nog de 7V aansluiten op Vs en 24V op Vo (waar die ook is?) en de aarding
via data4 zou ik dan de chip aan en uit kunnen zetten? klopt dat?
Mag dit zo rechtstreeks aangesloten worden of dienen er daar nog diodes tussen te staan?

En 24V :? kan je dat uit een standaard pc voeding halen? Anders kan ik de voeding van die oude printer recycleren...zit 5 ; 24.5 en 17V op ==> zij gebruikten de 5V voor de IC te voeden en de 17V voor de stapenmoter dus die kan ik hergebruiken


----
als het lukt dan zal ik er hier op got zeker een beschrijving van geven ;-) maar het is voorlopig nog heeel erg in de kinderschoenen ... idee is er, nu eerst die stappenmotor in gang krijgen...dan de hardware (lijkt me ook nog veel werk :p )(100 houdertjes enzo) en dan soft die alles aanstuurt... hoop klaar te zijn tegen september ofzo :)


---- lap hij is kapot :( pootje afgebroken en rip... zal toch maar een ritje met de auto worden vrees ik

Blijkbaar is die stappenmoter die ik gebruik 30 ohm op 24V ==> 800mAmpere
En die ULN2003 kan 500mA aan...dus op 17V geeft 30ohm er 566mA toch eens proberen met beetje koeling :)

[ Voor 49% gewijzigd door Promy op 14-07-2004 01:47 ]


Acties:
  • 0 Henk 'm!

Anoniem: 118646

Je kunt bij allegro ook sample's bestellen.. Gratis..

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 09-06 21:17
Je kunt 24V uit een pc-voeding trekken door de +12 als fase te gebruiken, en de -12 als massa.
Niet elke voeding vind dit echter even lekker...

[ Voor 7% gewijzigd door frickY op 14-07-2004 09:37 ]


Acties:
  • 0 Henk 'm!

  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 18-05 17:57
frickY schreef op 14 juli 2004 @ 09:36:
Je kunt 24V uit een pc-voeding trekken door de +12 als fase te gebruiken, en de -12 als massa.
Niet elke voeding vind dit echter even lekker...
Daar krijg je bij de meeste voedingen maar 100 mA uit.

Waarom sluit je die stappenmotor niet gewoon aan op 12 volt? de stappenmotor voor me webcam is 24 volt maar op 12 volt doet hij het nog perfect hoor, hij is alleen wat minder sterk.

Je kunt ook ergens 8 npn transistoren en 4 diodes uit slopen, misschien dat je nog ergens een apparaat hebt liggen waar die in zitten, een oude versterker ofzo?

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 22-06 00:20
btw, mijn stappenmotors zijn pm55l-048-hpd5 en pm55l-048-hp69 en pm35l-048-hpd4

RIP...daarnet ook nog m'n uln2003 doorgeblazen >:) lekkere vonk, dat wel :)

@bobo1on1 : die npn transistoren, mogen dat gelijk welke zijn? ik heb hier nog paar oude voedingen met iets dergelijks in:

er staat op: k232 c945 p : zitten er net 8 op :D (to92 verpakking)

zouden die werken?

[ Voor 98% gewijzigd door Promy op 14-07-2004 22:48 ]


Acties:
  • 0 Henk 'm!

Anoniem: 55168

Ik kan zo ff geen datasheet van die c945 vinden.

Maar hoe stuur je de spoelen aan? Een kant om gaat dus goed, we nummeren die volgorde ff 1,2,3,4,1,etc..... Als je de andere kant uit draait zal je 4,3,2,1,4 moeten stappen.
Je kunt straks ook halfstap gebruiken. De motor wordt dan iets sterker en je kunt dubbel zoveel stappen maken. Wat je dan doet is in sommige gevallen twee spoelen bekrachtigen. Ik ga er ff vanuit dat je 4 spoelen hebt die ik ff A,B,C en D noem. De volgorde dat je ze bekrachtigd is normaal gezien: A,B,C,D,A, etc..... Halfstap is: A,AB,B,BC,C,CD,D,DA,A,etc. Maar je zal eerst moeten zorgen dat je de andere kant uit kunt draaien voordat je je hier mee bezig houd.
Controleer ook ff voor de zekerheid of je geen stappen overslaat. Maak iets vast aan de as en kijk eens goed of hij niet toevallig een klein stapje terug maakt in plaats van vooruit. Als dat het geval is zal je een paar draden om moeten wisselen. Maar ik vermoed niet dat dat het probleem is anders zal hij waarschijnlijk ook niet rond gedraaid hebben.

Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 22-06 00:20
ik snapte ook niet waarom het niet werkte...misschien een defecte ic ofzo...hij is nu alleszins rip
Ga er een keer een nieuwte halen in het weekend ofzo...hopelijk dan iets beter :p

Acties:
  • 0 Henk 'm!

  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 18-05 17:57
Promy schreef op 14 juli 2004 @ 19:23:
@bobo1on1 : die npn transistoren, mogen dat gelijk welke zijn? ik heb hier nog paar oude voedingen met iets dergelijks in:

er staat op: k232 c945 p : zitten er net 8 op :D (to92 verpakking)

zouden die werken?
Daar kun je er iig 4 van gebruiken om 4 transistoren mee aan te sturen die een grotere stroom aankunnen, daarvoor wil je in ieder geval een transistor met een to-126 behuizing.

Je kunt ook 4 npn darlingtons gebruiken, ik weet zo even niet welke daar goed geschikt voor is.

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 22-06 00:20
eens opnieuw getest met een uln2004...
het werkt nu perfect. ic komt wel nog warm maar de stappen werken goed :D
waarschijnlijk een slechte ic ofzo :(
nu kunnen we verder met het projectje :D
Pagina: 1