mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik totzeit von 1µs bauen


Autor: gast (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo ich möchte meine MOSfet steuern aber die schalten beide gleich 
zeitig.nun möchte ich ein totzeit bauen, die sich auf der low side 
befinden ich weiss das ich meine ausgänge in low und high ändern soll 
aber wie ich die 1µs bauen in dieser code ist mir nicht klar.kann mir 
jemand helfen.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  gast (Gast)

>aber wie ich die 1µs bauen in dieser code ist mir nicht klar.kann mir
>jemand helfen.

Einfach das Signal über ein paar Schieberegister verzögern.

MFG
Falk

Autor: Andrew Taylor (marsufant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und warum machst Du dafür 2 Threads auf?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> aber wie ich die 1µs bauen in dieser code ist mir nicht klar
Dazu solltest du erst mal sagen/wissen, was du für eine Taktfrequenz 
hast.
Und dann wäre eine Skizze zum gewünschten Signalverlauf schön.
Ich vermute (in Ermangelung genauerer Informationen), High-Side ist 
aktiv, wenn PWM=1 ist, und Low-Side, wenn PWM=0 ist. Dann muß High-Side 
bei einem 0-1 Übergang verzögert werden, und Low-Side bei einem 1-0 
Übergang. Du brauchst also 2 Totzeiten.
Das wäre ein Ansatz:
:
signal delayhs = integer range 0 to 100;
signal delayls = integer range 0 to 100;
:
:
    process(clk) begin
       if rising_edge(clk) then
          if (PWM='0') then -- Low-Side aktiv
             delayhs <= 0;
             PWM_HI <= '0'; -- High-side sofort aus
             if (delayls<100) then -- Low-Side verzögern
                delayls<=delayls+1;
             else
                PWM_LO='0';
             end if;
          else              -- High-Side aktiv
             delayls <= 0;
             PWM_LO <= '1'; -- Low-Side sofort aus
             if (delayhs<100) then -- High-Side verzögern
                delayhs<=delayhs+1;
             else
                PWM_HI='1';
             end if;
          end if;
       end if;
    end process;

Schöner wäre es allerdings, das in die PWM-Erzeugung zu integrieren, und 
zwei Komparatoren zu verwenden.

BTW:
Die Shift-Taste erweitert den verfügbaren ASCII-Raum um den Faktor 2.
Gleichzeitig erhöht sie die Lesbarkeit deines Textes.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja ich habe vergessen zu erwähnen. nur die Low side muss vor und 
nach verzörgern werden. ich versuche es noch mit deine Methode .danke

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> nur die Low side muss vor und nach verzörgern werden.
Ein Vorverzögern gibt es nicht  :-o
Ergo muß das Einschalten der High-Side nach dem Ausschalten der 
Low-side verzögert werden. Und genauso muß das Einschalten der Low-Side 
nach dem Ausschalten der High-Side verzögert werden.

Aber wie gesagt: ich würde das in die PWM-Erzeugung packen. Eine 
Schaltschwelle für den High-Side-Schalter, eine andere für die Low-Side.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  gast (Gast)

>Ach ja ich habe vergessen zu erwähnen. nur die Low side muss vor und
>nach verzörgern werden.

Nöö. Man braucht Break before Make. Das AUSschalten muss unverzögert 
erfogen, das EINschalten verzögert. Gilt für LOW UND HIGH Side.

MFG
Falk

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.