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?
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.
schon aber es handelt sich hier um Kiloherz! Das wären so um die 23kHz die der Motor braucht. in Arduino kann ich nur Milisekunden einstellen. Vielleicht geht es das http://arduino.cc/en/Reference/delayMicroseconds
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.
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?
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
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
äh ich muss jetzt aber nicht mit PWM timer registers beschäftigen ???
äää, doch wenn es funktionieren soll.
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!".
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.

