PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Nanotec IMT 902



skok
19.04.2007, 15:06
Hallo miteinander!

Ich hab da ein kleines Problem mit meinem Versuchsaufbau. Dieser besteht aus 2 Motoren die übereinander angebracht sind. Der obere Motor wird vom unteren bewegt, was auch immer am oberen Motor angebracht ist, genauer an dessen Welle die senkrecht nach oben schaut soll sich so gut wie nicht in der horrizontalen drehen. Im Anhang ein kleines Foto damit man sich auch was vorstellen kann.

Das Problem :

Es ist nicht möglich, einen Laserpunkt (Das runde Ding mit der silber schimmernden Spitze das ausieht wie ein Projektil ist ein Laserpointer) an die Wand zu projizieren.
Ich verwende die Synchrone Serielle des Infineon C167 Controllers. Die Kommunikation klappt auch, das Strobe Signal oder auch als Chip selekt bekannt muß jedoch separat erzeugt werden, da das SPI des C167 nur Clock und Data Leitungen hat. Den Strobe toggle ich also Interruptgesteuert, wenn eine Übertragung abgeschlossen ist.
Im Datenblatt http://nanotec.de/media/imt902_handbuch.pdf auf Seite 19 Tabelle 2. Zeile steht nun, dass die Minnimum Frequenz für den Clock 1MHz betragen muß, und da wird´s schwierig. Wenn ich die Frequenz nämlich so hoch treibe spielt das Ding völlig verrückt. Fahr ich langsamer geht es wieder, allerdings muß ich ständig aufpassen das alle Timings perfekt auf den jeweiligen Schrittmodus angepaßt sind. Bei 16tel Schritt muß ich weniger Zeit zwischen den einzelnen Schritten vergehen lassen als bei Vollschritt, dennoch dreht er bei Vollschritt aber viel schneller. Das hat vermutlich mit den Strömen in den Spulen zu tun, da der Strom um eine Spule voll umzuschalten länger braucht als bei 16tel Schritt.

Was passiert:
Ich gehe folgender Maßen vor:
Ich fahre mit einem Motor nach dem anderen auf eine Refferenzposition, danach mit dem 2. soweit so gut.
Nun beginnt der untere Motor sich nach links und rechts zu drehen, der ober jeweils genau in die entgegengesetzte Richtung. Am Anfang, also in dem Moment in dem der Motor den ersten Schritt macht kommt es häufig zu einem Sprung oder etwas ähnlichem.


Die Fragen:
Der Wert der Abweichung ist in etwa 0,2°, was sich ja nicht nach viel anhört, aber da der Motor bei 16tel Schritt in der Lage ist 0,05625° aufzulösen, und im Moment des Stehenbleibens dieses Problem nicht auftritt frag ich mich.....WARUM??
Ich habe eine Anfahrtsrampe programmiert, die fährt er auch brav, aber keine Besserung.

Ist das schon alles was man sich von einem Motor wie den Nanotec SH4009L 1206-A erwarten kann? Datenblatt: http://nanotec.de/media/sh4009.pdf

Hat schonmal jemand diesen Chip programmiert? Wie genau habt Ihr es geschafft? Code?

Wer will soll´s sagen dann poste ich die entsprechenden Codzeilen, aber derweilen erstmal nicht, ist ziemlich viel. Aber wenn´s wer mag...

Ist es denkbar das ohne die besagten 1MHz das Ding einfach nicht in der Lage ist die Signale korrekt zu lesen und somit Mißt baut?

Falls Ihr das nun tatsächlich alles gelesen habt, und mir in irgend einer Weise helfen könnt wär ich für jeden Tip dankbar!

mit Grüßen und Dank!

skoki

Yossarian
19.04.2007, 15:25
Hallo
1MHz ist das (minimale) Maximum, mit welchem der Chip getaktet werden kann.Das bezieht sich aber auf seine serielle Schnittstelle. Es geht natürlich auch langsamer.
Der Motor braucht für eine Umdrehung 400 Vollschritte, im Halbschrittmodus 800 Schritte usw.
Mit freundlichen Grüßen
Benno

skok
19.04.2007, 16:12
ok.... minnimales Maximum!? klingt ganz gut also ich habe es nicht verstanden, Schritte... eh klar. 1MHz für Vollschritt=Maximum um den Strom noch rechtzeitig vor dem nächsten Befehl umdrehen zu können und 25MHz geht dann also maximal wenn ich 16tel Schritt fahre?
im Endeffekt muß sich dann der Motor drum kümmern ob er das packt oder nicht. korrekt?
aber eigentlich hast du mir sagen wollen: Nein du mußt nicht mit 1MHz drauf fahren.

Danke!

ranke
20.04.2007, 06:49
Naja, so hundertprozentig habe ich das jetzt nicht verstanden...

Bei Schrittmotoren gibt es den Effekt, dass die Positionierbarkeit durch die Remanenz des Eisenmaterials begrenzt ist. Es liegt daran, dass das Eisen beim Abschalten vom Strom nicht völlig unmagnetisch wird, sondern einen Restmagnetismus beibehält. Das gibt Positionierungenauigkeiten in Bruchteilen von Schritten, obwohl die Ansteuerung völlig korrekt ist.

Vielleicht könnte dieser Effekt auch ein Ansatz zur Klärung bringen.

Manf
20.04.2007, 07:21
Falls es eine Verringerung des Stroms bei Stillstand gibt, dann ist bei diesen Schrittmotoren (Hybridmotoren) üblich dass sie auf die nächste Schrittposition (des Wellenmodus) zugehen auf die sie durch die Reluktanz angezogen werden.

Immerhin ist ja der Anker ein Permanentmagnet der den nächsten Pol anzieht. Ändert sich durch Stromänderung die Magnetisierung des Pols wenn der Anker in einer Zwischenstellung zwischen den Polen steht, dann ändert sich die Position des Ankers innerhalb eines Schrittwinkels.
Manfred

skok
20.04.2007, 10:02
hmm Danke!,

das ist mir alles wohl bewußt, ich achte auch dauf, dass wenn ich den motor anhalte diesem effekt gegengesteuert wrd, d.h. ich sende weiterhin den selben schrittbefehl, das prellen während der fahrt selbst ist jedoch meine größte sorge und auch die kleinen fehlsprünge die ich manchmal erkennen kann.

hat jemand von euch schonmal den imt902 verwendet?
würde mich stark interessieren wie zufrieden wer für welche anwendung war!

danke1.mal

skok

Yossarian
20.04.2007, 12:25
Hallo
Die typische Taktfrequenz für den Chip liegt bei 6,25MHz , d.h. die meisten Chips werden das können. Zugesichert sind mindestens 1MHz.
Der Motor taktet nicht mit 1MHz.

Das bezieht sich aber auf seine serielle Schnittstelle.
Der CLK Eingang wird nicht zum Takten der Motoren verwendet, sondern zum übermitteln von Daten.Lies Dir das Datenblatt erst mal in aller Ruhe durch.Dort steht, welches bit für Decay Mode, Stromabsenkung und Phasentrom für die Motoren zuständig ist und wie die Übermittlung zu erfolgen hat
Mit freundlichen Grüßen
Benno

skok
25.04.2007, 13:19
...
Die typische Taktfrequenz für den Chip liegt bei 6,25MHz , d.h. die meisten Chips werden das können. Zugesichert sind mindestens 1MHz.


ich schaff auf meiem Board maximal 2MHz, allerdings läuft das Ding dann nicht.



Der Motor taktet nicht mit 1MHz.

eh klar!



Der CLK Eingang wird nicht zum Takten der Motoren verwendet, sondern zum übermitteln von Daten.

und genau da dürfte eben die Schwierigkeit liegen. Wenn ich zu schnell takte..... brauch ich vom einen zum nächsten Befhl eine Pause, das wiederum wirkt sich auf die Zeit aus in der dem IMT902 nichts mitgeteilt wird und zu dieser Zeit hat der IMT902 Zeit Mist zu baun.... nicht viel aber naja




Lies Dir das Datenblatt erst mal in aller Ruhe durch.Dort steht, welches bit für Decay Mode, Stromabsenkung und Phasentrom für die Motoren zuständig ist und wie die Übermittlung zu erfolgen hat....


glaube mir! ich kann das schon auswendig! Decay Mode fahr ich übrigens 100% sonst läuft er nicht schön, was der Decay Mode allerdings sein soll steht nicht im Datenblatt, schon aber wiee man diesen verstellen kann... sollte reichen aber wenn Du mir da Nachhilfe geben willst...bitte!
Hold Current fahr ich 50% sonst verglüht das Ding fast. Schands hab ich wie im Datenblatt beschreben mit 1 Ohm genommen, dennoch wenn ich 100% Hold Current fahre, dann fallen pro Schand ca 1,4W an und nicht 0,4W wie erwartet, bei 50% geht es dann aber und wird nurmehr lauwarm im Dauerbetrieb.
Die restlichen Bitfolgen hab ich im Prinzip genau so wie im Datenblatt übernommen, softwaremäßig maskiere ich mir dann den gewünschten Mode bevor ich die Words an das SPI übergebe, paßt auch so, denn fahren ist kein Problem. Ob Fullstep oder 16tel Schritt drehen tut sich die Gaude nur mit dem genauen stehenbleiben und nicht noch einen Riß in irgend eine Richtung machen da haperts.

Ich hab den Code jetzt soweit verschönert, dass er keinerlei Störungen mehr über sich ergehen läßt, naja zumindestens fast keine!
Störung Nr. 1: Wenn ich initialisiere fahre ich immer auf eine Position die mittels Gabellichtschranken bestimmt wird. Deren Tolleranzbereich ist 0,05mm laut Datenblatt, und zwar in der horrizontalen, also nicht bezüglich wie nahe ich an den einzenen Seiten der Lichtschranke dran bin sondern wie nahe ich am sozusagen Schaltpunkt bin.
Störung Nr.2: 100% Hold current packt er nicht
Störung Nr.3: 100% Decay Mode sonst wird mir das zu unsauber
Störung Nr.4: aushol: Ich habe hier 3 Netzteile, Nr.1 für den µC, Nr.2 für den IMT902, Nr.3 für den Leistungsteil des IMT902, deren GND´s alle miteinander verbunden sind. Diese 3 Netzteile hängen alle am sogenannten PC Netz, was eigentlich ellektrisch getrennt von den normalen Steckdosen für Kühlschrank und Co sein sollte. aber und jetzt kommt´s, schaltet sich der Kühlschrank ein, bzw schaltet irgendwas da drin (im Kühlschrank) reißts meinen Motor, der Osci zeigt auf allen Kanälen, also Strobe A+B, Data und CLK nur ein heftiges rauschen und das Ding fängt an zu spinnen.
allerdings treten die Ungenauigkeiten auch dann auf wenn grad kein Kühlschrank im Spiel ist.

Kann mir irgend jemand einen Erfahrungsbericht mit diesem Ding geben!?
was habt Ihr damit gemacht, womit angesteuert usw.

Danke an alle Antwortenden!

skoki

Hessibaby
25.04.2007, 14:40
Das hört sich nach einer Groundloop an. Hast Du alle 3 Netzteile an einer gemeinsamen Steckdosenleiste ? Sind die Masseleitungen alle an einem zentralen Punkt zusammengeführt ? Oder gehtst Du mit einer Masse zum nächsten Netzteil und dann weiter zum Nächsten und dann zu Deiner Schaltung ?

skok
25.04.2007, 14:54
... Hast Du alle 3 Netzteile an einer gemeinsamen Steckdosenleiste ?
JA


...
Sind die Masseleitungen alle an einem zentralen Punkt zusammengeführt ? Oder gehtst Du mit einer Masse zum nächsten Netzteil und dann weiter zum Nächsten und dann zu Deiner Schaltung ?

gemeinsamer Punkt!?!?.... naja also die Logik des IMT und der Leistungsteil sind auf der Platine direkt verbunden, ein Kabel führt von da aus zum C167 eval Board auf einen GND Pin
näher bring ich die beiden aber auch nicht zusammen!

Was kann der Kühlschrank in der Geschichte mit den Masseleiungen für eine Rolle spielen?
Kann man das mittels Kondensatoren odgl. wegbekommen?

Danke!

skoki

Hessibaby
25.04.2007, 15:48
Gemeinsamer Punkt : Von allen 3 PSU die GND´s zusammenführen ( Schraube oder dicker Lötpunkt) und von dort aus zwei Leitungen eine zum IMT+Leistungsteil und eine zum C167 EB, dadurch verminderst Du Potentialunterschiede zwischen den Groundleitungen. Diese Technik wird auch in HighEnd Verstärkern genutzt um das 50/100Hz Brummen zu eliminieren.
Was Sinn macht ist natürlich eine Steckdosenleiste mit eingebautem Filter.
Wenn eine induktive Last, z.B. der Kompressor vom Kühlschrank, eingeschaltet wird, induziert der Einschaltstrom einen längeren Impuls auf den stromführenden Leitern und (gemeinerweise) auch auf dem Erdleiter, und da alle Erdleiter im Haus miteinander verbunden sind vagabundieren diese Störimpulse in jedes geerdete Gerät
Gruß

Yossarian
25.04.2007, 15:48
Hallo
ich kenne das Teil nicht.
Als erstes sollten die Netzteile überprüft werden.Netzeingangsfilter? Sind die IC entkoppelt?usw.
Sind die Daten und Taktleitungen zum 902 ev. hochohmig statt high?

Da der Motor im Stillstand in aller Regel weniger Drehmoment braucht,
wird während dieser Zeit der Strom abgesenkt, meist auf 50% oder 60%.
Das spart Leistung und die Motorerwärmung wird vermindert.
Da das Teil keine 4 Quadrantenregelung kann, wird der Motorstrom nur beim Aufbau geregelt.
D.h es werden in der Brücke z.B oben links und unten rechts die Transistoren eingeschaltet
- Spannung liegt am Motor, Strom baut sich auf, über den Shunt fällt entsprechende Spannung ab
- Stromregler schaltet den Strom ab:(der Motor wirkt als Generator)
-> im slow Decay Mode wird der obere Transistor abgeschaltet, der Strom fließt über den unteren,
weiter eingeschalteten Transistor und die Diode des anderen unteren Transistors weiter und baut nur langsam ab
-> im fast Decay Mode werden beide Transistoren abgeschaltet, der Strom fließt über die Dioden zurück in die Spannungsversorgung
Eine weitere Möglichkeit wäre es, die Spannung am Motor kurz umzupolen, dadurch wird der Strom sehr schnell abgesenkt.
Bei langsamer Fahrt wäre der slow Decay Mode zu bevorzugen und bei schneller Fahrt der fast Decay Mode.

Mit freundlichen Grüßen
Benno

skok
25.04.2007, 16:32
Gemeinsamer Punkt : Von allen 3 PSU die GND´s zusammenführen ( Schraube oder dicker Lötpunkt) und von dort aus zwei Leitungen eine zum IMT+Leistungsteil und eine zum C167 EB, dadurch verminderst Du Potentialunterschiede zwischen den Groundleitungen. ....

ok so hab ich das hier auch gemacht



Was Sinn macht ist natürlich eine Steckdosenleiste mit eingebautem Filter.
...

hab leider keine zur Verfügung, besorg ich mir aber noch



Als erstes sollten die Netzteile überprüft werden.
...
gecheckt, keine Verbindungen zu Erdung



Netzeingangsfilter?...

kenn ich nicht ist das a Eingangsdrossel? in dem einen Netzteil, das größere ist sicher eine drinnen, bei dem kleinsten, dem Stecknetzteil für den C167 hab ich keine Ahnung und in dem mittleren, da schau ich morgen mal rein.



Sind die IC entkoppelt?

JA



Sind die Daten und Taktleitungen zum 902 ev. hochohmig statt high?

nein, alles von Anfang an auf Output konfiguriert



Bei langsamer Fahrt wäre der slow Decay Mode zu bevorzugen und bei schneller Fahrt der fast Decay Mode.

erstmal danke für die Decay Mode Erklärung, allerdings.... was ist langsam, und was ist schnell, wie findet man das am besten heraus? gibt´s da was zum rechnen? oder macht man sowas empierisch?

Danke!

skoki

Yossarian
25.04.2007, 17:02
Hallo
das ist nicht so einfach zu beantworten, da viele Faktoren hineinspielen.
Wenn der Strom beim nächsten Schritt noch höher ist als sein Sollwert, wird er zu langsam abgebaut. Das wäre zum Beispiel beim fallen der Sinuskurve im zweiten Quadranten möglich.
Wenn der Kühlschrank derart stört (nur der Kühlschrank?) , dann stimmt mit ihm wohl etwas nicht.
Mit freundlichen Grüßen
Benno

skok
25.04.2007, 19:23
nur der Kühlschrank?


fraglich! beim Kühlschrank fällt es in jedem Fall stark auf! allerdings hab ich auch schon Störungen beobachtet wenn der Kühlschrank nichts bzw. nichts merkliches getan hat.
aber wie kann es überhaupt dazu kommen? Die Netzteiele hab ich dahingehend überprüft, dass ich GND gegen Erde gemessen habe und da war keine Verbindung. Zudem hängt das ganze ja auf einem soz. anderen Netz.

gibt´s einen guten web tip zum decay mode?

danke für die dauerprompten Antworten!!

skoki

Yossarian
25.04.2007, 21:51
Hallo
z.B AN1495, AN1762 von ST

Mit freundlichen Grüßen
Benno