Arduino bietet nicht genug PWM-Pins

#6095074
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
Gast #6095723
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.
#6095793
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?
Gast #6095820
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.
Gast #6096901
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.
#6098181
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/
#6098190
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren