PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Keine Schritte verlieren



clupus
07.10.2005, 12:38
Hallo allerseits,

ich hab hier einen Schrittmotor vor mir liegen. Nun habe ich gelesen, dass man, will man keine Schritte verlieren, jeden Schritt "protokollieren" muss. Mann muss sie also messen. Meine Frage: Wie macht man das?

Gesetzt den (rein theoretischen) Fall:
Ich habe die Welle d. Schrittmotors mit einer Übersetztung so verbunden, dass jeder Schritt zu einer Umdrehung auf der 2. Welle führt. Solange die Frequenz klein ist, kann man bei jedem Schritt eine Umdrehung auf Welle 2 feststellen. Soweit klar.
Wenn jetzt ein Schritt verloren geht, was passiert dann? Eigentlich dürfte die Umdrehung (der Schritt) etwa bis zur Hälfte ausgeführt werden, dann müsste der Motor um eine Umdrehung zurückdrehen. Stimmt das, oder liege ich hier falsch? Wenn ja, was passiert wirklich?

Wenn ich nun mit lediglich 1 Lichtschranke die Umdrehungen der Welle 2 zählen will, werde ich ermitteln können, dass die LS unterbrochen/geschlossen wurde und die Logik wird daher denken, dass der Schritt erfolgreich ausgeführt wurde. Wie wird das vermieden?

Oder ist das Funktionsprinzip in der Steuerung das folgende?:

1. Setze Ausgänge auf 1 Schritt nach vorne (im µC)
2. Warte bis LS unterbrochen, Timeout
3. Warte bis LS geschlossen, Timeout
4. Wiederhole Schritte 1-3 bis Endposition erreicht
Wenn Timeout, ist der Motor überlastet

MfG
Christian Wolf

Manf
07.10.2005, 13:08
Wenn in Schrittgröße protokolliert wird könnte man ja bald auch einen DC Motor nehmen.
Die meisten Anwendungen von Schrittmotoren sind so ausgelegt, dass die Schritte praktisch nicht verlorengehen. Langzeitfehler werden an einer Referenzlichtschranke durch Nullsetzten des Positionszählers korrigiert.
(Nur als Anmerkung zum üblichen Vorgehen)
Manfred

Vogon
07.10.2005, 13:19
Gibt es eine brauchbare (einfache) Möglichkeit den Schrittverlust am Motorstrom(verlauf) zu erkennen ?

H.A.R.R.Y.
07.10.2005, 13:53
Da bin ich selbst dran. Bisher bevorzuge ich die Messung der Gegen-EMK.
Siehe "Elektronische Lastmessung am Schrittmotor" [Mitte September in diesem Forum] - wie bekomme ich den Link hier hinein? Sorry, dafür bin ich noch zu neu hier.

clupus
07.10.2005, 16:23
Ich will den Motor eigentlich für eine Fräse verwenden (Positionierung des Kopfes). Dazu sollen 3 Motoren über M6-Gewindestangen den Kopf bewegen können. Naturlich wäre es sehr angenehm, wenn ich eine möglichst hohe Geschwindigkeit einstellen kann, aber ich darf keine Schritte verlieren.

Von dem Motor hab ich leider keine Daten, außer der Spannung und dem Wicklungswiderstand. Deshalb weiß ich nicht mal genau, was er aushält und wollte das daher (an einem Motor) zunächst ausprobieren.

Ehrlich gesagt, das mit dem EMK (was ist EMK eigentlich?) hab ich nicht ganz versanden. Aber ich glaube nicht, dass das was hilt.

MfG und Danke soweit
Christian

Vogon
07.10.2005, 21:48
@clupus: EMK = Elektromotorische Kraft
http://de.wikipedia.org/wiki/Elektromotorische_Kraft


... Bisher bevorzuge ich die Messung der Gegen-EMK...
Meinst du so etwas ?
http://www.aerodesign.de/peter/2001/LRK350/SPEEDY-BL.html
http://www.aerodesign.de/peter/2001/LRK350/Speedy-BL/speedy-bl-block.gif

clupus
07.10.2005, 22:35
Möglich, das System ist sehr abstrakt (und aufwendig). Mir geht es eher allg. darum bei optimal hoher Geschwindigkeit eine genaue Positionierung zu garantieren, ohne alle 20sec. eine Referenz (LS, Taster, etc.) anfahren zu müssen.

MfG
Christian

clupus
09.01.2006, 19:01
OK, ich hab jetzt noch mal den Beitrag durchgelesen und versucht zu verstehen, was damit gemeint war. Ich glaube jetzt , ich hab's:

Man prüft nicht, ob der Schrittmotor auch wirklich alle Schritte ausgeführt hat, sondern prüft mit der Gegen-EMK-Messung, ob der Motor an seiner Leisungsgrenze angekommen ist, also Schritte verlieren könnte. Man hält den Motor dann bei ca. 80% seiner Möglichkeiten.
Die Gegen-EMK ist eine Spannung, die in den Wicklungen durch die Rotation des Motors induziert wird.

Stimmt das soweit, oder baue ich da "mentalen Mist" zusammen?

Meine Frage: Wie kann ich die Gegen-EMK mit meinem µC (ATmegaXX) messen? Ich habe auch kein Osziloskop bei mir daheim und kann daher die Spannung auch nicht "einfach mal anschauen". Gibt es da irgendwas integriertes, was zahlbar (bin Schüler und daher sehr knapp bei Kasse) ist?

Danke schonmal
Christian

kalledom
09.01.2006, 19:57
Du kannst an der Welle des Schrittmotors auch Loch- / Schlitzscheiben montieren und über Gabel-Lichschranken die tatsächlichen (Loch-/Schlitz-) Schritte zählen (wie in der PC-Maus).

clupus
09.01.2006, 20:55
Du kannst an der Welle des Schrittmotors auch Loch- / Schlitzscheiben montieren und über Gabel-Lichschranken die tatsächlichen (Loch-/Schlitz-) Schritte zählen (wie in der PC-Maus).

Hab ich am Anfang auch gedacht. Das Problem dabei:
Ich will ja jeden Schritt (3,6°) zählen und da wird es schwer eine geeignete Lochscheibe zu finden.

Zudem haben mir mehrere Beiträge am Anfang des Themas eindeutig mitgeteilt, dass es ein unvertretbar hoher Aufwand wäre, einen Schrittmotor einzusetzen, wenn man sowieso eine Positionsmessung durchführt. Es sei einfacher, so meine Interpretation, eine el. Messung von EMK o.ä. durchzufürhen, als irgendwas mechanisches.

MfG
Christian

darwin.nuernberg
09.01.2006, 21:19
Von Trinamic gibt es Treiber IC'S TMC239 mit einer Stall detection.

http://www.trinamic.com/tmcweb/images_products/tmc239_mini.jpg (http://www.trinamic.com/tmcweb/core.php?callname=content/english/01+products/02+products.php&prodcat=ics&prodid=9)Klick auf Image

Habe die Chips seit einiger Zeit, nur traue ich mich noch nicht dazu ein Board zu bauen. Das Teil ist zimlich komplex und dann doch wieder nicht.
Der TMC222 ist auch ein sehr günstiger Baustein für kleinere Lasten und mit I2C(TWI). Damit habe ich auch schon angefangen aber bin noch nicht fertig geworden.

Immer wenn mich was nerft oder ich einfach nicht weiter komme, lass ich es halt mal einfach ein bisschen liegen und befasse mich dann in einem halben Jahr damit oder eben später. Ich habs da nicht so eilig.

Die Chiops bekommt man beim Reichelt.

clupus
17.01.2006, 20:50
Von Trinamic gibt es Treiber IC'S TMC239 mit einer Stall detection.

http://www.trinamic.com/tmcweb/images_products/tmc239_mini.jpg (http://www.trinamic.com/tmcweb/core.php?callname=content/english/01+products/02+products.php&prodcat=ics&prodid=9)Klick auf Image

Habe die Chips seit einiger Zeit, nur traue ich mich noch nicht dazu ein Board zu bauen. Das Teil ist zimlich komplex und dann doch wieder nicht.
Der TMC222 ist auch ein sehr günstiger Baustein für kleinere Lasten und mit I2C(TWI). Damit habe ich auch schon angefangen aber bin noch nicht fertig geworden.

Immer wenn mich was nerft oder ich einfach nicht weiter komme, lass ich es halt mal einfach ein bisschen liegen und befasse mich dann in einem halben Jahr damit oder eben später. Ich habs da nicht so eilig.

Die Chiops bekommt man beim Reichelt.
Hallo nochmal,

ich will mich ja nicht beschweren,....

..., aber der Chip kostet bei Reichelt ca. 8,50€ (!). Wenn ich jetzt von 3 Achsen ausgehe, bedeutet das ,dass das 3 Schrittmotoren sind, die zu steuern sind. 3 Motoren heißt 3 mal knapp 10 € sind etwa 25 €! Nur die Chips! Dann kommen da noch Treibertransistoren und der ganze Kääs dazu.

(Ich denk halt an mein deutlich beschränktes Schülerkonto, und da wird mir schwarz vor Augen.)

Sorry, wenn ich hier ein bisschen dick auftrage, aber dennoch sind 25 € ohne Peripherie doch in meinen Augen recht hoch.

Die frage ist glaube ich eher, ob es eine Möglichkeit gibt, eine Messung entweder mit den µC-Controllern vorzunehmen, oder mit einer (notfalls selbst aufgebauten) Sensor-Schaltung. Die Steuerung muss eh der µC übernehmen, das darf kein externer Chip machen (einzelne Steps nötig). Daher wäre eine einfache Detektionseinrichtung ausreichend.

MfG
Christian

MrNiemand
17.01.2006, 21:20
ich verwende selbst ICs der TMC Reihe welche die direkt 1,5A treiben aber auch welche mit externen Fets.
Die Ansteuerung ist wenn man sich das Datenblatt genau ankuckt, eigentlich recht simpel.

Auch das StallGuard funktioniert sehr präzise.
Ich verwende sie übrigens um damit die Stepper meiner CNC anzusteuern.

clupus
18.01.2006, 13:33
Wenn ich das richtig verstehe, bedeutet das ja dann, dass es keine günstige Möglichkeit gibt, 3 Schrittmotoren anzutreiben?

Die 1,5A sind schon relativ knapp bemessen und an FETs (die ja auch teuer sind) erinnere ich mich mit unguten Gefühlen (Weiß durch Zufall jemand, woran das liegt, dass mir meine FETs immer wieder kaputt gehen?Die sind einfach in einer Schaltung eingebeut und plötzlich sperren sie nicht mehr richtig und werden eben dementsprechend heiß.)

Sehe ich das richtig?:
Eine Messung der Stromstärke kommt aus Genauigkeitsgründen nicht in Frage und liefert kein reproduzierbares Ergebniss. => Stromstärkemessung fällt raus
Eine Messung der induzierten Spannungen in der unbelasteten Spule ist zum einen nur schwer mit "diskreten" Bauteilen (keine fertigen Motortreiber von TMC) aufzubauen. Zudem funktioniert dies erst ab bestimmten Geschwindigkeiten. --> Nur möglich wenn mir jemand hilft
Messung der ind. Spannung in der belasteten Spule: Unmöglich, da hier noch die Spannung, die am ohmschen Widerstand hängt, mitgemessen wird => s. Stromstärkemessung
Mechanisch durch Lochscheibe o.ä.: Umständlich und Ungenau

Das mit dem StallGuard hört sich ja wirklich gut an. Nach welchem Prinzip arbeitet der? Ich konnte in diesem Punkt dem Datenblatt nur wenig entnehmen.

MfG
Christian

darwin.nuernberg
19.01.2006, 19:52
...Die Ansteuerung ist wenn man sich das Datenblatt genau ankuckt, eigentlich recht simpel.

Auch das StallGuard funktioniert sehr präzise.
Ich verwende sie übrigens um damit die Stepper meiner CNC anzusteuern.

Welche IC's verwendest Du genau?
Welche Sprache verwendest Du für die Ansteuerung (Wäre toll wenn Du Bascom nennen könntest) der SPI oder verwendest Du andere Schnittstellen (abhängig vom Baustein).



Jetzt juckts mir gerade wieder unter den Fingern.
Würde am liebsten gleich mit dem Layouten anfangen.





Wenn ich das richtig verstehe, bedeutet das ja dann, dass es keine günstige Möglichkeit gibt, 3 Schrittmotoren anzutreiben?

Das ist sogar sehr günstig,
Immerhin mit eingebauter Hardware Stall detection (sowas kannte ich bis dato noch nicht).

Klar muss noch das eine oder andere dazu (Treiber und externe Bauteile ect.pp.)

Schau Dich mal um was eine Fertige Schrittmotor Steuerung im Bereich um die 2A Strangstom so kosten.

Und sogar der hier sehr beliebte Treiber (L297/L298) ist da nicht günstiger,
sogar wenn man alles selber baut (bis auf die IC' natürlich)
und der hat keine Stall detection.

Dass Du Schüler bist und mit Deinem Taschengeld nicht so´rumschmeißen kannst ist mir schon klar,
aber deswegen wird der Baustein auch nicht treuerer (Vielleicht Wertvoller für Dich).

MrNiemand
19.01.2006, 19:58
alle mit SPI ;) tmc428 tmc423 (bastel ich noch rum) tmc239 tmc249 tmc246. Ja ich gestehe mit Bascom.

darwin.nuernberg
19.01.2006, 20:09
alle mit SPI ;) tmc428 tmc423 (bastel ich noch rum) tmc239 tmc249 tmc246. Ja ich gestehe mit Bascom.

Hey Toll,
denTMC246 habe ich auch rumliegen, nur der Raster (momentan) noch zu fein.

Hast Du eine Minimalbeschaltung und einen entsprechenden Source parat,
mit welcher ich evt. schnelle Erfolgserlebnisse genießen kann?


Zuletzt war für mich auch ein Problem einen entsprechende Endstufe zu beschaffen
und habe dann auch ein paar MOSFets besorgt,
nur ob die dann passen und so funktionieren ?????
Die von Trinamic empfohlenen Bauteile sind nicht so einfach zu bekommen, daher habe ich mal so ins blaue geschossen.
Da mir die Steuerung noch fehlt, habe ich aber da auch noch nicht weiter gemacht aber das Layout steht schon.

Ich schau mal ob ich es auf die Schnelle finde, wenn Du Interresse hast?

MrNiemand
19.01.2006, 20:12
schreib mich doch einfach per icq 120040916 oder per mail an leader@simplesign.de an.

(Leute aus der Nürnberger gegend also prinzipiell Franken müssen zusammenhalten ;)

darwin.nuernberg
19.01.2006, 20:15
Gerne, wenn ich wieder mal an meinem eigenen PC sitze.
ICQ habe ich nicht (mehr).
Bis dann..


FRANKEN die Elite Bayerns

http://upload.wikimedia.org/wikipedia/commons/thumb/8/87/Frankenrechen.JPG/180px-Frankenrechen.JPG

clupus
20.01.2006, 14:44
Wenn ich das richtig verstehe, bedeutet das ja dann, dass es keine günstige Möglichkeit gibt, 3 Schrittmotoren anzutreiben?

Das ist sogar sehr günstig,
Immerhin mit eingebauter Hardware Stall detection (sowas kannte ich bis dato noch nicht).

Klar muss noch das eine oder andere dazu (Treiber und externe Bauteile ect.pp.)

Schau Dich mal um was eine Fertige Schrittmotor Steuerung im Bereich um die 2A Strangstom so kosten.

Und sogar der hier sehr beliebte Treiber (L297/L298) ist da nicht günstiger,
sogar wenn man alles selber baut (bis auf die IC' natürlich)
und der hat keine Stall detection.

Dass Du Schüler bist und mit Deinem Taschengeld nicht so´rumschmeißen kannst ist mir schon klar,
aber deswegen wird der Baustein auch nicht treuerer (Vielleicht Wertvoller für Dich).
Also ehrlich gesagt, die Rechnung verstehe ich nicht! Entweder bin ich blöd, oder ich weiß nicht ....:

Version 1: Mit L298
1 | L298 | Treiberstein | 2,70
8 | BY 500/100 | Schutzdioden | 1,04
1 | 74HC02 | NOR-Gatter zum Verschaten von In1, In2 und E | 0,17
2 | Z5U-2,5 100n | Stabi-Kondensator | 0,14
1 | GS 14 | Sockel | 0,04
--------------------------------------------------
Summe: 4,05 € (max. Belastung: 2A, jedoch ohne Prüfung von Stillstand, etc.)

Version 2: Mit TMC 246
1 | TMC 246A-PA | Stepper-Treiber | 9,95
Weitere Bauteile benötigt (ca. 0,50 bis 1,00)
--------------------------------------------------
Summe: ~10,50 € (mx. Belastung: 1,5A, StallGuard)

Version 3: Mit TMC 249
1 | TMC 249A-LA | Stepperbaustein ohne Treiber | 9,90
4 | BUZ 11 | n-Kanal-MosFETs | 1,64
4 | BUZ 171 | p-Kanal-MosFETs | 12,00
Weitere Bauteile benötigt (ca. 0,50 bis 1,00)
----------------------------------------------------
Summe: ~24€ (max. Belastung: 4A [20A?], StallGuard)
Hier gilt zu beachten, dass vermutlich die Transistoren wie bei der Brückenschaltung die ich im Keller liegen habe, regelmäßig den Geist aufgeben werden. Man muss also mit mehr Transistoren rechnen.

Alle Berechneten Preise beziehen sich auf 1 bipolaren Motor und die Preise sind vom Reichelt.

Was ich jetzt halt sehe: Mit 3 Motoren würde ich nach Var. 1 bei ca. 15€ rauskommen. Mit Var. 3 sind das fast 75€!

Ich bitte um Klärung, warum Var. 1 teurer sein soll.

Ich hab beim TMC 249 auch gesehen, dass es auch möglich sei, mit 4 n-Kanal-FETs die Brücke zu betreiben. Geht das so ohne weiteres? Was kann man da für einen Treiber (der Zwischentreiber) verwenden? Bis zu welcher Stromstärke ist das dann möglich? Gelten hier irgendwelche anderen Beschränkungen? (Bei reinen n-FETs ist das natürlich schon eine Überlegung wert, den TMC 249 zu nehmen.)

Wie wird in dem Beispiel auf Seite 6 des Datenblattes die Spannung am Gate des Hi-Transistors auf ca. 79V angehoben? Und das ohne den Treiber zu beschädigen?

MfG
Christian Wolf

kalledom
20.01.2006, 14:52
ACHTUNG ! Hier ist ein Nicht-Franke !
Aber ich helfe euch trotzdem :-)
Neben den bereits erwähnten SM-Treibern gibt es auch noch den PBL3717A, kann 10-46 V / 1000 mA, hat Chopper, Stromregelung, etc. alles drin, 2 Stück werden benötigt, kostet beim Reichelt 1,95 € pro Stück.
Und es gibt den PBL3770A, die 1800 mA Variante (pinkompatibel).
Dazu ein GAL 16V8, welches den Takt und das Richtungssignal für die Treiber umsetzt, und ab geht die Post.
Schaltplan und Beschreibung zum kostenlosen Download unter http://www.domnick-elektronik.de/download.htm, alles was da mit SMOST (SchrittMOtorSTeuerung) zu finden ist. Platinen hätte ich noch.

MrNiemand
20.01.2006, 16:05
ich sag jetzt mal zur Preis Berechnung garnichts, fakt ist, der TMC kann einfach mehr. Mal davon abgesehen das die Preisberechnung ziemlich hackt beim TMC249.
Du kannst natürlich auch den L298 nehmen oder auch eine TMC249 /L298 kombination.
Und da du nunmal keine Schritte verlieren willst, aber trotzdem noch vernünftige Geschwindigkeiten bei einem kleinen Stepper haben willst, dann ist und bleibt das ganze nunmal nicht mehr so einfach.

Und du wirst dich spätestens dann freuen, wenn die ersten Werkstücke wegen der Dynamik der ganzen Mechanik einfach nur Müll werden.

Ist dir eigentlich klar, wie schwer das ganze mit Interpolation usw. ist?

Wobei sich natürlich eh die prinzipielle Frage auftut, was deine Fräse leisten soll.

clupus
20.01.2006, 17:09
Und da du nunmal keine Schritte verlieren willst, aber trotzdem noch vernünftige Geschwindigkeiten bei einem kleinen Stepper haben willst, dann ist und bleibt das ganze nunmal nicht mehr so einfach.

[...]

Ist dir eigentlich klar, wie schwer das ganze mit Interpolation usw. ist?

Wobei sich natürlich eh die prinzipielle Frage auftut, was deine Fräse leisten soll.
Zu 1: Ich hätte ja nix dagegen, wenn ich keine p-Kanal-FETs bräuchte. Die sind halt so schweine-teuer. Wenn es möglich wäre, nur BUZ11 zu verwenden, ist die Sache deutlich realistischer.
Ich hab halt mal mit diskreten Bauteilen eine H-Brücke für nen DC-Motor mit BUZ 11 und 171 aufgebaut und da sind mit die FETs der Reihe nach kaputtgegangen. Nach dem 2. BUZ 171 (3€/Stk.) bin ich auf ne integrierte Brücke übergegangen. Weil ich halt befürchte, dass auch hier die FETs kaputtgehen, wäre es sinnvoll nur n-Kanal zu verwenden.

zu 2: Interpolation ist kein Problem. Da ich momentan nur lineare Interpoation haben will, reicht ein einfaches Muster. Ich hab da mal was gefunden, was scheinbar gut geht.

zu 3: Es geht mir darum, dass ich z.B. mal nen Prototyp von Platiene herstellen kann, ohne dass ich Leiterbahnbild drucken, die Chemikalien rausräumen und anschließend die Platiene durch zig Arbeitsschritte schicken muss. Zudem habe ich nicht den Platz, die Chemikalien in größeren Mengen aufzubewahren. Ich mische also jedes mal neu eine Ätzlösung an und Fälle zum Schluss das Kupfer mit NaOH aus. Das ist ein ziemlicher Aufwand den ich durch eine kleine Fräse verringern will.
Evtl. wäre auch eine kleine Gravour in ein NE-Metall denkbar.

MfG
Christian

MrNiemand
20.01.2006, 17:13
1. gibt auch fets mit einem n und einem p kanal in einem gehäuse in smd für 1,xx € /Stk.

Brauchst du überhaupt mehr als 1,5A?
2. die Interpolation bei Kurven die zu zwangsläufig hast bei Leiterplatten, ist ne ganze Ecke schwerer

3. Das du ohne Tiefenregler usw. nur Mist bekommst, weiste ja sicherlich oder?

clupus
20.01.2006, 17:21
zu 1: Welchen? Ich such schon ne ganze Weile.

Ich sollte einen Nennstrom von 4A möglichst aushalten (20V bei 5Ohm/Wicklung)

zu 2: Hier die Homepage dazu:
http://www.erikbuchmann.de/
Unten auf Fräsautomat (links unten) klicken! Dort wird ein lin. Interpolationsverfahren beschrieben.

zu 3: Sicher!
Hier mein Suchergebnis (erste Idee): http://www.tu-dresden.de/mw/ift/graul/fraese.htm
den Rest mache ich "nach Augenmaß".

MrNiemand
20.01.2006, 17:24
1. klären wir wenn 2. geklärt ist ;)

2. Warum 4A?

Irgendwie scheinen bisher deine Anforderungen bisher nicht wirklich zusammen zu passen, geb doch mal mehr Details.

darwin.nuernberg
20.01.2006, 18:47
ACHTUNG ! Hier ist ein Nicht-Franke !
Aber ich helfe euch trotzdem
...
Dazu ein GAL 16V8, welches den Takt und das Richtungssignal für die Treiber umsetzt, und ab geht die Post.


Also erst mal dank Eurer Groszherzigkeit, Groszlaucht.
Ihr dürft Euch als Franke des Geistes bezeichen ;-)

Allerdungs etwas unfair ist die Variante mit dem GAL
Wer hat schon einen GAL Programmer (jaaaahaaa ICH).
Und das Progrämmchen dafür geht einem dann immer noch ab (hab allerdingens nicht in Euren Link geschaut Hochlaucht)

Also muss man noch einen GALEP oder was selbst zusammengestrickten Tand erst nich sein Eigen nennen.
Hab mich aber schon lange nicht mehr mit der Disjunctiven-Normalform geärgert.

Wohl an Burschen, auf ins Getümmel.

darwin.nuernberg
20.01.2006, 18:56
4 MrNiemand
und natürlich andere, auch NichtFranken,

Ich hab mal meine Zusammeschusterte Endstufe rausgekramt.


Als HEXFET verwende ich den IRF7319
der soll laut Datenblatt 30V und 5,2A/-3,9A bei 70°C schaffen.
Ich habe pro Brücke 4 Bausteine vorgesehen (also insgesamt 8 Hexfet), welche aber nicht alle bestückt werden müssen.

MrNiemand
20.01.2006, 18:59
könntest es bitte mal auch als jpg or whatever posten! dann schau ichs gern mal durch.

darwin.nuernberg
20.01.2006, 19:17
*brblbrblbrbl*
Ist der Server mitten im Upload ausgestigen.
Habe ich in der letzten Zeit (wieder) häufiger festgestellt
"Could not Connect to Database"

Hier der Plan als GIF (gezippt)

MrNiemand
20.01.2006, 19:41
sollte so funzen, wobei man ja nur die leistung sieht ;) würde an deiner stelle eh nen tmc428 davor packen der macht das leben einfach

darwin.nuernberg
20.01.2006, 19:54
sollte so funzen, wobei man ja nur die leistung sieht ;) würde an deiner stelle eh nen tmc428 davor packen der macht das leben einfach

Nee hab schon ein paar TMC239, und will jetzt natürlich mit denen arbeiten

Ich trete mir nur ständig selber auf die Füße bei Routen.
Möchte soweit möglich in single Layer arbeiten, nehme lieber ein paar Brücken in Kauf.

Schön brav nach Vorgabe von TMC sogar mit den Status LED's.

Wie verhält es sich mit
BL1, BL2, SW1, SW2, J301 ,J302 und J304.
Ich habe hierfür DIP bzw. Jumper vorgesehen.

Brauche ich die unbedingt oder reicht es diese auf einen definierten Pegel zu setzten?

Wenn ich mal das Layout (irgendwann mal) fertig habe,
stellt sich dann die Frage der Ansteuerung via ATmega32.


EDIT: Hier noch die Treiberschaltung als GIF

MrNiemand
20.01.2006, 20:19
BL1 und 2 reicht def. Pegel sozusagen die Löschdauer für die Fets (besserer AUsdruck fällt mir gerade nicht ein)

J301 und J302 ebenso setzt nur die ChopperFrequenz J304 ist nur für die ein oder Andere Überwachung.

und zu SW1 und SW2 kuckste einfach mal ins Datenblatt würde ich aber ehr an den Mega routen für Enable Disable der Brücke die erklären das besser wie ich

siehe http://www.trinamic.com/tmcweb/downloads/tmc239_datasheet_v204.pdf Seite 5

ruediw
20.01.2006, 21:55
@Clupus:

Schrittverluste werden dadurch verursacht, das der Schrittmotor zuwenig Drehmoment aufbringen kann.
Das kann daran liegen dass
1. Der Schrittmotor selber unterdimensioniert ist.
2. Der Motorstrom zu klein ist.
3. Der Schrittmotor zu schnell anläuft (Startfrequenz zu hoch)
4. Der Motor zu schnell läüft (Drehmoment ist abhängig von der Drehzahl)

Wirklich seriös feststellen ob der Schrittmotor keine Schritte verloren hat
kannst du nicht. Du kanst den Motor neu initialisieren (Fahrt in eine Lichtschranke und Schritte zählen). Ist auch klar, es ist ja eine Steuerung.
Wenn du zu jedem Zeitpunkt wissen willst ob du am richtigen Ort bist, so musst du eine Regelung machen. Dies wird aber aufwendig und ist leichter mit normalen DC-Motoren zu machen.

MfG
Rued

clupus
21.01.2006, 16:27
Hallo,

@MrNiemand:
Ich weiß von meinem Motor, dass der mit 20V Nennspannung arbeitet und einen Stangenwiderstand von 5 Ohm hat. Das ergibt nach Adam Riese 4 A, wenn der Motor sich nicht bewegt (Haltestrom, max. Drehmoment)

@ruediw:
Wie sieht so eine Regelung aus. Ich kann mir ehrlich gesagt nicht vorstellen, wie ich mit DC-Motoren so genau hinkommen soll.

MfG
Christian

ruediw
21.01.2006, 18:42
Regelung:
http://de.wikipedia.org/wiki/Regelungstechnik

Im Unterschied zum obengenannten Artikel wird nicht die Temperatur sondern
die Position geregelt. Dazu braucht man z.Bsp. einen
Resolver:
http://de.wikipedia.org/wiki/Resolver_%28Winkelgeber%29
Bzw. Inkrementalgeber:
http://de.wikipedia.org/wiki/Inkrementalgeber

Im Unterschied zur Steuerung, wo man einfach den Schrittmotor ansteuert und darauf vertraut dass dieser keine Schritte verliert, wird bei der Regelung konstant die Ist-Position mit der Soll-Position verglichen und dementsprechend die Ansteuerung des Motores korrigiert.

Bsp. Bedingt durch zu grosse Masse bzw. zu spätes Abbremsen des motors
kann der Motor über den Sollwert überdrehen (Überschwingen). Bei einer Steuerung resultiert ein Fehler. Mit der Regelung wird festgestellt das
Ist <> Soll und der Motor zurückgedreht.

Mfg
Ruedi

clupus
21.01.2006, 20:01
Ok, ich hab das Prinzip verstanden (auch wenn ich noch nicht die verschiedenen regelungstechniken gefressen hab).

1. Ist es überhaupt möglich, einen (DC-) Motor genau an einer Position festzuhalten, ohne dass er einige Umdrehungen nachdreht und ohne dass er in ein mechanisches "Raster" hineinfällt (Ich hab da nen Motor, der lässt sich nur in 4 oder 5 Stellungen des Rotors einstellen und dann bleibt er da liegen. Sonst würde er weiterdrehen)?

2. Wo bekommt man solche Resolver/Inkrementalgeber her?

3. Stimmt das: Da ich keine Phasenlage von 2 Wechselspannungen bestimmen kann (das ist mit dem ATmegaXX doch nicht möglich, oder?), ist ein Inkrementalregler am Besten, oder?

MfG
Christian

kalledom
22.01.2006, 14:54
@darwin


Allerdungs etwas unfair ist die Variante mit dem GAL
Wer hat schon einen GAL Programmer (jaaaahaaa ICH).
Und das Progrämmchen dafür geht einem dann immer noch ab (hab allerdingens nicht in Euren Link geschaut Hochlaucht) Hättest vielleicht besser mal geschaut. Das Progrämmchen ist fertig als kostenloser Download. Mit etwas 'stöbern' hättest Du vielleicht auch noch unter 'Projekte und Preise' entdeckt, daß es die GAL's auch fertig gibt (allerdings nicht kostenlos).

clupus
23.01.2006, 22:54
OK, gegeben ich hätte einen Inkrementalgeber (wo ich den herbekomm, steht noch in den Sternen! Wo krieg ich den her?), würde ich ja die Anzahl der Schritte (Löcher auf der Schiebe) zählen, die vorbeiziehen, und mit einem Sollwert vergleichen (Zielposition). Andererseits kann ich auch die Geschwindigkeit verwenden und ihm einprogrammieren, er soll den Motor auf eine bestimmte Drehzahl bringen.

Ich glaube jedoch nicht, dass das so genau getimet werden kann, um eine genaue Position anzufahren. (Ich sag meinem Regler also z.B. "bitte um 35,25 Umdrehungen mit dem Uhrzeigersinn!" Wie ist sowas auszuregeln?)

Wie genau sind die Inkrementalgeber/Resolver? Kann ich damit eine Achse um - sagen wir mal - 7,5° genau drehen?

MfG
Christian

darwin.nuernberg
28.01.2006, 10:19
Optische Abtastung:

Viele Drucker habe ein Taktband,
so ähnlich wie die Taktscheibe in einer "älteren" Maus.
Zwei Gabellichtschranken erkennen aufgrund ihrer Anordnung und den Taktimpulsen in welche Richtung und mit welcher Geschwindigkeit sich die Taktscheibe/der Druckkopf oder eben Dein Teil bewegt (richtungsdiskriminator Schaltung).

Nachteil bei Stomverlust muss zunächst die 0-Position angefahren werden ein 3. Sensor für Home-Position wird nötig. Dies ist ein Grund (u.a.) warum die Druckköpfe beim einschalten so rappeln.

Weiterer Nachteil ist die optische Abtastung, da diese ggf. blind werden können z.B. bei Fräsen durch den Bohrstaub ect. also entweder Staubdicht montieren oder nur in "sauberen" umgebungen einsetzen.


Induktive Abtastung:
Ähnlich wie die eben beschriebene optische Abtastung könnte eine Lösung mittel Dauermagneten (über ein Gertiebe angebunden) und einem Hallsensor (Magnetfeldsensor) erfolgen. Somit hätte man zumindest die Schmutzstörung etwas eingedämmt.

Richtungsdiskrimminator Schaltung siehe: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=6952


Analoge Lösung,
man könnte euch ein Poti (meinetwegen auch ein 10-Gang Wendelpoti) verwenden, welches mit der Welle über Getriebe oder Seilrollen die Position ermittelt. Die Auswertung erfolgt dann analog (best. Widerstand = Position) ist halt nur sehr ungenau, kommt aber auf die Anwendung an) und ebenso wie das Taktband auf eine gewisse Länge begrenzt. Außerdem können Umwelteinflüsse (Themperatur/ Luftfeuchte) die Messwerte verfälschen, auch Staub ist hier ein Thema welches berücksichtigt werden muss.



PS Schalte doch spasseshalber zwei Schrittmotoren (ohne Elektrononik) direkt zuammen und drehe den einen, der andere Motor wird sich mitbewegen. "Mechanische Schrittmotoransteuerung"

Dieser Effekt könnte auch als Sensorgeber verwendet werden. ('geht halt noch ein/zwei Motor/en drauf)

hari
09.02.2006, 21:46
@MrNiemand

Hallo, da ich auch mit dem TMC 246 experimentiere, habe ich dazu eine "kleine" Frage. ;-)

Du schreibst, dass bei dir die StallGuard- Funktion sehr präzise arbeitet. Steuerst du die Stepper immer mit der gleichen Frequenz (abgesehen von Start- und Stoppfrequenz) und immer mit den gleichen Strömen an??

Ich betreibe meine Stepper mit variablen Frequenzen und auch Strömen, um Geschwindigkeit und Antriebsmoment auf die jeweilige Situation anpassen zu können. Nun möchte ich eine Laständerung oder einen Stillstand (Schrittverlust) des Schrittmotors über StallGuard angezeigt bekommen. Leider klappt das nicht so, wie ich möchte. Ich lese das Protokoll des TMC über SPI aus und maskiere mir die drei Stallguard- Bits. Nun bekomme ich im Idealfall einen StallGuard- Wert von 5 im unbelasteten Zustand zurückgeliefert. Aber das nur bei einer bestimmten Frequenz (Geschwindigkeit) und einem bestimmten, dazu passenden, Strom. Wenn ich aber eine andere Frequenz (bei gleichem Strom) oder eine andere Stromvorgabe (bei gleicher Frequenz) einstelle, bekomme ich nur noch einen zwischen Null und 1....7 schwankenden Wert (schwankt pro n-steps) heraus. Selbst wenn ich dieses Signal versuche zu mitteln oder anderweitig aufzubereiten, bekomme ich keine klare Rückmeldung über einen Schrittverlust, geschweige denn von einer Laständerung. Dabei interessiert es den TMC nicht, ob ich Mikroschritte oder Vollschritte fahre. Und das, obwohl ich kein Mixed Decay benutze (obwohl mit der Schrittmotor deutlich ruhiger läuft ;-) ).

Hast du diese Erfahrungen auch gemacht? Wenn ja, hast du einen Tipp für mich, was ich evtl. übersehen habe? Oder ist die StallGuard- Funktion nur in einem bestimmten Arbeitspunkt zu gebrauchen? Ich komme mir langsam doof vor, ich bekomme einfach kein brauchbares Signal raus, wenn ich den Strom und die Ansteuerfrequenz variabel halte. Selbst andere Werte bei den Sense-Widerständen brachten keinen großen Erfolg.

Wäre schön, wenn du einen Hinweis hättest!


(Natürlich bin ich auch für die Hinweise von euch anderen dankbar!!! ;-) )

MfG, Hari

hari
17.02.2006, 20:36
Hallo,

ich bin jetzt wieder dazugekommen etwas mit dem TMC 246 zu "spielen". ;-)
Dazu habe ich mir verschiedene Schritttabellen (Vollschritt, Halbschritt, mehrere n-Mikroschrittarten; alle ohne Mixed Decay) erstellt und im Mikrocontroller als Konstanten (Felder) abgelegt. Jetzt habe ich bei jeder Schrittart in einem kleinen bestimmten Bereich von Schrittfrequenz und Phasenstrom ein gutes StallGuard- Signal. Komme ich aus diesem Bereich heraus, fängt mir das Lasterkennungssignal (StallGuard- Signal) an zu schwingen, wie ich es in meinem oberen Post beschrieben habe. Und das, obwohl der Schrittmotor seelig seine Runden zieht und von einer Resonanz überhaupt keine Spur zu merken ist.

Da mir mit diesem "zappeligen" Signal die Auswertung zu schwammig ist, ich aber gerne einen größeren Bereich der Einstellbarkeit von Schrittfrequenz und Phasenstrom hätte, nun meine Frage:

Hat nicht irgend jemand eine Idee, was ich noch ausprobieren könnte?
Habt ihr auch solche Erfahungen mit den TMCs bzw. der StallGuard- Funktion gemacht? :?: :roll:

MfG, Hari

don_weberle
23.05.2006, 10:56
Hallo zusammen.!
Also ich will ja keine schleichwerbung machen aber die Problematik der Wegüberwachung bei Schrittmotoren ist bereits von vielen Herstellern berücksichtigt worden und auch in Komplettsystemen vorzüglich gelöst.
Also wenn Ihr abgesehen von den kosten eine "saubere" Lösung sucht dann könnt Ihr ja unter www.imshome.com die MDrive Serien betrachten.
Diese Schrittmotorsysteme verfügen über alle Möglichkeiten je nach Anwendungsbereich.
Schaut mal rein und externe Encoder gibt es auch recht günstig sogar.

don_weberle
23.05.2006, 11:03
Hallo Harry !
also das mit dem stall detect liegt bei allen anderen Herstellern sowohl wie bei uns auch daran das du deinem Überwachungssystem sprich Encoder eine Filter oder ein Fenster einräumen musst. Der Encoder wird lediglich durch einen Zähler realisiert der die Wegerfassungseinheiten einzeln zählt und vergleicht . Wenn nun dein Stall detect fenster sehr gross gewählt ist dann bekommst du nicht gleich beim ersten verlorenen Schritt mit wenn du Ihn verloren hast . Und wenn du das Fenster zu klein wählst dann bekommst du dauernd Stall detect Meldungen. Hängt alles auch von der verfahrgeschwindigkeit ab usw. Also wenn du das Fenster verstellen kannst dann solltest du mal mit den Werten Herumspielen !

hari
30.05.2006, 21:56
Hallo don_weberle,

vielen Dank für deinen Tipp (falls du mich meinst ;-) ).

Du beschreibst darin allerdings die Vorgehensweise bei einem Encodersystem. Nun möchte ich aber keinen Encoder verwenden, sondern mit einem Signal arbeiten, das sich StallGuard-Signal (zB. beim TMC 246) nennt.
D.h. ich habe keine direkte (mechanische gekoppelte ) Rückmeldemöglichkeit (zB. Encoder) zur Verfügung, um einen Schrittverlust oder einen drohenden Schrittverlust festzustellen.

Ich würde aber trotzdem gerne eine Art "Vektorfeldorientierte Ansteuerung" meiner Schrittmotoren realisieren. Allerdings möchte ich statt des normalerweise nötigen Encoders oder der Phasenstrommessung das oben genannte StallGuard-Signal des TMC246 verwenden.

Hast du dazu evtl. eine Idee? Oder vielleicht einer der anderen?

Mfg, Hari