Forum: Mikrocontroller und Digitale Elektronik DA Wandler mit Wenig bit


von TheCrasher (Gast)


Lesenswert?

Hallo Leutz,

Ich müsste mir (vorzugsweise an den AT90S4433) 3 DA Wandler dranbauen, 
die so wenige Pins wie möglich belegen (am liebsten wäre mir nur einer 
;o)  ). Und da ich in Sachen AVR's aboluter Newbee bin (Hab ehrlich 
gesagt noch nicht mal einen.. geht mir erst mal um die Theorie bevor ich 
was kaufe was ich nachher nicht brauch) hab ich keine Ahnung wie ichs 
anstellen soll (oder obs überhaupt geht). Das ganze sollte bei 3 
Wandlern nicht über 10€ gehen. Danke im Vorraus für jede Anregeung.


TheCrasher

von Christian (Gast)


Lesenswert?

Hallo,

weißt du eigentlich, dass  die meisten AVR's einen eigenen AD Wandler 
intern habe - mit 10bit Auflösung?????
Du benötigst vermutlich nur 3 Eingänge und nicht 3 A/D Wandler oder??? 
Such mal auf der homepage von  www.maxim-ic.com - da ibts auch 1-wire 
Bus A/D Wandler - die verbrauchen tatsähclich nur einen einzigen Pin von 
deinem MC!!!

Beschrieb' das mal etwas genauer was du machen willst und wo dein 
PRoblem ist....

mfg

Christinan

von Schmittchen (Gast)


Lesenswert?

Er sprach von DA-Wandlern. Das kann man mit HardwarePWM oder SoftwarePWM 
machen - evtl. anschließend mit Tiefpaß filtern.

Schmittchen.

von Christian (Gast)


Lesenswert?

mist - schon wieder nicht aufgepasst.......

Da gibts mit Sicherheit bei maxim trotzdem 1-wire Lösungen dazu. Und für 
DA Wandler gibts mit Sicherheit auch Multiplexer ????

mfg
Christian

von TheCrasher (Gast)


Lesenswert?

Hi,

Thx erst mal das die Antworten so prompt kamen... also von diesem PWM 
(was auch immer es sein mag) Hab ich auch schon gehört. Aber 1. Hab ich 
kein Plan was das genau ist. und 2. Brauche ich dann nicht für jedes 
Teil das ich ansteuern will (2xVentilatoren(12v),1xPumpe(12V)) einen 
Kanal? Der AT90S4433 hat nämlich nur einen und die Dinger mit 3 Stück 
sind mir etwas zu teuer. Was ich genau machen will:

MC gesteuerter Wasserkühlungscontroller. Es wird gemessen:

1x Wassertemperatur
1x CPU Temperatur
1x Gehäusetemperatur

Mit diesen Werten wird die Drehzahl folgender Dinge geregelt:

1x Radiatorlüfter (12v)
1x Pumpe (12v)
1x Gehäuselüfter (12v)

Dann gibts noch ein bisschen Displaykram aber da weiß ich ziemlich genau 
wie ich das anstellen soll. Joa das ists eigentlich.

TheCrasher

P.S. kann mir einer nen Tip geben welchen Temp. Fühler ich für sowas am 
besten benutzen soll??

von WMenken (Gast)


Lesenswert?

Hallo

Ich habe da einen DA-Wandler von MAXIM gefunden.
Das ist der MAX512CPD. Der hat Drei Analog Ausgänge
und braucht auch nur Drei Pins zum ansteuern.
Das beste ist, er kostet nur etwa 3-4 Euro.
Leider weiß ich nicht wo man das IC bestellen kann.

Vielleicht direkt bei MAXIM, als Muster?

mfg WMenken

von Schmittchen (Gast)


Lesenswert?

> Ich habe da einen DA-Wandler von MAXIM gefunden.
Dann hat er zwar einen Analogwert, kann damit aber immernoch nichts 
anfangen. SoftwarePWM ist um einiges billiger als irgendwelche 
Maxim-Spezial-ICs und damit läßt sich direkt ein MotortreiberIC (L293D 
und wie sie alle heißen) für die Lüfter ansteuern, aber das wissen die 
Roboterbauer besser.

Schmittchen.

von Andreas H (Gast)


Lesenswert?

Hallihallo!

@TheCrasher:

PWM bedeutet "PulsWeitenModulation". Kling kompliziert, ists es aber 
nicht. So in etwa funktionierts:

Du schaltest eine digitale Spannung immer ein und aus. Die Frequenz 
(Zeitdauer ein kompletten Ein-Aus-Periode) bleibt dabei immer gleich. 
Das, was sich ändert, ist das Verhältnis zwischen Einschaltdauer und 
Ausschaltdauer (=Tastverhältnis). Filterst Du das Ausgangssignal über 
einen Tiefpaß, erhältst Du eine Gleichspannung, die je nach 
Tastverhältnis höher oder niedriger ist.

Eine niedrige Ausgangsspannung erhältst Du, wenn Du eine lange Auszeit 
und nur eine kurze Einzeit in Deinem Digitalsignal erzeugst, eine hohe 
Ausgangspannung hast Du folglich bei kurzer Auszeit und lange Einzeit.


_________-_________-_________-_________- = niedrige Ausgangsspannung

_____-----_____-----_____-----_____----- = mittlere Ausgangsspannung

---------_---------_---------_---------_ = hohe Ausgangsspannung


Solche Signale lassen sich problemlos per Software erzeugen. Also 
brauchst Du außer je einem Tiefpaßfilter pro DA-Wandler keine externe 
Hardware. Höchstens noch eine Transistorstufe oder einen OPAMP zur 
Verstärkung. Je nachdem, was Du mit der Analogen Spannung steuern 
willst.

ciao,
   Andi

von TheCrasher (Gast)


Lesenswert?

Hi Andreas,

Thx erst mal für die Antwort und vor allem auch für die sehr 
anschauliche Darstellung! Hab jetzt kapiert denke ich (oder hoffe ich 
;o) ). Das heißt also ich bräuchte Pro DA Wandler auch nur 1 Pin und die 
nötige Software? Das wäre wirklich klasse. Ich hab nämlich mit dem 
AT90S4433 ein paar Pin probleme... es sind ein paar zu wenig ;o). Wenn 
noch das Display drankommt und verschiedene Taster zur Bedienung. Hat 
zufällig noch einer von euch ein Softwarebeispiel zur Hand? Das würde 
mir sehr helfen... ach und was für nen Tiefpassfilter empfielst du mir 
(Was für Kriterien gibts da denn Ich brauche eine Spannung zwischen 
5-12V)?
Danke noch mal!


TheCrasher

von Retro (Gast)


Lesenswert?

Für die PWM-Reglung brauchst du keinen Tiefpass... das Beispiel sollte 
nur die Sittuation verdeutlichen. Den Motor steuerst du dann mit nem 
schnellen und leistungsfähigen FET an, da ist fast jedes Model richtig. 
Ich kenn den 4433er nicht, aber ich glaube er besitzt eh nur einen 
PWM-Output... die restlichen Dinge lassen sich aber auch sehr schonend 
aufbauen.
Die Matrixtastatur kannst du mit einem Wiederstandsnetzwerk (musste mal 
nen bisschen rechnen) verschalten und dann mit nur einem (!!) AD-Pin an 
den µC anschließen.
Viele Dotmatrixtastaturen gibt es in einer Version die mit SPI 
angesteuert werden, somit braucht es auch nur die gewissen drei 
Leitungen am µC. Nicht dass damit etwas blockiert ist... SPI ist 
schließlich ein Bus.
Was suchst du denn jetzt noch für Sourcecode? Musste wenigstens mal 
sagen welchen Compiler und welche Sprache du benutzt...

Hier nochmal ein kleiner Trick mit dem sich in windeseile digitale, 
einstellbare Spannungen mir richtig Saft erzeugen lassen. Man nehme 
einen Festspannungswandler und setze dessen GND auf einen DA-Port. Ich 
hab das mal mit nem netten LM*** gemacht und es hat prima geklappt.

von Jonas Diemer (Gast)


Lesenswert?

@ andreas (beide, den H. und den webmaster): macht doch mal bitte ne 
erklärung zu PWM ins tutorial. das wird jede woche gefragt, was den pwm 
ist, und die meisten leute können die suchfunktion des forums wohl nicht 
bedienen oder wissen gar nicht, dass es eine gibt... wär glaub ich nicht 
schlecht, wenn das im tutorial stünde.

von TheCrasher (Gast)


Lesenswert?

@Retro:

Mit Software meinte ich lediglich ein Assemblerbeispiel zu Software PWM. 
Und da Andreas ja sagte: "Also brauchst Du außer je einem Tiefpaßfilter 
pro DA-Wandler keine externe Hardware" dachte ich logischerweise ich 
brauche so nen Tiefpassfilter. Das der AT90S4433 nur einen PWM Ausgang 
hat weiß ich. Weshalb ich ja auch auf Software PWM setzen wollte. Hab 
aber jetzt gehört das PWM bei Lüftern (und auch bei Pumpen?) nen 
ziemlichen Lärm verursacht! Und das wäre ja dann auch nicht das was ich 
will. Ich bau mir die Wasserkühlung um dem Lüfterlärm zu engehen... 
nicht um ihn zu fördern ;o). Matrixtastatur brauch ich keine... hab eh 
nur 3 Taster... die brauchen ja dann auch nur 3 Pin.

von Andreas H (Gast)


Lesenswert?

Hallo,

ein Biespiel zur Software PWM habe ich leider nicht. Ich kenne Deine 
Anwendung jetzt nicht näher, daß einzige Problem was ich sonst noch 
sehe, ist, daß das PWM Signal ja die ganze Zeit erzeugt werden muß und 
Dein uC nicht mehr sooo viel Zeit hat, noch andere Dinge zu erledigen. 
Zur Not könntest Du aber noch einen 2. AVR nehmen, der nix anderes zu 
tun hat, als das PWM zu erzeugen. Damit bist Du dann jedenfalls 
innerhalb Deiner 10€-Grenze und obendrein noch recht flexibel.

Da Du ja aber "nur" Motoren damit ansteuern willst, sollte auch eine 
relativ geringe Frequenz ausreichend sein, so daß Du mit Deinem uC noch 
genügend Zeit für anderes hast. Kommt halt ganz darauf an, was Du noch 
so alles mit dem Ding machen willst. :)

Ein extra Tiefpaßfilter brauchst Du natürlich dann, wenn Du tatsächlich 
auch eine Gleichspannung haben möchstest, die Du irgendwie weiter 
verarbeiten willst. Im Falle Deiner Motoren (Pumpe und Ventilatoren) ist 
das wohl aber gar nicht notwendig, da diese ja recht träge sind und 
somit den Tiefpaßfilter überflüssig machen.

Das läuft dann so ab, als wenn Du den Motor ständig ein und 
ausschaltest. Schaltest Du ihn ein, läuft er an. Bevor er jedoch seine 
Höchstdrehzahl erreichen kann, wird er schonwieder abgeschaltet. Er wird 
wieder langsamer. Doch bevor er stehen bleibt, wird er schonwieder 
eingeschaltet. Und so weiter. Je nach Ein- und Ausschaltdauer pendelt 
sich die Drehzahl irgendwo in der Mitte ein. Soll er sich schneller 
drehen, wird er einfach etwas länger ein und dafür etwas kürzer 
ausgeschaltet.

Ich denke mal, daß ließe sich mit dem AVR recht elegant per Timer mit 
seinem dazugehörigen Interrupt lösen.

Ob der Lüfter mehr Krach macht, wenn man ihn per PWM ansteuert, weiß ich 
nicht, hab ich noch nie ausprobiert. Ich kanns mir aber irgendwie nicht 
vorstellen. Sonst müßtest Du halt doch nen Tiefpaß nehmen und vielleicht 
wie von Retro vorgeschlagen nen Festspannungsregler als Treiberstufe 
"Mißbrauchen" Die Idee ist nicht schlecht, müßte 1a funktionieren. :)

ich nehme mal an, Du willst das ganze für Deinen Rechner basteln, 
stimmts? Hoffnungslos übertakteter und wassergekühlter Prozessor, oder? 
:)



ciao,
   Andi

von TheCrasher (Gast)


Lesenswert?

Hi Leutz,

erst mal wieder Thx für the answer ;o). Das Ding ist in der Tat für 
meinen Rechner gedacht. Übertaktet ist meine CPU (Celeron II 700Mhz) 
NOCH nicht.. aber ich gedenke es in der Tat zu tun wenn das Ding eine 
ordentliche Kühlleistung zustande bringt ;o). Außer der Reglung der 2 
Lüfter und der Pumpe, wird noch ein Menü zur Verfügung gestellt über das 
die gewünschte Temperatur eingestellt werden kann. Ein Display zeigt die 
aktuellen Temperaturwerte an und 2 LED's zeigen zusätlich noch 
Statusinformationen an. Joa das ist's eigentlich.. ahso ein Piezosummer 
gibt noch Alarm wenn eine Grenz überschritten wird und gibt Rückmeldung 
beim drücken einer Taste. Und vielleicht mach ich noch einen 
Wasserstandssensor der mich warnt wenn zu wenig Wasser drin ist. Schafft 
ein MC das überhaupt alles?? ;o)

TheCrasher

von Andreas H (Gast)


Lesenswert?

Hi!

Wenn das alles ist, was Dein uC machen soll, dann kann er ja 
zwischenduch noch Kaffeepausen machen ;) Wieviel Temperatursensoren 
willst Du verwenden?

Ach übrigens: Denk daran, daß das Wasser auch irgendwie gekühlt werden 
muß...

ciao,
   Andi

von TheCrasher (Gast)


Lesenswert?

Hi!

Weis das das Wasser gekühlt werden muß. Diese Aufgabe übernimmt mein 
selbstgebastelter Radiator. 3 Sensoren überwachen die Temperatur von:

CPU
Wasser
Gehäuse

Demnach wird geregelt:

Pumpe
Radiatorlüfter
Gehäuselüfter

Das garantiert mir ein leisen Betrieb bei optimalter Kühlung (Meine 
Pumpe macht bei maximallast (12v) nämlich einen ziemlichen Krach ... 
könnte aber damit auch den halben Atlantik in 2 Minuten von einer zur 
anderen Stelle verlegen so stark ist die dann ;o) ). Und den Uart 
verbinde ich im PC intern mit meinem internen Com2 Anschluß. Da drüber 
kann ich dann noch (über ne selbstgeschriebene Software) Temperatur und 
Lüfter/Pumpenwerte auslesen.. und die Max/Min Werte verändern. 
Ziemliches Projekt nur für ne Wasserkühlung, aber ich will erstens 
sicher gehen das sie immer Fehlerfrei läuft und zweitens das sie nicht 
mehr Leistung verbrät als nötig ist.


TheCrasher

von direx (Gast)


Lesenswert?

Für die Steuerung eines Motors ein DA-IC zu verwenden finde ich ein 
wenig übertrieben, ein  paar Rs (und/oder Ds) tun da gleiche Dienste.

Mal was grundsätzliches: PWM ist nicht gleich PWM.
1. Möglichkeit: ich erzeuge über einen Filter (z.B. RC) (annähernd) eine 
Gleichspannung, die ich dann geeignet verstärke und an den Verbraucher 
schicke.
Vorteil: kein Summen bei Motoren ...
Nachteil: Verlustleistung im Verstärker, da Analog!

2. Möglichkeit: ich versorge den Verbraucher direkt mit der gepulsten 
Spannung (digital).
Vorteil: wenig Verlustleistung im Verstärker.
Nachteil: Motoren (sogar Glühbirnen) summen evtl. .
Und die Schaltung will wohl überlegt sein (eine Freilaufdiode (je nach 
Leistung Schottky) ist bei induktiven Lasten unentbehrlich, weil sie den 
Strom "glättet".
Im Idealfall quietscht auch hier nichts, wenn die Frequenz hoch genug 
ist, wird annähernd Gleichstrom fließen (trotz gepulster Spannung - die 
Induktivität "überbrückt" in der spannungslosen Zeit den Strom!).
Schnelle Schalter (MOSFETs sind hier angesagt, da beim Ein- und 
Ausschalten die meiste Verlustleistung entsteht, und die wollen richtig 
angesteuert werden (nicht unbedingt trivial, ICL7667 ist ein geeignetes 
IC).

von Markus (Gast)


Lesenswert?

Eine Möglichkeit für einen DA-Wandler ist noch nicht genannt worden 
(oder ich habs übersehen).
Wie wäre es mit einem TDA8444. Das ist ein DA-Wandler mit I2C 
Schnittstelle. Kann man relativ einfach per Software nachbilden und 
benötigt nur 2 Pins am Controller. Der Wandler bietet 8 Kanäle, hat aber 
leider nur eine Auflösung von 6 Bit.

Gruß
Markus
http://www.elektronik-projekt.de/

von TheCrasher (Gast)


Lesenswert?

Hi Leutz,

Das mit PWM ist eigentlich schon total ok. Nur leider halt dieses Summen 
ist schei**. Ich hab nicht sonderlich viel Ahnung von Elektronik.. aber 
wenn ich irgend nen Filter dazwischen klemme (weiß der Teufel was für 
einen), könnte das das summen unterbinden?? (Vielleicht ist die Frage ja 
schon beantwortet worden.. aber wie gesagt hab ich nicht sehr viel 
Ahnung.). Danke schonmal.


TheCrasher

von Andreas H (Gast)


Lesenswert?

Hallöchen!

Mit PWM hab ich selbst zwar (praktisch) noch nichts gemacht, aber wenn 
man sich das ganze (theoretisch) überlegt: Ja. Mit einem "Filter" muß 
das weg zu bekommen sein.

Wenn Du das PWM-Signal, bevor Du es an den Motor legst, noch glättest, 
dürfte es keine Probleme mehr geben, da Du ja quasi eine echte 
Gleichspannung hast. Nur leider, wie von direx ja schon erwähnt, hast Du 
dann eine höhere Verlustleistung, da Du analog und nicht mehr digital 
arbeitest. Der Ausgangstransistor arbeitet nicht mehr als Schalter im 
Sättigungsbereich, sondern als Stromverstärker. (Sofern man halt mit 
einem Transistor arbeitet...) Das setzt u.U. einen größer 
dimensionierten Kühlkörper für den Transistor und evtl. einen 
Leistungsstärkeren Typ vorraus.

Die einfachste Methode, aus dem PWM-Signal eine Gleichspannung zu 
machen, wäre IMHO einen einfachen Wiederstand am Ausgangspin gefolgt von 
einem Kondensator gegen Masse. Das wäre dann ein stinknormaler 
Tiefpaßfilter. Das stromschwache Ausgangssignal wird dann auf eine 
Transistorstufe (evtl auch Darlingtonstufe) gegeben, und damit betreibst 
Du dann Deinen Verbraucher.

Aber vorsicht: Verlustleistung am Transistor beachten und einen 
geeigneten Typ auswählen!

ciao,
   Andi

von TheCrasher (Gast)


Lesenswert?

Hi,

Ja.. das könnte klappen. Wie finde ich raus wie stark der Kondensator 
sein muß (hängt doch sicher von der Spannung ab oder?). Brauche also 
dann nur PWM zu benutzen... 3 Widerstände , 3 Transistoren und 3 
Kondensatoren für die ganze Schaltung?? Das wäre echt perfekt! Welche 
Transistoren brauch ich dann für 3 12V 2-3A Lüfter/Pumpe?? Danke nochmal 
;o)

TheCrasher

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.