Hallo! Gibt es schnelle Mikrocontroller im bastelfreundlichen Gehäuse, die einen integrierten ADC und DAC haben? Ziemlich volle Wunschliste ich weiß, aber gibts da irgendwas in Richtung AVR/ARM/Cortex? Bislang habe ich viel mit AVRs gebaut/gebastelt und mag die Programmierung in Assembler. Kann man darauf basierend irgendwelche Controller empfehlen, die leistungsfähiger als die AVRs sind? Hintergrund: Ich hab bislang Sinuskurven per PWM und Tiefpass erzeugt, mich ärgert jedoch die Phasenverschiebung, wenn man den erzeugten Sinus mit irgendwas synchronisieren will. Zweites Problem ist die Ansteuerung eines PWM-geregelten Gegentaktwandlers, was ein AVR z.B. nicht mit hoher Frequenz und hoher Auflösung hinbekommt. Es gibt zwar tolle AVRs, die ein Steuermodul für einen 3-phasigen BLDC besitzen, aber keines für einen Gegentaktwandler. Außerdem besitzen diese Wandler starke nichtlineare Eigenschaften bezüglich PWM-Verhältnis und Ausgangsspannung/-strom. Es wäre praktischer, den Sollwert via DAC vorzugeben und die Regelung einem analogen Regelkreis zu überlassen.
@ Ben B. (Firma: Funkenflug Industries) (stromkraft) >Gibt es schnelle Mikrocontroller im bastelfreundlichen Gehäuse, die >einen integrierten ADC und DAC haben? Ziemlich volle Wunschliste ich >weiß, aber gibts da irgendwas in Richtung AVR/ARM/Cortex? Arduino Due. >Ich hab bislang Sinuskurven per PWM und Tiefpass erzeugt, mich ärgert >jedoch die Phasenverschiebung, wenn man den erzeugten Sinus mit >irgendwas synchronisieren will. Dann ist dein Filter falsch dimensioniert. Wenn man es ricihtig macht, ist die Phasenverschiebung minimal. Und im Extremfall kann man sie es sogar vorher berechnen und dementsprechend die Phase des generierten Sinus drehen, dann passt es wieder. >Zweites Problem ist die Ansteuerung eines PWM-geregelten >Gegentaktwandlers, was ein AVR z.B. nicht mit hoher Frequenz und hoher >Auflösung hinbekommt. Es gibt zwar tolle AVRs, die ein Steuermodul für >einen 3-phasigen BLDC besitzen, aber keines für einen Gegentaktwandler. Dafür ist er auch nicht wirklich gedacht. Dafür braucht man mehr CPU-Power und bessere Hardware. Der PICCOLO ist dein Freund. >Außerdem besitzen diese Wandler starke nichtlineare Eigenschaften >bezüglich PWM-Verhältnis und Ausgangsspannung/-strom. Das wäre mir neu. > Es wäre >praktischer, den Sollwert via DAC vorzugeben und die Regelung einem >analogen Regelkreis zu überlassen. Das ist der Workaround. Da kann man aber auch einfach einen externen DAC nutzen.
>> Außerdem besitzen diese Wandler starke nichtlineare Eigenschaften >> bezüglich PWM-Verhältnis und Ausgangsspannung/-strom. > Das wäre mir neu. Angenommen ein beliebiger Wandler bringt bei 10% duty einen Ausgangsstrom von 1A. Dann muß er noch lange nicht bei 20% duty einen Ausgangsstrom von 2A bringen, und bei 30% nicht 3A. Ohne analogen Regelkreis ist man da in Software nur mit messen und nachregeln beschäftigt und kommt doch nicht an die Genauigkeit und Geschwindigkeit eines analogen Regelkreises heran. > Dann ist dein Filter falsch dimensioniert. Mag sein, daß ich es nicht gut genug hingekriegt habe. Hast Du einen konkreten Vorschlag für ein Filter, welches einen 50Hz-Sinus phasengenau wiedergeben kann, ohne daß zuviel von der PWM-Frequenz mit durch geht? Konkreten Schaltplan mit Bauteilwerten? Den Piccolo und Arduino Due schaue ich mir mal an, kenne ich beide noch nicht. Danke!
>> ...und mag die Programmierung in Assembler
Lerne C
Nimm den CY8CKIT-059 processor board von Cypress (10 euro incl
programmer)
ARM3 + Delta-sigma-ADC + 2xSAR ADC + 4 DACs (strom/spannungsausgang)
Viele moeglichkeiten zB signal-generierung mittels DMA und sehr
flexibele pin-zuordnung
Ben B. schrieb: > Sinuskurven Von NXP gibt es dafür einen speziellen und noch günstigen ARM mit 2 MSPS ADC/DAC: http://www.watterott.com/de/LPC1549-LPCXpresso-Board Es wird allerdings hier behauptet dass es auch mit einem 8051 und PWM geht: http://community.silabs.com/t5/8-bit-MCU/50HZ-SPWM-using-microcontroller/m-p/168066 Falk B. schrieb: > Der PICCOLO ist dein Freund In dem Leistungsbereich haben wir grade Piccolo F28035 und R5 TMS570 getestet und der R5 hat deutlich mehr Performance.
@ Ben B. (Firma: Funkenflug Industries) (stromkraft) >>> Außerdem besitzen diese Wandler starke nichtlineare Eigenschaften >>> bezüglich PWM-Verhältnis und Ausgangsspannung/-strom. >> Das wäre mir neu. >Angenommen ein beliebiger Wandler bringt bei 10% duty einen >Ausgangsstrom von 1A. Dann muß er noch lange nicht bei 20% duty einen >Ausgangsstrom von 2A bringen, und bei 30% nicht 3A. Die meisten Wandler sind SPANNUNGSgeregelt und dort ist die Pulsbreite grob proportional zum Tastverhältnis. "Zweites Problem ist die Ansteuerung eines PWM-geregelten Gegentaktwandlers," > Dann ist dein Filter falsch dimensioniert. >Mag sein, daß ich es nicht gut genug hingekriegt habe. Hast Du einen >konkreten Vorschlag für ein Filter, welches einen 50Hz-Sinus phasengenau >wiedergeben kann, ohne daß zuviel von der PWM-Frequenz mit durch geht? >Konkreten Schaltplan mit Bauteilwerten? Nö, aber man braucht halt eine Bandbreite deutlich über 50Hz, sagen wir mal 500Hz. Die PWM muss durch diesen deutlich gedämpft werden. Ein AVR mit 16 MHz CPU-Takt und 8 Bit PWM macht 62,5kHz PWM-Frequenz. Ein Tiefpass 1. Ordnung macht zwischen 500 Hz und 62kHz eine Dämfung von ~ Faktor 100. Das ist schon ganz gut, geht aber leicht besser. Nimmt man einen Tiefpass 2. Ordung reicht das vollkommen. Google mal nach Sallen key Low pass filter. Dort ist das alles mit einem OPV realsiert, mit sinnvollen Bauteilwerten.
Schau dich doch mal bei den Microchip PICs um, DA-Wandler und div. PWM-Modi u.a. für Gegentaktanwendungen gibt es dort in vielen Typen, die meist auch noch in bastlerfreundlichen DIP-Gehäusen stecken.
LPC11A14 ist das was du suchst, wenn es ein Cortex sein soll. Ansonsten haben manche 8-Biter von Silabs 1DAC + X-ADCs.
STM Nucleo ist auch bastelfreundlich. F3 kann mit 5 MHz ADC samplen.
A. F. schrieb: > LPC11A14 ist das was du suchst, wenn es ein Cortex sein soll. Ansonsten > haben manche 8-Biter von Silabs 1DAC + X-ADCs LPC15 hat gegenüber LPC11A die Vorteile: deutlich schneller mit 72 MHz M3 und 12-bit ADC/DAC Silabs EFM8 Laser Bee hat auch 72 MHz und sogar 14-bit ADC/DAC aber als 8051 trotzdem deutlich langsamer als der M3. Dafür kostet er nur die Hälfte.
Ben B. schrieb: > Gibt es schnelle Mikrocontroller im bastelfreundlichen Gehäuse, die > einen integrierten ADC und DAC haben? Ziemlich volle Wunschliste ich > weiß, aber gibts da irgendwas in Richtung AVR/ARM/Cortex? AVR fällt mir hier spontan der Atmega32M1 ein. Kommt zwar nur um TQFP32-Gehäuse daher aber hier gibts u.a. formschöne Adapter auf DIL/DIP z.B. sodass man das auch auf dem Steckbrett nutzen kann. Ben B. schrieb: > Ich hab bislang Sinuskurven per PWM und Tiefpass erzeugt, mich ärgert > jedoch die Phasenverschiebung, wenn man den erzeugten Sinus mit > irgendwas synchronisieren will. Aber PWM und der Tiefpass ist dir doch bekannt? Damit kannst du doch die Phasenverschiebung ausrechnen? Das sollte eigentlich kein Problem sein. Ben B. schrieb: > weites Problem ist die Ansteuerung eines PWM-geregelten > Gegentaktwandlers, was ein AVR z.B. nicht mit hoher Frequenz und hoher > Auflösung hinbekommt. Was ist bei dir "hohe Frequenz und hohe Auflösung"? Ein Atmega kann PWM mit 10 bit immer noch ~16 kHz (bei 16 MHz Systemclock). Reicht sowas nicht? Der oben vorgeschlagene Atmega32M1 ist sogar noch schneller dabei, er hat noch ne 12 bit PWM mit 64 MHz PLC
> Gibt es schnelle Mikrocontroller im bastelfreundlichen Gehäuse, die > einen integrierten ADC und DAC haben? Sowas gab es schon vor >16Jahren von Renesas. Also geh ich mal davon aus das es sowas mittlerweile von jedem Hersteller gibt. Bei den gerne genommenen Teilen von ST muss man etwas aufpassen. Der DAC ist ohne Ausgangsstufe etwas schwaechelich und mit zugeschaltetem Treiber kommt man nicht sehr weit an die Rails, und die ADCs sind ohne Kalibrierung auch sehr Banane, erreichen mit der Kalibrierung aber dann die Werte der Konkurenz. Ich vermute mal ST hat ihren Prozess nicht so recht in Griff. Die internen Temperaturfuehler zeigen ja auch eher Zufallszahlen an. Olaf
Xmegas können das auch, der kleinste ist der 32E5 im TQFP-gehäuse, was für Bastler durchaus noch händelbar ist.
Ben B. schrieb: > Gibt es schnelle Mikrocontroller im bastelfreundlichen Gehäuse, die > einen integrierten ADC und DAC haben? Aber ja doch. Gibt's. Aber wenn es ans Empfehlen geht, wäre zuerst mal ne Gegenfrage nötig: Was kannst du bislang und wieviel Geduld und Nervenschmalz willst du aufbringen, um dich in dir bislang unbekannte µC einzulesen? Also, ADC's haben eigentlich alle. DACs haben nicht so viele, da muß man nachschauen bei den einzelnen Serien. Und schnell sollen die Dinger sein? Da fallen mir erstmal nur die Freescale Kinetis MK22FN... mit FPU, MK10DN... ohne FPU, MK02FN... mit FPU ein. Sind alles 100 MHz Cortexe M4 in relativ kleinen gehäusen (48..64..80er Region). Bei ST findest du erstmal ne Menge 36 MHz Typen und einige 72 MHz Typen, aber bei denen sind dann 3 oder 4 Waitstates fällig, bei noch schnelleren Typen von ST sind es dann noch mehr Waitstates. NXP hat seine Waitstate-Geschichten ein wenig besser im Griff, aber deren Chips mit höheren Taktfrequenzen sind zumeist Boliden wie LPC4088 und Konsorten. W.S.
Ich überlege derzeit auf einen anderen Controllertyp umzusteigen. Mir passt es nicht was Atmel derzeit mit den AVRs macht und schlecht verfügbar sind die Dinger meistens auch noch. Es werden eine handvoll Standard-Typen angeboten, aber wenn man wegen der integrierten Peripherie einen speziellen sucht, ist man meistens aufgeschmissen. Also sowas wie den Atmega32M1 muß man erstmal bekommen. Setzt voraus, daß die geforderte Peripherie überhaupt verfügbar ist. Wahrscheinlich bedeutet das mittelfristig auch den Abschied von DIL und Lochraster, wenn sich nichts mittels Adapterplatinen machen läßt. Diese steigern allerdings die Preise für die Controller. Schade, aber geht wahrscheinlich irgendwann nicht anders. Programmieren kann ich im Moment Assembler, PHP und noch etwas Basic. C müßte ich leider wirklich neu lernen, soll zwar ähnlich sein wie PHP (darin bin ich recht gut) aber in der scheiß Schule hat man uns lieber Turbo Pascal "beigebracht" anstatt was anständiges, was man später im Arbeitsleben hätte brauchen können. Also wenn neu lernen dann am liebsten auf einer Controllerfamilie mit richtig Bumms bei Bedarf (32 Bit), die alles abdeckt was ich so bastle - sonst muß ich alle 5 Jahre umsteigen und darauf hab ich nur wenig Lust. Dazu zählen einfache Dinge wie Messtechnik, Kommunikation mit dem PC (heute am liebsten via USB) und LCD-Displays, aber auch Stromversorgungen und Wandler mit etwas mehr Ampere. Gerade für letzteres erscheinen mir die AVRs oft zu langsam bzw. ihre PWM-Module sind dafür oft nicht schnell genug oder ungeeignet. Es gibt ein paar Typen, die BLDCs treiben können, aber einen Gegentaktwandler damit digital zu steuern ist schwierig bzw. nur über Tricks wie versetzt laufende Timer möglich. @Falk Woher kennst Du diese TI Piccolo MCUs? Die scheinen in Sachen Spannungswandlersteuerung wirklich ganz gut zu sein. Hast Du Erfahrung im Umgang und der Programmierung mit den Dingern? Ich find die sehr interessant. Die Phasenverschiebung am Tiefpassfilter läßt sich nur kompensieren wenn es sich um ein eingeschwungenes System handelt. Wenn man aber z.B. mit dem Nulldurchgang der Netzspannung eine eigene Sinus-Halbwelle zur Einspeisung "starten" möchte, macht sich diese Phasenverschiebung sehr störend bemerkbar. Da wäre ein DAC deutlich besser geeignet. Auf jeden Fall vielen Dank für eure Tips!
> Wahrscheinlich bedeutet das mittelfristig auch den Abschied von DIL und > Lochraster, wenn sich nichts mittels Adapterplatinen machen läßt. Diese > steigern allerdings die Preise für die Controller. Schade, aber geht > wahrscheinlich irgendwann nicht anders. Auch wenn hier alle auf AVR und ARM abfahren, schau dir die PIC-Familien von Microchip an. 8/16/32bit, die meisten auch zum basteln im DIP verfügbar, erst die 32bit-Riesen brauhen einen DIP-Adapter. z.B. Power Conversion: http://ww1.microchip.com/downloads/en/DeviceDoc/00001240F.pdf
> Also sowas wie den Atmega32M1 muß man erstmal bekommen. Setzt > voraus, daß die geforderte Peripherie überhaupt verfügbar ist. Auch wenn ich Atmel ja eher negativ gegenueber stehe, sowas ist doch quatsch. Wenn du Bastler bist dann bestell dir doch einfach 10-20Stk von deinem Lieblingskontroller bei Digikey und du hast fuer die naechsten 10Jahre genug. > Wahrscheinlich bedeutet das mittelfristig auch den Abschied von DIL und > Lochraster, wenn sich nichts mittels Adapterplatinen machen läßt. Diese > steigern allerdings die Preise für die Controller. Man kann durchaus auch SMD auf Lochraster loeten. Schau mal bei Elmchan vorbei, da kannst du ein paar Bilder sehen wie man das macht. Bei Adapterplatinen hast du in Deutschland leider recht. Die sind bei uns normalerweise 10x teurer als in einem Eletronikgeschaeft in Japan. Ich vermute aber mal, hab selber nicht geschaut das der freundliche Chinese von nebenan sowas mittlerweile billiger anbietet. Allerdings bietet es sich an spezielle Adapterplatinen fuer seinen Controller zu verwenden auf dem sich bereits der quarz, Debuggeranschluss und Stuetzkondensatoren befinden. Notfalls selber designen. > (darin bin ich recht gut) aber in der scheiß Schule hat man uns lieber > Turbo Pascal "beigebracht" anstatt was anständiges, was man später im > Arbeitsleben hätte brauchen können. Es waere wuenschwert, wenn auch wenig glaubhaft das man dir programmieren beigebracht hat. Wenn du eine funktionale Sprache wie Turbo Pascal wirklich koenntest so wuerdest du vermutlich eine Woche brauchen um das K&R zu lesen und danach eine weitere Woche Praxis und dann koenntest du C. > Also wenn neu lernen dann am liebsten auf einer Controllerfamilie mit > richtig Bumms bei Bedarf (32 Bit), die alles abdeckt was ich so bastle - > sonst muß ich alle 5 Jahre umsteigen und darauf hab ich nur wenig Lust. Der Umstieg von einer Controllerfamilie auf eine andere ist wegen der Abstraktionschicht C eine Kleinigkeit. Im Prinzip braucht man nur das Datenblatt fuer die Peripherie aufzuschlagen. Jedenfalls gilt das fuer Leute die wirklch programmieren und nicht nur Code aus dem Internet zusammenklauen. Wichtiger scheint mir eine brauchbare Oberflaeche/Debugger bei der Wahl des Controllers zu sein. In der Industrie durchgesetzt hat sich mittlereile ARM und Eclipse. Das muss einen nicht umbedingt gefallen, ich laester da auch gerne drueber, aber das ist ein Fakt. Olaf
@Ben B. (Firma: Funkenflug Industries) (stromkraft) >Woher kennst Du diese TI Piccolo MCUs? Hab ich vor Jahren mal im Netz gefunden. Es gibt auch ein sehr preiswertes Eval-Board. http://www.watterott.com/de/C2000-Piccolo-LaunchPad-LAUNCHXL-F28027 http://www.reichelt.de/TI-LAUNCHXL/3/index.html?&ACTION=3&LA=446&ARTICLE=129632&artnr=TI+LAUNCHXL&SEARCH=piccolo > Die scheinen in Sachen >Spannungswandlersteuerung wirklich ganz gut zu sein. Sie sind explizit dafür gemacht. > Hast Du Erfahrung >im Umgang und der Programmierung mit den Dingern? Ein wenig. Wir machen gerade ein Projekt damit in der 4ma. Die RICHTIG schnellen Sachen muss man in Assembler machen (z.B. 100kHz Interrupt für Datenerfassung und Regler), aber dafür gibt es viele Beispiele und vor allem viele ASM-Macros, die man recht einfach nutzen kann (Digital Power Library). Hier und dort muss man aber mit etwas ASM nachhelfen. Langsamere Sachen kann man in C machen. Die sehr einfache Kombination von C und ASM im Code Composer Studio gefällt mir sehr gut!
@Olaf Ich habe Turbo Pascal schlicht und ergreifend niemals gebraucht. Nur in den paar Unterrichtsstunden, wo ich besser damit war als der Lehrer. Der hatte Angst ich mache den Rechner kaputt weil ich den bei TP ständig nervend auf dem Bildschirm rumblinkenden Cursor mit Hilfe von Inline-Assembler und BIOS-Funktionen verschwinden lassen habe. Den dicken roten Kringel um die Funktion im Quelltext gabs nur weil der das einfach nicht verstanden hat und meinte ich soll solche "Experimente" lassen. Den Rest - Basic, Assembler und PHP hab ich mir selbst beigebogen. Neue Programmiersprache ist halt immer blöde weil man am Anfang alles nachschlagen muß und sich manchmal bescheuert vorkommt weil man nichts zustande kriegt. Eine gute praktische Programmierumgebung macht immer Sinn. Eben weil die ARM-Controller inzwischen so etabliert sind, denke ich verstärkt über diese nach. Aber da werd ich für die großen auf jeden Fall C brauchen, wahrscheinlich macht es nicht viel Sinn, diese Dinger in Assembler zu programmieren. @Falk Wenn Du schon etwas Ahnung von den Piccolo Controllern hast, würd ich Dich da gerne etwas nerven. Also hinsichtlich der Programmierumgebung, was Du als Programmieradapter benutzt und wie Du mit den Dingern angefangen hast. Es gibt dazu ja auch richtig komplexe Eval-Boards, die aber alle recht teuer sind. Dafür kriegt man z.B. einen kompletten Solarwechselrichter geliefert, find ich schon recht extrem.
@ Ben B. (Firma: Funkenflug Industries) (stromkraft) >Wenn Du schon etwas Ahnung von den Piccolo Controllern hast, würd ich >Dich da gerne etwas nerven. Also hinsichtlich der Programmierumgebung, Code Composer Studio + Control Suite, gibt es kostenlos bei TI. >was Du als Programmieradapter Das oben genannte Eval Board bzw. in der 4ma haben wir eine Eval Board von TI mit einer Steckkarte. http://www.ti.com/tool/tmdsilpfckit?keyMatch=interleaved pfc&tisearch=Search-EN-Everything > benutzt und wie Du mit den Dingern >angefangen hast. Demos anschauen und drin rum fummlen. >Es gibt dazu ja auch richtig komplexe Eval-Boards, die aber alle recht >teuer sind. Dafür kriegt man z.B. einen kompletten Solarwechselrichter >geliefert, find ich schon recht extrem. Das Eval-Board von oben reicht für den Eintieg und ist spottbillig.
Ben B. schrieb: > Wenn Du schon etwas Ahnung von den Piccolo Controllern hast, würd ich > Dich da gerne etwas nerven. Also hinsichtlich der Programmierumgebung, > was Du als Programmieradapter benutzt und wie Du mit den Dingern > angefangen hast. Hallo Ben, habe vor über fünf Jahren mal mit den Piccolos was gemacht. Seinerzeit mit Code Compos(t)er Studio gearbeitet, ist eine Eclipse Umgebung und vollstaendig von TI ausgerüstet,ging sehr gut und plug&play. Das CC Studio gibt es bei TI teilweise for free - musst Du dich erkundigen. Auf den meisten einfachen Boards ist ein XDS100 SWD/JTAG Adapter drauf so dass du damit mit CC-Studio problemlos flashen und debuggen kannst, das ging sehr gut. An den Piccolos sind die ADCs im Vergleich (meine Erfahrung) zu den STMs ein wahrer Traum (5Ms/s mit zwei Kanälen gleichzeitig), auch die Doku von TI ist um Lichtjahre besser - wennauch deutlich komplexer und umfangreicher. Dafür bist Du nicht - wie bei den STMs - aufs Raten angewiesen. Da steht drinnen was Du wie machen musst für was. Es gibt für die Piccolos auch Launchpads - musst du schauen. rgds
Ben B schrieb :
>Turbo Pascal
Ich habe selber eine andere erfahrung. Mittels Turbo Pascal habe ich ein
gutes strukturiertes begriff bekommen von (objekt orientes)
Programmieren. Vorher kannte ich schon Assembly/Basic. Nachdem habe ich
C gelernt.
Voriges Jahr angefangen mit ein bisschen CSharp und dabei habe ich
gestaunt wieviel sachen von der 'alten' Turbo Pascal' da hinein
steckten. Logisch natuerlich, weil der mann hinter CSharp (Anders
Hejlsberg) auch damals Turbo Pascal definiert hatte.
Suche dich einen controller und benutze ihm (wie gesagt mein vorschlag
Cypress PSOC-5LP aber einen andere auch ok), Lerne dich gut C statt
assembler weil die groszen Controller natuerlich immer complexer werden
und man viele C libraries hat die man kann benutzen. Mit Assembler kommt
man da nicht weit.
Dut wirst auch sehen, wenn man einmal der schritt gemacht hat einen
anderen controller zu benutzen, ist es immer einfacher um nachdem wieder
umzusteigen. Auch kannst du (gut geschriebene) libraries mitnehemn nu
anderen controllers, wenn die nicht zu low-level sind.
Patrick
@falk Ich hab mir die Software von TI heruntergeladen und werde damit mal ein wenig spielen. Weißt Du, ob man irgendwo die Schaltpläne zu den komplexen Evaluation-Boards wie z.B. den Solar-Invertern herbekommt ohne den ziemlich teuren Kit kaufen zu müssen? Bei welchem Anbieter bekommt ihr die nackten Piccolo Controller? Was C angeht soll PHP recht ähnlich aufgebaut sein, und in PHP bin ich ziemlich gut. Mal sehen was das wert ist.
@ Ben B. (Firma: Funkenflug Industries) (stromkraft) >wenig spielen. Weißt Du, ob man irgendwo die Schaltpläne zu den >komplexen Evaluation-Boards wie z.B. den Solar-Invertern herbekommt ohne >den ziemlich teuren Kit kaufen zu müssen? Bei den meisten Evalboards sind die Schaltpläne etc. in der Control Suite dabei, die sollte/muss man auf jeden Fall installieren. >Bei welchem Anbieter bekommt ihr die nackten Piccolo Controller? Keine Ahnung, ich tippe mal Digikey & Co haben sie.
Falk B. schrieb: > Arduino Due. Der DAC im SAM3 vom Due ist zum kotzen, der geht nur von 0,5...2,7V oder so. Ich musste das Ding mal für einen Kollegen einsetzen und habe am Ende dann einen externen DAC per SPI da dran gebastelt.
Rudolph schrieb: > Der DAC im SAM3 vom Due ist zum kotzen, der geht nur von 0,5...2,7V oder > so. > Ich musste das Ding mal für einen Kollegen einsetzen und habe am Ende > dann einen externen DAC per SPI da dran gebastelt. Was ist daran zum Kotzen? Dass er für deine Anwendung nicht passte? Ja, das kann passieren. Dann schließt man extern etwas an, dass auf die Anforderung passt. Da sehe ich jetzt nicht wirklich ein Problem.
Na okay, zum kotzen war eher die unscharfe Arduino Doku dazu: DAC1 and DAC2 These pins provides true analog outputs with 12-bits resolution (4096 levels) with the analogWrite() function. These pins can be used to create an audio output using the Audio library. The Arduino Due supports analogWrite() on pins 2 through 13, plus pins DAC0 and DAC1. Unlike the PWM pins, DAC0 and DAC1 are Digital to Analog converters, and act as true analog outputs. Und dann stellt man fest, dass da gar nicht 0...3.3V raus kommen können. Wie auch immer, ein kleiner SPI-DAC wie ein DAC7512 passt auch überall dran, da muss der Controller selber gar keinen DAC haben.
Olaf schrieb: > Bei den gerne genommenen Teilen von ST muss man etwas aufpassen. Der DAC > ist ohne Ausgangsstufe etwas schwaechelich und mit zugeschaltetem > Treiber kommt man nicht sehr weit an die Rails, und die ADCs sind ohne > Kalibrierung auch sehr Banane, erreichen mit der Kalibrierung aber dann > die Werte der Konkurenz. Ich vermute mal ST hat ihren Prozess nicht so > recht in Griff. Die internen Temperaturfuehler zeigen ja auch eher > Zufallszahlen an. > Den SDADC im F373 finde ich verunglueckt. Mit den normalen ADCs im F303 habe ich beste Erfahrungen. Und das der DAC entweder nicht belastet werden darf, oder nicht an die Versorgung herankommt, ist doch auch normales Verhalten.
:
Bearbeitet durch User
@Falk Die ControlSuite kommt mir eher vor wie eine Verkaufsveranstaltung. Schaltpläne zu den Evaluation-Boards habe ich dort leider nicht gefunden. Dafür kann man die Kits direkt aus dieser Software heraus bestellen, ganz tolle Sache, das hätte ich auch ohne gekonnt. Kannst Du bitte bei Deiner Version schauen, ob Du die Schaltpläne siehst oder wo ich nach ihnen suchen muß? 0,7..2,7 Vdac hätten mir ausgereicht. Aber dafür jetzt extra auf einen ARM umzusatteln...?! Kennt jemand einen guten DAC im DIP-Gehäuse, 8 Bit parallel, der ohne große Probleme eine Spannung möglichst 0..2,5V oder 0..5V ausgeben kann?
Ben B. schrieb: > Kennt jemand einen guten DAC im DIP-Gehäuse, 8 Bit parallel, der ohne > große Probleme eine Spannung möglichst 0..2,5V oder 0..5V ausgeben kann? Schau mal bei Farnell nach. Die haben eine parametrische Suche, damit findest du sicher was du suchst.
> Kennt jemand einen guten DAC im DIP-Gehäuse, 8 Bit parallel, der ohne > große Probleme eine Spannung möglichst 0..2,5V oder 0..5V ausgeben kann? Was ist für dich gut? DAC0832, TLC7524 oder eben R2R
Ben B. schrieb: > Was C angeht soll PHP recht ähnlich aufgebaut sein, und in PHP bin ich > ziemlich gut. Mal sehen was das wert ist. Das hast Du jetzt schon zum zweiten mal geschrieben und ich möchte Dir, um in Deiner Sprache zu bleiben, beibiegen, dass das totaler Mumpitz ist. PHP und C haben so viel Gemeinsamkeiten wie Englisch und HTML. Du wirst da Überschneidungen im "Wortschatz" finden, kannst aber weder eine Website einfach in Englisch beschreiben noch in HTML Gespräche auf der Insel führen. Also entweder lernst Du C oder Du lässt es bleiben. Deine Turbopascal-Romantik und die Geschichte vom ahnungslosen Lehrer kannst in diesem Forum besser stecken lassen. So kommst Du nicht weiter, Wunderkind ;)
Gute Besserung! Du musst's ja wissen wie gut ich in Informatik war! DAC08 hab ich schon mal gesehen, sowas müßte ich auf einer alten USV-Platine sogar noch rumliegen haben. Mal sehen was man mit dem so anfangen kann.
Ben B. schrieb: > @Falk > Die ControlSuite kommt mir eher vor wie eine Verkaufsveranstaltung. > Schaltpläne zu den Evaluation-Boards habe ich dort leider nicht > gefunden. Dafür kann man die Kits direkt aus dieser Software heraus > bestellen, ganz tolle Sache, das hätte ich auch ohne gekonnt. Kannst Du > bitte bei Deiner Version schauen, ob Du die Schaltpläne siehst oder wo > ich nach ihnen suchen muß? Für das neueste Launchpad der C2000 Familie mit dem FPU F28377S DSP: http://www.ti.com/tool/LAUNCHXL-F28377S Auf Seite 8 ff. gibt es Schematic etc. http://www.ti.com/lit/ug/sprui25a/sprui25a.pdf Wenn's ein Piccolo sein soll, wäre ggf. der F28027 etwas für dich (keine FPU, dafür aber Qmath kompatibel). http://www.ti.com/tool/launchxl-f28027 Auch hier auf Seite 8 ff. gibt es Informationen zu PCB, Schematics etc: http://www.ti.com/lit/ug/spruhh2a/spruhh2a.pdf Bei Fragen versuche ich gerne zu helfen (bin selber gerade dabei, mich mit dem F28377S Launchpad für eine Gegentaktwandler Applikation anzufreunden). cheers, Alexander
Hi Alex! Cool, daß ich da vielleicht einen Mitstreiter habe, der sich auch für das Thema interessiert. Ich schaue mir die beiden von Dir verlinkten Boards mal an, aber Du bist mit der Arbeit vermutlich schon weiter als ich. :) Die alte USV war so großzügig, einen DAC08CN zu spenden. Kennt den jemand? Das Datenblatt davon verwirrt mich ein wenig, ich dachte immer bei DACs geht es um Spannungen, im Datenblatt ist aber von Strömen die Rede. Naja ich werds nochmal genauer lesen...
Ben B. schrieb: > Hi Alex! > > Cool, daß ich da vielleicht einen Mitstreiter habe, der sich auch für > das Thema interessiert. Ich schaue mir die beiden von Dir verlinkten > Boards mal an, aber Du bist mit der Arbeit vermutlich schon weiter als > ich. :) Schau sie dir mal bei Gelegenheit an, vielleicht sind die ja etwas für dich. Code Composer Studio ist auch für mich etwas gewöhnungsbedürftig, aber mit ein wenig Einarbeitung und Geduld kommt man ganz gut voran. Zu meinem Prozess: Bisher steht lediglich die Simulation der geschlossenen Regelschleife mit Phase Shift Modulation. Hardware und uC Programmierung stehen noch auf dem Programm,und wird sicherlich in den nächsten Wochen stattfinden. Cheers,
Ben B. schrieb: > Die alte USV war so großzügig, einen DAC08CN zu spenden. Kennt den > jemand? Das Datenblatt davon verwirrt mich ein wenig, ich dachte immer > bei DACs geht es um Spannungen, im Datenblatt ist aber von Strömen die > Rede. Naja ich werds nochmal genauer lesen... Wofür wird der DAC eingesetzt? Bzw, wofür ist der Sinus gedacht?
Ich grüble immer noch wie ich am besten einen Solarstrom-Einspeisewechselrichter bastle. Also Sinus 50 Hz netzgeführt, 100Hz Halbwellen reichen aus, variable Amplitude für die Stromführung/MPP Tracking. Ich hab schon einen fertig, aber der hat seine Macken, daher neuer Ansatz mit neuem Design.
Ben B. schrieb: > Ich grüble immer noch wie ich am besten einen > Solarstrom-Einspeisewechselrichter bastle. Also Sinus 50 Hz netzgeführt, > 100Hz Halbwellen reichen aus, variable Amplitude für die > Stromführung/MPP Tracking. Ich hab schon einen fertig, aber der hat > seine Macken, daher neuer Ansatz mit neuem Design. In dieser Applikation sollte eine simple PLL für die Synchronisation des Netzes ausreichend sein, oder? Jedenfalls verstehe ich das so aus der Literatur. Spannendes Projekt - gefällt mir sehr!
Der erste Entwurf arbeitet über eine Synchronisation auf die Nulldurchgänge. Das funktioniert eigentlich ganz gut, aber der erzeugte "sinusförmige" Strom könnte schöner sein. Ich muß es nur schaffen saubere 100Hz Halbwellen zu erzeugen, die in der Amplitude regelbar sind und ohne Phasenverschiebung zu den Nulldurchgängen passen. Damit hat er erste Entwurf seine Probleme.
> Die alte USV war so großzügig, einen DAC08CN zu spenden. Kennt den > jemand? Das Datenblatt davon verwirrt mich ein wenig, ich dachte immer > bei DACs geht es um Spannungen, im Datenblatt ist aber von Strömen die > Rede. Naja ich werds nochmal genauer lesen... Es gibt auch DACs mit Stromausgang. Wo ist das Problem?
Daß ich sowas nicht erwartet habe. Damit muß ich mich erst vertraut machen.
Zwei Widerstände legen den Strom/Bit fest, zwei wandeln den Ausgangsstrom in eine Spannung. Der DAC08 braucht m.W. aber eine symmetrische Versorgungsspannung.
Dabei kommt mir gerade eine gute Idee bezüglich des DAC08. Ich könnte das Ding die ganze Zeit mit synchronisierten voll ausgesteuerten Halbwellen füttern und die Amplitude des Ausgangssignals mit einem stark gesiebten PWM-Signal einstellen, daß ich für den Referenzstrom benutze. Dieses Analogsignal braucht dann nicht mehr schnell oder in Phase zu sein, es muß nur schön glatt sein. Den ganzen Rest und die Verstärkung macht der DAC und ich brauch mich nicht mit der Berechnung von Sinuskurven herumschlagen. Das Ausgangssignal vom DAC kann ich dann am PWM-Regler direkt zur Steuerung des Ausgangsstromes verwenden. Dann muß ich mir nur noch einen passenden isolierenden Stromsensor besorgen, der eine Referenzspannung von 2,5V hat und eine möglichst hohe Empfindlichkeit bis 5A. Fertig ist ein netzgeführter Wandler mit 1kW, mehr wäre einfach durch Änderung der Empfindlichkeit des Stromwandlers möglich. Für den aktuellen Entwurf reicht 1kW weil der primär mit nur 30Vmpp laufen soll, da sind die Ströme bei 1kW hoch genug. Daß der DAC08 eine negative Betriebsspannung braucht stört mich nicht wirklich, wenn er mir damit meine Probleme löst. Das ganze Ding braucht sowieso jetzt schon 4 Hilfsspannungen, da fällt eine mehr nicht groß auf. Aktuell brauche ich netzseitig 12V für die FETs der netzsynchronen Vollbrücke und 3,3V für deren Steuerung und den ENS-Controller. Primärseitig nochmal 12V für die FETs der Wandlerstufe, den PWM-Regler und 5V für die Steuerung. Da noch einmal -12V für den DAC08 bereitzustellen ist kein sooo großer Aufwand. Wahrscheinlich erzeuge ich mir diese Spannungen mithilfe eines Sperrwandlers, da brauche ich nur die 12V Wicklung doppelt auszuführen und eine Diode und einen Siebelko mehr - fertig.
Wenn man den Controller nach dem integrierten DAC aussucht, schränkt das die Wahl deutlich ein. Ich habe mit dem integrierten DAC im Arduino Due, mit dem DAC8030 (oder so ähnlich, 8 Bit paralleler Eingang, Strom-Ausgang) und der MCP 4xxx-Familie von Microchip (SPI Eingang, integrierte Referenzspannung, Spannungsausgang, 8/10/12Bit) experimentiert. Die SPI-Bausteine sind wesentlich einfacher zu benutzen und auch nicht langsamer als die mit 8-Bit-Eingang, selbst wenn man dort alle Write- und Latch-Signale auf Durchzug schaltet. Schön ist auch, daß das "SPI-Protokoll" für 8/10/12 Bit identisch ist, sodaß man die Auflösung durch Tausch des Bausteins ändern kann, ohne die Software anzupassen.
1 | http://www.reichelt.de/MCP-4921-E-P/3/index.html?&ACTION=3&LA=446&ARTICLE=90088&artnr=MCP+4921-E%2FP&SEARCH=DAC |
Klingt ziemlich umständlich. Ein dsPIC33EPXXGS hat bis auf die Leistungselektronik alles an Bord.
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.