Forum: Mikrocontroller und Digitale Elektronik Entwurf Schrittmotorschaltung (CNC) mit µC und LPT sowie Handsteuerung


von Peter (Gast)


Angehängte Dateien:

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

von MaWin (Gast)


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)

von B.A. (Gast)


Lesenswert?

@ Peter (Gast)

Man nutzt heutzutage doch normale Motoren (mit Übersetzung) um die 
Spindel zu betreiben und einen Linearencoder um die Position zu 
bestimmen.

von R. W. (quakeman)


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

von Peter (Gast)


Angehängte Dateien:

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

von MaWin (Gast)


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

von Peter (Gast)


Lesenswert?

Also du meinst das höchstwahrscheinlich so, wie in der angehängten 
Schaltung.

Ich hätt dieses von Conrad genommen 
http://www.conrad.at/ce/de/product/503614/RELAIS-ZETTLER-AZ943-1CH-24DE

von Peter (Gast)


Angehängte Dateien:

Lesenswert?

Anbei noch die Schaltung zum vorigen Post :)

von MaWin (Gast)


Lesenswert?

Ja

von Peter (Gast)


Lesenswert?

Ok vielen Dank.

Als Funkentstörkondensator hab ich folgenden gewählt:
http://www.conrad.at/ce/de/product/456756/KONDENS-MP3-X2-01F-250VAC-20/SHOP_AREA_17426&promotionareaSearchDetail=005

Gibts beim Widerstand 100Ohm irgendetwas zu beachten?

von R. W. (quakeman)


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

von MaWin (Gast)


Lesenswert?

> Als Funkentstörkondensator hab ich folgenden gewählt:

Passt.

> Gibts beim Widerstand 100Ohm irgendetwas zu beachten?

1W, dann reicht auch die Spannungsbelastbarkeit.

von Peter (Gast)


Lesenswert?

@MaWin
Ok, dann verwend nen 1W/100Ohm Metallschichtwiderstand.

@Fox Mulder
Mal gucken, was das große C da anbietet.

von Peter (Gast)


Lesenswert?

Was haltet ihr von diesem Relais:
http://www.conrad.at/ce/de/product/505094/HALBLEITERRELAIS-CX240D5/SHOP_AREA_84267&promotionareaSearchDetail=005

Hat zwar nur 5A Schaltstrom, aber ein Dremel bzw. ein kleiner 
Staubsauger wird keine 5A ziehen, oder?

von MaWin (Gast)


Lesenswert?


von R. W. (quakeman)


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

von Peter (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.