Guten Tag zusammen, ich bin zurzeit am entwickeln einer Motortreiberplatine. Der Motortreiber ist von ST Bez.: L6480. Die Platine habe ich bereits fertig aufgebaut(Schaltung aus dem Datenblatt). Am Ausgang hängt ein Schrittmotor von Nanotec Bez.: ST4118M1404-A 1,7V 1,4A. Der Motortreiber wird über eine SPI Schnittstelle programmiert. Ich möchte den Motortreiber über einen Arduino programmieren. Nun habe ich Probleme ein einfaches Testprogramm zu schreiben, da ich in diesem Gebiet nicht ganz so fit bin. So wie ich es aus dem Datenblatt rauslesen konnte, gibt es verschiedene vorgefertigte Register. Die mit verschiedenen Werten "gefüttert" werden können. Aber den Durchblick habe ich nicht und werde ich ohne Hilfe auch nicht bekommen. Ein einfaches Beispielprogramm würde mir schon sehr weiter helfen. Im Netz habe ich leider nicht viel gefunden. Im Anhang noch ein Bild von meinem Versuchsprogramm. Vielen Dank ich hoffe mein Problem ist einigermaßen verständlich. Mani
:
Verschoben durch Admin
Au Backe. Du kannst das Datenblatt nicht und lesen postest Quellcode als .docx? So wirst du hier nicht viele Freunde finden. Kannst du denn wenigstens mal beschreiben, was du an den Registern nicht verstehst? Im Datenblatt ist JEDER Register kurz beschrieben. Also was dessen Funktion ist. Warum nimmst du keinen einfacheren Schrittmotortreiber, wenn du mit komplexen programmierbaren Treibern überfordert bist?
:
Bearbeitet durch User
Entschuldige die schlechte Darstellung. Ich verstehe was die einzelnen Register für einen Zweck haben. Sind die Register nur dazu da, den Controller richtig zu konfigurieren? Und wie programmiere ich das? Z.B mein MAX_SPEED – Register?. Brauche ich die verschiedenen Register nur, sobald ich ein Kommando über meine SPI Schnittstelle dem Kontroller schicke dass das auf die Verschiedene Register zurückgreifen kann. Z.B. Ich schicke dem Kontroller das Kommando Run, greift er dann auf mein MAX_SPEED, MIN_SPEED usw. Register zurück. Muss ich alle Register konfigurieren? Ein simples Programmbeispiel z.B. Ein Register konfigurieren und daraufhin ein Kommando an den Kontroller senden. Ich muss mit diesem Motortreiber arbeiten, da ich diesen vorgegeben bekommen habe. Ich wünschte mir auch es wäre leichter aber da muss ich jetzt durch. Ich hoffe mit eurer Hilfe bekomme ich den Durchblick Vielen Dank
Manfred R. schrieb: > Ich muss mit diesem Motortreiber arbeiten, da ich diesen vorgegeben > bekommen habe. Job oder Studium? MfG Klaus
AN4345 gelesen? http://www.st.com/content/ccc/resource/technical/document/application_note/74/85/5b/28/e9/39/4a/3c/DM00095012.pdf/files/DM00095012.pdf/jcr:content/translations/en.DM00095012.pdf AN4290 gelsesn? http://www.st.com/resource/en/application_note/dm00082126.pdf
Nein, hatte ich noch nicht gelesen. Danke hat mir sehr weiter geholfen! Wie ich aus diesen PDF-Dateien rauslesen konnte, muss ich zuerst folgende Dinge konfigurieren: MAX_SPEED, MIN_SPEED, ACC, DEC. Jetzt kann ich mir diese Daten berechnen mit der vorgegebenen Formel (Seite 45/46) im Datenblatt z.B. MAX_SPEED = [step/s]= (MAX_SPEED * 2^-18)/tick Nachdem ich das berechnet habe, bekomme ich einen Zahlenwert im Bereich zwischen 15,25 steps/s bis 15610 steps/s als Ergebnis. Wie baue ich nun mein Register auf(Binär Code) damit der Controller was damit anfangen kann? Ist für meine Studium. Vielen Dank
Mit dem SetParam Kommando schreibst du jetzt die Werte, die du ausgerechnet hast, in die entsprechenden Register dessen Adresse in Tabelle 11 auf Seite 43 des Datenblattes stehen.
Auf Seite 62 des Datenblattes stehen die Kommando Bits. Also z.B. für SetParam Bit 7 und 6 und 5 auf 0 in Bits 4 bis 0 die Adresse des Parameters (ACC z.B 0x05). Auf Seite 64 Siehst du nun die genaue Beschreibung vom Kommando SetParam. In Tabelle 11 Steht das 12 Bits für ACC benötigt werden. man kann aber in Tabelle 11 auch sehen das ACC nach dem Reset 0x8A enthält. Vieleich reicht das ja schon für deinen Motor.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.