Schrittmotorsteuerung ?!

Hardware- und Elektronikbasteleien, Ansteuerung von Schnittstellen und Peripherie.
Fragen zu "Consumer"-Problemen kommen in Offtopic.
Benutzeravatar
Falko
Admin
Beiträge: 3531
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0
Kontaktdaten:

Beitrag von Falko »

Hallo @NTQ,

Dann müßte die Schaltung ähnlich wie diese sein, oder?

Bild

MfG Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von NicTheQuick »

Wieso invertierst du das Signal zweimal? Das ist doch unnötig.

Außerdem kann ich meine Schrittmotoren nicht einfach so an einen IC anschließen. Da sind Treibertransistoren wohl besser geeignet. Wenn man noch die Induktivität der Spulen im Schrittmotor berücksichtigt, sollte vielleicht auch noch Damperdioden zwischen Kollektor und Emitter schalten.

Aber von der Logik her habe ich nichts anderes gemein.

PS.: Geht das Bild nicht noch größer? :wink:
Bild
Benutzeravatar
Falko
Admin
Beiträge: 3531
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0
Kontaktdaten:

Beitrag von Falko »

@NTQ

Bild ist jetzt kleiner. Was du mit deinen Transistoren machen willst ist schon klar. Dieser ULN2803 von SGS besteht aus 8 Darlingtontransistor-Schaltstufen mit offenen Kollektor. Sind belastbar bis 500mA. Dazu sind noch Schutzdioden wegen induktiver Lasten vorhanden. Was willst du mehr? Alles andere kann man ja über Google erfahren :allright:

Wegen der doppelten Invertierung könnte ich dir ja gerne das Buch abschreiben, aber das ist mir zuviel Arbeit. Das hat aber mit den 2 zu 2 Spulen zu tun.


mfG Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Was ist das erste(weiß gefüllte) denn für eine Diode??? :? ich kenn nur |>| oder |<| aber nicht |>o /:-> Hmm... und warum soviele dieser Dioden?

Ich glaub das soll ein Gleichrichter sein :-/ .
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Falko
Admin
Beiträge: 3531
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0
Kontaktdaten:

Beitrag von Falko »

Das weisse Dreieck mit dem kleinen Kreis dahinter ist eine Treiberstufe mit
Invertierung (keine Diode). Die Dioden sind dahinter in Schwarz angezeigt
und liegen alle am Pluspol an. Somit ist das, was NTQ in etwa machen will alles in einem IC vorhanden. Die Eingänge 1-8 können entweder von LPT oder auch direkt duch die RS232 Schnittstelle direkt verbunden werden. Ein IC kann dann quasi 2 Schrittmotoren bis 500mA steuern.

Speziel zum IC kann man sich auch mal hier was anschauen:

http://www.the-starbearer.de/Roboter/Ba ... LN2803.htm


MfG Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Keepdry
Beiträge: 11
Registriert: 31.03.2005 23:32
Wohnort: Freistatt

Invertierung der Treiberstufe 3 und 4

Beitrag von Keepdry »

Falko, deine Schaltung verhindert das die Schrittmotoren im Halbschritt betrieben werden können. Was für noch kleinere Bewegungen sorgen würde.

Neuer Denkanstoss:

bit 1 - 2 oder 1 - 4 für die Adressierung des jeweiligen Schrittmotor verwenden.

Bit 3 - 6 oder 5 - 8 für das Bitmuster

( Bit 7 - 8 ) Endschalter oder LB
Benutzeravatar
Falko
Admin
Beiträge: 3531
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0
Kontaktdaten:

Beitrag von Falko »

Stimmt. ist eine einfache Version einen Schrittmotor über 2 Bit's zu steuern,
wenn man wie NTQ ein max. an Schrittmotoren über die LPT nutzen will.
Ist auch nur ein Beispiel aus dem Buch von B.Kainka. Es gibt aber eine
ausführliche Version mit 4-Bitansteuerung pro Schrittmotor über 2 solcher
Treiber-IC's. mit einem IC kann ich dann mittels 4-Bitsteuerung 2
Schrittmotoren bewegen und das 2. IC ist dann für den 3. Denn meistens
braucht man für 3 Achsen auch nur 3 solcher Schrittmotoren. Den Rest der
LPT-Leitungen kann man dann noch für 3 Endschalter benutzen. Falls jemand
es wünscht könnte ich diese Schaltung auch nachzeichnen und reinstellen
:wink:

[Edit] Hab hier noch einen passenden Link gefunden. :)
http://engraving.majosoft.com/html/body ... n2803.html

http://cstep.luberth.com/

Gruss, Falko
Zuletzt geändert von Falko am 02.04.2005 22:02, insgesamt 1-mal geändert.
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
mueckerich
Beiträge: 220
Registriert: 13.09.2004 11:33
Wohnort: Am schönsten Flecken der Erde, zwischen PC und Motorrad

Beitrag von mueckerich »

Wenn ihr die Schrittmotoren über den L297 ansteuert, braucht ihr pro Motor nur 2 Ports. :D Einen Für die Drehrichtung, den anderen für den Takt.
Im folgenden Link ist eine derartige Schaltung beschrieben. http://hosin.de/Specials/Schrittmotoran ... erung.html
Die Eingänge für den Halbschritt bzw. die Freigabe könnte man notfalls fest verdrahten.

Das ganze hat den Vorteil das man über den LPT 4 Motoren gleichzeitig und völlig unabhängig voneinander Fahren kann. Der Nachteil dabei ist, die L297 sind nicht so ganz billig, habe vorige Woche 5,50 Euros pro Stück gelöhnt. Desweiteren braucht man dann noch den L298 als Leistungsendstufe.
Macht aber echt Laune wenn es läuft.

Man könnte aber auch am Seriellen Port einen I2C Bus aufbauen und hätte damit dann die nötigen Ein- und Ausgänge zusätzlich für die vorgenannten Signale sowie für Endschalter usw. Schaltungen dazu finden sich bei Google zuhauf. Notfalls kann ich mit einer Schaltung und einem Platinenlayout dienen.
"Wenn Sie glauben, mich verstanden zu haben, dann habe ich mich falsch ausgedrückt" ( Alan Greenspan)
MARTIN
Beiträge: 454
Registriert: 08.09.2004 14:03
Wohnort: Kiel

Beitrag von MARTIN »

Man könnte auch 4bit (oder 2 oder 3 oder wieviel man braucht) des Datenregisters der Parallerschnittstelle zum Auswahl des Schrittmotors verwenden.
So würde ich vorgehen.
Amilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94
Benutzeravatar
sharkpeter
Beiträge: 474
Registriert: 29.08.2004 16:18
Wohnort: Dresden
Kontaktdaten:

Beitrag von sharkpeter »

@Then,
Lange nichts neues von deinem Projekt gelesen. Ich hoffe es geht dennoch voran.
Habe mal auch in eigenem Interesse (WBahn) ein bissel rumexperimentiert.
Ich komme auf ca. 12 KHz Zugriffsfrequenz auf die Ports mit der InpOut32.dll.
Soll heißen 0,000853 Sekunden je Portzugriff (sind nicht ganz 12 KHz)
Allerdings ist da auch noch etwas Code drum herum, und der braucht ja auch etwas Zeit.

Hier noch ein Bild davon:

Bild

Gruß Jens mit maximalen Erfolgen :allright:

edit: 23:39:xx Noch was ich benutzte NICHT den LPT sondern eine PIO-Karte!
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64

Nichts wissen macht nichts, sich dumm stellen aber schon.
Antworten