Hallo, ich bin Anfänger und möchte mich in die AVR-Programmierung einarbeiten. Dazu möchte ich mir eine Schaltung aufbauen, wie ich mehrere (über Bussteuerung) Spannungen steuern kann. Dazu suche ich ein oder mehrere Bauteile, denen ich über 8 Pins eine Zahl schicken kann und am Ausgang des Bauteiles steht dann Vcc/256*Zahl. Gibt es so ein Bauteil? Vielleicht sogar mit Latch-Funktion? Falls nicht, hättet Ihr mir einen Tip, wie ich so was realisieren könnte?
Was Du suchst ist ein DAC (Digital->Analog-Konverter). Wenn Du aber eh mit uC arbeiten willst, kannst Du das einfach per Software und zwei externen Bauteilen realisieren, das Zauberwort heißt PWM (Pulsweitenmodulation). Google mal, dann findest Du mit diesen Schlagworten schon was. Viel Spass, Sebastian
Hi Sebastian, danke für Deine Antwort. Yepp, von PWM habe ich schon viel gelesen. Der Nachteil von PWM ist eben, dass es kein DC mehr ist, sondern eben ein Rechteck-Signal. Dieses jetzt über ein RC-Glied zu glätten ist ja abhängig von der PWM-Frequenz (wenn ich es richtig verstanden habe) und damit nicht über die gesamte Regelstrecke von Erfolg gekrönt. Die PWM-Geschichte kann ich ja auch noch mit einem Stepper ausprobieren. Das mit dem DAC ist schon eher die Richtung, die ich suche. Nur die Bausteine, die ich bisher unter dem Schlagwort gefunden habe geben das Ergebnis auch wieder über mehrere Pins aus, d.h. es ist nicht wirklich analog, sondern eine logische Umwandlung (verschiedene Zahlensystem z.B.). Gibt es denn (bezahlbare?) DAC, die wirklich einen variablen DC-Spannungspegel ausgeben? Könntet Ihr mir vielleicht eine Bauteil-Bezeichnung geben, damit ich danach suchen kann? Muss kein HC-Bauteil sein, die Regelgeschwindigkeit ist eher gemütlich.
Es gibt solche Bauteile, die wie bereits erwähnt Digital-Analog-Converter (DAC) heißen. Was meinst du mit mehreren Pins ? Es gibt DACs mit Strom- oder Spannungsausgang. von 6-24 Bit und von Millisekunden - Gigahertz. Du solltest vielleicht etwas mehr über die Anwendung erzählen. Es gibt sicherlich einige 1000e verschiedener Bausteine. Gruß THomas
Du kannst auch ein R2R-Netzwerk nehmen, und erstmal sehen wie gut die Spannung ist. So arbeiten auch manche DA-Wandler. An den Ausgang noch ein OPV als Impedanzwandler anschließen. http://www.mikrocontroller.net/articles/DA-Wandler Hier ist so etwas an einem 90s2313 als (DDS) Synthi.n ohne OPV. http://www.myplace.nu/avr/minidds/index.htm http://www.myplace.nu/avr/minidds/minidds_schematic.gif Grüße Quark
> Yepp, von PWM habe ich schon viel gelesen. Der Nachteil von PWM > ist eben, dass es kein DC mehr ist, sondern eben ein > Rechteck-Signal. Das kann auch ein Vorteil sein, je nach Anwendung. Beim Steuern von Motoren z.B. ist die PWD deutlich im Vorteil. > Dieses jetzt über ein RC-Glied zu glätten ist ja abhängig von der > PWM-Frequenz (wenn ich es richtig verstanden habe) und damit nicht > über die gesamte Regelstrecke von Erfolg gekrönt. Die PWM-Frequenz ist konstant. Nur das Tastverhältnis ändert sich. > Das mit dem DAC ist schon eher die Richtung, die ich suche. > Nur die Bausteine, die ich bisher unter dem Schlagwort gefunden > habe geben das Ergebnis auch wieder über mehrere Pins aus, d.h. es > ist nicht wirklich analog, sondern eine logische Umwandlung > (verschiedene Zahlensystem z.B.). Dann ist es kein DAC. Ein solcher würde wirklich analoge Signale ausgeben. > Gibt es denn (bezahlbare?) DAC, die wirklich einen variablen > DC-Spannungspegel ausgeben? Klar gibt's die. Du kannst dir sogar mit Widerständen selbst einen bauen (Stichwort R2R).
Vielen Dank für Eure zahlreichen Tips! @Magnus: Könntest Du mir mal Vorteile von PWM-Einsatz bei DC-Motorsteuerung nennen? Ich habe bisher nahezu ausschließlich von Problemen gelesen. @Quark: Hm, von R2D2 habe ich schon gehört, mir war nur nicht bekannt, dass so ein Teil auch praktisch einsetzbar ist :) Schmerz beiseite: Danke für die Links, nach denen hatte ich schon gesucht! @all: Wenn ich z.B. mit 8 Pins die Spannung teilen möchte, dann komme ich (sofern ich es richtig verstanden habe) mit einer Widerstandsreihe auf 8 Ausgangs-Spannungs-Werte. Bei Verwendung eines DAC mit 8bit käme ich dagegen auf 2 hoch 8 Spannungswerte, also 256 Wenn meine Verständnis stimmt, würde mir ein 6bit DAC im Millisekundenbereich genügen. Wenn der dann noch eine Latch-Funktion hätte (d.h. die Ausgangsspannung halten würde, wenn das Eingangssignal wech is), wäre das schlichtweg genial.
Schau dir doch mal das Datenblatt eines DA-Wandlers an. Oder schau mal Internet bei "R2R Wandler". z.B.: http://cic.uni-paderborn.de/arbeitsgebiete/messtech/simulationen/da/da2/da2.html Das sind dann mit 8 Leitungen , wie du richtig erkannt hast, 256 Möglichkeiten. Gruß Thomas
> @Magnus: Das ist mein Nachname :) > Könntest Du mir mal Vorteile von PWM-Einsatz bei DC-Motorsteuerung > nennen? Wenn du direkt mit einem Analogwert arbeitest, ist der Wirkungsgrad je nach eingestelltem Wert recht mies. Du brauchst also mehr Leistung als nötig und die Leistungstransistoren müssen größer ausgelegt und aufwendiger gekühlt werden. Mit PWM kann man einen sehr hohen Wirkungsgrad über den gesamten Bereich erreichen. Außerdem bringt der Motor bei niedrigen Leistungen ein weniger lastabhängiges Drehmoment. Die PWM läßt sich auch rein digital umsetzen, weshalb sie in den meisten AVRs schon eingebaut ist. Ein ADC muß erst wieder extern angeschloseen werden. > Ich habe bisher nahezu ausschließlich von Problemen gelesen. Welche denn?
> Das ist mein Nachname :) Entschuldige bitte meine Unaufmerksamkeit/Oberflächlichkeit! > Welche denn? Dass insbesondere bei lowbudget Motoren PWM die Lager belastet und dazu führt, dass der Motor unrund läuft - bis hin, dass die rythmische Unwucht zu einem "Singen" führen kann. Ich habe noch überhaupt keine praktische Erfahrung. Bin noch dabei mich einzulesen. > Wenn du direkt mit einem Analogwert arbeitest, ist der Wirkungsgrad > je nach eingestelltem Wert recht mies. Hm, das leuchtet ein. Bei der Widerstandsreihe fällt ja auch an den Widerständen eine Verlustleistung an. Ich habe mal so ein R2R-Wandler aufgebaut. War nicht ganz so, wie ich mir das vorgestellt habe, aber es gibt doch einen Bereich, in dem man die Spannung feiner regulieren kann, als ich annahm. Irgendwie fehlt mir für die Schaltung der Verständnis-Zugang. Die Links sind leider sehr spartanisch mit Erklärungen. Vielleicht hat die Abweichung von der Theorie mit der Toleranz der Widerstände zu tun? Jedenfalls könnte ich mit einem 3 auf 8 Bit-Umsetzer die 8 Leitungen mit 3 AVR-Pins schalten. Dann noch ein oder zwei für die Bussteuerung, ... ja, das könnte hinkommen. Zur Schaltung: Ich möchte n Motoren steuern (n > 6), wobei die DA-Wandler an einem Bus hängen. Zyklische werden Sensoren abgefragt und ebenso zyklisch werden die Drehzahlen der Motoren angepaßt. Dafür hielt ich ein Latch für recht geschickt. Die AVR-Motorsteuerung müßte dafür nur von einem Sensor/Motor wissen, die Bussteuerung würde das Weiterschalten übernehmen. Ich denke, jetzt komme ich weiter. Vielen Dank Euch allen!
Wow, ich habe nochmal nach DAC und Co gesucht und denke, ich habe den Killerchip für meinen Anwendungsfall gefunden: den TDA8444. Der hat 8 DAC's, die über I²C gesteuert werden können. Auflösung ist 6bit und für meine Zwecke hinreichend genau. Die Spannungspegel passen auch - jetzt muss ich es "nur" noch programmieren. Danke nochmal für alle Tips.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.