Anfänger Arduino für PWM Signal generierung

Hallo zusammen,
ich bin ein Adruino Neuling und suche für eine Entwicklungsarbeit einen Arduino, welcher ein PWM Signal generieren kann. Meine Frage dazu wäre, welcher hierzu am geeignetsten ist.
Könnt ihr mir hierbei weiterhelfen.
Vielen Dank für eure Hilfe!

TimR:
... suche für eine Entwicklungsarbeit einen Arduino, welcher ein PWM Signal generieren kann. ...

Soweit ich weiß, können alle Arduinos PWM-Signale erzeugen. Nimm den, der am besten zu Deiner Anwendung passt.

Gruß

Gregor

Da wir nicht wissen, was deine Entwicklungsarbeit beinhaltet, ist eine Antwort schwierig. :wink:

Aber schau ins Datenblatt, da wirst du sehen, dass jeder Arduino PWM generieren kann.

Beschreibe doch einfach mal, was Du tun willst, dann könnte es konkretere Antworten geben. Wir wissen ja nicht einmal wieviele PWM-Signale Du brauchst.

Unsere Kristallkugeln sind leider alle zum D-Check.

Gruß Tommy

Meine Frage dazu wäre, welcher hierzu am geeignetsten ist.

Ich habe dazu eine klare Meinung:
Natürlich ist der UNO, mit Abstand, der Beste!

TimR:
Hallo zusammen,
ich bin ein Adruino Neuling und suche für eine Entwicklungsarbeit einen Arduino, welcher ein PWM Signal generieren kann. Meine Frage dazu wäre, welcher hierzu am geeignetsten ist.
Könnt ihr mir hierbei weiterhelfen.

Alle(!) Arduino-Boards können standardmäßig an einer bestimmten Anzahl Pins PWM-Signale erzeugen, und zwar bei Verwendung der analogWrite() Funktion, die zur Arduino Core-Library gehört.

Ein UNO kann insgesamt an 6 Pins PWM Signale ausgeben, die PWM-Frequenz beträgt dabei je nach Pin standardmäßig ca. 500 Hz oder ca 1000 Hz.

Die Auflösung beim UNO ist standardmäßig 8-Bit PWM, d.h. der Duty-Cycle zwischen 0 und 255 einstellbar.

Wenn Du etwas anderes brauchst, z.B. andere PWM-Frequenzen, andere Auflösung als 8-Bit, andere Pins, mehr als 6 PWM-Pins, dann mußt Du ggf. ein anderes Arduino-Board verwenden oder tief in die Timer/Counter-Programmierung einsteigen.

Hallo zusammen, danke für die schnellen Antworten.
Ich möchte ein elektronisches Bauteil simulieren, das alle 500ms ein 700ms langen Diagnoserahmen sendet.
welcher aus verschiedenen Zeitabschnitten besteht. Aus der Zeit welcher das Signal aus Masse gezogen ist, kann der Empfänger dann z.B. die Rotationsgeschwindigkeit errechnen.

Alles klar!
Kein Problem.

Und, was hat das mit PWM zu tun?

Mit UNO meint ihr diesen hier?

Arduino UNO

Zwischen den Diagnoserahmen wird ein PWM Signal gesendet und in diesem Diagnoserahmen, wird zB 620ms das Signal auf Masse gezogen und dann wieder das PWM Signal gesendet, aus den 620ms kann der Empfänger dann die Ist-Drehzahl ermitteln.

TimR:
Hallo zusammen, danke für die schnellen Antworten.
Ich möchte ein elektronisches Bauteil simulieren, das alle 500ms ein 700ms langen Diagnoserahmen sendet.
welcher aus verschiedenen Zeitabschnitten besteht. Aus der Zeit welcher das Signal aus Masse gezogen ist, kann der Empfänger dann z.B. die Rotationsgeschwindigkeit errechnen.

Wenn Du es schaffst, alle 500 Millisekunden eine 700 Millisekunden dauernde Sequenz zu senden, dann solltest Du Dich um einen Job als Designer für Damenschuhe bewerben!

Die Industrie für Damenschuhe sucht schon seit Jahren verzweifelt ein Damenschuhmodell, das außen die Abmessungen einer Größe 37 hat, aber innen Platz f+r einen Fuß der Größe 39 bis 40 bietet.

Ich glaube, die Aufgabe einen Damenfuß von Größe 40 in einem Schuh der Größe 37 unterzubringen, ist vergleichbar mit Deiner Aufgabe, einen Diagnoserahmen von 700 Millisekunden Dauer alle 500 Millisekunden zu senden.

?

In einer Signalpause von 620ms wird eine Drehzahlinformation übermittelt.

?

Ist das das Nachfolgemodel?

Das kam falsch rüber, nach dem Diagnoserahmen von ca 700ms, dieser kann je nach übermittelten Werten auch abweichen und kürzer oder länger sein, ist eine 500ms Pause, dann wieder der Diagnoserahmen

TimR:
Ist das das Nachfolgemodel?
%product-title% kaufen

Das kam falsch rüber, nach dem Diagnoserahmen von ca 700ms, dieser kann je nach übermittelten Werten auch abweichen und kürzer oder länger sein, ist eine 500ms Pause, dann wieder der Diagnoserahmen

Wenn Du immer nach einer Pause von 500ms eine ca. 700ms lange Sequenz ausgeben möchtest, dann wäre die Beschreibung eher:
Ich möchte alle 1200 Millisekunden eine 700 Millisekunden dauernde Sequenz ausgeben.

Beschreibe doch mal genaueer, was Du in den 500 Millisekunden und was Du in den 700 Millisekunden ausgeben möchtest!

In den 700 Millisekunden soll eine PWM generiert werden? Und zwischendurch in den 500 Millisekunden der Ausgang auf LOW gesetzt sein, oder wie genau?

Was ist ein Diagnoserahmen?
Was ist eine Pause?
Wie hat die PWM auszusehen?

Wie wäre es mal mit einem Bild?

In der Grafik wird deutlich wie das Signal aufgebaut werden soll,
der Diagnose Rahmen besteht aus zwei Hälften. Der erste Teil hat eine feste Länge und der zweite Teil kann zeitvariabel auf Masse gezogen werden.
Meine Frage dazu lautet, ist dieser Genuino 101

dafür geeignet?

pwm.png

TimR:
... der Diagnose Rahmen besteht aus zwei Hälften. Der erste Teil hat eine feste Länge und der zweite Teil kann zeitvariabel auf Masse gezogen werden. ...

Ich habe nur oberflächlich verfolgt, was genau Du tun möchtest. Vielleicht musst Du die „eingebauten“ PWM-Möglichkeiten gar nicht nutzen. Evtl. kannst Du das Signal, das Du brauchst, auch auf „die harte Tour“ erzeugen (wie ich es hier in der Funktion send_pulse() mache).

HTH

Gregor

Sollte ich dazu den Genuino 101 nehmen

oder den Arduino Uno?

TimR:
Meine Frage dazu lautet, ist dieser Genuino 101
%product-title% kaufen
dafür geeignet?

Der Arduino/Genuino 101 würde ich NICHT als Nachfolgemodell des UNO bezeichnen.
Ob er für dein Projekt geeignet ist, ist schwer zu sagen. Der 101er läuft auf jeden Fall (nur) mit 3,3 Volt. Die Frage ist, welcher Pegel bei deinem Projekt gebraucht wird. 3,3 Volt oder 5 Volt.

Er hat Beschleunigungssensor, Gyrokosp und Bluetooth on board. Die Frage ist, ob du das alles brauchst.
Es gibt hier wahrscheinlich wenige Leute, die mit diesem Board Erfahrung haben, es wird also möglicherweise schwierig Hilfe zu bekommen.Du bist also ziemlich auf dich allein gestellt...
Das lässt sich wahrscheinlich in den Griff bekommen, ist aber dennoch eine ziemliche Hürde für Leute mit wenig Vorerfahrung.

Ich würde ihn jedenfalls NICHT empfehlen, sondern einen klassischen UNO verwenden - wie bereits erwähnt wurde (so ein Board hast du ja schon in deinem ersten Link (in #8) genannt).

Edit:
Den Arduino UNO
den Arduino UNO
den Arduino UNO
:slight_smile:

Und ich würde eher diesen UNO empfehlen:
UNO DIP-Version
da ist der Mikrocontroller steckbar und somit leicht austauschbar - Vorteil, falls der mal gekillt wird.
Bei deinem Link handelt es sich um eine SMD-Version, da ist ein Austausch eher schwierig (sonst aber praktisch kein Unterschied).