Nanotec Schrittmotor dreht nur in eine Richtung!!

OP #2894231
Hallo,

ich habe folgenden Schrittmotor von Nanotec(bipolar):

http://de.nanotec.com/downloads/pdf/3333/ST4118S1404%20Layout1%20(1).pdf

dazu auch einen Treiber von Nanotec:
http://de.nanotec.com/schrittmotorsteuerung_smci35.html

http://de.nanotec.com/downloads/pdf/3864/Schrittmotor-Controller_092_SMCI35.pdf

nach einigen Programmier hickhacks läuft der Motor ziemlich gut... jetzt 
wollte ich Ihn auch einfach mal in die andere Richtung laufen lassen.
Ich habe dafür, vor der main while(1) den entsprechenden Ausgang auf 
high gesetzt... der Motor macht jetzt nur eine handvoll Schritte und 
bleibt dann stehen. Alle Pegel sind noch da. Takt, Enable und Richtung.

Ich hab dann einfach mal die Frequenz runter genommen und überprüft ob 
da vielleicht der hund steckt... von 10 Hz bis 190 Hz dreht der Motor 
danach ist er tot...
getauscht habe ich den Motor sowie die Treiberstufe doch das Problem ist 
immer noch !

Ich kann mir nicht vorstellen dass ich durch ein einfachen HIGH Pegel am 
Richtungseingang der Motor nicht mehr drehen will....


Könnt Ihr mir helfen ?
#2894246
Zeig mal dein Programm.

Wenn ich mal davon ausgehe, dass die Jungs bei Nanotec keine Trottel 
sind und es im Grunde trivial ist, einen Schrittmotor in die andere 
Richtung drehen zu lassen, kann das Problem nur noch in deinem Code 
sein.
OP #2894353
du meinst ?
1
AVR32_GPIO.port[2].ovrs  = 1 << AVR32_PIN_PC10;     //Richtungsänderung
1
AVR32_GPIO.port[2].ovrs = 1 << AVR32_PIN_PC29;      // Enable Motor

leider sind werte AVR_32_PIN_PC10/29 unterschiedlich

beim auskommentieren und nicht auskommentiere (der Richtungsänderung) 
habe ich jeweils die Pegel mit einem Messgerät nach gemessen... um zu 
überprüfen ob wirklich alles da ist wo es hingehört :S
Gast #2894445
Hallo Henry P
du musst Deiner SMCI35 erst ein mal sagen (über RS232 3,3V) welchen 
Motor Du angeschlossen hast, welchen Modus 1/1 1/2 1/4 Step ... bis 
Sinus, Absolute- oder Relative- Positionierung welche Ströme, welche 
Rampen, was er mit den digitalen Eingängen und Ausgängen machen soll.

All das kann man mit der Software NanoPro einstellen

http://de.nanotec.com/dyn_downloads_ind/220/NanoPro_BenutzerHB_V2-2_de.pdf

Frank
OP #2894527
Hehe ja stimmt...

Ich hab damals die RS232 Konverter nicht mit bestellt... hab ich erst 
Freitag gemacht :(

Der Treiber wird bei Auslieferung im Takt-Richtungsmodus ausgliefert... 
so dass eine simple Ansteuerung mit einem uc möglich sein muss/sollte...
siehe Datenblatt rechte Seite Ein/Ausgänge (X4)
http://de.nanotec.com/downloads/pdf/3864/Schrittmotor-Controller_092_SMCI35.pdf

wenn ich das Problem gelöst habe werde ich es posten...
ich vermute, da karl heinz nicht weiter geantwortet hat, das problem 
nicht unbedingt im quellcode liegt...

für weiter tips bin ich aber offen...
#2894549
Henry P. schrieb:

> wenn ich das Problem gelöst habe werde ich es posten...
> ich vermute, da karl heinz nicht weiter geantwortet hat, das problem
> nicht unbedingt im quellcode liegt...

Mein Problem ist, dass ich mit AVR32 keine Erfahrung habe. In deinem 
Programm ist mir zuviel Zeugs, von dem ich nicht weiß, was er macht.

Ganz ehrlich?
Wenn ich an deiner Stelle wäre, hätte ich schon längst folgendes 
gemacht:
Ich hätte auf den µC erst mal gesch... und hätte mir ein Taktsignal 
besorgt. Entweder von zb einem 555 oder aber auch meinetwegen von einem 
µC.
Das schliess ich an und an die Enable bzw. Direction Pins der Steuerung 
kommen ganz banale Drähte, die ich wahlweise mit GND oder Vcc verbinde.
Und denn seh ich eh, ob die Steuerung den Motor treiben kann oder nicht.

Vorteil: Ich WEISS, dass es dann das Programm nicht sein kann, weil es 
kein Programm gibt. Der Steuerung ist es ja wurscht, wer da an den Pins 
wackelt.
OP #2894714
Der Fehler lag wirklich nicht im Quellcode...

Der Tipp mit dem "analogen" Pegel setzen von Karl hat mich auf die 
richtige Fährt gebracht. Trotzdem konnte ich das Problem nicht selbst 
lösen, obwohl es ganz simpel und einfach ist... ich sag nur Grundlagen 
Elektrotechnik...

Ich hab meinen Betreuer dann um Hilfe gebeten (tut mir leid wenn ich 
euch erst zu Rate ziehe, ich will nicht immer wegen jeden kleinen scheiß 
zu  ihm rennen)... IHR seit meine stütze bisher und das sehr 
erfolgreich!!!!

Also zu dem Problem ich hab einfach keine Massen vom UC3C Board auf die 
Treiberleiste gezogen...
Das heißt: hatte die Richtung "LOW" Pegel hat der Treiber sich die Masse 
von dem Richtungsanschluss geholt, aber hat der PIN "HIGH" gab es keine 
Masse mehr und Treiber wusste nicht woran er sich orientieren soll...

also Fix die Masse angeschlossen und siehe da, er läuft ruhig und 
schnell in alle Richtungen!!

Unendlichen vielen Dank für eure Gedanken anstöße!

Ich weiß als Mechatronikstudent hätte ich drauf kommen sollen bzw. es 
sehen müssen aber manchmal sieht man den Wald vor lauter Bäumen nicht.



Problem gelöst  - Threat kann geschlossen werden

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.