Forum: Mikrocontroller und Digitale Elektronik Chip gesucht 1-10V zu PWM Wert


von Stephan W. (stipo)


Lesenswert?

Hallo zusammen,

gibt es einen Chip mit I2C Schnittstelle der mir einen Analogen 1-10V 
Wert zu einem Digital nutzbaren Wert umsetzt?

Ich möchte über einen 1-10V Wert eine LED Leiste Dimmen.
Bitte keine Diskussion das es andere Techniken gibt als 1-10V, denn das 
ist durch das Steuergerät fest vorgegeben.

Danke schonmal.

Grüße
Stephan

von decimad (Gast)


Lesenswert?

Wozu soll denn die I²C-Schnittstelle dienen?

von Stephan W. (stipo)


Lesenswert?

@decimad,
Na irgendwie sollte man die Daten ja auch aus dem Chip dann zum 
weiterverarbeiten in den µC bekommen.
Wäre doch sicher einfacher als wenn der Chip dann zwar drüber bescheid 
weiß, es meinem µC aber nicht verraten möchte.

von Luca E. (derlucae98)


Lesenswert?

Mit einem Attiny deiner Wahl per ADC dein 1-10Volt Signal einlesen und 
als PWM ausgeben. Hat auch ne I2C Schnittstelle.

von Stephan W. (stipo)


Lesenswert?

@Luca,
da hast Du recht.
Ich hatte vergessen zu erwähnen, das ich davon 8 Signale verarbeiten 
muss.
Dachte das dies am besten 1 Chip übernehmen kann.

: Bearbeitet durch User
von Stephan W. (stipo)


Lesenswert?

Noch als nachtrag:

Ideal wäre natürlich und so hab ich mir das auch gedacht, das der Chip 
direkt mit den 1-10V umgehen kann, ohne das ich das über einen Teiler 
schicken muss.

von Stefan F. (Gast)


Lesenswert?

Viele AVR Mikrocontroller haben 8 analoge Eingänge.

ADC mit 10V Eingangsspannung gibt es nicht - glaub' ich. Du wirst 
sowieso irgendwelche Widerstände vorschalten, um die Eingänge vor 
Überspannung zu schützen.

von decimad (Gast)


Lesenswert?

Ich möchte das jetzt auch mal im Gedanken durchspielen... So ein 
ATMega32 hat ja schonmal 8 ADCs, aber nur 4 PWMs. Also müsste man wohl 
schauen, dass man die PWM in Software umsetzt oder? Welche 
Dimm-Auflösung möchtest Du denn erreichen? Sagen wir mal 100 Takte für 
Compare&Co per Software und Zyklus... 200 Hz PWM, 16 MHz ... Da ist noch 
viel Luft für gute Auflösung, oder nicht?
Oder gibt's Tricks mehr Kanäle aus den gegebenen PWMs zu kitzeln?

von decimad (Gast)


Lesenswert?

Alternativ ginge in diesem langsamen Fall natürlich auch etwas viel 
Kleineres und ein Multiplexer vor einem einzigen ADC, diese 
Möglichkeiten immer!
Aber um die 8 Ausgangspins kommt man wohl nicht drumherum, wenn man gute 
Auflösung erreichen will, denke ich?

von decimad (Gast)


Lesenswert?

Aber wie bekommt man parallel zu solch einer Sofware-PWM noch eine 
vernünftige I²C-Kommunikation hin, ohne die PWM zu blockieren? Im FPGA 
wäre das ja alles trivial...

von Oldie (Gast)


Lesenswert?

Opamp Sägezahn mit nachgeschaltetem Schmitttrigger ist zu kompliziert?

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

decimad schrieb:
> Im FPGA wäre das ja alles trivial...

Im µC auch.

von decimad (Gast)


Lesenswert?

Ich lese mir gerade
http://www.mikrocontroller.net/articles/Soft-PWM
durch. Die ersten beiden Trivialansätze waren natürlich offensichtlich. 
Die Idee für den dritten "intelligenten" Ansatz hatte ich auch, aber 
wieder verworfen. Was passiert denn, wenn die PWM-Counter-Differenz so 
zwischen zwei PWM-Kanälen so klein ist, dass die ISR länger braucht? 
Dann würde er doch das Rücksetzen des entsprechenden Kanals einfach 
überspringen?

von decimad (Gast)


Lesenswert?

@Magnus: Wie macht man da denn eine Master-gesteuerte I²C-Kommunikation 
ohne die ISR-Abarbeitung für die Soft-PWM zu blockieren? Ich muss ja 
noch lernen, mit den Gegebenheiten klarzukommen, schwer wirds 
wahrscheinlich nicht sein, aber ich kann eben nicht alles auf Anhieb, 
ohne mir Gedanken drüber zu machen :)

von decimad (Gast)


Lesenswert?

@Oldie: Sogar ein Spannungsteiler ist eigentlich schon zuviel für den 
OP, Deinen Vorschlag müsste man ja auch noch acht Komparatoren 
replizieren und hätte vor allem kein I²C zum Auslesen der Werte, oder 
nicht?

von Stephan W. (stipo)


Lesenswert?

Wahrscheinlich ist es das beste ich nehme einen MAX1238.
Der kann 8 Eingänge erfassen und wird per I³C ausgelesen.

Muss dann zwar auch mit Spannungsteilern arbeiten, dachte halt es gibt 
schon fertige Chips die mir die 1-10V direkt erfassen können ohne noch 
viel Schaltung darum zu bauen.

Ein Problem ist es das nun aber auch nicht.

Danke nochmal an alle. Vielleicht fällt einem ja doch noch so ein Chip 
ein der das kann. Dann bin ich natürlich auch noch offen dafür.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

decimad schrieb:
> @Magnus: Wie macht man da denn eine Master-gesteuerte
> I²C-Kommunikation
> ohne die ISR-Abarbeitung für die Soft-PWM zu blockieren?

Der Slave schickt einfach kein "ACK" bevor er die Anfrage bearbeiten 
kann.

von decimad (Gast)


Lesenswert?

Ach jetzt verstehe ich das. Du suchtest von Anfang an nur einen 
AD-Wandler mit I²C-Schnittstelle? Ich dachte das Teil sollte direkt PWM 
am anderen Ausgang liefern (Titel und Text unterschiedlich, habe nicht 
alles genau gelesen), deshalb auch meine Frage wofür überhaupt I²C.

von Stephan W. (stipo)


Lesenswert?

decimad schrieb:
> Ach jetzt verstehe ich das. Du suchtest von Anfang an nur einen
> AD-Wandler mit I²C-Schnittstelle? Ich dachte das Teil sollte direkt PWM
> am anderen Ausgang liefern (Titel und Text unterschiedlich, habe nicht
> alles genau gelesen), deshalb auch meine Frage wofür überhaupt I²C.
Ja genau, nur mit dem extra, das der Chip direkt 1-10V hätte einlesen 
können.

Die weitere PWM Verarbeitung soll ein Atmega8 übernehmen, denn davon hab 
ich noch genug rum liegen und die Pins reichen aus.
Bevor man sich wieder neue Controller holt dürfen ruhig auch mal die aus 
der Bastelkiste ihre Dienste antreten ;-)

von decimad (Gast)


Lesenswert?

@Magnus: Dann müsste der Slave aber auch die PWM-Counter-Werte 
betrachten und sich einen Zeitschlitz herausfischen, in dem ein volles 
Datenwort übertragen werden kann, oder nicht? Also ich finde das schon 
nicht mehr "trivial", weil es eben eigentlich unabhängige Teile 
miteinander verkoppelt und für "nichtdeterministisches" Timing am Bus 
sorgt, wenn man das so ausdrücken darf... Also maximal mögliche 
ACK-Latenz ausrechnen etc...

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Der kann +/-10V direkt wandeln, auch 8 Kanäle:

LTC1859 - 8-Channel, 16-Bit, 100ksps SoftSpan A/D Converters with 
Shutdown
http://www.linear.com/product/LTC1859

Von Linear gibt es auch noch einige andere.

: Bearbeitet durch User
von Stephan W. (stipo)


Lesenswert?

Danke Markus Müller,
den werde ich mir mal anschauen.

von H.Joachim S. (crazyhorse)


Lesenswert?

Hihi, einen extra IC (LT, i.a. nicht gerade die preiswertesten) mit 
16bit Auflösung um 16 popelige 0805-Widerständchen einzusparen und am 
Ende vielleicht 10bit-PWM zu erzeugen - das nenne ich mal einen sehr 
sinnvollen Ansatz :-)

von Thomas E. (thomase)


Lesenswert?

decimad schrieb:
> Ich möchte das jetzt auch mal im Gedanken durchspielen... So ein
> ATMega32 hat ja schonmal 8 ADCs, aber nur 4 PWMs.
>...
> Oder gibt's Tricks mehr Kanäle aus den gegebenen PWMs zu kitzeln?

Ja, der Trick heisst Atmega1284.
Kennt ihr eigentlich nichts anderes als die alten Scheissgurken?

mfg.

von H.Joachim S. (crazyhorse)


Lesenswert?

Es gibt auch noch die AT90PWWxx.
Oder mal über den AVR-Tellerrand hinauslugen (STM32F3 z.B.)
Für den Preis des LTC bekommst du mindestens 5 Stk davon :-)

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Stefan us schrieb:
> Viele AVR Mikrocontroller haben 8 analoge Eingänge.
>
> ADC mit 10V Eingangsspannung gibt es nicht - glaub' ich. Du wirst
> sowieso irgendwelche Widerstände vorschalten, um die Eingänge vor
> Überspannung zu schützen.

Klaro, MAX127 z.B. 
http://krumeltee.wordpress.com/2011/07/27/max127-i%C2%B2c-ad-wandler-am-avr/

von decimad (Gast)


Lesenswert?

@Thomas Eckmann: Ich hab keine Ahnung was einige Hardwareler am Tag so 
ertragen müssen, aber ich finde um 23+ Uhr sollte dann wieder die 
zivilisierte Kommunikation möglich sein.
Ich habe keine Ahnung von Atmel MCUs oder überhaupt irgendwelchen, außer 
dass ich mal für eine AMD 168ER-Kröte eine Minimalsoftware schreiben 
musste. Ich finde, man sollte in einem Forum wie diesem davon ausgehen, 
dass halt auch mal ein paar planlose Leute umherwandeln... Deshalb habe 
ich diese Aufgabe auch als Gedankenspiel hergenommen, wie man da so 
rangehen könnte.
Die von Dir vorgeschlagene MCU hat aber doch auch nur 6 PWM-Kanäle, wenn 
ich das Sheet auf der ersten Seite richtig deute?
Vielleicht werde ich aber auch irgendwann mal alle Modelle und deren 
Spezifikationen auswendig kennen...

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Auf den Preis habe ich jetzt nicht geschaut - stimmt schon der ist 
teuer. Dafür ist der auch Industrietauglich, da der nicht kaputt geht 
wenn mal 24V angeschlossen werden. (Meistverwendete 
Schaltschrankspannung.)
Und 16 Bit sind auch recht viel.

Der Link dient hauptsächlich zum weiter suchen, denn alle Postings zuvor 
zeigten die Richtung "das gibt es nicht" und "musst einen extra 
Controller programmieren" usw.

Der STM32 wäre in jedem Fall die bessere Controllerwahl, denn:

Wenn der PWM 10KHz sein soll, dann kann der STM32 immer noch mit 7200 
Bit auflösen. Das können die AVR und PIC nicht!

TMR1 mit 72MHz > 10KHz PWM = 7200 Bit Auflösung = 12Bit-AD-Wandler kann 
sehr exakt ausgegeben werden.

von Thomas E. (thomase)


Lesenswert?

decimad schrieb:
> Die von Dir vorgeschlagene MCU hat aber doch auch nur 6 PWM-Kanäle, wenn
> ich das Sheet auf der ersten Seite richtig deute?
> Vielleicht werde ich aber auch irgendwann mal alle Modelle und deren
> Spezifikationen auswendig kennen...
Nein. Der hat 8. Hätte ich sonst erwähnt?

mfg.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

PS: Bei einer LED-Leiste interessiert die 10KHz Genauigkeit wohl eher 
nicht...

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Markus Müller schrieb:
> 7200 Bit Auflösung

Ich glaube du verwechselst da was...

von decimad (Gast)


Lesenswert?

http://www.atmel.com/Images/Atmel-8272-8-bit-AVR-microcontroller-ATmega164A_PA-324A_PA-644A_PA-1284_P_datasheet.pdf

Da schreiben sie doch "six PWM channels". Normalerweise neigen die 
Hersteller doch eher zu unrealistischen Übertreibungen? Daher ging ich 
jetzt auch davon aus, dass die 6 PWM-Channel über irgendeine Kombination 
von Countern und Vergleichswerten zustande kommen.

von Thomas E. (thomase)


Lesenswert?

decimad schrieb:
> 
http://www.atmel.com/Images/Atmel-8272-8-bit-AVR-microcontroller-ATmega164A_PA-324A_PA-644A_PA-1284_P_datasheet.pdf
>
> Da schreiben sie doch "six PWM channels". Normalerweise neigen die
> Hersteller doch eher zu unrealistischen Übertreibungen? Daher ging ich
> jetzt auch davon aus, dass die 6 PWM-Channel über irgendeine Kombination
> von Countern und Vergleichswerten zustande kommen.

Dieses Datenblatt ist das fieseste, was Atmel im Angebot hat. Um die 
Existenz des Timer3 zu erkennen, muss man, wie in der Bibel, diverse 
Stellen richtig interpretieren. "Hallo, hallo, der 1284 hat einen 
Timer3!" steht da nirgendwo. Vielleicht ist ihnen das peinlich.
Fakt ist allerdings: Er hat ihn.

mfg.

von Magnus M. (magnetus) Benutzerseite


Angehängte Dateien:

Lesenswert?

Thomas Eckmann schrieb:
> Dieses Datenblatt ist das fieseste, was Atmel im Angebot hat. Um die
> Existenz des Timer3 zu erkennen, muss man, wie in der Bibel, diverse
> Stellen richtig interpretieren.

Zum Beispiel auf Seite 5. Habs mal rauskopiert und farblich 
hervorgehoben.

von Thomas E. (thomase)


Lesenswert?

Magnus M. schrieb:
> Thomas Eckmann schrieb:
>> Dieses Datenblatt ist das fieseste, was Atmel im Angebot hat. Um die
>> Existenz des Timer3 zu erkennen, muss man, wie in der Bibel, diverse
>> Stellen richtig interpretieren.
>
> Zum Beispiel auf Seite 5. Habs mal rauskopiert und farblich
> hervorgehoben.

Interessant. So langsam steigern sie sich. Im Ersten Datenblatt waren 
die Interruptvektoren der einzige Hinweis auf den Timer3. Der wurde 
einem regelrecht untergejubelt.

mfg.

von decimad (Gast)


Lesenswert?

Okay, ich glaub's ja, ich hab mich halt nur an die erste Seite gehalten 
:(
Warum geizen die Hersteller eigentlich so mit den Zählern, die sind doch 
eigentlich recht "einfach" im Aufbau und werden oft gebraucht, sodass 
man doch eigentlich mindestens mal für die hälfte der IO-Pins eine 
anbieten könnte? Oder doch nicht so sehr? Naja, wenn ich viele PWMs 
brauche, muss ich ja nur den FPGA bemühen, da ist das in schnellster 
schnelle hingefrickelt ;)

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

decimad schrieb:
> Okay, ich glaub's ja, ich hab mich halt nur an die erste Seite gehalten
> :(
> Warum geizen die Hersteller eigentlich so mit den Zählern, die sind doch
> eigentlich recht "einfach" im Aufbau und werden oft gebraucht, sodass
> man doch eigentlich mindestens mal für die hälfte der IO-Pins eine
> anbieten könnte? Oder doch nicht so sehr? Naja, wenn ich viele PWMs
> brauche, muss ich ja nur den FPGA bemühen, da ist das in schnellster
> schnelle hingefrickelt ;)

Nicht die Hersteller, sondern nur AVR. Lese mal in dem Artikel was der 
hat: STM32

von decimad (Gast)


Lesenswert?

Ja, so muss dass! Klotzen und nicht kleckern! Mein zukünftiges von euch 
vorgeschlagenes Board hat ja genau die ;) Was spricht da eigentlich noch 
für Atmel? hehe

von MaWin (Gast)


Lesenswert?

Stephan W. schrieb:
> Die weitere PWM Verarbeitung soll ein Atmega8 übernehmen, denn davon hab
> ich noch genug rum liegen und die Pins reichen aus.

Und warum dann nicht die 8 1-10V Signale direkt in die A/D Eingänge des 
ATmega8?

von Max H. (hartl192)


Lesenswert?

MaWin schrieb:
> Und warum dann nicht die 8 1-10V Signale direkt in die A/D Eingänge des
> ATmega8?
Gute Frage.
Du meinst mit Spannungsteiler?

: Bearbeitet durch User
von Amateur (Gast)


Lesenswert?

Die meisten Atmels können nur (max) Vcc+0,7V. Das noch nicht mal alle.
Bei 10V verlieren die die Fassung oder springen aus Selbiger.

Direkt, mit einem einfachen Spannungsteiler, würde ich nur 
Sonntagnachmittagsspannungen anlegen.

von dolf (Gast)


Lesenswert?

M. H. schrieb:
> Du meinst mit Spannungsteiler?

also hier nehm ich nen spannungsteiler 4,7k/4,7k um auf 10v zu kommen.
direkt am adc pin noch ein 10nf keramikkondensator nach gnd und gut.

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.