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!
Lesezeichen