Forum: Mikrocontroller und Digitale Elektronik Zeitauflösung besser als 'uC clock' bei Ausgabe


von Zeitinkrement (Gast)


Lesenswert?

Hallo,
ich würde gerne mit dem uC eine Frequenz von 150-200kHz ausgeben, 
variabel, abhängig davon, wie schnell ein externer Interupt hereinkommt.

Bei 20Mhz Takt hätte ich also komfortable 100 Takte (bei 200kHz) Zeit, 
um noch alles mögliche zwischendrin zu machen. Das ist also nicht das 
Problem, sondern die Auflösung. Die ist ja maximal 50ns bei 20Mhz pro 
Takt.

Die Frage ist nun, gibt es da mit ein wenig einfacher Peripherie und 
ggfs. Verwendung von mehreren Pin's die Möglichkeit, dies noch feiner, 
sagen wir mal mit 10-20ns, zu steuern? Es geht nämlich darum, die Phase 
des Ausschaltens um wenige Grad Phasenlage verschieben zu können, und da 
sind die 50ns gerade etwas zu grob.

Es kommt nicht auf die absolute Genauigkeit an, also ob der Quarz nun 
mit der Temperatur wandert o.ä. ist egal, da ja eh nach einem Feedback 
gesteuert wird. Auch gelegentliche Ungenauigkeiten wären nun nicht gar 
so schlimm, solange man eben im Mittel deutlich besser wie die 50ns 
native Auflösung wird.

DDS kann ja auch nicht die Lösung sein, die Auflösung von 50ns bleibt ja 
die gleiche.

Jemand eine Idee?


PS: Jetzt wo ich das so schreibe, wäre vermutlich übertakten das 
einfachste. Aber ok, mal abgesehen von übertakten, was ginge noch?

von holger (Gast)


Lesenswert?

>Jemand eine Idee?

CPLD, FPGA, PLL.

von Zeitinkrement (Gast)


Lesenswert?

Danke.

Die Einstiegshürden für CPLD, FPGA sind etwas hoch (für mich). In 
gewisser Weise läuft das ja in Richtung bessere (=schnellere) Hardware, 
d.h. das wäre durch Übertakten auch abbildbar. Ausser, dass ich keinen 
schnelleren Quarz habe.

PLL als Peripherie - uff, gerade mal das Wiki durchgelesen, auch zu hoch 
(für mich).

Gibt's noch was primitiveres, z.B. mit RC oder flip flops, etc., was 
sich auch als Laie noch verstehen lässt?

von holger (Gast)


Lesenswert?

>Gibt's noch was primitiveres, z.B. mit RC oder flip flops, etc., was
>sich auch als Laie noch verstehen lässt?

Natürlich kannst du auch ein RC Glied nachschalten,
aber solange niemand weiss was du da vorhast kann man
dir halt nur den Rat geben eine schnellere Hardware
zu benutzen.

von Ralph (Gast)


Lesenswert?

Übertakten bringt nichts außer Ärger.

Wenn dir die 20 MHz nicht reichen, dann suche dir einen µC aus der mehr 
kann.
zb Cortex Mx / Rx die können bis zu > 80 MHz.

von Oszillo (Gast)


Lesenswert?

OK, danke. Die Option auf bessere Hardware bleibt immer.

@Holger - ok, es geht um Ansteuerung einer IGBT Halbbrücke für eine 
doppeltresonante Teslaspule für Zero Current Switching. Die üblichen 
Methoden dafür sind mir alle bekannt, daher spinne ich jetzt einmal ein 
wenig in Richtung uC Steuerung, weils eben auch noch für mich gerade so 
machbar wäre. Es gibt auch Leute, die machen das mit FGPA oder analog, 
darum geht es hier jetzt aber nicht.

Das Ziel ist hier ein sog. phase lead, um Treiber-Delays auszugleichen 
und den stromführenden IGBT möglichst optimal im Zero Current Zeitpunkt 
auszuschalten/einzuschalten.

Die Idee ist, über Int0/1 steigende/fallende Flanke eines CT 
Feedback-signals (also eine Halbperiode) zu messen, über einen simplen 
Zähler, und die Ein-/Ausschaltzeitpunkte davon abzuleiten. Diese werden 
dann jeweils um diesen Phase Lead korrigiert, um die man die IGBTs 
vorzeitig mit einem Abschaltsignal versorgen möchte.

Da 1000A Primärstrom (gepulst, ca. 300us, dann 20ms Pause) durchaus 
denkbar sind bei solchen Teilen, ist es eben anstrebenswert, diesen 
Nullpunkt möglichst genau zu erwischen. Ein Zeitfehler von 50ns, wie 
o.a. bedeuten schon ein Schalten von 60A, daher der Wunsch nach einem 
kleineren Zeitinkrement.

Grüsse

von holger (Gast)


Lesenswert?

>Da 1000A Primärstrom....
>o.a. bedeuten schon ein Schalten von 60A,

Wen interessieren schon 6%;)

von Beat (Gast)


Lesenswert?

die Piccolo Mikrocontroller von TI können PWM mit ca. 0.15ns Auflösung 
erzeugen.
Deutlich besser als deren Takt von ca. 60MHz.

von Frank R. (zausel)


Lesenswert?

Hallo Zeitinkrement,

da fällt mir ein Verfahren aus der Zeit der Schwarz-Weiß-Drucker ein:

http://de.wikipedia.org/wiki/Dithering_(Bildbearbeitung)

Das Prinzip funktioniert doch auch bei eindimensionalen 
Problemstellungen. Natürlich bleibt die Grundauflösung von 50ns 
weiterhin bestehen, aber durch Dithering kannst Du die Auflösung über 
einen längeren Zeitraum scheinbar erhöhen.

Du könntest intern einen Software-Zähler mit der erforderlichen hohen 
Genauigkeit benutzen. Parallel dazu läuft der ungenauere HW-Timer.
Nach jedem Timer-Durchlauf berechnest Du den aktuellen Fehler des 
HW-Timers gegenüber dem SW-Timer. Danach paßt Du den Startwert des 
HW-Timers entsprechend an. Es wird natürlich Jitter der ausgegebenen 
Frequenz entstehen.

Viele Grüße
Zausel

von Oszillo (Gast)


Lesenswert?

@holger: Diese 6% bedeuten aber hard switching und üble spikes. Da 
kommen ja noch reverse recovery Effekte und sonstiges, was ich gar nicht 
aussprechen kann, dazu. Die IGBT's werden ja (gepulst) enorm überlastet. 
Das machen sie offensichtlich auch mit, solange man sie eben sorgfältig 
von hard switching entlastet.

@Beat: OK, aber lässt sich diese PWM dann auch von Periode zu Periode in 
der Frequenz fein regulieren (also mit einem Feedbacksignal getriggert)?

von Oszillo (Gast)


Lesenswert?

Oszillo=Zeitinkrement, übrigens.

@Zausel - ja, genauso einen Ansatz hatte ich gesucht. Nur wird er so 
nicht funktionieren können, da ich ja keinen Timer benutzen kann (der 
wäre ja sehr viel gröber), sondern direkt den Takt des uC benutze. Nur 
so kommt man ja auf die 50ns.

Ich hatte (bei der genannten einfachen Peripherie) eher an so was 
gedacht:
z.B. 3 Pins, über jeweils einen R an einem gemeinsamen kleinen pF. 
Dahinter ein Schmitt-Trigger IC. Wenn nach 50ns 3 Pins gleichzeitig 
eingeschaltet werden, lädt der C am schnellsten, wenn nur 1 Pin 
eingeschaltet, am langsamsten. Wenn der RC so klein ist, dass er in 50ns 
aufgeladen werden kann, hab ich mein kleineres Zeitinkrement. Zum 
Entladen ditto. Dazwischen ist ja wieder massig Zeit, wie gesagt 
mindestens 100 Takte.

Hmm, hab ich mir gerade selbst eine Antwort gegeben - kann das 
funktionieren?

von holger (Gast)


Lesenswert?

>Hmm, hab ich mir gerade selbst eine Antwort gegeben - kann das
>funktionieren?

Nein.

>ich würde gerne mit dem uC eine Frequenz von 150-200kHz ausgeben,
>variabel, abhängig davon, wie schnell ein externer Interupt hereinkommt.
>
>Bei 20Mhz Takt hätte ich also komfortable 100 Takte (bei 200kHz) Zeit,
>um noch alles mögliche zwischendrin zu machen.

Dein Interrupt wird nicht nach 50ns ausgeführt. Der letzte
Befehl vor dem Interrupt wird noch komplett ausgeführt.
Der kann dann 1,2,3,4,5.. Takte lang sein. Dann evtl. noch
ein paar Register auf dem Stack retten weil du zwischendrin
ja auch noch was machen willst. Wird also nix
mit der schlappen Hardware.

von Zeitinkrement (Gast)


Lesenswert?

@holger:
Im gegebenen Fall macht er aber nur ein

i+=1;
if i=upper_threshold then Portpin=an;i=0;
if i=lower_treshold then portpin=aus;
oder so ähnlich, in einer Schleife.

Ich vermute mal, dass er da nicht viel register-Rettung machen muss, 
d.h. deterministisch. Er muss ja nicht alle 50ns ein-aus, sondern nur 
alle 2.5us, ich kann also einfach die erwartete Zeit für den Interrupt 
von den Thresholds abziehen.

Oder?

(Danke für die Beteiligung, hilft mir, das zu entwickeln!).

von holger (Gast)


Lesenswert?

>@holger:
>Ich vermute mal, dass er da nicht viel register-Rettung machen muss,
>d.h. deterministisch. Er muss ja nicht alle 50ns ein-aus, sondern nur
>alle 2.5us, ich kann also einfach die erwartete Zeit für den Interrupt
>von den Thresholds abziehen.

Dazu müsstest du aber voreilend wissen wann dein Interrupt
kommt. Das wird so nix. Dein uC kann nicht raten.

von Zeitinkrement (Gast)


Lesenswert?

Uff, ich kann grad nicht mehr denken,vielleicht hast Du recht. Morgen 
ueberlege ich das noch mal weiter oder probiere es einfach mal mit 
Funktionsgenerator und Evalboard.

Danke erstmal!

von TestX .. (xaos)


Lesenswert?

das problem an deinen optimierungswünschen ist, dass du enorme probleme 
mit parasitären effekte bekommst, sei es der IGBT oder die 
treiberstufe... die paar ns machen da quasi rein garnichts mehr aus.
statt zu messe kannst du aber einfach den IGBT als zustandsmodell 
beschreiben und mit prediktoren arbeiten um zukünftigen zustände zu 
schätzen und so den IGBT optimal zu steuern, bedarf einiges an theorie 
dahinter und leistungsfähiger hardware ;) damit triffst du die zeit 
punkte jedoch relativ genau, auch wenn es dir nicht wirklich all zu viel 
bringen wird

von Zeitinkrement (Gast)


Lesenswert?

Verstehe ich jetzt nicht. Parasitaere Effekte haben ja jetzt erst mal 
nichts mit dem phase lead zu tun, den ich brauche. Der phase lead ist ja 
nur durch delay des treibers und der Halbbruecke determiniert und grob 
konstant. Ich muss also nur die Phasenlage des Ausgabesignals in einem 
festen Verhaeltnis zum feedbacksignal (sprich Interrupt) einstellen und 
die Frequenz nach jeder Zeitmessung anpassen.

Beispiel:
Startfrequenz Halbbruecke 200kHz - alle 5us kommt ein interrupt beim 
Nulldurchgang, steigende Flanke.
Dazwischen zaehle ich eine var hoch, d.h. Bei 20Mhz uC clock messe ich 
100.
Diese div  2 schreibe ich in ein Timer compare register. Fehlt nour noch 
ein Phasenversatz zum ausgleich des Treiberdelays, der kommt bei jedem 
Interrupt als fester offset, z.b. 10, in den Timer counter. D.h. Nach 40 
weiteren Takten kommt der Timer overflow, dann schalte ich die Igbts um, 
und durch den delay des treibers lande ich im zero switsching point.

von Jobst M. (jobstens-de)


Lesenswert?

Also, was ich bisher an Informationen aus Deinen Texten herausfischen 
konnte, halte ich für dermassen blödsinnig, daß ich behaupte, nicht 
verstanden zu haben, was Du genau möchtest. =)

Wie wäre es mal mit einem Zeitdiagramm, in dem Du zeigst, welche Signale 
Du hast, welchse Signale Du haben möchtest und welche Zeiten geregelt 
werden sollen ...


Zeitinkrement schrieb:
> DDS kann ja auch nicht die Lösung sein, die Auflösung von 50ns bleibt ja
> die gleiche.

Naja, direkt ist DDS für Rechtecksignale aufgrund des Jitters nicht so 
optimal.
Aber bei Sinussignalen kann nach einer Filterung, die Phase in 
Bruchteilen der Auflösung verändert werden. Danach kann man aus dem 
Sinus auch wieder ein Rechteck machen. (So soll man es auch machen)


Gruß

Jobst

von Peter D. (pdiener) Benutzerseite


Lesenswert?

>@Beat: OK, aber lässt sich diese PWM dann auch von Periode zu Periode in
>der Frequenz fein regulieren (also mit einem Feedbacksignal getriggert)?

Die Periodendauer kann beim ePWM Modul vom Piccolo u.ä. nur in CPU Clock 
Cycles eingestellt werden. Nur das Compareregister hat die high 
resolution extension. Das sollte aber ausreichen, da ja nur die 300 µs 
genau stimmen müssen und nicht die 20 ms.

Selbstverständlich kann man das Compareregister incl. der high 
resolution extension in jeder Periode anders einstellen, ein Feedback 
ist also möglich.

Grüße,

Peter

von Zeitinkrement (Gast)



Lesenswert?

Hallo - erstmal danke für die Antworten, trotz 
Verständigungsschwierigkeiten, vermutlich durch meine mangelnden 
Erklärungen.

Daher jetzt noch ein paar Bilder und Dateien:
1) Ein Bild des Aufbaus (nicht die Nase rümpfen, bin Hobbyist, wie er 
momentan ist (ohne uC)
2) Eine Simulation in LTSpice (für den, den's interessiert. Man beachte, 
wie schön sauber da die Spannungsverläufe auf der Bridge sind - da ist 
eben keine Verzögerung im Feedback zum Schalten der IGBTs.
3) So sieht die Spannung auf meiner Halbbrücke in Wirklichkeit aus, üble 
Überschwinger
4) So das Gate Signal - daran liegt es nicht

OK - nochmal zu Bild 1: nicht sichtbar ist ein Schwingkreis in Serie - 
also bei Resonanz fast ein Kurzschluss. Die Primärspule koppelt an eine 
Sekundärspule an, mit gleicher Resonanzfrequenz. Siehe Spannung an 
Sekundärspule in der Simu. Der CT misst den Strom, geht an die Logik, 
die bereitet das Signal auf und schickt das mit kleinem Delay an den 
Treiber. Der schickt es mit kleinem Delay an die IGBT's und die sind 
(für 200kHz) auch nicht gerade die schnellsten.

Die Halbbrücke schaltet also immer verspätet - nicht im Nulldurchgang, 
was gewünscht wäre, um wirklich soft zu schalten. Da die Last ja ein 
Schwingkreis in Serie ist, fliessen enorme Ströme im Primärkreis. Das 
heisst, selbst kleine Verspätungen sorgen schon für Schalten erheblicher 
Ströme, und damit heftiger Spannungspeaks und Schaltverluste. Damit die 
IGBTs das aushalten, werden sie durch eine Interruptorschaltung nur 
300us angeschaltet (mit 200kHz) und dann wieder 20ms aus zum abkühlen.

So, zurück zum Thema: Diese Verzögerung will ich mit einem uC 
kompensieren. Man muss also 'vorhersehen', wann der Nulldurchgang des 
Primärstroms zu erwarten ist, und ein Steuersignal vorzeitig, vor dem 
Nulldurchgang und Signalwechsel vom Current Transformer, an die 
Halbbrücke senden. Das ist jetzt nicht so unmöglich, wie es sich anhört 
- der Strom im Primärkreis ist ein Sinus (Schwingkreis), und dieses 
Vorschalten (phase lead) ist ja in einem stabilen Verhältnis zum 
Feedbacksignal. Die Resonanzfrequenz ändert sich übrigens, z.B. mit 
steigender Spannung der Sekundärspule, oder bei Funkenbildung, auch das 
wäre per Feedbacksignal zu messen und nachzuführen.

Wer jetzt meinen mag, das ist alles quatsch - ne, mit analogen 
Schaltungen kann man diesen Phase Lead und das vorzeitige Schalten ganz 
gut hinbekommen. Das ganze müsste eben aber auch digital gehen, mit dem 
Reiz, dass man da alles schön numerisch einstellen kann. Wer meint, dass 
die Spannungsspitzen in Bild 3 mit meinem Layout zu tun haben - nun gut, 
vielleicht auch, aber so schlecht ist das gar nicht.

Peter, den Piccolo hab ich mir mal angesehen - schönes Teil. Aber: die 
Schaltperiode ist 5us (200kz), nicht 300us, das ist die An-Zeit!

Jobst, die DDS Variante mit dem Sinus + Komparator hab ich auch schon 
gelesen, darüber hab ich hier schonmal rumgesponnen:
http://4hv.org/e107_plugins/forum/forum_viewtopic.php?123724.

Nun ja, vielleicht ist ja noch jemand nach all dem Text da und möchte 
auf die ursprüngliche Fragestellung eingehen.

von Jobst M. (jobstens-de)


Lesenswert?

Okay. Zusammenfassung:

Du möchtest den Schaltzeitpunkt der IGBTs, deren Ansteuerung verzögert 
erfolgt, mit dem Nulldurchgang des Feedbacks des Trafos syncronisieren 
...!?

Dann benötigst Du noch die Information, was die IGBTs gerade tatsächlich 
tun, damit Du die Differenz zwischen SOLL und IST hast.

Zeitinkrement schrieb:
> die Schaltperiode ist 5us (200kz), nicht 300us, das ist die An-Zeit!

Du meinst 300ns ...?


Du möchtest also alle 2,5µs für 300ns wechselweise die IGBTs 
einschalten.
Die 300ns sind fest?
Die 2,5µs sollen vom FB eingestellt werden?
Was möchtest Du da noch ...

Zeitinkrement schrieb:
> dass man da alles schön numerisch einstellen kann.


Ich würde mit einem 4046 und einem Teiler ein symetrisches Rechteck 
erzeugen. Hieraus würde ich mittels Impulsabtrennung (C-R-Glied) 
wechselweise die Impulse für die IGBTs erzeugen.

Die beiden Signale (SOLL und IST) gehen in den 4046 - der macht den 
Rest.

Einen uC würde ich bei dem Vorhaben aussen vor lassen ...



Gruß

Jobst

von Zeitinkrement (Gast)


Lesenswert?

Hallo Jobst,
also erstmal danke, dass Du Dir die Mühe machst da immer noch 
durchzusteigen. Freut mich.

>>Du möchtest den Schaltzeitpunkt der IGBTs, deren Ansteuerung verzögert
>>erfolgt, mit dem Nulldurchgang des Feedbacks des Trafos syncronisieren
>>...!?
Ja.
D.h. ich muss aus der Situation der letzten Periode errechnen, wie viel 
vor dem Nulldurchgang ich die IGBT's an und und ausschalten muss, damit 
sie wirklich möglichst genau zum Nulldurchgang auf- bzw. zu machen.

>>Dann benötigst Du noch die Information, was die IGBTs gerade tatsächlich
>>tun, damit Du die Differenz zwischen SOLL und IST hast.
Jein. Ich brauche die Info, wie sie sich beim letzten Mal verhalten 
haben, damit ich daraus ableiten kann, wie sie sich beim nächsten Mal 
(bei der nächsten Periode) verhalten, um dann entsprechend vorzusteuern.

Zeitinkrement schrieb:
>> > die Schaltperiode ist 5us (200kz), nicht 300us, das ist die An-Zeit!
>>Du meinst 300ns ...?
Nein. Die 300us sind die Zeit, die ich diese Schaltung max. auf 200kHz 
(bzw. auf Resonanz) schwingen lasse, bevor ich sie wieder für 20ms 
ausschalte. Der Grund ist schlicht, dass sie sonst durchbrennen. Das 
verwirrt jetzt mehr, als es nützt - eigentlich ist diese Info für das 
Vorhaben eher nebensächlich.

Also nochmal, die Frequenz, mit der die Halbbrücke beaufschlagt ist, ist 
ca. 200kHz, eben die Resonanzfrequenz. D.h. 5us Periode, 2.5us halbe 
Periode. Die IGBTs schalten also alle 2.5us an und dann wieder aus.


>>Du möchtest also alle 2,5µs für 300ns wechselweise die IGBTs
>>einschalten.
Nein - alle 2,5us für 2.5us an bzw. aus
>>Die 300ns sind fest?
>>Die 2,5µs sollen vom FB eingestellt werden?
>>Was möchtest Du da noch ...
Den Delay der Treiberschaltung und IGBTs ausgleichen, sprich, die 
Frequenz aus dem letzten Verlauf via Interrupts von der CT schaltung 
berechnen, anpassen, und die IGBT's um den Delay der Treiberschaltung 
verfrüht einschalten. Bedenke, der Schwingkreis, denn ich oben erwähnte, 
schwingt ja weiter (gedämpft)und liefert weiter feedback, die Brücke 
pumpt ja nur mehr Energie rein, um letztendlich sekundär zu einem 
Funkenausbruch zu kommen.

Zeitinkrement schrieb:
> dass man da alles schön numerisch einstellen kann.


>>Ich würde mit einem 4046 und einem Teiler ein symetrisches Rechteck
>>erzeugen. Hieraus würde ich mittels Impulsabtrennung (C-R-Glied)
>>wechselweise die Impulse für die IGBTs erzeugen.
>Die beiden Signale (SOLL und IST) gehen in den 4046 - der macht den
>Rest.

Genau das Prinzip - prinzipiell kann man genau den gleichen Vorgang mit 
PLL machen. Hab ich auch schon. Hier ein Link zur Schaltung.
http://scopeboy.com/tesla/dw-isstc/p2/dw2.html
Allerdings ist das eben nicht mehr neu (und funktioniert bei gepulstem 
Betrieb auch nicht mehr so stabil).

>>Einen uC würde ich bei dem Vorhaben aussen vor lassen ...
Genau darauf kapriziere ich mich aber, weils eben noch keiner gemacht 
hat. Ich seh ja langsam ein, dass eben ein 8bit atmega das bei 20MHz 
vielleicht nicht schafft, aber prinzipiell müsste es möglich sein. 
Validieren kann man damit zumindest mal.

Hier gibt es tatsächlich ein Video zu dem Vorgang, welchen ich erreichen 
möchte (ganz interessant):
http://www.youtube.com/watch?v=6FdGIMlxJDc
Allerdings macht der Kollege das analog (er schaltet eine Induktivität 
parallel zum CT, um den Phase lead zu erhalten, was Nachteile hat).

So, jetzt müssten wir uns der Sache langsam nähern, wenn Du noch 
durchhälst :-).

von Jobst M. (jobstens-de)


Lesenswert?

Eine Frage noch:

Wenn die Schaltung wieder für 300µs in Betrieb geht, schwingt der Trafo 
dann noch vom vorherigen Mal?

Und:

Dir kommt es also vor allem darauf an, die Resonanzfrequenz sehr genau 
zu treffen, das FB-Signal ist nur Mittel zum Zweck ..?


Gruß

Jobst

von Zeitinkrement (Gast)


Lesenswert?

Hallo, nein, nach der Auszeit (ca. 20ms) ist die Schwingung im 
Schwingkreis dann schon abgeklungen. Der erste Einschaltimpuls sorgt 
aber für einen Impuls, der dann via CT wieder rückkoppelt und die 
Schwingung wieder in Gang setzt.

Der CT ist nur ein Mittel, die Schwingung galvanisch getrennt und 
niederohmig (damit störunempfindlich) abzugreifen - das könnte auch 
sonstwas sein.

Die Resonanzfrequenz möglichst zu treffen ist wichtig (durch das 
feedback regelt sich das ja ein), war aber nicht so sehr das Thema des 
Threads. Hier ging es mir eher darum, die Halbbrücke möglichst genau zum 
Nulldurchgang des Stroms zu schalten (Zero Current Switching). Um dies 
zu erreichen, muss ich eben mit Vorlauf ausschalten.

Für alle, die hier Inverter im Sinn haben - das ist hier etwas anderes. 
Die Primär-/Sekundärkombinaton ist auch kein Trafo - die Kopplung ist 
hier nur ca. k=0.2.

von Jobst M. (jobstens-de)


Lesenswert?

Zeitinkrement schrieb:
> war aber nicht so sehr das Thema des Threads.

Du mußt den Leuten aber schon erlauben, zu verstehen, was Du vor hast, 
damit sie Lösungen oder Ideen dazu haben.

Ich halte die Idee, solche Regelungen mit zeitdiskreten Systemen zu 
machen, jedenfalls nicht für sonderlich gut.


Gruß

Jobst

von beat (Gast)


Lesenswert?

>Die Periodendauer kann beim ePWM Modul vom Piccolo u.ä. nur in CPU Clock
>Cycles eingestellt werden. Nur das Compareregister hat die high
>resolution extension.

Die neuen Piccolos können jetzt auch die Periodendauer so fein 
einstellen !

von Zeitinkrement (Gast)


Lesenswert?

Jobst, klar - das war ja auch nur eine Klarstellung, keine Kritik. 
Verglichen mit anderen habe ich ja schon einiges an Input geschrieben, 
inzwischen. Die Gefahr ist eben auch, dass das drumherum an Info 
gelegentlich auch verwirrt und ablenkt.

Beat - diese Piccolos werd ich mir mal ernsthaft anschauen. Du meinst 
die TMS320F2806x-Serie, richtig? Die scheinen ja schon enorm 
leistungsfähig und wenn ich es richtig sehe, mit 39$ für einen 
ControlStick auch günstig.
Allerdings fürchte ich, dass ich die Einarbeitung zeitlich nicht 
schaffe. Das ist ja alles Bastelei nebenher, die nichts mit meinem Job 
zu tun hat. Ich zieh mir mal das Datenblatt rein.

Grüsse

von Zeitinkrement (Gast)


Angehängte Dateien:

Lesenswert?

Hier noch ein letzter Versuch, den Sinn dieses kaputterklärten Threads 
nochmal klarzumachen.

Im Bild sieht man eine Messung des Ausgangs-Stroms der Halbbrücke. Man 
erkennt an dem Gezackel, wann die Halbbrücke schaltet - nämlich zu spät, 
nach dem Nulldurchgang. Die 200mV Anzeige entsprechen übrigens 20Ampere.

Wenn es gelänge, mit Hilfe eines uC dieses Schalten vorzuschieben, wie 
oben erklärt, dann hätte man saubereres Schalten.

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.