Rechtecksignal zur Schrittmotorsteuerung erzeugen

Gast #2439028
Lesenswert?

HAllo zusammen,

Ich möchte gerne mit einem Allegro Motortreiber (A3987) einen 
Schrittmotor ansteuern. Dazu wird laut Datenblatt des Motortreibers 
lediglich ein "Rechteckimpuls" mit einer "High-bzw- Low- Pegellänge von 
je 1us" benötigt.
Das wärer dann ein Rechtecksignal von 500kHz.
Ich habe ein ARM EvalBoard des AT91SAM3U4E zur verfügung.
Jetzt gibt es ja verschiede Möglichkeiten so einen Recteck zu erzeugen.
1) Da der Controller eine PWM Einheit hat, wäre es damit wahrscheinlich 
machbar.
2) Über einen Timer
3) ?

Ich möchte natürlich die Anzahl der Impulse bestimmen können, da diese 
dier Anzahl der Motorschritte entspricht.
Wie würdet Ihr das Lösen ?
Wer hat Erfahrung mit der PWM des o.g. Controllers ?

Vielen Dank

HansM
#2439062
Lesenswert?

HansM schrieb:
> HAllo zusammen,
>
> Ich möchte gerne mit einem Allegro Motortreiber (A3987) einen
> Schrittmotor ansteuern. Dazu wird laut Datenblatt des Motortreibers
> lediglich ein "Rechteckimpuls" mit einer "High-bzw- Low- Pegellänge von
> je 1us" benötigt.

Wo hast du diese Angabe her?

Das ist bestimmt die Angabe, was der IC maximal (in dem Fall: minimal) 
kann. Der kann sicher auch mit längeren Pulsen als mit 1µs bzw. 
kleineren Frequenzen umgehen.
Gast #2439094
Lesenswert?

HAllo,

vielen Dank für eure Rückmeldung.
@spess53:
Das ist ein wichtiger Punkt. Ich möchte erstmal die Ansteuerung 
hinbekommen. bzw. theoretische Vorüberlegungen. Eins nach dem anderen 
;-)

@Karl Heinz Buchegger
> Wo hast du diese Angabe her?

Ok Du hast Recht, im Datenblatt steht, dass er ein Rechtecksignal von 
mindestens einer 1µs benötigt.

@All:
Aber meine Frage bezog sich eigentlich erstmal aussließlich auf die 
Rechteckgenerierung ?
Wie macht man das am Besten ?

Danke
Gast #2439111
Lesenswert?

Hi

>Aber meine Frage bezog sich eigentlich erstmal aussließlich auf die
>Rechteckgenerierung ?
>Wie macht man das am Besten ?

Du brauchst eine variable Frequenz von (theoretisch) 0Hz bis einige 
100Hz (Sonderfälle möglich). Bei AVRs erzeuge ich so etwas per CTC mit 
einem Timer.
Ob dein ARM das kann entzieht sich meiner Kenntnis.

MfG Spess
Gast #2439157
Lesenswert?

@oszi40

Das stimmt denke ich so nicht.
Das MotorIc welches ich einsetze ist relativ intelligent. Im Dateblatt 
steht: 1 Puls = 1Motorschritt. Der Puls dient ausschließlich zum treiben 
des Bausteins, nicht zur Leistungstreibung des Motors.

HansM
Gast #2439170
Lesenswert?

Hi

>also brauche ich eine variable Frequenz um verschiedene
>Geschwindigkeiten zu fahren ?

Nicht nur. Du kannst nicht ohne Schrittverluste aus dem Stand auf die 
Endgeschwindigkeit schalten oder abrupt stoppen. Da müssen 
Beschleunigungs-/ Bremskurven gefahren werden.

>Was ist CTC ?

Clear Timer on Compare Match. Das ist ein Timermode (bei AVRs) bei dem 
du den Endwert eines Timers vorgeben kannst. Der Timer zählt bis zu 
diesem Wert, schaltet einen Pin um und fängt wieder von Null an. Damit 
kannst du eine variable Frequenz an dem Pin erzeugen.

>Das stimmt denke ich so nicht.
>Das MotorIc welches ich einsetze ist relativ intelligent.

Aber er weiss nicht, was der Motor macht.
>Im Dateblatt
>steht: 1 Puls = 1Motorschritt. Der Puls dient ausschließlich zum treiben
>des Bausteins, nicht zur Leistungstreibung des Motors.

Aber nur wenn du es richtig machst. Sonst ist ganz schnell 1 Puls <> 
1Motorschritt.

Mach dich bitte erst mal über die Ansteuerung und Eigenschaften von 
Schrittmotoren schlau.

MfG Spess
Gast #2439174
Lesenswert?

HansM schrieb:
> Dazu wird laut Datenblatt des Motortreibers
> lediglich ein "Rechteckimpuls" mit einer "High-bzw- Low- Pegellänge von
> je 1us" benötigt.

Dann ist es kein Schrittmotor. Die brauchen 2 versetzte Impulse - woher 
soll der Motor sonst wissen, in welche Richtung er einen Schritt machen 
soll?

Gruss Reinhard
Gast #2439176
Lesenswert?

Hi

>Dann ist es kein Schrittmotor. Die brauchen 2 versetzte Impulse - woher
>soll der Motor sonst wissen, in welche Richtung er einen Schritt machen
>soll?

Wenn ein DIR-Eingang vorhanden ist reicht ein Takt.

MfG Spess
(Firma: mechapro GmbH) Persönliche Seite #2462494
Lesenswert?

Hallo Reinhard!

Lies doch bitte erstmal genau, bevor du dich zum Thema äußerst. Der OP 
schrieb von einem Motortreiber, nicht von einem Motor. Da reicht 
tatsächlich ein Rechtecksignal (plus Richtungsleitung), wie man dem 
Datenblatt von Allegro leicht entnehmen kann. Diese Art der Ansteuerung 
(Takt/Richtung) ist übrigens typisch für die meisten 
Schrittmotortreiber.

Mit freundlichen Grüßen
Thorsten Ostermann

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