Forum: Mikrocontroller und Digitale Elektronik Controller gesucht, interner ADC und DAC?


von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

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.

von Falk B. (falk)


Lesenswert?

@ 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.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

>> 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!

von Patrick C. (pcrom)


Lesenswert?

>> ...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

von Lothar (Gast)


Lesenswert?

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.

von Falk B. (falk)


Lesenswert?

@  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.

von Torben K. (tokuhila)


Lesenswert?

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.

von A. F. (artur-f) Benutzerseite


Lesenswert?

LPC11A14 ist das was du suchst, wenn es ein Cortex sein soll. Ansonsten 
haben manche 8-Biter von Silabs 1DAC + X-ADCs.

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

STM Nucleo ist auch bastelfreundlich. F3 kann mit 5 MHz ADC samplen.

von Lothar (Gast)


Lesenswert?

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.

von M. K. (sylaina)


Lesenswert?

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

von Olaf (Gast)


Lesenswert?

> 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

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Xmegas können das auch, der kleinste ist der 32E5 im TQFP-gehäuse, was 
für Bastler durchaus noch händelbar ist.

von W.S. (Gast)


Lesenswert?

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.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

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!

von Torben K. (tokuhila)


Lesenswert?

> 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

von Olaf (Gast)


Lesenswert?

> 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

von Falk B. (falk)


Lesenswert?

@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!

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

@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.

von Falk B. (falk)


Lesenswert?

@ 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.

von 6a66 (Gast)


Lesenswert?

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

von Patrick C. (pcrom)


Lesenswert?

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

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

@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.

von Falk B. (falk)


Lesenswert?

@ 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.

von Rudolph (Gast)


Lesenswert?

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.

von M. K. (sylaina)


Lesenswert?

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.

von Rudolph (Gast)


Lesenswert?

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.

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

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
von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

@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?

von M. K. (sylaina)


Lesenswert?

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.

von Torben K. (tokuhila)


Lesenswert?

> 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

von eee (Gast)


Lesenswert?

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 ;)

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

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.

von Al3ko -. (al3ko)


Lesenswert?

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

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

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...

von Alexander (Gast)


Lesenswert?

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,

von Al3ko -. (al3ko)


Lesenswert?

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?

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

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.

von Alexander (Gast)


Lesenswert?

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!

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

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.

von Torben K. (tokuhila)


Lesenswert?

> 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?

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Daß ich sowas nicht erwartet habe. Damit muß ich mich erst vertraut 
machen.

von Torben K. (tokuhila)


Lesenswert?

Zwei Widerstände legen den Strom/Bit fest, zwei wandeln den 
Ausgangsstrom in eine Spannung. Der DAC08 braucht m.W. aber eine 
symmetrische Versorgungsspannung.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

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.

von Georg B. (diereinegier)


Lesenswert?

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

von Torben K. (tokuhila)


Lesenswert?

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
Noch kein Account? Hier anmelden.