INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
AnalogWrite PWM-Bereich vergrößern
06.09.2016, 12:59
Beitrag #1
AnalogWrite PWM-Bereich vergrößern
Moin,
gibt es einen Zusatz für den standard analogWrite befehl, sodass mir ein größerer Zahlenbereich als 2^8 zur Verfügung steht? Idealerweise das zehnfache :>

LG
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.09.2016, 17:03
Beitrag #2
RE: AnalogWrite PWM-Bereich vergrößern
Evtl. mit analogWriteResolution().

Dies läuft aber nicht mit jedem Arduino: https://www.arduino.cc/en/Reference/Anal...Resolution

Wen es nur um den Bereich geht, könnte dir auch map() helfen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.09.2016, 17:09
Beitrag #3
RE: AnalogWrite PWM-Bereich vergrößern
Ich fürchte nein.
Macht auch wenig Sinn, weil der muss ja auf Gegenseite auch wieder als solcher verstanden werden.

Aber eine Idee wäre da noch...

Mit Hardware müsste das Signal geglättet werden, klar.
PWM zum einen...
Dazu im Programm die PWM Pulsen lassen.
10 ms PWM 200 + 90 ms PWM 0 müsste unterm Strich ein PWM 20 ergeben.

Aber das wird ziemlich bescheuert in der Umsetzung... Big Grin


Oder man schaltet einen Ausgang pulsend...
Glättung ist das einzige Problem.
Und je besser die Glättung, umso langsamer der Wert, der sich ändern soll.

Binatone
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.09.2016, 20:44
Beitrag #4
RE: AnalogWrite PWM-Bereich vergrößern
Hey!

Also es würde gehen, da die meisten Chips über 16-bit Timer verfügen, d.h. man könnte 2 Ausgänge mit einer Genauigkeit von 0 - 65536 (2^16) einstellen. Wie das in der Arduino IDE handzuhaben ist weiß ich nicht - man müsste sich damit beschäftigen. Den Timer zu editieren wird knifflig sein, da die millis()-Funktion mit ihm verbunden ist.

Wozu brauchst du eine derart hohe Auflösung? Ist es überhaupt notwendig oder reines Interesse?

mfg Scheams
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.09.2016, 21:13
Beitrag #5
RE: AnalogWrite PWM-Bereich vergrößern
(06.09.2016 20:44)Scheams schrieb:  Also es würde gehen, da die meisten Chips über 16-bit Timer verfügen, d.h. man könnte 2 Ausgänge mit einer Genauigkeit von 0 - 65536 (2^16) einstellen. Wie das in der Arduino IDE handzuhaben ist weiß ich nicht - man müsste sich damit beschäftigen. Den Timer zu editieren wird knifflig sein, da die millis()-Funktion mit ihm verbunden ist.

Also beim Uno wird für millis() meines Wissens der 8-Bit-Timer0 verwendet, der 16-Bit Timer1 z.B. für die Libraries Servo, VirtualWire- oder TimerOne. Wenn keine dieser Libraries benötigt wird, müsste der Timer1 also zur Verfügung stehen.
Gruß
Retian
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.09.2016, 21:27
Beitrag #6
RE: AnalogWrite PWM-Bereich vergrößern
(06.09.2016 21:13)Retian schrieb:  ...
Also beim Uno wird für millis() meines Wissens der 8-Bit-Timer0 verwendet, der 16-Bit Timer1 z.B. für die Libraries Servo, VirtualWire- oder TimerOne. Wenn keine dieser Libraries benötigt wird, müsste der Timer1 also zur Verfügung stehen.
Gruß
Retian

Oh, stimmt. Danke für den Hinweis Wink Da hab ich wohl was durcheinander gebracht. Na dann könnte das - wenn die genannten Librarys nicht verwendet werden - durchaus recht einfach machbar sein.

mfg Scheams
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste