Entwurf Schrittmotorschaltung (CNC) mit µC und LPT sowie Handsteuerung

Gast #2476289
Lesenswert?

Guten Abend!

Ich habe in den letzten Tagen versucht eine kleine Schrittmotorschaltung 
zu entwerfen.
Da ich mich erst seit einigen Monaten mit Elektronik auseinandersetze 
würde ich um ein Feedback bitten. Hab versucht alles zu überprüfen, aber 
wie ich mich kenne hab ich sicher einige Details übersehen.

Generell sollen die Schrittmotoren mittels L297 und L298 angesteuert 
werden.
Die soll mittels LPT Schnittstelle (über CNC Software) als auch zu Test- 
und Übungszwecken über RS232 und µC möglich sein.

Bei der Ansteuerung mit dem µC ist auch eine manuelle 
Positionierung/Steuerung möglich.
Wenn kein Ablauf/Programm vom Steuer µC (IC1) erfolgt, so kann mittels 
einer Tastatur (3x4 Tasten - nicht auf Schaltplan dargestellt) ein 
ATmega16 (IC21) angesprochen werden, der die Steuerbefehle an den IC1 
übergibt.
Mittels Pin PA0 des IC1 wird die Manuelle Steuerung freigegeben (also 
wenn grade kein Programm am IC1 läuft).

Die Leitung "Spindel" soll ein Schaltrelais ansteuern, welches 230V~ 
durchschaltet (die Spindel ist in meinem Fall ein Dremel der an einer 
Steckdose hängt)

Die Leitung "Absaugung" macht das gleiche wie oben (nur das der 
Staubsauger an einer weiteren 230V~ Steckdose hängt :)

Ich hoffe auf viele Rückmeldungen, die mir hoffentlich helfen, die 
Thematik besser verstehen zu können.

Danke gleich mal im Voraus!
lg
Peter
Angehängte Dateien:
Gast #2476297
Lesenswert?

4k7 pull down an LPT können zu viel sein,
oder falls es noch echtes TTL ist auch zu wenig,
also ist pull down dort prinzipiell ungeschickt.
Versuche auf pull up umzustellen.

D2 ist überflüssig, da am Ausgang vom 7805 nicht
mehr als 7V liegen können und die Eingangsspannung
nicht unter der Ausgangsspannung liegen kann
(schon wegen D1), also 2 Gründe weswegen unnötig.

Auch der MAX232 mag keine offenen TTL Eingänge.

Beim Display sind offene D0..D3 aber ok.

Warum man nun 2 uC braucht, erschliesst sich mir
nicht.

> Generell sollen die Schrittmotoren mittels L297
> und L298 angesteuert werden.

Ich halte die für nicht mehr zeitgemäss, können
keinen Mikroschritt, man handelt sich also ständig
Probleme mit Resonanzen ein und muss Strangströme
konservativ dimensionieren. Ich schlage TB6560 vor,
da laufen die Motore ganz smooth und man geht auf
1.414-fachen Strangstrom weil nie 2 Spulen ganz an
sind. Der braucht offiziell auch keine Freilaufdioden,
obwohl Chinesen welche nach Masse einbauen.

Wenn der PC kein Laptop ist,
sollte eine Trennung der Schaltung vom Laptop per
Optokoppler stattfinden. Dazu braucht man schnelle
Optokoppler und auf PC-Seite galavanisch getrennte 5V.

1u an den Endtastern ist zu viel, die sollen ja
sofort reagieren, 10nF sind reichlich, 1nF reicht auch.

Ich sehe keine Transistoren und keine Relais
mit Freilaufdiode und Snubber auf der Netz-Seite.

Die 470uF fangen die Bremsenergie auf, das kann zu wenig
sein, die Spannung steigt dann, vielleicht zu hoch.
Erlaube es 4700uF einzubauen oder lege eine Transil
gegen Überspannung parallel.

> Mittels Pin PA0 des IC1

Viele andere Schaltungen machen einfach eine
ODER Schaltung für die Kommandos, dann vergisst
man nicht das umschalten, könnte sich aber in die
Quere kommen. Ich finde ODER praktisch :-)

Die vielen Status-LEDs (an Tastaureingängen ?)
find ich überflüssig. Ich würde allgemein versuchen,
die ganzen HC-MOS ICs wegzulassen und alles gegen
einen einzigen uC zu ersetzen. Der mischt LPT und
RS232 und Tastatur und Endschalter und zeigt mit
ein paar LEDs (oder dem Display) an was los ist.

9 LPT, 2 RS232, 7 Tastatur, 9 Steuerausgänge und 6
ans LCD macht 33, aber man kann mindestens 4 Leitungen
von Tastatur und LCD mischen, dann reichen 29, und
das schafft ein ATMega alleine.

Ganz allgemein ist es nett, wenn zum Beschleunigen
der Strom erhöht werden kann, im Stillstand abgesenkt,
denn der angegebene Dauerstrom der Schrittmotore
muß nur im Mittel eingehalten werden, man holt auf
die Art also mehr aus ihnen heraus. Also beeinflusst
man VRef der L297 (oder die Steuereingänge der TB6560)
#2476486
Lesenswert?

B.A. schrieb:
> @ Peter (Gast)
>
> Man nutzt heutzutage doch normale Motoren (mit Übersetzung) um die
> Spindel zu betreiben und einen Linearencoder um die Position zu
> bestimmen.

Das ist so nicht ganz korrekt, es sei denn du beziehst dich 
hauptsächlich auf professionelle CNC Maschinen.
Im Einsteigersegment, meistens für Hobbymaschinen, werden größtenteils 
nur Schrittmotoren verwendet. Linearencoder mit der nötigen Auflösung 
sind nämlich ziemlich teuer, weshalb diese erst bei teureren Maschinen 
eingesetzt werden.

Ciao,
     Rainer
Gast #2476578
Lesenswert?

Hi!

Erstmal vielen dank für die vielen konstruktiven Rückmeldungen. Hab das 
meiste jetzt ausgebessert:

@MaWin:
Generell:
Das die Kombi L297 und L298 schon einige Jährchen auf dem Buckel haben 
ist mir klar. Ich finde diese Kombination für Lernzwecke und Anwendungen 
im Hobbybedarf recht nett - die Teile kriegt man überall und sind auch 
gut in der Handhabung.
1) Die Widerstände an der LPT Schnittstelle sind doch Pull-up 
Widerstände.

2) Hab die offenen Eingangspins übersehen - sind jetzt auf GND.

3) Warum 2 µC. Ganz einfach: ich weis noch nicht, ob ich die Schaltung 
etwas erweitern will. Ich könnte zwar alles auf einem µC kriegen, aber 
eventuell kommt ja noch was hinzu. Dann hab ich noch genügend Ports.

Ich hab mir mal aus nem Drucker Inkrementalscheiben inkl. Lichtschranken 
ausgebaut. Vielleicht integrier ich die später noch.

4) Hab die Entprellung der Endtaster laut Wiki Artikel auf 20ms 
ausgelegt gehabt. Hab sie jetzt auf 8ms verändert.

5) hab die 470uF an den L298 gegen 4700uF ersetzt.

6) Das mit dem OR Baustein hab ich mir auch überlegt gehabt. Find das 
umschalten aber netter - da bin ich dann auf nummer sicher, was durch 
geht und ich muss nicht irgendwelche Schnittstellen abstecken.

7) Ja, die Tastatur Statusleds kann ich mir wirklich sparen.... :)

8) Zwecks Stromerhöhung und Stromabsenkung: Hab schon an soetwas 
gedacht. Jedoch bin ich noch am überlegen, wie ich das anstellen könnte. 
Es soll ja sowohl von LPT als auch vom µC möglich sein.

9) Wegen dem Relais: Hab mit Relaisschaltungen noch keine Erfahrung und 
arbeite mich erst in dieses Thema ein. Daher ist dies am Schaltplan noch 
nicht dargestellt.

Kennt jemand von euch vielleicht ein passendes Relais für meine 
Anwendung?

Vielen dank nochmal
lg Peter
Angehängte Dateien:
Gast #2476606
Lesenswert?

Und ich sach noch, nimm nen TB6560.

> 1) Die Widerstände an der LPT Schnittstelle sind doch
> Pull-up Widerstände.

R54 und R55 nicht.

> Ich hab mir mal aus nem Drucker Inkrementalscheiben inkl.
> Lichtschranken ausgebaut.

Es ist softwaretechnisch sehr schwierig, Schrittmotore und 
Inkrementalsensoren richtig zu kombinieren. Man würde wohl auch 
elektronische Messchieber nehmen, um direkt am bewegten Objekt zu 
messen.
http://www.shumatech.com/support/chinese_scales.htm

> Kennt jemand von euch vielleicht ein passendes Relais für meine
> Anwendung?

Offenbar 24V Relais wie Pollin 340520.

+24V                   230V
 |                      |        Motor
 +-Spule-+              |          |
 |       |              +-100R-0u1-+ X2 Funkentstörkondensator
 +--|<|--+ 1N4448       |          |
         |              |     /o---+
----1k--|< BC547        +---o/
         |E                    o-
        GND                Kontakt

Allgemein:
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.25.2

> Jedoch bin ich noch am überlegen, wie ich das anstellen könnte.

Wenn man alles durch einen uC leitet, kein Problem.
Ohne uC müsste man Pulse auf CLK erkennen: Ohne Pulse absenken, bei 
beginnenden Impulsen eine kurze Zeit erhöhen, mit Pulsen normal, das 
kann ein NE556 erkennen.

http://www.ostermann-net.de/electronic/i_schritt.htm
#2476946
Lesenswert?

Ich würde zum Schalten der 230V Last Solid State Relais empfehlen. Habe 
diese für meine CNC Steuerung verwendet und damit schalten sich 230V 
Verbraucher deutlich sanfter ein, da immer nur im Nulldurchgang der 
Phase geschaltet wird. Vor allem bei großen Lasten entsteht dadurch kein 
so großer Einschaltstoßstrom.

Ciao,
     Rainer
#2477560
Lesenswert?

Bei 1€ für ein 25A SSR wäre ich etwas vorsichtig. ;)
Aber es gibt z.B. bei Reichelt schon ab 3,25€ SSR mit 8A@230V und das 
ist auch ein sehr guter Preis.

Du musst nur schauen, wie du diese an deinen Controller anschließt. Denn 
der Steuerstrom kann schon mal 8mA betragen, was für viele Controller zu 
groß ist. Ich habe in einer Schaltung alle SSR per 
Kleinsignal-Transistor angesteuert. Damit war ich immer auf der sicheren 
Seite. ;)

Ciao,
     Rainer
Gast #2537236
Lesenswert?

Hallo alle zusammen!

Ich habe mir jetzt die Schaltung wie oben aufgebaut. (ohne die Relais 
angeschlossen zu haben).

Wenn ich jedoch meine 24V von einem Schaltnetzteil anlege, so "blinken" 
die Leds. Ich messe also mit meinem Multimeter, und sehe, dass die 
Spannung zwischen 3,2 und 4,2V hin und her pendelt.

Beim lauschen am Schaltnetzteil höre ich ein "ticken" also schalten. Es 
hat für mich den Eindruck, dass das Netzteil ein und aus schaltet. 
Motoren habe ich noch keine angeschlossen.

Könntet ihr mir vielleicht einen Tipp geben, was dieses Problem 
hervorruft?
Vielen Dank!

lg
Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren