Forum: Mikrocontroller und Digitale Elektronik Welcher günstige Mikrocontroller verwenden für RGB Projekt


von Edis N. (edofat)


Lesenswert?

Servus,

Mein Projekt:
2-5 Meter RGB-Strip steuern mit Mikrocontroller.(Eventuell mit Akku)
Bei dem RGB-Strip handelt es sich um ein DC5V WS2812B.

Ich habe derzeit ein Adafruit M4 Express welcher ca. 20€ gekostet hat.
Nun möchte ich gerne einen Mikrocontroller welcher günstiger ist und 
ähnliche Resultate mitbringt wie der M4 Express.
Er soll also nur 2-5 Meter 5V Leds steueren können und am besten noch 
sicher mit einem Akku betrieben werden. Leider kenne ich mich nicht so 
gut mit dem Thema Akku aus, daher wäre es gut wenn der mir nicht um die 
Ohren fliegt :)

Im Endeffekt suche ich einfach einen möglichst günstigen Mikrocontroller 
die diese Funktionen erfüllen.

Tipps zu dem Akku nehme ich auch gerne an.

Vielen Dank für eure Hilfe!!
Mfg
Edis

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Edis N. schrieb:

> Ich habe derzeit ein Adafruit M4 Express welcher ca. 20€ gekostet hat.
> Nun möchte ich gerne einen Mikrocontroller welcher günstiger ist

"Adafruit M4 Express" ist kein µC! Das ist höchstens irgendein 
verschissenes Board, welches einen µC enthält.

> Bei dem RGB-Strip handelt es sich um ein DC5V WS2812B.
[...]
> Er soll also nur 2-5 Meter 5V Leds steueren können

Das allein sagt garnix. Da die WS2812B addressierbare LEDs sind, kommt 
es vor allem auf ihre Anzahl an. Man kann auf 5m Stripe eine einzige 
setzen, man kann aber auch ca. 667 darauf packen. Also: wie viele sind 
es? Zählen wirst du ja wohl noch können.

von HildeK (Gast)


Lesenswert?

WS2812 kann man mit einem TinyX5 ansteuern oder jedem Arduino-Board.
Natürlich kann der µC bis 5V mit einem Akku betrieben werden, sein 
Stromverbrauch fällt nicht mal auf gegenüber 5m RGB-Stripes.
Für die Stromversorgung wollen die WS2812B 3.5V...5.3V - mit der 
Spannung arbeitet der µC auch. Die Versorgung für den µC und den Stripe 
sollten eh die selbe Spannung haben.

Tipps für den Akku? Hast du schon mal ausgerechnet, wie viel Strom 5m 
Stripes aufnehmen können, wenn sie max. helles Weiß ausgeben? Da ich 
nicht weiß, ob du Stripes mit 30, 60 oder gar 144 LEDs pro Meter 
verwenden willst, musst du das selber bestimmen. Jedenfalls: bei 60 
LEDs/m und hellem Weiß kommen dann rund 18A zusammen. Du wirst einen 
fetten Akku benötigen ...

Beitrag #7008286 wurde von einem Moderator gelöscht.
von N. M. (mani)


Lesenswert?

Raspberry Pi Pico gibt es auch um die 4€.
Gibt auch Beispiele wo sie extra ein PIO dafür nutzen, was natürlich die 
Hauptprozessoren entlastet[1].

Aber prinzipiell bekommt man das mit fast jeden uC hin. Der Speicher 
könnte irgendwann interessant sein wenn es viele LEDs sind

[1]https://github.com/raspberrypi/pico-examples/tree/master/pio/ws2812

Beitrag #7008298 wurde von einem Moderator gelöscht.
von c-hater (Gast)


Lesenswert?

Manuel S. schrieb im Beitrag #7008298:

> N. M. schrieb:
>> wo sie extra ein PIO dafür nutzen
>
> Beim ESP32 kann man das I2S interface und DMA nutzen, dann haben die 2
> kerne gar nichts zu tun. Ist meioner meinung nach etwas overkill.

Man könnte auf dem Pi Pico auch SPI benutzen statt PIO. Beides läßt sich 
mittels DMA füttern und beides würde die Cores in Ruhe lassen.

Ob das Overkill ist oder nicht, hängt vor allem davon ab, was der µC 
AUSSERDEM noch tun soll...

von Johannes S. (Gast)


Lesenswert?

ESP und WLED
https://kno.wled.ge/

ESP ist zwar nicht ideal für Akkubetrieb, aber die LED ziehen ja 
ordentlich Strom, je nach Helligkeit. Da braucht man schon eine 
Powerbank mit vielen Wh wenn es länger leuchten soll.

von Jan (Gast)


Lesenswert?

Du bekommst einen bare metal atmega für 1 Euro. Sollte günstig genug 
sein.

von Falk B. (falk)


Lesenswert?

Edis N. schrieb:
> Ich habe derzeit ein Adafruit M4 Express welcher ca. 20€ gekostet hat.
> Nun möchte ich gerne einen Mikrocontroller welcher günstiger ist und
> ähnliche Resultate mitbringt wie der M4 Express.

Warum? Wieviele Millionen willst du davon produzieren? Dein Einzelstück 
hast du schon, da spielt der Preis keine Rolle mehr.
Klar kann man so ein paar LEDs mit einem deutlich kleineren und 
vbilligeren Mikrocontroller ansteuern, kommt hat drauf an, was da 
gemacht werden soll. Nur an aus? Eher nicht? Verschiedene Farbmuster? 
geht einfach. Steuerung ber Bluetooth? Braucht den passenden Controller.

Beitrag "LED-Lauflicht im Knight Rider Style"

von Olaf (Gast)


Lesenswert?

> Tipps zu dem Akku nehme ich auch gerne an.

Wenn du faehig bist bekommst du es mit fast jedem Controller hin.
Wen du Spass haben willst dann nimmst du einen RP2040 weil das
Protokoll des WS2812 ein Schmerz im Arsch ist und du es dort
mit dem GPIOs direkt implementieren kannst und danach an der
Sonnenseite bist.

Olaf

von MaWin (Gast)


Lesenswert?

Edis N. schrieb:
> Nun möchte ich gerne einen Mikrocontroller welcher günstiger ist und
> ähnliche Resultate mitbringt wie der M4 Express

Tja, kommt auf die Software an, und wie dascLED Band gesteuert wird.

Per WLAN ja wohl nicht. Vielleicht nutzt du aber ein Python Programm um 
den 120MHz Prozessor so auszubremsen als ware er ein 1MHz Prozessor.

Dann hilft dir ein Arduino Nano nicht weiter, obwohl man auch mit ihm 
problemlos LED Streifen ansteuern könnte, denn der kann weder Python 
noch WLAN.

Auch ein nackter ATtiny13 kann ein WS2812 Band in der Farbe über 3 
Tasten ansteuern.

von Johannes S. (Gast)


Lesenswert?

Olaf schrieb:
> Wen du Spass haben willst dann nimmst du einen RP2040

Controller die das Protokoll ohne CPU intensives Bitbanging können gibt 
es schon seit vielen Jahren: der ESP kann es mit seiner RMT, die LPC mit 
SPI und SCT, neuere AVR mit Eventsystem, STM32 mit DMA auf Ports und 
sicher viele mehr.

MaWin schrieb:
> ielleicht nutzt du aber ein Python Programm um
> den 120MHz Prozessor so auszubremsen als ware er ein 1MHz Prozessor.

solche Antworten und Python Bashing gibt es wohl nur in diesem Forum. In 
Micropython gibt es Module die WS LED effizient ansteuern und Logik 
drumherum kann man bequem in der Hochsprache erledigen.

Und die 240 PS eines ESP32 braucht man nicht, man kann sie aber sinnvoll 
verwenden. Einstellungen per WLan oder Einbindung in Automatisierung per 
MQTT
sehen einige wohl als sinnvoll an, das WLED Projekt hat 1700 Forks und 
8500 Stars. Da man nur ein fertiges binary flashen muss, dürften es 
hundertausende oder Millionen Anwendungen damit geben.

von c-hater (Gast)


Lesenswert?

Johannes S. schrieb:

> Controller die das Protokoll ohne CPU intensives Bitbanging können gibt
> es schon seit vielen Jahren: der ESP kann es mit seiner RMT, die LPC mit
> SPI und SCT, neuere AVR mit Eventsystem, STM32 mit DMA auf Ports und
> sicher viele mehr.

Das stimmt sicherlich.

Aber mit den PIOs des RP2040 geht es wirklich sehr elegant, ohne das die 
CPU irgendwas umrechnen muss, bevor es an die Hardware verfüttert werden 
kann.
Außerdem hat der RP2040 auch noch ordentlich RAM, so dass auch für 
größere Mengen an LEDs problemlos ein vollständiger Framebuffer genutzt 
werden kann.

Ist schon ziemlich genial das Teil und obendrein spottbillig im 
Verhältnis zur gebotenen Leistung. Und, last but not least: Er ist 
tatsächlich LIEFERBAR.

von MaWin (Gast)


Lesenswert?

Johannes S. schrieb:
> MaWin schrieb:
>
>> ielleicht nutzt du aber ein Python Programm um
>> den 120MHz Prozessor so auszubremsen als ware er ein 1MHz Prozessor.
>
> solche Antworten und Python Bashing gibt es wohl nur in diesem Forum

Nur hier kennt man aber die Alternativen, in den üblichen Script-Kiddie 
Foren nicht bekannt sind

Jedenfalls steht die Aussage, dass man ein WS2812 Band problemlos mit 
einem Attiny13 alle in einer Farbe oder einem Farbverlauf dimmen kann, 
wenn der Input über Taster und nicht WLAN passiert, aber er für Python 
nicht geeignet ist.

Wie war das noch mal mit deinen Einwänden ?

von Falk B. (falk)


Lesenswert?

Johannes S. schrieb:
> Olaf schrieb:
>> Wen du Spass haben willst dann nimmst du einen RP2040
>
> Controller die das Protokoll ohne CPU intensives Bitbanging können gibt
> es schon seit vielen Jahren:

Ja schön, aber wo liegt denn das Problem? Die CPU ist auch bei 100 
intelligenten LEDs sicher NICHT 100% mit deren Update ausgelastet. Bei 
800kBit/s und 24Bit/LED sind 100 LEDs in ca. 3 (DREI!) Millisekunden 
beschrieben.

von c-hater (Gast)


Lesenswert?

Falk B. schrieb:

> Ja schön, aber wo liegt denn das Problem?

Latenz!

> Die CPU ist auch bei 100
> intelligenten LEDs sicher NICHT 100% mit deren Update ausgelastet. Bei
> 800kBit/s und 24Bit/LED sind 100 LEDs in ca. 3 (DREI!) Millisekunden
> beschrieben.

Ja klar. Aber das sind eben 3ms (eine kleine Ewigkeit), in der sie 
nichts anderes tun kann. Das ist oft ein Problem.

Und mit steigender LED-Zahl verschärft sich dieses Problem naturgemäß, 
weil halt der Stream nicht abreissen darf, egal wie viele LEDs es sind.

von Stefan F. (Gast)


Lesenswert?

Johannes S. schrieb:
> dürften es hundertausende oder Millionen Anwendungen damit geben.

Immer diese Übertreibungen. Da schlage ich mich lieber auf die Seite 
derer, die Python auf µC nicht mögen.

von Johannes S. (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Immer diese Übertreibungen.

mit Sicherheit nicht. WLED scheinen nur die User der µC.net Bubble nicht 
zu kennen, in anderen Foren/Gruppen ist das bestens bekannt. Es gibt zig 
YT Videos dazu mit zigtausenden Zuschauern und Likes. Ist so.

von c-hater (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:

> Immer diese Übertreibungen. Da schlage ich mich lieber auf die Seite
> derer, die Python auf µC nicht mögen.

Naja, ich bin schon kein Fan von C auf kleinen µC, von dem noch sehr 
viel maschinenferneren Python also schon garnicht.

Aber: Gerade solche Sachen wie die PIOs der RP2040 machen es möglich, 
selbst mit Python überraschend viel erreichen zu können. Weil halt die 
eigentliche Arbeit die Hardware übernimmt. Dann spielt es keine Rolle 
mehr, wie unsäglich lahm die Anwendung ist.

In Projekte&Code poppt relativ regelmäßig ein Thread hoch, der das recht 
eindrucksvoll zeigt.

Aber klar: Auch die eigentliche Arbeit muss erledigt werden. Und diesen 
Teil kann man halt nicht in Python schreiben (thanks god: auch nicht in 
C/C++). Hier ist wieder das gefordert, was kleinen µC richtig Beine 
macht: Asm. In diesem Fall halt der PIO-Assembler.

von Stefan F. (Gast)


Lesenswert?

Johannes S. schrieb:
> Es gibt zig YT Videos dazu mit zigtausenden Zuschauern und Likes.

Das heißt nicht, dass die "zigtausend" Zuschauer es nachgebaut haben. 
Selbst dann wären es nicht "Millionen Anwendungen". So groß ist die Welt 
der Hobby-Elektroniker nicht mehr. Die 70er Jahre sind vorbei.

von Olaf (Gast)


Lesenswert?

Es sagt ja niemand das man es es nicht mit irgendwelchen anderen
Controllern kann. Ich sagte sogar ausdruecklich das Gegenteil.
Ich hab es selber schon mit einem STM32F030 gemacht.
Aber es ist eben auch ein Schmerz im Arsch!

Will man es fuer ein Hobbyprojekt wird man da mit einem RP2040
viel mehr Spass haben und das Teil kostet gerade mal 1Euro bei Reichelt.

Und dann noch was. Bei Verwendung anderer Controller hat man eben immer 
Timingprobleme am Horizont. Ja die kann man umgehen setzt aber voraus 
das man weiss was man tut. Wenn Anfaenger aus Faulheit fuer ihre 
Probleme Libaries aus drei unterschiedlichen Quellen zusammenkopieren 
steigt die Wahrscheinlichkeit ins offene Messer zu laufen gewaltig an.

Olaf

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.