L6480 Motortreiber

OP #4777888
Lesenswert?

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
Angehängte Dateien:
#4777946
Lesenswert?

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?
OP #4778049
Lesenswert?

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
OP #4778973
Lesenswert?

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
Gast #4779272
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren