Einfacher (R2R) 4-Bit DAC mit Referenz-Spannungseingang

Persönliche Seite #2024063
Lesenswert?

Hallo Gemeinde,
Ich bastle zur Zeit (nur halb ernstgemeint) einen Stepper-Motor Driver. 
Halb Ernstgemeint deswegen, weil ich nicht weiß ob er tatsächlich auch 
mal aufgebaut wird (Ist eher ein Zeitvertreib :-)).
Das Teil soll natürlich auch einen Chopper-Stromregler, sowie 
Microstepping besitzen.
Das Ganze soll dann über einen CPLD angesteuert werden.

Nun benötige ich für das Microstepping einen DAC (4 Bit wären schon 
genug) um die Referenzspannung einstellen zu können.
Im Prinzip genau den "4-Bit DAC"-Kasten auf Seite 1 des Datenblatts vom 
LMD18245:
http://www.national.com/profile/snip.cgi/openDS=LMD18245
Da das Ganze etwas Richtung Low-Cost und leicht beschaffbare Bauteile 
hingetrimmt werden soll fiel die Wahl ganz klar auf einen R2R DAC.


Allerdings gibt es dabei noch ein Problem:
Der R2R DAC wird aus dem CPLD-Port versorgt (3,3V). Somit ist der 4-Bit 
Einstellbereich zu groß. Angepeilt waren ca. 0-0,5V als 
Referenzspannung.


* Man könnte den "untersten" Widerstand eines R2R DACs durch einen 
Trimmer ersetzen um damit den Stellbereich einzustellen (wenn ich mich 
jedenfalls nicht irre). Allerdings: Ich benötige dann zwei Trimmer (die 
logischerweise getrennt sind), da ich ja bei einem Stepper-Motor den 
Strom von 2 Spulen choppern muss. Idealerweise sollten aber beide 
Chopper genau die gleiche "Referenzspannung" kriegen.

* Ok, noch eine Alternative wäre es, eine niederohmige Referenzspannung 
bereitzustellen und den R2R DAC mittels 4-Fach SPDT Analog-Schalter 
aufzubauen, was allerdings erst mal nur die Notlösung ist, da ein 
solcher Schalter schon relativ teuer ist und nicht unbedingt Standard.

* Bei AvrFreaks habe ich noch einen guten Tipp gelesen: Statt 4-Fach 
Switch einfach ein 74LVX (oder eine andere Familie mit Over-The-Top 
Eingängen) als Pegelwandler zu benutzen. Dabei ist die Referenzspannung 
dann die Versorgungsspannung des Chips.
Problem hierbei: 0,5V Versorgungsspannung sind wohl kaum genug :-)

* Man könnte die Variante 74LVX trotzdem benutzen und die 
"Referenzspannung" von 1,8V - 5,0V variieren lassen und am R2R-DAC 
"durch 4 teilen". Somit könnte man immerhin von 0,5 - 1,2V 
Referenzspannung einstellen.


Natürlich könnte man auch einfach einen normalen (8-Bit ist ja das 
"Kleinste") DAC nehmen, aber ich suche wie gesagt eine einfache Low-Cost 
Methode.
Ich hab mal den Tietze Schenk und den Horowitz durchgeblättert und auch 
nichts aufschlussreiches dazu gefunden. Angeblich gibts im Horowitz ne 
Schaltung wo ein Sinus per Widerstands-DAC und einem Schieberegister mit 
durchlaufender 1 erzeugt wird, allerdings konnte ich die Schaltung nicht 
ausfindig machen ;-)

Vielleicht hat ja jemand einen Tipp für mich, wie man im Prinzip am 
einfachsten einen R2R-DAC mit Referenzspannungseingang aufbaut.
Persönliche Seite #2024749
Lesenswert?

Ja das wäre eine Möglichkeit. Der Referenzspannungsbereich geht dann von 
2,0V - 5,0V. Muss ich mir noch mal überlegen. Der Einstellbereich ist 
dann ja nicht allzu groß.

Mir ist noch die Methode mit einem leicht beschaffbaren CD4053 
eingefallen. Da hätte man aber nur 3 Bits drin. Gleichzeitig braucht man 
eine größer Versorgungsspannung um den Analogbereich hinzukriegen.

Dann bleibe ich eher bei zwei einzelnen Trimmern. Danke Trotzdem! ;-)
#2024757
Lesenswert?

@Simon K. (simon) Benutzerseite

>Der R2R DAC wird aus dem CPLD-Port versorgt (3,3V). Somit ist der 4-Bit
>Einstellbereich zu groß. Angepeilt waren ca. 0-0,5V als
>Referenzspannung.

Schon mal was von enem Spannungsteiler gehört? Einfach den letzten 
Widerstand aufteilen und die geteilte Spannung abgreifen. WOW!

Was willst du hier machen? Probleme lösen, die nicht da sind? Klemm die 
4 Bits an deinen CPLD und fertig. Der hat CMOS-Auagänge, für deinen 4 
Bit DAC mehr als ausreichend.

>Vielleicht hat ja jemand einen Tipp für mich, wie man im Prinzip am
>einfachsten einen R2R-DAC mit Referenzspannungseingang aufbaut.

Siehe oben!

MfG
Falk

P S

K I S S!

Keep it smart and simple!
Persönliche Seite #2024772
Lesenswert?

Falk Brunner schrieb:
> @Simon K. (simon) Benutzerseite
>
>>Der R2R DAC wird aus dem CPLD-Port versorgt (3,3V). Somit ist der 4-Bit
>>Einstellbereich zu groß. Angepeilt waren ca. 0-0,5V als
>>Referenzspannung.
>
> Schon mal was von enem Spannungsteiler gehört? Einfach den letzten
> Widerstand aufteilen und die geteilte Spannung abgreifen. WOW!
Ja klar. Habe ich auch im Eingangspost geschrieben. Das Problem ist, 
dass ich zwei Stromregler habe, die beide die gleiche "Referenzspannung" 
ergo die gleiche Poti-Einstellung haben sollen. Also entweder Tandem 
Poti oder irgendwie anders realisieren.

Aber da werde ich einfach zwei einzelne Trimmer einbauen. Muss man halt 
zwei mal den Strom auf einen bestimmten Wert abgleichen.
#2024787
Lesenswert?

@  Simon K. (simon) Benutzerseite

>Ja klar. Habe ich auch im Eingangspost geschrieben. Das Problem ist,
>dass ich zwei Stromregler habe, die beide die gleiche "Referenzspannung"
>ergo die gleiche Poti-Einstellung haben sollen.

Und wo ist das Problem? Einfach beide Eingänge am Motortreiber an deinen 
DAC klemmen.

> Also entweder Tandem Poti oder irgendwie anders realisieren.

???

>Aber da werde ich einfach zwei einzelne Trimmer einbauen. Muss man halt
>zwei mal den Strom auf einen bestimmten Wert abgleichen.

???
Das muss nicht 0,1% genau sein, da braucht man keinen Abgleich, 1% 
Widerstände und gut.

Mfg
Falk
Persönliche Seite #2024889
Lesenswert?

Wir reden etwas aneinander vorbei.

Es geht darum, dass man für das Microstepping "Zwischenwerte" für den 
Strom-Chopper erzeugt, wo der Rotor zwischen zwei Rastpunkten gehalten 
wird. Ein Stepper-Motor hat aber 2 Spulen, demnach auch 2 Strom-Chopper. 
(Der Stromchopper ist im wesentlich nur ein schneller Komparator der den 
Motorstrom auf den Sollstrom regelt. Und zwar als Zweipunktregler).

Natürlich unterscheiden sich die Momentanwerte beider Strom-Chopper 
(Während einer Umdrehung verhält sich der Motorstrom in Spule 1 um 90° 
verdreht zum Strom in Spule 2. Gewissermaßen eine Sinus/Cosinus 
Beziehung.

Was ich jetzt machen möchte ist: Ich gebe per Poti die Referenzspannung 
für 2 DACs vor (So wie es auch schon im Thread-Titel steht). 
Referenzspannung heißt: Full-Scale Ausschlag. Dieser soll bei beiden 
Stromchopper-DACs gleich sein. Nun werden über die 4-Bit DACs nur noch 
beide Ströme Sinus/Cosinus-förmig verstellt, wobei aber beide DACs (bzw. 
Sinus/Cosinus) die gleiche Amplitude besitzen sollen.

Wie schon gesagt, es sind zwei einzelne R2R DACs, die aber beide den 
gleichen (einstellbaren) Full-Scale Wert, bzw. die gleiche 
Referenzspannung haben sollen.

Hier ein Bild zur Verdeutlichung:
http://i.cmpnet.com/industrialcontroldesignline/2008/1/microstepping_techniques_fig8.jpg

Ich möchte jetzt über EINEN Trimmer/Poti die "Amplitude" beider 
Sinus/Cosinus-Ströme einstellen können.
Persönliche Seite #2025024
Lesenswert?

:-) Könnte ich machen. Da ich allerdings Trimmer einsetzen wollte, 
müsste man sowas wie einen Stereo-Trimmer haben. Aber dann nehme ich 
lieber zwei einzelne, einfache Trimmer.

Die Trimmer werden ja nur einmalig auf den maximalen Stepper-Motorstrom 
eingestellt.
Wenn es da keine "einfache" Möglichkeit gibt das über einen Trimmer 
laufen zu lassen, nehme ich halt zwei. Damit kann man ja wohl leben. Man 
könnte damit sogar noch die Toleranz der Shunt-Widerstände ausgleichen.

Und die Trimmer kommen statt dem 2R Widerstand gegen Masse im R2R 
Netzwerk als Spannungsteiler verschaltet. Richtig?
Persönliche Seite #2025175
Lesenswert?

Der TMC249 sieht natürlich auch nicht übel aus. Mit "a few extra 
components" hätte man mit 58V Betriebsspannung genug Reserve um den bei 
den angedachten 48V zu betreiben.

Allerdings wird da wieder irgendein "kluges" Front-End nötig, was das 
Microstepping macht, da der DAC nur über das SPI angesprochen werden 
kann.

Trotzdem werde ich mir den mal abspeichern. Leider kostet der Chip bei 
Abnahme unter 1k Stück auch 10€ :-)

Wie gesagt, es geht darum alles so einfach und damit auch günstig wie 
möglich zu halten.
Gast #2025575
Lesenswert?

Man kann den Ausgang des R2R DAC einfach runterteilen.  Damit ginge dann 
die Möglichkeit mit dem TreiberIC wie 74xxx244 über die 
Versorgungsspannung.

Eine Alternative wäre es das gemeinsame runterteilen auch Digital zu 
machen, also z.B. über DIP Schalter, oder gleich die R2R Ketten 7 oder 8 
Bit lang.

So teuer sind DA Wandler auch nicht z.B. AD7528 oder MCP4922.
Persönliche Seite #2025726
Lesenswert?

Ulirch schrieb:
> Man kann den Ausgang des R2R DAC einfach runterteilen.  Damit ginge dann
> die Möglichkeit mit dem TreiberIC wie 74xxx244 über die
> Versorgungsspannung.
Schon, aber dann kann ich den Treiber auch direkt weglassen, weil der 
CPLD ja schon recht potente Ausgangstreiber drin hat. Den 74XXX hätte 
ich dann zum Multiplizieren genommen (indem ich seine 
Versorgungsspannung ändere).

> Eine Alternative wäre es das gemeinsame runterteilen auch Digital zu
> machen, also z.B. über DIP Schalter, oder gleich die R2R Ketten 7 oder 8
> Bit lang.

> So teuer sind DA Wandler auch nicht z.B. AD7528 oder MCP4922.

8Bit R2R und SPI DACs fallen erstmal aus, da ich das Ganze nicht an 
einem Mikrocontroller verwende, sondern an einem einfachen CPLD.
#2025820
Lesenswert?

Simon K. schrieb:
> 8Bit R2R und SPI DACs fallen erstmal aus, da ich das Ganze nicht an
> einem Mikrocontroller verwende, sondern an einem einfachen CPLD.

Womit willst Du denn den Motor steuern, wenn nicht durch einen MC?
Irgendwer muß ihm doch sagen, wieviel Schritte er fahren soll.
Ich wüßte keine Stepperanwendung, die ohne CPU auskommt.


Peter
Persönliche Seite #2025844
Lesenswert?

Peter Dannegger schrieb:
> Simon K. schrieb:
>> 8Bit R2R und SPI DACs fallen erstmal aus, da ich das Ganze nicht an
>> einem Mikrocontroller verwende, sondern an einem einfachen CPLD.
>
> Womit willst Du denn den Motor steuern, wenn nicht durch einen MC?
> Irgendwer muß ihm doch sagen, wieviel Schritte er fahren soll.
> Ich wüßte keine Stepperanwendung, die ohne CPU auskommt.

Mit dem Computer. Ist natürlich auch eine CPU, aber eben kein 
Mikrocontroller, der die nötigen Schnittstellen bereitstellt ;-)

In erster Bastel-Näherung verwendet man üblicherweise den LPT-Anschluss 
für sowas.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren