wie erzeuge ich hohe Frequenzen zum steuern eines Laufbands?

OP #4093384
Lesenswert?
• ▲
▼
Hallo, ich hab ein Laufband (Sportgerät) und ich möchte denn mit AtMega 
ansteuern (Arduino)

Der Steuerungskasten, der zu diesem Laufband dazugehörte, erzeugt ein 
Signal wie auf dem Bild zu sehen ist. Ich habe (Oszilloskop) auf 20 
mikro Sekunden gestellt, dann war dieser Frequenz zu sehen.

Wenn ich mit Arduino versuche einen ähnlichen Frequenz zu erzeugen dann 
ist High und Low gleichmäßig. (zweites Bild) Wie kann ich das ändern?

In wiki: 
http://de.wikipedia.org/wiki/Pulsweitenmodulation#/media/File:Pulse_wide_wave.svg

ich müsste einmal T festlegen, dann kommt dieser t1 welcher sich 
variieren lässt. Gibt es eine Library dazu oder wie programmiert man das 
überlicherweise?

Zweite Frage: Wie kann ich diesen Frequenz in einen genauern Wert 
messen?
Angehängte Dateien:
Gast #4093396
Lesenswert?
• ▲
▼
Helmut vB schrieb:
> Gibt es eine Library dazu oder wie programmiert man das
> überlicherweise?

Üblicherweise müssen bei einem µC die Register, die für die 
Pulserzeugung mit dem Timer zuständig sind, passend gesetzt werden. Das 
ist genau im Datenblatt des Prozessors beschrieben. Wenn man dafür keine 
Library hat, muss man sich eine schreiben oder die Register zu Fuß 
passend setzen.

Zum Glück bist du nicht der erste mit diesem Problem und mit Google 
findest du zum Stichwort "Arduino PWM" massenweise Unterstützung, z.B. 
Tutorials
http://arduino.cc/en/Tutorial/PWM

IMHO bei allen Arduinos findest du die Funktion analogWrite() für diesen 
Zweck und wenn du nicht gerade die ersten beiden Analogkanäle eines 
Arduino Due erwischt, wird das Signal über PWM erzeugt. Für deine Zeiten 
musst du nur noch an der Frequenz drehen.
Gast #4093403
Lesenswert?
• ▲
▼
Helmut vB schrieb:
> schon aber es handelt sich hier um Kiloherz! Das wären so um die 23kHz
> die der Motor braucht.

Der Herr Hertz hatte auch ein Herz für Arduino Nutzer. Verrate einfach 
mal ein paar Daten.
 - mit welcher Taktfrequenz läuft dein Arduino
 - die PWM scheint 23kHz zu sein
 - wie genau musst du das Puls-Pausenverhältnis einstellen können.
Gast #4093405
Lesenswert?
• ▲
▼
p.s.

Wolfgang schrieb:
> ... mit Google findest du zum Stichwort "Arduino PWM" massenweise
> Unterstützung

Helmut vB schrieb:
> schon aber es handelt sich hier um Kiloherz! Das wären so um die 23kHz
> die der Motor braucht.

Du solltest dir den zweiten und den vierten Google Treffer zu den 
Stichworten auch noch ansehen und durchlesen/-arbeiten

> in Arduino kann ich nur Milisekunden einstellen.
Wie meinst du das?
Gast #4093429
Lesenswert?
• ▲
▼
Ulli-B schrieb:
> Wolfgang schrieb:
> in Arduino kann ich nur Milisekunden einstellen.
> Wie meinst du das?
>
> Das war ein Hinweis darauf, dass Wolfgang nicht kapiert hat, was du ihm
> versucht hast mit zu teilen.
>
> Ulli-B

Sorry, Wolfgang hat es natürlich kapiert, Helmut ist derjenige, der mit 
PWM nichts anfangen kann.

Ulli-B
Gast #4093490
Lesenswert?
• ▲
▼
Helmut vB schrieb:
> äh ich muss jetzt aber nicht mit PWM timer registers beschäftigen ???

Nein.
Wenn du Arduino benutzt (und das tust du anscheinend) gibt es da die 
AudioInterface lib.

Wenn du diese in dein Projekt einbindest musst du nichts weiter machen 
als zu deinem Arduino zu sprechen: "Computer, Laufband ansteuern!".

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.