Forum: Mikrocontroller und Digitale Elektronik Suche kleines, schnelles PWM-Bauteil


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 Obba (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Moinsen zusammen,

ich nutze im Moment einen Arduino DUE um ein paar PWM Signale zu 
erzeugen. Der DUE ist ja so ein riesen Klotz, und mehr als 4 PWM's und 
zwei Leitungen für I2C brauchts für das Projekt nicht. Zusammen mit VCC 
und GND sind das 8 Pins. Könnte man super in einem DIL-8 unterbringen! 
Habe bis jetzt aber noch nichts vergleichbares gefunden... Vielleicht 
gibt's ja nen passenden µC?

Am besten wäre so ein DIP-8:

VCC 1 +--+ 8 PWM_4
SDA 2 |  | 7 PWM_3
SCL 3 |  | 6 PWM_2
GND 4 +--+ 5 PWM_1

Wäre schön, wenn das PWM mit dem des DUE vergleichbar ist, also 16 Bit 
bei ~1,3kHz. 12 Bit wären ein Kompromiss.

Jemand ne Idee?

von Peter II (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Obba schrieb:
> Jemand ne Idee?

tiny25/45/85 sollte möglich sein.

von Horst (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Nicht ganz 8 Pin aber doch deutlich kleiner als ein DUE:
Z.B. der PCA9685 macht 16x 12Bit PWM zwischen 24 und 1526 Hz.

von Huh (Gast)


Bewertung
-2 lesenswert
nicht lesenswert
Horst schrieb:
> Nicht ganz 8 Pin aber doch deutlich kleiner als ein DUE:
> Z.B. der PCA9685 macht 16x 12Bit PWM zwischen 24 und 1526 Hz.

Knapp daneben ist auch vorbei :-)

Statt 8 Pins: 28 Pins
Statt 2 PWM's: 16 PWM's

Fährst du immer mit dem Tieflader zum Brötchen-Holen? :-)

von Johannes S. (jojos)


Bewertung
0 lesenswert
nicht lesenswert
LPC810, ist allerdings ein 32 Bit Cortex-M0, nix AVR.

von Obba (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Die Tinys gehen nur bis 20 MHz, und das auch nur mit externem 
Oszillator... Bedeutet mehr Bauteile und langsam.

Der LED Controller von NXP ist auf jeden Fall kleiner als der DUE, aber 
halt immer noch overkill. Außerdem ist TSSOP schon sehr friemelig für 
Heimanwendung. Mit einem Adapterboard wirds dann auch wieder klobig. Ich 
mag die DIL Gehäuse, weil sie so robust sind und through-hole Löten viel 
einfacher ist als SMD.

Gibt's vielleicht sowas wie die Attinys mit mehr Takt?

von Huh (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Obba schrieb:
> Die Tinys gehen nur bis 20 MHz, und das auch nur mit externem
> Oszillator... Bedeutet mehr Bauteile und langsam.

Du willst nach eigenen Aussagen lediglich 2 PWM-Kanäle mit 1,3kHz. Da 
ist dir ein µC mit 20MHz zu langsam? Magst du das mal auflösen?

von Johannes S. (jojos)


Bewertung
0 lesenswert
nicht lesenswert
Obba schrieb:
> Außerdem ist TSSOP schon sehr friemelig

Deshalb der 810er, den gibts in DIP8, kostet so etwa 1€ und die Timer 
sind auch 32 Bit.

von Toxic (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Obba schrieb:
> Jemand ne Idee?

Probier dies:
http://pic-microcontroller.com/tools/microchip-advanced-parts-selector-tool/

Gib an was du benoetigst und PICs bzw. Atmels werden gelistet.

von Manfred (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Obba schrieb:
> ich nutze im Moment einen Arduino DUE um ein paar PWM Signale zu
> erzeugen. Der DUE ist ja so ein riesen Klotz, und mehr als 4 PWM's und
> zwei Leitungen für I2C brauchts für das Projekt nicht.
Dann musst Du eben einen blanken µC nehmen und selbst löten.

Ein Kompromiß wären Arduino ProMini oder Nano. Zwar größer als das 
blanke IC, aber dafür komfortabel und die Grundbeschaltung schon drauf.

von Obba (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Der Kommentar mit dem 810 hatte noch nicht geladen, ist auf jeden Fall 
besser als die attinys.

Der Link zu der Datenbank sieht vielversprechend aus, ich spiel mal 
damit rum!

Danke für die vielen Vorschläge :)

von Horst (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Obba schrieb:
> ich nutze im Moment einen Arduino DUE

Huh schrieb:
> Fährst du immer mit dem Tieflader zum Brötchen-Holen? :-)

Hier ist der Unterschied wohl eher Fahrrad zu Rollschuhen im Gegensatz 
zu dem LKW der ersetzt werden soll.
Der vorgeschlagenen Tiny85 kann keine 4 PWM mit 12Bit bei 1,3kHz.

Da der TE keine Anwendung genannt hat, kann man schlecht weiter suchen. 
NXP hat durchaus 4xPWM mit I2C in 8Pin, allerdings spezielle für LEDs.
Aber ein ARM oder ein andere Arduino wird das wohl auch irgendwie 
schaffen.

von Felix A. (davinciclaude)


Bewertung
0 lesenswert
nicht lesenswert
Deine Konfiguration mit

VCC 1 +--+ 8 PWM_4
SDA 2 |  | 7 PWM_3
SCL 3 |  | 6 PWM_2
GND 4 +--+ 5 PWM_1

wäre mir sowieso nicht ganz geheuer, wie willst du denn da debuggen? ;)
Wie wäre es mit einem 14-Pinner mit 16-Bit Timer und 
https://www.mikrocontroller.net/articles/Soft-PWM ?
Dann hast Du 4 x PWM, ± 2 x Debug, 2 x I²C, 2 x Speisung und in Gottes 
Namen halt 4 x NC.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Obba schrieb:
> Ich mag die DIL Gehäuse, weil sie so robust sind und through-hole
> Löten viel einfacher ist als SMD.

Was ist daran beim Löten einfacher?

Vermutlich versuchst du es mit zu kleiner Lötspitze und/oder der 
falschen Technik (https://www.youtube.com/watch?v=5uiroWBkdFY&t=89)

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Huh schrieb:
> Du willst nach eigenen Aussagen lediglich 2 PWM-Kanäle mit 1,3kHz. Da
> ist dir ein µC mit 20MHz zu langsam? Magst du das mal auflösen?

Nichts einfacher als das. Dafür reicht der sichere Umgang mit den 
Grundrechenarten auf dem Taschenrechner.

16Bit bedeutet eine Auflösung von 1/65536 der Periodendauer, d.h. der 
Basistakt muss einen Faktor 65536 höher sein, als die PWM Frequenz. Und 
jetzt kommts:
1
 1,3 kHz * 65535 = 84 MHz

von Obba (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wolfgang sieht das ganz richtig. Anwendung ist eine Art universaler 
Signalgenerator für Heimvernetzung, bspw. LED-Steuerung, Servos etc. 
Anbindung ans Drahtlosnetz via ESP8266, der dann via I2C an den 
gesuchten µC angeschlossen wird. Der ESP hat ja kein Hardware PWM [1], 
und Software PWM auf vielen Kanälen ist zumindest mal eine 
Herausforderung. Und wenn es dafür fertige Hardware gibt, warum nicht? 
Ausserdem sollte das den Stromverbrauch verringern, da manche auch an 
nen Akku sollen.

Heisser Kandidat ist im Moment der PIC12(L)F1571/2 [2]. Bin aber nach 
wie vor offen für Vorschläge! :)

Und nochmal zu den SMD-Bauteilen: And die mini Pins kann man so direkt 
ja keine Drähte etc. dranmachen. Dazu muss das ganze erst wieder auf 
eine "Adapterplatine", und schon hat man wieder ein riesen Gerät. Das 
ist genauso zwecklos wie einfach einen bare-die zu kaufen. Ist zwar 
klein, aber lässt sich nicht einfach mit anderen Bauteilen verbinden. 
Vor allem in der Prototyp-Phase. SMD ist eine Option, wenn das Ganze 
etwas ausgereifter ist und auf ne Platine gebannt wird.

Ans debuggen habe ich so noch garnicht gedacht. Microchip hat ja so 
einen Progger "PIC kit 3" [3]. Die PWM's kann ich mir ja einfach auf nem 
Oszi anschauen...



[1] http://bbs.espressif.com/viewtopic.php?t=1144

[2] http://ww1.microchip.com/downloads/en/DeviceDoc/40001723D.pdf

[3] 
http://www.microchip.com/Developmenttools/ProductDetails.aspx?PartNO=PG164130

von Felix A. (davinciclaude)


Bewertung
0 lesenswert
nicht lesenswert
Nur mit Oszi gehts natürlich auch, kann aber pain in the a** werden ;)
Beim PIC musst du schauen. Der Reset Pin kann als RA3 verwendet werden, 
ist aber Input only (siehe DaBla S. 10). Sprich Du hast 5 I/Os und 1 
Input. Wenn du allerdings den PIC als Slave + RX-only betreiben willst, 
kannst Du eine Soft-I²C schreiben und RA3 als SDA brauchen. Wird aber 
bastlig...


Aber wenn du das Ding sowieso vom ESP her ansteuern willst, kauf dir 
einen PCA9685 plus TSSOP28 Adapter vom Chinesen(z.B. 
Ebay-Artikel Nr. 172357270598 
). Ich denke, das wird so am einfachsten. Wenn du nur 2 von 12 Kanälen 
brauchst ist auch egal, dafür kannst du Code + Bauteil auch wieder 
verwenden, wenn du mal 10 brauchst.

: Bearbeitet durch User
von Johannes S. (jojos)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
fertich, habe mal ein Beispiel aus der NXP AN11538 auf den LPC810 
geflasht. Läuft mit 12 MHz Input und 12 Bit PWM -> 2,9 kHz. Bei 30 MHz 
Input und 16 Bit kommt man noch auf ca. 450 Hz was für LED eigentlich 
auch gut genug ist.
Programmiert mit USB-RS232 Adapter, aber selbst debuggen könnte man den 
Zwerg per SWD. Dann müsste man erstmal wieder 2 PWM Pins abschalten oder 
zum Entwicklen erstmal einen etwas grösseren Käfer (LPC812) nehmen.

von Michael Ohlhorst (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Es gibt einen PIC 10F mit 8Pin und 4*16Bit PWM plus serieller 
Schnittstelle.

mfg
Michael

von Peter (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Wenn du sowieso WLan haben willst dann schau dir mal denn ESP 32 an. Der 
hat dann mehr als genug PWMs und wenn du noch ein paar MP3 decodieren 
willst geht das auch noch nebenbei. (BT ist auch verfügbar) Zugeben das 
ist dann eher der Schwertransporter aber mit 8€ bei wattenrot nicht 
wirklich teurer und in der Gesamtlösung gleich groß. Nachteil ist, dass 
er noch sehr neu ist. Aber das Framework sieht schonmal ganz gut aus.
Gruß
Peter

von npn (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> Wenn du sowieso WLan haben willst
> mehr als genug PWMs
> MP3 decodieren
> BT ist auch verfügbar

Kann sein, daß ich einiges überlesen habe, aber von all den aufgezählten 
Punkten habe ich beim TO nichts gelesen. Was er wollte, ist:

- klein (8Pins)
- 4 PWM's
- 1 I²C

Das war's.

von Peter (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo npn,
Den ESP32 habe ich aus dieser Ergänzung des TO abgeleitet

Obba schrieb:
> Anwendung ist eine Art universaler
> Signalgenerator für Heimvernetzung, bspw. LED-Steuerung, Servos etc.
> Anbindung ans Drahtlosnetz via ESP8266, der dann via I2C an den
> gesuchten µC angeschlossen wird. Der ESP hat ja kein Hardware PWM [1],
> und Software PWM auf vielen Kanälen ist zumindest mal eine
> Herausforderung.

Ich würde mal behaupten, dass je nach aufbau ein ESP32 Modul kleiner/nur 
wenig größer als ein ESP8266 Modul + ein extra 8Pin IC ist. Dadurch, 
dass das alles in einem Modul ist spart man sich einiges an 
Programmierarbeit und flexibler ist man auch noch. Deshalb ist das ganze 
für den Anwendungsfall eine überlegenswerte Option.

Gruß
Peter

von npn (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> Deshalb ist das ganze
> für den Anwendungsfall eine überlegenswerte Option.

Okay, da gebe ich dir Recht :)

von Obba (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Der ESP32 ist ein bisschen teuer, vor allem da hier schon einige ESP8266 
rumliegen. Habe jetzt aus china 20 PCA9685 á 1.07€ und 30 SSOP28-DIL0 
Adapter à 0.13€ bestellt. Summa summarum ~25€/1.20€ pro Ding und Ersatz 
falls ich was verkacke.

Auf watterot ist der zwar für 7,50 gelistet, aber nicht lieferbar. Für 
20 Stück wären das immer noch 150€! Auf ali eher 10€ => 200€ :(

Bessere Alternative dazu ist eventuell CHIP (getchip.com), hab mir die 
Hardware aber noch nicht genauer angeschaut. Kostet auch nur 9$ aber hat 
1GHz, paar hundert MB RAM und ein vollwertiges Linux (und halt BT/WIFI).

von c-hater (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:

> 1,3 kHz * 65535 = 84 MHz

So sieht's aus. Die Frage ist allerdings eigentlich eher: Braucht man 
tatsächlich 16Bit@1,3kHz...

Klar, es wird Anwendungen geben, die das erfordern. Mir will bloß um's 
Verrecken keine einfallen...

von Obba (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hmm naja. 16 Bit = 2^16 = 65536 ~= 10^5. Das menschliche Auge hat einen 
Dynamikumfang von ca. 10^8 [1]. Wenn Farben dazu dann noch gemischt 
werden, wird das noch krasser.

Bei 1kHz "Blinkfrequenz" leuchtet ein sich mit 1m/s bewegender 
Gegenstand jeden mm einmal auf. 1m/s ist so langsam, dass das bei quasi 
jeder Bewegung passiert. Muss einen nicht stören, kann es aber.

Ist eine sehr subjektive Sache, bemerkbar ist es aber auf jeden Fall. 
Durch Dithering etc. lässt sich da sicher noch einiges rausholen, ist 
aber deutlich aufwändiger als einfach ein ein paar ct teureres Bauteil 
zu kaufen.

[1] https://en.wikipedia.org/wiki/Photopic_vision

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Johannes S. schrieb:
> fertich, habe mal ein Beispiel aus der NXP AN11538 auf den LPC810
> geflasht. Läuft mit 12 MHz Input und 12 Bit PWM -> 2,9 kHz. Bei 30 MHz
> Input und 16 Bit kommt man noch auf ca. 450 Hz was für LED eigentlich
> auch gut genug ist.
> Programmiert mit USB-RS232 Adapter, aber selbst debuggen könnte man den
> Zwerg per SWD. Dann müsste man erstmal wieder 2 PWM Pins abschalten oder
> zum Entwicklen erstmal einen etwas grösseren Käfer (LPC812) nehmen.

Das Ding ist ja niedlich. Faszinierend, dass NXP den LPC810 nur im DIL8 
und nicht im SO8 anbietet.

Ich hätte für den Job einen STM32F030F4 im TSSOP20 eingesetzt. Kostet 
bei Farnell die Hälfte und kann auf mehr als vier Kanälen 16bit PWM mit 
48MHz takten.

von Johannes S. (jojos)


Bewertung
0 lesenswert
nicht lesenswert
Marcus H. schrieb:
> Das Ding ist ja niedlich. Faszinierend, dass NXP den LPC810 nur im DIL8
> und nicht im SO8 anbietet.

Finde ich auch, ich baue mir gerade einige Funknodes mit RFM69 und 
LPC812/824 in SO20 oder TSSOP20. Im Gegensatz zum TO habe ich keine 
Angst vor den kleinen SMD, obwohl seine Lösung besteht jetzt ja doch in 
SMD+Adapter.
Jedenfalls wollte ich da den SCT für PWM auch mal testen und da passte 
das Intermezzo mit dem LPC810. Wenn ich nächstes WE noch Langeweile habe 
baue ich da auch noch eine I2C Kommunikation ein, die send/receive für 
master und slave hat der kleine auch noch im ROM. Und im Flash ist noch 
soviel frei das man eine Lookup Tabelle mit Exp.Funktion für 8-Bit nach 
12 oder mehr Bit reinbekommt.
ST hat natürlich auch eine unendlich grosse Palette, der STM32F030F4 ist 
aber relativ neu soweit ich weiss und die Peripherie der LPC gefällt mir 
wesentlich besser. Den LPC810 gibts schon jedenfalls schon länger, min. 
2013, aber hier finden die NXP ja recht wenig Beachtung.

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Johannes S. schrieb:
...
> ST hat natürlich auch eine unendlich grosse Palette, der STM32F030F4 ist
> aber relativ neu soweit ich weiss und die Peripherie der LPC gefällt mir
> wesentlich besser. Den LPC810 gibts schon jedenfalls schon länger, min.
> 2013, aber hier finden die NXP ja recht wenig Beachtung.

Die LPCs fand ich so 2004 rum auch interessant, mein Werdegang mit MCUs 
ist allerdings PIC -> AVR -> STM32, mit ein paar projektbezogenen 
Ausflügen zu anderen Familien (8051, 68HC11, PicoBlaze,...).
In aktuellen Projekten kommen bevorzugt STM32F0 und STM32F4 zum Einsatz.
Und natürlich MicrobenController (tm) à la AVR Tiny10 im SOT23-6.

: Bearbeitet durch User

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.