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?
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? :-)
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?
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?
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.
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 :)
Obba schrieb:> ich nutze im Moment einen Arduino DUEHuh 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.
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.
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)
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:
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
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.
http://www.ebay.de/itm/10pcs-SOP28-SSOP28-TSSOP28-SMD-to-DIP-Convert-Adapter-Plate-0-65mm-1-27mm-/172357270598?hash=item28214b3c46:g:fEkAAOSwTA9X6z2T
). 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.
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.
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
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.
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
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).
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...
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
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.
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.
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.