mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hardware PWM-Signal auf anderen Pin ausgeben


Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ist es irgendwie möglich das Hardware-PWM Signal zusätzlich noch auf 
einem zweiten Pin auszugeben?

Hatte darüber irgendwo hier im Forum mal was gelesen. Finde den Beitrag 
aber nicht mehr.

Autor: Fabian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nunja du könntest ja bei ner flanke des PWM Signals nen interrupt 
auslösen, d.h. z.B. Pwm signal mit einem externen interrupt verbinden, 
dann biste halt je nach Frequenz nen paar nanosekunden dem ersten pwm 
signal hinterher. Sicher gibt es auch eine Softwarelösung. Weiss grad 
garnicht, ob das so geht wie ich mir das denke, aber kannst man nicht 
den Zustand eines Pwm Signals am jeweiligen Portpin abfragen? dann 
würdest halt immer wenn dein mc nix zu tun hat den pin abfragen. Ob das 
klappt gänt einmal davon ab, ob man überhaupt den portpin im pwm modus 
abfragen kann und wie ausgelastet dein mc ist. Falls er zu wenig 
freiraum besitzt könnte es kritisch von der Zeit her werden.

Das sind meine Ideen hierzu kann auch sein, dass ich mich auf völlig 
falschen Terrain bewege :)

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Hardware-PWM löst normalerweise (wenn aktiviert) einen 
OutputCompare-Interrupt oder einen Overflow-Interrupt beim 
entsprechenden Timer aus, wenn der Schaltzustand geändert wird. Diesen 
Interrupt kann man auf eine Routine schicken, in der ein anderer Portpin 
umgeschaltet wird. Wie schon gesagt, vergehen hier aber ein paar 
Nanosekunden. Absolut synchron wird´s also nicht.

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Interrupt fällt bei mir schon einmal weg, da ein weiterer 
Interrupt(benutze schhon zwei) die anderen stören würde. Gab nämlich 
schon bei den anderen beiden Probleme, das konnt ich so einigermaßen 
deichseln.

Nun ein anderer Ansatz:

Kann ich mir das erzeugte PWM-Signal von Timer1 z.B. auf OC1A und OC2A 
ausgeben lassen? Im Moment wird es ja nur an OC1A ausgegeben.


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zur Letztetn Frage mit Timer1 auf OC1A und OC2A: NEIN.
OC2A gehört zum Timer2.
Wozu brauchst du ein und dasselbe Signal an zwei Pins????

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh, sorry! Meinte OC1A und OC0A.

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach man, jetzt bin ich total durcheinander;-9

OC1A und OC1B

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist doch dasselbe. Intern sind die PWM-Ausgang des Timers1 NUR an 
die Anschlüsse OC1x geführt.
Wenn du das Signal an zwei Verbraucher führen willst, dann tue es 
einfach..
Wozu zweimal dasselbe ausgeben?? Wozu brauchst das?

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OC1A und OC1B geht. Die kannst Du dann sogar invers ausgeben. Du mußt 
dazu nur beide OCR-Register (A und B) auf denselben Wert setzen und über 
die COM1A und COM1B Bits das Ausgangsverhalten einstellen. Steht alles 
im Datenblatt.

Autor: Fabian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also 3 Interrupts zu benutzen sollte, wenn man sobald einer gestartet 
wird das global interrupt flag löscht und das statusregister sichert, 
kein Problem geben, oder wieso sind deine interruptroutinen so 
hochgradig zeitkritisch?

Autor: Fabian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Matthias

habe bis jetzt auch nicht begriffen, wieso er nicht nur ein pwm signal 
benutzt...
normal steuert man doch mit einem pwm signal nur und schliesst den 
verbraucher nicht direkt am pwm signal an.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Macht euch doch nicht verrückt, er wird uns die Antwort schon noch 
geben...

Autor: Dmitri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lasst mich mal raten, wozu er so was braucht...

Max möchte an einem anderen Pin SW-gesteuert je nach dem

a. das phasengleiche PWM-Signal
b. eine 1
c. eine 0

erzeugen.

Je nach Brückenkonfiguration lassen sich Lasten zu- und abschalten. Bei 
zwei gleichen PWMs wird die Last mal auf Bremse oben, mal auf Bremse 
unten gestellt, sprich, sie ist abgeschaltet. Wenn dann eine 
Brückenhälfte eine 1 bekommt, wirkt die Kraft nach irgendwo. Bei einer 
Null umgekehrt.

Na, habe ich recht?

Gruss
Dmitri

P.S. Das werde ich demnächst in meinem Projekt realisieren.

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.