Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller mit 9 PWM ausgängen?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von nick (Gast)


Lesenswert?

Hi liebes Forum, das ist mein erster Beitrag und daher bitte macht mich 
auf Fehler aufmerksam.

Und zwar suche ich ein Mikrocontroller, der in THT Bauform ist, der min 
9 PWM ausgänge hat und dazu noch min 6 digital Ausgänge.

Möchte ein RGB/ARGB controller bauen und brauche noch ein passenden 
controller für die 3  RGB / 6 ARGB ausgänge. Mir ist SOFTPWM schon 
bekannt nur möchte ich es möglichst umgehen um mehr Rechenleistung für 
die synchron Steuerung und Effekte zu haben.

Hoffe ihr könnt mir welche empfehlen.

-LG Nick

von Pandur S. (jetztnicht)


Lesenswert?

Die 9 PWM gibt's in dieser Familie : dsPIC 33FJ64GS606-I , wobei der 
genannte nur 16x6 PWM hat, ein anderer hat aber 9. der Genannte ist 
allerdings im TQFP64.
Ein anderer : dsPIC 30F6015-30I hat vieles, im TQFP80.

von The Weasel (Gast)


Lesenswert?

Es gibt doch eigene LED Treiber für sowas ...
Die steuerst du übern Bus an und fertig.

Warum nicht sowas?

von Εrnst B. (ernst)


Lesenswert?

Nur so als Idee: Kennst du den PCA9685 ?
Damit kannst du die PWM "outsourcen", dein µC braucht dann nur noch I²C.
Aber: den gibt's nicht THT/DIP.

von Markus R. (Gast)


Lesenswert?

Als DIP fällt mir der TLC5940 ein. gibts als DIP ist aber schon recht 
alt... 16 Kanäle, 12bit. Benötigt allerdings 2 externe Taktsignale vom 
uC

Beitrag #6269438 wurde vom Autor gelöscht.
von Nick H. (nick2502)


Lesenswert?

The Weasel schrieb:
> Es gibt doch eigene LED Treiber für sowas ...
> Die steuerst du übern Bus an und fertig.
>
> Warum nicht sowas?

Er soll ein controller für den Pc werden, mit einer selbst
Programmierten RGB Software. Außerdem geht es mir auch um den
Lerneffekt.

von Nick H. (nick2502)


Lesenswert?

Markus R. schrieb:
> Als DIP fällt mir der TLC5940 ein. gibts als DIP ist aber schon recht
> alt... 16 Kanäle, 12bit. Benötigt allerdings 2 externe Taktsignale vom
> uC

Das ist ja ein LED Treiber. Ich hatte leider vergessen zu sagen wie die 
RGB Strips angesteuert werden. Also das PWM signal geht in nen MOSFET 
der dadrauf denn ein von den 3 GRD vom RGB Streifen steuert und das 3x 
pro streifen also bei 3 Streifen 3x3 = 9; das heißt ich brauch min 9 PWM 
ausgänge um 3 Streifen anzusteuern. Wenn es sowas nicht gibt. Dann 
belasse ich mich auf 2 RGB und mache dann lieber mehr ARGB.

von The Weasel (Gast)


Lesenswert?

Nick H. schrieb:
> The Weasel schrieb:
>> Es gibt doch eigene LED Treiber für sowas ...
>> Die steuerst du übern Bus an und fertig.
>>
>> Warum nicht sowas?
>
> Er soll ein controller für den Pc werden, mit einer selbst
> Programmierten RGB Software. Außerdem geht es mir auch um den
> Lerneffekt.

Das schreit ja dann gerade nach Treibern. Hat dann sogar einen höheren 
Lerneffekt weil ein Bus dazu kommt und nicht nur stumpf direkt 
ansteuern.

Denke sowas spezielles wie 9 PWM an einem yc wirds so einfach nicht 
geben (Und wenn dann sicher nicht THT). Vor allem hätte ich noch nie 
gesehen dass sowas direkt angesteuert wird (egal ob LED oder sonstwas).

Wie planst du die Ansteuerung vom PC?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nick H. schrieb:
> Wenn es sowas nicht gibt.

Wenn du deine altertümliche Restriktion eines DIP-Gehäuses aufgibst, 
dann findest du im ARM-Bereich locker Controller, die ein Dutzend oder 
mehr PWM-Ausgänge in Hardware ansteuern können. (Habe gerade beim SAMD21 
geguckt: wenn ich richtig zähle, kann er bis zu 18 PWM-Kanäle treiben.)

Das alte Bastler-DIP ist einfach mal ein Auslaufmodell, gerade für 
Pinouts mit vielen Pins ist es doch völlig unpraktikabel.

von The Weasel (Gast)


Lesenswert?

Ich vergas zu erwähnen:

was hält dich auf einen solche LED Controller nicht zu missbrauchen?
Anstelle der LED einen Transistor und BOOM ..... du hast einen PWM 
Ausgang

von Εrnst B. (ernst)


Lesenswert?

Nick H. schrieb:
> Er soll ein controller für den Pc werden

Genau da bietet sich der PCA9685 doch an... für den gibt's fix und 
fertig einen Kernel-Treiber. "Nur noch" einen I²C Bus am PC rausführen 
oder hinzufügen, fertig. Rest geht im userspace.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Εrnst B. schrieb:
> Nur noch" einen I²C Bus am PC rausführen

Oder einen USB Stick als I²C Adapter verwenden.

von Nick H. (nick2502)


Lesenswert?

Jörg W. schrieb:
> Nick H. schrieb:
>> Wenn es sowas nicht gibt.
>
> Wenn du deine altertümliche Restriktion eines DIP-Gehäuses aufgibst,
> dann findest du im ARM-Bereich locker Controller, die ein Dutzend oder
> mehr PWM-Ausgänge in Hardware ansteuern können. (Habe gerade beim SAMD21
> geguckt: wenn ich richtig zähle, kann er bis zu 18 PWM-Kanäle treiben.)
>
> Das alte Bastler-DIP ist einfach mal ein Auslaufmodell, gerade für
> Pinouts mit vielen Pins ist es doch völlig unpraktikabel.

Oke danke. Ich hab mir ihn mal angeguckt nur bei den Lieferkosten mit 
20€ bei einem Anbieter der mir von google vorgeschlagen wurde bin ich 
dann ausgestiegen. Hab mich mal nach einem anderen IC geschaut und bin 
auf ATSAMD21G18A-AU gestoßen er hat 20 PWM Ausgänge nur bin ich mit den 
anderen Ausgängen nicht so vertraut (also die Namen) die bei der 
Beschreibung stand.
--> 
https://de.rs-online.com/web/p/mikrocontroller/1773799?cm_mmc=DE-PLA-DS3A-_-google-_-CSS_DE_DE_Halbleiter_Whoop-_-(DE:Whoop!)+Mikrocontroller-_-PRODUCT_GROUP&matchtype=&aud-826607888547:pla-300064715906&gclid=CjwKCAjw5Ij2BRBdEiwA0Frc9XZPtdpqhO970OSRop5EhIH-HSytF55C-2dznR5D-UC8KgAcZ20-phoCSqgQAvD_BwE&gclsrc=aw.ds

Wenn mir da jemand die Ausgänge erklären könnte währe ich sehr dankbar.

Da ich nicht soviel Erfahrung mit SMT hab. Hol ich mir ne SMT THT 
Adapter Platine löten und den Rest dann in THT machen.

von Nick H. (nick2502)


Lesenswert?

The Weasel schrieb:
> Ich vergas zu erwähnen:
>
> was hält dich auf einen solche LED Controller nicht zu missbrauchen?
> Anstelle der LED einen Transistor und BOOM ..... du hast einen PWM
> Ausgang

Warum sollte ich dies denn tuen?

von Alex D. (daum)


Lesenswert?

Nick H. schrieb:
> Wenn mir da jemand die Ausgänge erklären könnte währe ich sehr dankbar.

Lies dir am besten mal im Datenblatt die Kapitel zum Pinout und I/O 
Multiplexing (besonders die I/O Multiplexing Tabelle ist für dich 
interessant), den PORTs und den Timern durch.
So ein ATSAM µC ist natürlich deutlich komplizierter als ein ATMega, 
weil mehr Peripherie vorhanden ist.
Und vergiss nicht einen Programmer zu kaufen! (Atmel ICE, oder JLINK, 
der JLINK EDU Mini ist relativ günstig)

Alternativ zu ATSAM gäbe es noch viele andere Mikrocontroller mit ARM 
Kernen von anderen Herstellern, für STM32 gibts günstige Devboards und 
Programmer aus China. Und es gibt sicher auch PIC µC mit genügend PWM 
Kanälen, falls du schon Erfahrung mit PIC hast.

von Nick H. (nick2502)


Lesenswert?

Ein PWM Ausgang kann aber auch ohne Probleme als digital verwendet 
werden oder? Oder ich bleib dann doch lieber bei 2 RGB Ausgängen und THT 
da ich mir SMT irgendwie doch nicht zu traue.

von c-hater (Gast)


Lesenswert?

nick schrieb:

> Mir ist SOFTPWM schon
> bekannt nur möchte ich es möglichst umgehen um mehr Rechenleistung für
> die synchron Steuerung und Effekte zu haben.

Was, zum Teufel, für grandiose Effekte willst du denn da programmieren, 
dass dir die nach einer Soft-PWM verbleibende Rechenleistung auf einem 
gängigen AVR8 nicht ausreicht? Zumal für nur 9 Kanäle...

Arduino? Wetten!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Alex D. schrieb:
> Und vergiss nicht einen Programmer zu kaufen!

Kann man auch mit einem FT2232 machen, die ARM-Debug-Schnittstelle ist 
ja von ARM genormt.

Für den SAMD21 gibt's doch auch einen Arduino …

https://store.arduino.cc/arduino-zero

Schätzungsweise auch Clones.

von Alex D. (daum)


Lesenswert?

Nick H. schrieb:
> Ein PWM Ausgang kann aber auch ohne Probleme als digital verwendet
> werden oder? Oder ich bleib dann doch lieber bei 2 RGB Ausgängen und THT
> da ich mir SMT irgendwie doch nicht zu traue.

SMD löten ist nicht unbedingt so schwer, wenn du Flussmittel und einen 
halbwegs guten Lötkolben hast.

Die bei weitem größere Schwierigkeit wäre der Umstieg auf eine andere 
(und kompliziertere) Mikrocontroller Familie, ob du dir das antun willst 
ist deine Entscheidung. Der Lerneffekt wäre sicher größer, aber 
natürlich auch der Zeitaufwand.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Guck Dir das Board mal an, hat USB schon drauf, reichlich PWM Kanäle und 
kostet nur 5 Euro.
http://stefanfrings.de/stm32/stm32f3.html#stm32f3mini

Der Shop ist offenbar gerade down, versuche es später nochmal. Die 
nehmen jedenfalls weniger als 5€ Versandkosten.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nick H. schrieb:
> Ein PWM Ausgang kann aber auch ohne Probleme als digital verwendet
> werden oder?

PWM ist digital. ;-)

Ja, natürlich sind all diese Sonderformen Alternativbelegungen für die 
Pins, die man anstatt der normalen PIO-Funktion benutzen kann.

> Oder ich bleib dann doch lieber bei 2 RGB Ausgängen und THT
> da ich mir SMT irgendwie doch nicht zu traue.

Was zum Geier™ soll denn an SMD so schwer sein, dass man sich das nicht 
zutrauen sollte? Mit Ü50 braucht man halt irgendein optisches 
Hilfsmittel, aber sonst?

von Nick H. (nick2502)


Lesenswert?

c-hater schrieb:
> nick schrieb:
>
>> Mir ist SOFTPWM schon
>> bekannt nur möchte ich es möglichst umgehen um mehr Rechenleistung für
>> die synchron Steuerung und Effekte zu haben.
>
> Was, zum Teufel, für grandiose Effekte willst du denn da programmieren,
> dass dir die nach einer Soft-PWM verbleibende Rechenleistung auf einem
> gängigen AVR8 nicht ausreicht? Zumal für nur 9 Kanäle...
>
> Arduino? Wetten!

1. Es währen nur 3 Kanäle die über SoftPWM gesteuert werden müssten.
2. Nein kein Arduino sondern direkt über nen Mikrocontroller IC.

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Nick H. schrieb:

> 1. Es währen nur 3 Kanäle die über SoftPWM gesteuert werden müssten.
> 2. Nein kein Arduino sondern direkt über nen Mikrocontroller IC.

Warum kleckern, wenn man klotzen kann. Wenn man schonmal eine SoftPWM 
umsetzt, kann man es auch gleich richtig machen. Dann stellt man nämlich 
fest, dass sehr viel Code redundant ist, d.h.: der Rechenzeitaufwand 
steigt nicht linear mit der Anzahl der Kanäle, sondern sehr viel 
langsamer.

Konkret mal die Eigenschaften einer konkreten Inkarnation meiner 
Umsetzung (mit der ich etliche olle DIP-Mega16 und Mega32 vor der 
Entsorgung gerettet habe):

Systemtakt 7.3728 MHz (per Autobaud via OSCCAL gezogen)

Bis zu 32 PWM-Kanäle (da man den Scheiß aber meist irgendwie steuern 
möchte, sind es praktisch i.d.R. nur 30 = 10 RGB-LEDs).
17Bit(+1Digit)-PWM. D.h.: zwischen komplett aus und komplett an ist 
alles möglich. Es gibt also (theoretisch) 131073  verschiedene 
Helligkeitswerte. Die praktische Ansteuerung benutzt allerdings nur 256 
dieser Werte, sprich: 8Bit-Steuerung mit eingebautem Gamma-Mapping. Die 
Gamma-Kurve ist natürlich über eine Tabelle an die LEDs bzw. die 
Anwendung anpassbar.

Das PWM-Bit0 mit der geringsten Signifikanz (pur nur zu sehen bei 
Steuerwert=1) flimmert mit ca. 56Hz. Die höheren PWM-Bits haben eine 
höhere Framerate entsprechend ihrer binären Wertigkeit. D.h.: PWM-Bit1 
(allein immer noch sehr, sehr dunkel, Duty 1:3686400) hat schon 112,5Hz 
usw. bis hin PWM-Bit 16 mit Duty 1:2 und einer Framerate von 14,4kHz.

Kurzfassung: auch kleine Sensibelchen sehen da (ausser bei minimaler, 
kaum erkennbarer Helligkeit) nix flimmern, jedenfalls nicht im 
Doppelblindtest...

Und es bleibt bei dieser Inkarnation nach Abzug des Rechenzeitaufwands
für die PWM noch weit mehr als 75% der Rechenzeit für die eigentliche 
Anwendung. Sprich: Die rechnet in etwa so schnell, als liefe sie auf 
einem AVR8 mit gut 5,6 Mhz.

Erkennst du jetzt, warum es so verwirrend für mich ist, dass du Probleme 
mit der Rechenzeit für irgendwelche Effekte siehst?


Es gibt übrigens Varianten dieses Codes für Controller mit weniger als 
vier Ports oder deutlich höherem Systemtakt, die dann nochmal einen 
draufsetzen bezüglich der Eigenschaften der PWM. Und auch Varianten, die 
auch konkurrierendes Bitbanging an einzelnen Pins der von der PWM 
benutzten Ports erlauben (was dann allerdings die PWM-Eigenschaften 
etwas verschlechtert, zumindest bezüglich der verbleibenden Rechenzeit).

Es geht also so Einiges, wenn man programmieren kann und dies dann 
einfach auch tut...

von Stefan ⛄ F. (stefanus)


Lesenswert?

Die Rechenzeit kann kein Problem sein. Auf einem AtTiny2313 erzeuge ich 
mit einem Timer und Software 10 PWM Signale für Modellbau Servos und 
kommuniziere (auch halb in Software) per I²C mit dem Host. Das alles mit 
1 MHz - ohne großartig über Performance nachgedacht zu haben.

: Bearbeitet durch User
von Uwe D. (monkye)


Lesenswert?

Und wenn das Löten von SMD das Thema ist, dann kaufst Du ein fertiges 
Modul mit PCA9685. Und Du kannst Dich vollständig auf Deine gewohnte 
Umgebung konzentrieren, Anbindung per I2C. Simpler gehts fast nicht 
mehr.

von Sebastian S. (amateur)


Lesenswert?

Was spricht eigentlich dagegen mehrere µC zu nehmen?
Wenn es sowieso um TH-Bausteine geht, sollte Platz nicht das 
herausragende Problem sein. Auch kosten die Teile nicht die Welt.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Stefan ⛄ F. schrieb:
> Die Rechenzeit kann kein Problem sein.

Je nachdem, was man damit machen will, kann das bei LEDs fummeliger sein 
als bei einem Modellbauservo. Ein Jitter könnte sich dort als 
unangenehmes Flackern bemerkbar machen, während das deinen Servo kaum 
stört.

von c-hater (Gast)


Lesenswert?

Jörg W. schrieb:

> Je nachdem, was man damit machen will, kann das bei LEDs fummeliger sein
> als bei einem Modellbauservo. Ein Jitter könnte sich dort als
> unangenehmes Flackern bemerkbar machen

Jepp. Wenn man's sinnvoll programmiert (wie etwa meine Lösung) sind 
sogar variable ISR-Latenzen in der Größenordnung von knapp einer 
"Zeitscheibe" erlaubt, weil die kritischen Timings eingebettet sind in 
komplette Zeitscheiben der am wenigsten kritischen.

Oder konkret ausgedrückt: selbst eine volldümmliche C-ISR mit knapp 256 
Takten Rechenzeitbedarf würde die PWM noch nicht sichtbar stören können, 
zumindest solange sie nicht allzu häufig auftritt, also seltener als 
zwei mal im kompletten PWM-Cycle...

Tja, es hat schon Vorteile, wenn man die volle Kontrolle und die volle 
Übersicht auch über das Timing hat. Dann kann man sogar solche Garantien 
geben...

von Minimalist (Gast)


Lesenswert?

Sebastian S. schrieb:
> Was spricht eigentlich dagegen mehrere µC zu nehmen?
> Wenn es sowieso um TH-Bausteine geht, sollte Platz nicht das
> herausragende Problem sein. Auch kosten die Teile nicht die Welt.

Gerade WENN es ihm um einen Lerneffekt geht, würde ich dringend(!) zu 
SMD raten. Zum einen möchte man sich ja mit aktueller µC Hardware 
vertraut machen. Was nützt es, da jetzt auf Teufel komm raus 3 ATMEGA8 
drauf zu löten, wenn ein aktueller µC das mit weniger 
Programmieraufwand, weitaus günstiger hinbekommt.
Die ATMEGAx08 Serie z.B. hat 9 PWM Channels, im wirklich noch sehr gut 
zu lötenden SOIC Package. Da braucht man echt keine Angst vor zu haben. 
Nur schwer beschaffbar.

nick schrieb:
> Mir ist SOFTPWM schon
> bekannt nur möchte ich es möglichst umgehen um mehr Rechenleistung für
> die synchron Steuerung und Effekte zu haben.

Dabei muss man immer im Hinterkopf behalten, dass 8x SoftPWM nicht 8x 
die CPU Zeit von 1x SoftPWM brauchen. Auch synchrone SoftPWM ist keine 
große Herausforderung, da man ja immer ein ganzes Byte ins 
Ausgangsregister schreibt, und der µC (zumindest die gängigen) damit bis 
zu 8 Pins gleichzeitig setzen kann.
Und für nicht genutzte CPU-Cycles gibts kein Geld zurück...

Schau dir nur zum Spass mal statt PWM das Verfahren der 
Bitwinkelmodulation(BAM) an, ich finde es immer wieder faszinierend WIE 
wenig CPU SoftPWM brauchen kann.

Hier mal ein Beispiel von der Forumslegende Peter Dannegger:
Beitrag "AVR: Fast-PWM (BAM) 12 Bit für 8 Kanäle"

8 Kanäle bei 12 Bit @ 2kHz BAM auf einem 8MHz AVR: 9% CPU Load, und die 
8 Kanäle sind synchron.
Bei 8 Bit Auflösung wirds dann wahlweise schneller (16x) -> 32kHz 
Refreshrate, oder noch weniger Zeitkritisch. Erst recht mit schnellerem 
Basistakt von z.B. 20Mhz.

von W.S. (Gast)


Lesenswert?

nick schrieb:
> Und zwar suche ich ein Mikrocontroller, der in THT Bauform ist, der min
> 9 PWM ausgänge hat und dazu noch min 6 digital Ausgänge.
>
> Möchte ein RGB/ARGB controller bauen und brauche noch ein passenden
> controller für die 3  RGB / 6 ARGB ausgänge.

Und da kommst du auf 9 mal PWM? Das ist doch dasselbe, bis auf die 
Adressierbarkeit bei ARGB, was du mit PWM ja ohnehin nicht kannst, denn 
dafür müßtest du deine ARGB-Lichtstreifen digital ansteuern. Du meinst 
vermutlich 3 Stück RGB-LED's, die du separat ansteuern willst.

Nick H. schrieb:
> Er soll ein controller für den Pc werden, mit einer selbst
> Programmierten RGB Software. Außerdem geht es mir auch um den
> Lerneffekt.

OK, das mit dem Lerneffekt verstehe ich. Aber für den PC? Du meinst 
vermutlich ne Beleuchtung für deinen Gaming-PC und nicht ne 
Einsteck-Karte (PCI oder so).

Also, das mit den 9x PWM halte ich für eine blöde Idee. Ebenso halte ich 
es für ausgesprochen unzeitgemäß, hier noch auf THT Bauteile setzen zu 
wollen.

Leg dir mal ein paar AD8403 zu und nimm zu deren Ansteuerung irgend 
einen beliebigen µC. Mit je 4x Digitalpotis zu je 8 Bit bist du für 
Beleuchtungszwecke allemal ausreichend bedient. Und mit 3x AD8403 kannst 
du sogar 4 RGB-LED's separat ansteuern.

W.S.

von W.S. (Gast)


Lesenswert?

Nachtrag:
Und wenn man was lernen will und sich vor ner analogen Ansteuerung der 
LED's scheut, dann wären 9 Stück der billigen µC von Padauk (zu je ein 
paar Cent, wofür man nicht mal nen Transistor im TO220 kriegt) genau das 
Richtige.

W.S.

von Stefan ⛄ F. (stefanus)


Lesenswert?

W.S. schrieb:
> dann wären 9 Stück der billigen µC von Padauk genau das Richtige.

Waren die nicht (besonders für Anfänger) schwierig, da schlecht 
dokumentiert? Ich meine mich an eine entsprechende Diskussion zu 
erinnern.

von Philipp Klaus K. (Firma: Albert-Ludwigs-Universität) (pkk)


Lesenswert?

W.S. schrieb:
> Nachtrag:
> Und wenn man was lernen will und sich vor ner analogen Ansteuerung der
> LED's scheut, dann wären 9 Stück der billigen µC von Padauk (zu je ein
> paar Cent, wofür man nicht mal nen Transistor im TO220 kriegt) genau das
> Richtige.
>
> W.S.

Alternativ:

Man nimmt statt 9 der billigen "0.03$-µC" PMS150C mit 1x8-bit PWM lieber 
3 der etwa 70 % teureren Padauk PMS152, denn letztere haben 4 
PWM-Generatoren (3x11-bit, 1x8-bit). Oder den 80% teureren PMS154C mit 5 
(3x11-bit, 2x8-bit).

Und dann gibt es auch noch den "0.01€-µC" PMS15A, mit nur einem 8-bit 
PWM, der etwas aufwendiger zu beschaffen ist.

von W.S. (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Waren die nicht (besonders für Anfänger) schwierig, da schlecht
> dokumentiert?

Nö. Alle wirklich wichtigen Dinge sind seit letztem Jahr beisammen.

Es war lediglich so, daß die allerbilligsten Typen OTP sind. Aber es 
gibt auch wieder löschbare Flash-Typen, mit denen man sich nicht schwarz 
ärgern muß, wenn was nicht so klappt wie gedacht.
Siehe: http://www.padauk.com.tw

Vom Hersteller gibt es auch eine kleine IDE, die man zum Programmieren 
in einer Art Quasi-Minimal-C benutzen kann. Allerdings sind die 
tatsächlichen Brenn-Adapter relativ teuer, WIMRE um die $90. 
Wohlgemerkt: mit diesen 90 Dollar und den bei Padauk herunterladbaren 
PC-Programmen kann man die Dinger programmieren und brennen.

Ist ja OK so, jedoch reizt es natürlich, das ganze auf freier Basis 
nachzuvollziehen. Das Problem besteht eher darin, daß es zwar ein 
Nachbau-Projekt für den Brenner gibt, dieses jedoch ausgesprochen lausig 
gemacht ist.
https://github.com/free-pdk/easy-pdk-programmer-software
https://github.com/free-pdk/easy-pdk-programmer-hardware

Die Platinen des Adapters haben schlimme Footprints und exotische BE.
Die Schaltung ist eigentümlich (ich würde sagen stümperhaft).
Hab ein paar Stück davon da, teilbestückt und ich überleg mir derzeit, 
ob ich die unangespitzt in die Tonne werfe.
Die µC-Firmware ist unstrukturiert, enthält aber die Algorithmen (!!!).
Und sie ist mal wieder mit 3 MB Drivers (CMSIS+STM HAL), 100 K 
Middlewares usw. gemacht - und somit schlichtweg unportierbar (from 
scratch ist einfacher)
Und die PC-Software ist ein Kommandozeilenprogramm, das lediglich alles 
bloß durchreicht.
Dazu kommt noch, daß die Leute bei eevblog sich offenbar ausschließlich 
auf den SDCC konzentrieren. Ein passabler Crossassembler fehlt noch 
(Stand Sep2019).

Kurzum: Die Leute, die den SDCC benutzen wollen und sich einen fertigen 
"easy-pdk-programmer" zulegen und mit dessen SW zufrieden sind, die 
können damit loslegen. Aus meiner Sicht hingegen wäre noch eine Menge zu 
tun.

W.S.

von W.S. (Gast)


Lesenswert?

Philipp Klaus K. schrieb:
> Alternativ:

Jaja, da gibt es noch ganz andere Alternativen, z.B. N76E003 von 
Nuvoton, ein 16 MHz 1 Takt 8051er für stolze 24 Ct bei 10 Stück. Bei 
denen ist verfügbare Infrastruktur noch viel besser.

W.S.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

W.S. schrieb:
> für stolze 24 Ct

Warum wird eigentlich im Rahmen von irgendwelchen Bastelprojekten, bei 
denen es nie ein Problem ist, endlos Arbeits- (naja Frei-)Zeit zu 
investieren, über Centpreise bei einem Controller gefeilscht?

Ob der Controller nun 0,05, 0,24 oder 3,50 kostet, wäre mir selbst bei 
der Verwendung von 10 oder 20 Stück doch pupsegal. Jeglicher 
Versandaufwand, egal ob nun aus Sande, Pförring oder Zhenzhen, 
übersteigt den Preis doch ohnehin um ein Vielfaches, und wie 
geschrieben, über die investierte Zeit diskutieren wir gleich gar nicht.

Wenn man als Industriekunde einige 1000 Stück davon nimmt, sieht die 
Welt sicher anders aus. (Selbst bei den 100 oder so Stück, die wir in 
der Firma in den Serien letzten Endes verbauen, dominieren alles in 
allem nicht die Materialkosten.)

von Dave (Gast)


Lesenswert?

Renesas RX Family haben fast alle soviele PWMs auch schon in kleinen 
Gehäusen für rund 2-3 Euro

von Nick H. (nick2502)


Lesenswert?

Sorry aber ihr habt mich als Anfänger jetzt leicht überfordert.

Hier mal ein paar Antworten.
1 Der Controller ist wirklich ein reines Spaß Projekt und der 
Zeitaufwand ist mir daher relativ egal.

2. Es ist nicht im Sinne einer PCI-E karte sondern einer Box die via USB 
an den Pc verbunden ist. Und ich hab ne RGB Steuerung übers MB, will 
eben mal kapieren wie sowas funktioniert und mal eine eigene Software 
dazu programmieren. Ist Thema für ne andere Diskussion, mir ist klar das 
ich da nen Treiber schreiben muss.

3. Das mit Softpwm hatte ich gelesen aber wenn ihr sagt das es nicht so 
viel Leistung zieht ist ja gut, dann kann ich auch darauf zurück 
greifen.

4. Was SMD oder SMT(SMD sind die Bauteile und SMT die Löttechnik oder?) 
angeht, ich hab keinerlei SMD Bauteile zuhause und hab kein bock auf 10 
Wochen Lieferzeit aus fern-ost.

5. Mein Platz ist ca so groß wie eine 2,5“ HDD und damit groß genug für 
tht.

6. Ich hatte als THT(oder eben DIP) Mikroprozessor nen atmega328p da er 
eben nur 6 PWM Outputs hat und ich gern 3 RGB Streifen steuern würde 
brauchte ich ein mit 9 PWM Ausgängen. (Hatte mich bei den RGB Ausgängen 
, für den Controller, auf das Video gestützt: 
https://youtu.be/CyzynCrnoOE )

Da der atmega328p eben mal nur 13 Ausgänge hat würde ich auch eben 
6PWM+3mit Softpwm gesteuert nehmen und dann eben nur noch 4 Digitals 
Outputs für die ARGB Ausgänge nehmen.

Also nochmal übersichtlicher:

- Möchte möglichst in THT(DIP) bauen.
- Möglich 9 PWM Ausgänge(jetzt auch mit    Softpwm)
- dazu 4 digitals für die ARGB Ausgänge am Controller
- Zeitaufwand ist mir relativ egal denn ich bin Schüler und hab damit ab 
Mittag Zeit also am Tag ca 4-5 Stunde wegen HAs. Dazu kommt noch eben 
die derzeitige Situation.

- Ich bin mit den SMD(SMT) Mikroprozessoren noch nicht so vertraut.

Ich hoffe ich konnte noch ein paar Fragen beantworten und wir können 
jetzt besser eine Lösung finden.

von W.S. (Gast)


Lesenswert?

Jörg W. schrieb:
> Ob der Controller nun 0,05, 0,24 oder 3,50 kostet, wäre mir selbst bei
> der Verwendung von 10 oder 20 Stück doch pupsegal.

Ja, dir wäre das egal. Aber vielen anderen Leuten ist das eben nicht 
egal, weil sie eben etwas mehr auf ihr Geld achten müssen.

Wenn da der TO für jeden seiner 9 Kanäle einen solchen Controller 
anschließt, kommt da eben die Frage auf "Kostet mich das nun 45 Ct oder 
2.16€ oder gar 31.50€" - merkst du das jetzt?

Die Alternative wäre irgend ein eher genauso exotischer Chip mit 9x PWM, 
den es auch bloß nicht umsonst gibt.

Gerade wenn man dann seine kleine LP mit LED und µC bei JLCBCB fertigen 
läßt und dabei gleich von den mit JLCPCB verbandelten LCSC die 
Controller dazu ordert, dann halten sich auch die Bastel-Kosten in 
Grenzen.

Jörg W. schrieb:
> (Selbst bei den 100 oder so Stück, die wir in
> der Firma in den Serien letzten Endes verbauen, dominieren alles in
> allem nicht die Materialkosten.)

Du Scherzbold! Ich habe schon immer drauf achten müssen, die 
Fertigungskosten niedrig zu halten. Ein Ereignis, was nun schon so etwa 
5 Jahre zurückliegt, kommt mir da als Gegenstück in den Sinn: Ich war 
bei einer unserer ehrenwerten Berliner Designfirmen (eben wegen eines 
Designs) und so im Gespräch meinte mein Gegenüber "nun bei uns in 
Deutschland ist der Kostendruck ja doch recht überschaubar, da könnten 
wir..." - das war's dann mit dieser Firma. Knalltüten! Ich sag's mal so: 
die Berlin-Subventionen (als die Mauer noch stand) und Subventionen 
überhaupt sind ne Art Rauschgift für die Firmen, die sich auf sowas 
einlassen. Gilt auch für Branchen wie Medizintechnik, weil schlußendlich 
deren Umsatz aus dem Steuer- oder Kassen-Säckel generiert wird. Sind die 
erstmal dran gewöhnt, können sie ohne die Subvention nicht mehr leben. 
Dein Satz klingt mir verdächtig nach sowas.

So, wieder zur Sache:
Elende Nichtskönner, die dennoch sich damit brüsten wollen, auch die 
Mikrocontroller beherrschen zu können, gibt es zuhauf. Die greifen 
grundsätzlich zum dicksten Silizium, schreien dann nach einer IDE und 
einer fertigen LP mit Brenner gleich drauf und einer möglichst 100%igen 
vorgekauten Softwareunterstützung und versuchen dann als Allererstes, 
damit eine Mondrakete zu programmieren - selbstverständlich nur in der 
einzigen Programmiersprache, die sie mal gelernt haben.

Aber es gibt auch Leute, die eben NICHT bloß wie das Leydenfrostsche 
Phänomen über der Sache wabern wollen, sondern tatsächlich etwas lernen 
und verstehen wollen und denen auch ein kleines System - so es der Sache 
ohne Verrenkungen gerecht werden kann -  nicht als ihrer unwürdig 
erscheint.

Und ich meine, gerade diese kleinen und eher wenig bei uns bekannten 
chinesischen µC verdienen es, auch mit einer hierzulande benutzbaren 
offenen Infrastruktur bedacht zu werden. Von den Chinesen kommt da 
garantiert nichts, die sind sich selbst genüge und sie lieben offenbar 
die Geheimniskrämerei - selbst dort, wo sie kontraproduktiv ist.

Im Grunde denke ich da weiter: Derzeit rennen alle hinter dem Cortex 
hinterher. Das ist verständlich, die Chips sind ja auch gut - aber auf 
lange Sicht ist eine derartige Monokultur wie ALLE Monokulturen eben 
nicht gut. Es ist der Weg in die Inzucht (Mit etwas Zynismus kann man 
die ersten Anzeichen bereits jetzt und hier in diesem Forum sehen).

Aber um die Sache hier zu verbessern, muß man es eben anpacken - und 
wenn schon jemand ein dazu wirklich passendes Vorhaben im Sinne hat wie 
der TO, dann macht das Sinn, sich damit zu befassen. Vielleicht kommt 
ein besserer Brenner oder ein Cross-Assembler oder sonstwie ein 
Fortschritt dabei heraus? Wer weiß? Ich will's hoffen.

W.S.

von Nick H. (nick2502)


Lesenswert?

Was ist ein TO?

von W.S. (Gast)


Lesenswert?

Nick H. schrieb:
> Zeitaufwand ist mir relativ egal denn ich bin Schüler und hab damit ab
> Mittag Zeit also am Tag ca 4-5 Stunde wegen HAs.

OK, dann sind einige der aufgezeigten Ideen für dich eher weniger 
zutreffend, weil sie dich derzeit noch überfordern - Schule ist 
wichtiger!

Eine nächste Sache wäre das Finanzielle, du hast ja noch kein eigenes 
Einkommen.

Aber eines ist auch klar: Du wirst - egal was du dir an Elektronik 
ausdenkst - immer eine Leiterplatte dafür benötigen, denn alles Andere 
läuft auf einen elenden Draht-Igel hinaus und ergibt kein wirkliches 
Gerät. Man könnte sich jetzt herausreden mit Streifen-Leiterplatte oder 
deren Schwester der "NurLötaugenLeiterplatte", aber das wird mindestens 
genauso eklig.

Also ist auch das Konstruieren einer Leiterplatte für dich im Programm. 
Und wenn schon, dann sind auch SMD-Bauteile angesagt - sowohl von der 
Verfügbarkeit her als auch von der Leiterplattenfläche als auch vom 
Preis her. Da ist das Bestellen einer Art Sammelbuch mit SMD-BE bei Ali 
oder Ebay noch die kleinere Übung.
Sowas z.B.:
https://www.ebay.de/itm/4250pcs-170-Werte-0805-1-SMD-SMT-Chip-Widerstande-Sortiment-Musterbuch-DE/164154276715

Abgesehen davon läuft das Ganze auch auf ordentliche Ausrüstung hinaus, 
vor allem ein ordentlicher Lötkolben/Lötstation.

W.S.

von W.S. (Gast)


Lesenswert?

Nick H. schrieb:
> Was ist ein TO?

Der diesen Thread eröffnet hat. Du.

W.S.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

W.S. schrieb:
> Du Scherzbold!

Nee.

Solange eine meiner Arbeitsstunden mehr kostet als selbst ein großer 
Controller (viel größer als die hier besprochenen), spielt es in der 
100er Stückzahl schlicht keine Rolle, wieviel der Controller kostet. 
Natürlich nicht "koste es was es wolle", aber wenn ein mehr an Speicher 
in dem Teil oder eben ein paar vorgefertigte Kommunikationskanäle zwei 
Tage Arbeit später einsparen, weil man nicht irgendwelchen Code von der 
Pike auf neu dafür erfinden muss, dann sind die Mehrkosten wett gemacht.

Insofern ist es mir egal, ob es Controller für 10 Cent gibt … auch 
privat (in meiner Freizeit) arbeite ich mich dann lieber in VHDL und 
FPGAs ein, statt für ein paar eingesparte Cent nun völlig andere 
Toolchains zum Laufen zu bringen. Da decken die gut vorhandenen und 
ausreichend mit Tools versorgten AVRs und ARMs komplett meinen Bedarf.

von Nick H. (nick2502)


Lesenswert?

Antwort auf W.S:

Hab ne Lötstation, Dritte Hand, Pinzetten und so :)

Eine Platine wollte ich dann sowieso designen und bestellen(PCBWAY 
etc.).

Bei den Budget hast du schon recht aber deshalb THT da man da viele 
Teile einzeln kaufen kann und nicht nur in größern Sammlungen für um 
20/30€

von Nick H. (nick2502)


Lesenswert?

Da ich noch Anfänger bin hätte ich das ganze erstmal auf einem 
Breadboard gebaut und dann die Platine design um Fehler zu minimieren.

von Alex D. (daum)


Lesenswert?

Nick H. schrieb:
> Eine Platine wollte ich dann sowieso designen und bestellen(PCBWAY
> etc.).
>
> Bei den Budget hast du schon recht aber deshalb THT da man da viele
> Teile einzeln kaufen kann und nicht nur in größern Sammlungen für um
> 20/30€

Wenn du eine Platine bestellst, kannst du ja mal zu JLCPCB schauen, die 
sind recht günstig, allerdings dauert der Versand etwas länger, wenn man 
nicht für DHL Express zahlen will.
LCSC ist auch noch eine gute Bezugsquelle für alle möglichen Bauteile in 
kleinen Stückzahlen und kleine Preise, auch Mikrocontroller.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nick H. schrieb:
> THT da man da viele Teile einzeln kaufen kann

Diese Begründung erscheint nicht wirklich schlüssig.

Selbstverfreilich kannst du auch SMD-Bauteile als Einzelstücke kaufen, 
wenn du bereit bist denjenigen, der sie für dich abschneidet und 
verpackt, dafür zu bezahlen. Entgegen anderslautenden Gerüchten kann man 
SMD-Bauteile nicht nur in Fernost mit langen Lieferzeiten kaufen, 
sondern auch bei europäischen Versandhändlern. Je nach Händler bekommst 
du auch Mengenrabatte. Die häufig benötigten 100-nF-Kondensatoren 
(Abblock-Cs) würde ich beispielsweise nicht unter 100 Stück auf einmal 
kaufen – in der gut mit der Hand lötbaren Größe 0805 würde Reichelt 
dafür dann gerade mal EUR 1,30 nehmen. Aber wenn du willst, tüten sie 
dir auch tatsächlich drei Stück für insgesamt 9 Cent ein.

Das nur als Konter zu deinen "Sammlungen für um 20/30€". Entscheiden 
musst du das für dich selbst, aber der THT-Zug fällt halt immer weiter 
zurück. Du kannst dir dann weiterhin die Schlusslichter des SMD-Zugs 
ansehen und dich selbst bedauern, warum deine Lokomotive den nicht mehr 
einholen wird, oder du entscheidest dich für einen Umstieg. Da der 
Vergleich hinkt: im Gegensatz zu den Zügen brauchst du nicht vollständig 
umsteigen, sondern kannst in beiden drin sitzen.

von Nick H. (nick2502)


Lesenswert?

Mir ist schon klar das THT immer weiter zurück fällt und es auch keine 
moderne Technik ist. Da ich aber bei dem Controller nicht viel verbaue, 
mal 1 2 Wiederstände und nen Kondensator ist das ja für dieses Projekt 
eher unsinnhaft. Bei größeren Projekten die deutlich komplizierter sind 
komm ich ja um SMD sowieso nicht drum rum.

Der Controller besteht im eigentlichen Sinne eben nur aus nen 
Mikrocontroller und einem USB zu I2C Programmer.

Ich werde dann eben noch nen paar Dioden zum Schutz des ICs Verbauen 
aber sonst ja nicht viel eventuell noch ein paar Kondensatoren zum 
glätten der Spannung aber da es ja eh über Sata von nem PC Netzteil 
versorgt wird sollte die Spannung ja relativ konstant sein.

von Nick H. (nick2502)


Lesenswert?

Ich glaub ich nehm nen atmega328p mit meiner Lösung. Werd jetzt aber 
erstmal auf tht setzten und dann bei anderen Projekten auf smd.

Aber danke für eure Ideen :)

Versuche jetzt mit SMD Anzufangen.

von Minimalist (Gast)


Lesenswert?

Nick H. schrieb:
> - Möchte möglichst in THT(DIP) bauen.
> - Möglich 9 PWM Ausgänge(jetzt auch mit    Softpwm)
> - dazu 4 digitals für die ARGB Ausgänge am Controller
> - Zeitaufwand ist mir relativ egal denn ich bin Schüler und hab damit ab
> Mittag Zeit also am Tag ca 4-5 Stunde wegen HAs.

Ok, dann ist der ATMega328 eine gute Wahl, weil SEHR weit verbreitet, 
daher findest du bei Problemen leicht Unterstützung und Antworten in 
Foren. Unterschätz das als Schüler nicht!

Die 9 PWM Kanäle sind mit BAM kein Problem. Mich wundern immer noch 
diese ARGB-Kanäle. Was soll da genau dran? Ich verstehe unter digitalen 
ARGB-LEDs immer solche adressierbaren LED streifen wie z.B. die 
bekannten WS2812b etc.
Nur dann braucht es keine 4 Kanäle, das ist ja grad der Witz an den 
adressierbaren LED. Oder wie viele 100te LED sollen da dran?

Wenn du diese noch nicht gekauft hast, rate ich dir dringend, welche mit 
SPI Interface statt WS2812b zu kaufen. Für die WS2812b gibt es zwar 
haufenweise mehr oder weniger gute Bibliotheken, aber die Ansteuerung 
über die Hardware-SPI vom ATMEGA nochmal deutlich einfacher, schneller 
und stabiler. Und viel wichtiger: Im Gegensatz zu den WS2812b viel 
weniger zeitkritisch, da die SPI einen Clock mitliefert. Der Mega328P 
hat neben der Hardware SPI noch einen USART, der im SPI mode eine zweite 
Hardware-SPI zu Verfügung stellt. Wenns also wirklich eng werden sollte, 
hast du 2 Hardware SPIs zur Verfügung. Damit kann man eine ganze Menge 
APA102C, oder SK9822 LEDs ansteuern. Eher geht dir da der RAM aus.

von Nick H. (nick2502)


Lesenswert?

Danke. Daher das es ein Controller wird sollen gibt es eben 3 unabhängig 
von einander ansteuerbare RGB Ausgänge und dann eben das gleiche 4 mal 
für ARGB also sind dir 4 letzten digitalen Pins für 4 verschiedene 
Ausgänge. Wenn man zum Beispiel (da es ein Controller wird den man mit 
dem Pc steuert) 4 ARGB Lüfter ansteuern will braucht man dazu eben 4 
Ausgänge. Da es dann eben 4 nicht verbunde „Streifen“ sind.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.