Forum: Mikrocontroller und Digitale Elektronik Arduino bietet nicht genug PWM-Pins


von Anna H. (annah)


Lesenswert?

Hallo zusammen,

ich bin nicht nur neu hier im Forum sondern auch relativ neu und 
unerfahren in der Welt der MC und der Programmierung. Nichts desto trotz 
faszinieren mich einerseits die Möglichkeiten und andererseits bin ich 
immer wieder bei Ideen und Projekten an Grenzen gestoßen die ich nur so 
lösen kann.

Eine aktuelle Frage ist die passende Lösung für mein Problem im 
Funktionsmodellbau.

Bei meinen Modellen lege ich viel Wert auf unterschiedlichste Funktionen 
und hatte gehofft mit dem Arduino Nano (da dies klein genug ist) die 
Lösung gefunden zu haben. Nun hat das Nano aber nur 6 PWM-Pins und das 
reicht mir bei weitem nicht.

Eine Alternative wäre, soweit ich das entsprechend Recherchieren konnte 
das Teensy, da ich dies mit dem S-Bus meiner Funkempfänger verbinden 
könnte. Doch dazu finde ich nirgendwo ein deutsches Forum ohne das ich 
sicher schnell aufgeschmissen wäre.

Auch an eine komplette Eigenlösung abseits von Arduino usw. habe ich 
schon gedacht, doch auch hier müßte ich mich viel durchfragen um mir das 
nötiige Wissen anzueignen.

Daher meine Frage ob hier vielleicht irgendwer einen Tipp hat wie ich 
diese Projekte noch angehen könnte?

Lieben Dank
Gruß Anna

von Karl M. (Gast)


Lesenswert?

Anna H. schrieb:
> doch auch hier müßte ich mich viel durchfragen um mir das
> nötiige Wissen anzueignen.

Ja genau so mache ich das auch, per Internetsuche oder Hersteller auf 
dessen Seiten mach den notwendigen Hardwareeinheiten suchen.

von ich (Gast)


Lesenswert?


von Karl M. (Gast)


Lesenswert?

Noch ein Tipp, werde etwa genauer.
Die PWM Anzahl ist nicht benannt und deren Zweck.

Man kann auch PWM Einheiten, auch hier ist nicht bekannt, auf was ein 
ankommt: PWM Frequenz, PWM Auflösung usw., z.B. externen I2C PWM Chips 
Ausschau halten.

von leo (Gast)


Lesenswert?

Anna H. schrieb:
> Nun hat das Nano aber nur 6 PWM-Pins und das
> reicht mir bei weitem nicht.

Ich habe sowas verwemdet:
"16 Channel 12-bit PWM" PCA9685

leo

von m.n. (Gast)


Lesenswert?

Anna H. schrieb:
> Daher meine Frage ob hier vielleicht irgendwer einen Tipp hat wie ich
> diese Projekte noch angehen könnte?

Wofür brauchst Du die PWM-Ausgänge und wie schnell müssen sie sein?

von Wolfgang (Gast)


Lesenswert?

Anna H. schrieb:
> Nun hat das Nano aber nur 6 PWM-Pins und das reicht mir bei weitem nicht.

Wieviele brauchst du denn?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Jeder MC kann Soft PWM - die Frage ist nur, wieviel Kanäle und wie hoch 
soll die Wiederholfrequenz sein?

von Anna B. (Gast)


Lesenswert?

Anna H. sagt nicht, wieviele PWM-Pins sie will.
Anna H. weiß nix vom PWM-Programmieren.
Anna H. ist ein Troll  eine Trollin  oder auch sächlich doof.

von Mario M. (thelonging)


Lesenswert?

Falls es um die Ansteuerung von vielen Modellbau-Servos gehen sollte, 
dann lies mal diesen und die nächsten Posts:
Beitrag "Re: 32 Servos an Atmega328"

von Christian M. (Gast)


Lesenswert?

Ja genau! Entweder PWM-Modul:

https://www.makershop.de/module/motosteuerung/pca9685/

Oder SOFT-PWM.

Gruss Chregu

von Wolfgang (Gast)


Lesenswert?

Mario M. schrieb:
> Falls es um die Ansteuerung von vielen Modellbau-Servos gehen sollte,
> dann lies mal diesen und die nächsten Posts:
> Beitrag "Re: 32 Servos an Atmega328"

Mehr als 16 Servosignale können per S-Bus sowieso nicht übertragen 
werden.
https://www.espruino.com/SBus

von PittyJ (Gast)


Lesenswert?

Wenn einer nicht reicht, dann nimm doch zwei.

Oder
Beitrag "16 PWM Signale I2C"
https://www.mikrocontroller.net/part/TLC59116

von Wolfgang (Gast)


Lesenswert?

PittyJ schrieb:
> Wenn einer nicht reicht, dann nimm doch zwei.

Wenn WER nicht reicht?

> Oder ...
> https://www.mikrocontroller.net/part/TLC59116

Was soll hier ein Konstantstromtreiber helfen?

von HildeK (Gast)


Lesenswert?

Wolfgang schrieb:
> PittyJ schrieb:
>> Wenn einer nicht reicht, dann nimm doch zwei.
>
> Wenn WER nicht reicht?

Er meinte den PCA9685 ...
Davon kann man auch bis zu 62 Stück nehmen, was dann bis zu 62*16 
PWM-Kanäle zur Verfügung stellt.

von Rolf M. (rmagnus)


Lesenswert?

Wolfgang schrieb:
>> https://www.mikrocontroller.net/part/TLC59116
>
> Was soll hier ein Konstantstromtreiber helfen?

Also wenn ich den Link öffne, sehe ich einen 16-Kanal LED-PWM-Dimmer, 
der per I²C angesteuert wird.

von Stefan F. (Gast)


Lesenswert?

Da hast du 48 Kanäle für 12 Euro - auf viel mehr erweiterbar.

https://www.amazon.de/AZDelivery-PCA9685-Servotreiber-Arduino-Raspberry/dp/B07CRDCP8V

von Wolfgang (Gast)


Lesenswert?

Rolf M. schrieb:
> Also wenn ich den Link öffne, sehe ich einen 16-Kanal LED-PWM-Dimmer,
> der per I²C angesteuert wird.

Das Datenblatt bezeichnet den TLC59116 als einen "Constant-Current LED 
Sink Driver" und so sieht die Ausgangsstufe dann auch aus.
Man kann daraus natürlich über Lastwiderstände eine Spannung machen.

Allerdings ist der TLC59116 erstmal sowieso nicht sonderlich sinnvoll, 
weil damit die als 11-Bit Datensignal übertragenen Werte bei der Ausgabe 
auf ein 8-Bit PWM-Signal reduziert würden. Ob diese Reduzierung der 
Auflösung tolerierbar ist, hängt von der Anwendung und den Servos ab.

von Wolfgang (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Da hast du 48 Kanäle für 12 Euro - auf viel mehr erweiterbar.

Was will man mit 48 Kanälen, wenn nur Daten für 16 übertragen werden. 
Mehr kann der S.Bus nicht.
https://github.com/uzh-rpg/rpg_quadrotor_control/wiki/SBUS-Protocol

von Stefan F. (Gast)


Lesenswert?

Wolfgang schrieb:
> Was will man mit 48 Kanälen, wenn nur Daten für 16 übertragen werden.

Zum Beispiel jede Platine einzeln benutzen, dann hat man 3x 16 Kanäle.

von Wolfgang (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Zum Beispiel jede Platine einzeln benutzen, dann hat man 3x 16 Kanäle.

Das Datenprotokoll S.Bus kann nicht mehr, da nützen auch drei einzelne 
Ausgabeplatinen nichts.

von Mario M. (thelonging)


Lesenswert?

Wolfgang schrieb:
> S.Bus

Deine Platte hat einen Sprung.

Anna B. hat Recht:

Anna B. schrieb:
> Anna H. ist ein Troll  eine Trollin

von Rolf M. (rmagnus)


Lesenswert?

Wolfgang schrieb:
> Rolf M. schrieb:
>> Also wenn ich den Link öffne, sehe ich einen 16-Kanal LED-PWM-Dimmer,
>> der per I²C angesteuert wird.
>
> Das Datenblatt bezeichnet den TLC59116 als einen "Constant-Current LED
> Sink Driver" und so sieht die Ausgangsstufe dann auch aus.

Ja. Es ist nur eben doch etwas mehr als nur eine einzelne 
Konstantstromquelle.

> Man kann daraus natürlich über Lastwiderstände eine Spannung machen.

Oder einfach eine LED anschließen - bzw. 16, und sie getrennt ansteuern.

> Ob diese Reduzierung der Auflösung tolerierbar ist, hängt von der
> Anwendung und den Servos ab.

Was für Servos? Die TE hat nichts von Servos geschrieben, nur von 
PWM-Ausgängen. Bei denen wären 8 Bit aber tatsächlich sehr wenig, da ja 
noch ein paar Bits verloren gehen durch die notwendige Pause. Ich hab 
Servos bisher immer in Software angesteuert und nie per PWM-Ausgang. Hat 
die Arduino-Bbiliothek nicht eh eine von PWM-Ausgängen unabhängige 
Servo-Ansteuerung schon eingebaut?

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Rolf M. schrieb:
> Oder einfach eine LED anschließen - bzw. 16, und sie getrennt ansteuern.

Kann man. Ob Anna soetwas vorhat, weiss bisher noch niemand.

Mario M. schrieb:
> Deine Platte hat einen Sprung.

Würde eher sagen, dass hier einige ein Problem mit dem Textverständnis 
haben.

von Carl D. (jcw2)


Lesenswert?

Anna H. wollte nur mal prüfen, ob das Forum auch 2020 noch funktioniert.

Check!

von Tippgeber (Gast)


Lesenswert?

Anna H. schrieb:
> Eine aktuelle Frage ist die passende Lösung für mein Problem im
> Funktionsmodellbau.

Das deutet doch auf Servos hin.

von c-hater (Gast)


Lesenswert?

Anna H. schrieb:

> Daher meine Frage ob hier vielleicht irgendwer einen Tipp hat wie ich
> diese Projekte noch angehen könnte?

Lern' programmieren und scheiß' auf Arduino.

Naja, die Hardware kannst du natürlich verwenden. Der Mega328P @16MHz 
des Arduino Nano hat locker genug Rechenpower, um Futaba S-Bus zu 
empfangen und alle enthaltenen Kanäle adäquat bereitzustellen.

Nur auf das Arduino-Software-Gedöhns musst du halt verzichten, sonst 
frißt dies die Rechneleistung.

von my2ct (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Da hast du 48 Kanäle für 12 Euro - auf viel mehr erweiterbar.
>
> 
https://www.amazon.de/AZDelivery-PCA9685-Servotreiber-Arduino-Raspberry/dp/B07CRDCP8V

Da bewahrheitet sich wieder mal der alte Spruch "Time is Money"  - guck 
mal hier (dto. für 12ct pro Kanal):
https://www.ebay.com/itm/303419457617

von Stefan F. (Gast)


Lesenswert?

my2ct schrieb:
> Da bewahrheitet sich wieder mal der alte Spruch "Time is Money"  - guck
> mal hier (dto. für 12ct pro Kanal):
> https://www.ebay.com/itm/303419457617

Das ebay Angebot hat völlig andere Lieferzeiten, da aus China verschickt 
wird. Az Delivery hat hingegen Lager in Europa.

von my2ct (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Das ebay Angebot hat völlig andere Lieferzeiten

Genau das meinte ich mit "Time is Money".
Schlechte Planung bei der Beschaffung kann man über höhere 
Einkaufspreise kompensieren - wie bei der DB.

von Stefan F. (Gast)


Lesenswert?

my2ct schrieb:
> Genau das meinte ich mit "Time is Money".

Ach so, jetzt habe ich es geschnallt. Hat was länger gedauert.

von Max123 (Gast)


Lesenswert?

Ich würde einen Arduino zu verwenden. Diese wird vollständig mit der 
Arduino IDE bedient  das heißt der Umstieg ist sehr leicht . Jede PIN 
kann als PWM verwendet werden.

von Stefan F. (Gast)


Lesenswert?

Max123 schrieb:
> mit der Arduino IDE ...
> Jede PIN kann als PWM verwendet werden.

Nein, eben nicht und das ist der Grund, warum der TO dieses Thread 
gestartet hat.

von Peter D. (peda)


Lesenswert?

Anna H. schrieb:
> Nun hat das Nano aber nur 6 PWM-Pins und das
> reicht mir bei weitem nicht.

Nun wissen wir also nur, was nicht reicht. Kannst Du keine sinnvollen 
Fragen stellen?

Mal Butter bei die Fische!
Anzahl, Frequenz, Auflösung.

von Abyssaler Einspeiser (Gast)


Lesenswert?

Schon ein steinalter Cyclone II EP2C5 hat 158 IO-Pins von denen
sich eine erkleckliche Zahl zum Erzeugen von PWM nutzen laesst.

Also nicht kleckern sondern mal klotzen!

Ist natuerlich nichts fuer C--Brogrammierer.

von Peter D. (peda)


Lesenswert?

Ich hab nur schlechte Erfahrungen mit FPGA/CPLD gemacht. Immer, wenn ich 
einen eingesetzt habe, wurde der nach kurzer Zeit abgekündigt.
Die AVRs sind da erheblich langlebiger.

von Abyssaler Einspeiser (Gast)


Lesenswert?

> Immer, wenn ich einen eingesetzt habe,
> wurde der nach kurzer Zeit abgekündigt.

So aergerlich das auch ist, PWM auf FPGA ist ja kein Wunderwerk
und sollte sich zumindest im Design leicht auf Nachfolger
uebertragen lassen.
Meine aeltesten sind Spartan-XL, mittlerweile auch abgekuendigt,
aber es gab eigentlich nichts was auf neueren nicht ginge.


> Die AVRs sind da erheblich langlebiger.
Eher untote Wiedergaenger.

von Peter D. (peda)


Lesenswert?

Abyssaler Einspeiser schrieb:
> PWM auf FPGA ist ja kein Wunderwerk

Natürlich nicht. Nur muß ich ja die PWMs auch mit Daten füttern und 
dafür brauche ich doch wieder einen MC.

Wenn man endlich mal die Anforderungen wüßte, könnte man bestimmt einen 
passenden MC finden.

von max123 (Gast)


Lesenswert?

enntschuldige,habe das Wort DUE vergessen.
 Mit dem Arduino DUE ist jeder PIN für PWM geeignet.

von Matthias S. (da_user)


Lesenswert?

Guck dir mal "SoftwarePWM" an, bzw. "SoftPWM". Googel findet dazu 
einiges, auf die schnelle auch was Deutsschprachiges: 
http://www.sachsendreier.com/asw/projekteundexperimente/softpwm/index.php

Ansonsten wie schon erwähnt ext. "Module" benutzen.
Vom groben Prinzip dürfte das dann das sein, was du mit dem "S-Bus" 
vorhast (welchen ich jetzt nicht kenne), halt mit anderer Hardware und 
einem anderen Bussystem: SPI oder I2C.

Oder, wie auch schon erwähnt: auf STM32 umsteigen. Da gibts z.B. den 
"STM32 BluePill". Lässt sich Hardwareseitig meist gut in für den Nano 
gedachte Hardware einbinden, größtes Manko ist hier, dass viele Pins 
keine 5V vertragen. Lässt sich aber oft hinbasteln.
Softwareseitig natürlich auch Arduino-Kompatibel:
https://os.mbed.com/users/hudakz/code/STM32F103C8T6_Hello/

von Udo S. (urschmitt)


Lesenswert?

Abyssaler Einspeiser schrieb:
> Schon ein steinalter Cyclone II EP2C5 hat 158 IO-Pins von denen
> sich eine erkleckliche Zahl zum Erzeugen von PWM nutzen laesst.

Klingt für mich wie:

Problem: Ich habe ein stumpfes Küchenmesser

Lösung: Vollautomatische CNC Schärfanlage für Messer, Sägen und 
Fräsköpfe kaufen und sich in die Bedienung und Programmierung 
einarbeiten.

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
Noch kein Account? Hier anmelden.