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.
Wie der Name schon sagt :R2R. Es braucht widerstaende und doppelt-Widerstaende. Standard sind 10k & 20k. Als Treiber kann man einen 74HC574 verwenden. Wenn man sich innerhalb der Versorgungsspannunggrenzen des 574 aufhaelt kann man damit multiplizieren.
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! ;-)
@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!
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.
@ 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
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.
:-) 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?
Simon K. schrieb: > aber ich suche wie gesagt eine einfache Low-Cost > Methode. Low-cost ist, man nimmt einfach nen Chip, wo schon alles komplett drin ist, z.B. den TMC222. http://www.trinamic.com/tmc/render.php?sess_pid=211 Peter
Ja, lustig ;-) Sowas suche ich dann mit 6A Spulenstrom. :-) Allzugünstig sind die Trinamic Chips leider auch nicht. Außerdem: Wo bleibt dann noch der Spaß?
Simon K. schrieb: > Ja, lustig ;-) Sowas suche ich dann mit 6A Spulenstrom. :-) Dann eben TMC249 mit externen FETs. Simon K. schrieb: > Wo > bleibt dann noch der Spaß? War auch mein Eindruck, Dir geht es garnicht um die Kosten, sondern darum, alles diskret aufzubauen. Peter
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.
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.
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.
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
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.
Ein kleiner µC ist ggf. eine preisgünstige Alternative zum CPLD. Ggf gibt es da auch einige wenige gleich mit DAC drin.
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.