www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM ausgeben und deren Takte zählen


Autor: (ich) (bin) (ein) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Gerne würde ich eine PWM mit einem Controller erzeugen. (ist noch kein 
Controller da) Ein Komparator beendet dann die PWM-Ausgabe.(Wann oder 
warum sei mal dahingestellt..)

Die Anzahl der Takte wird innerhalb der SW benötigt. Gibt es eine 
Möglichkeit, die Takte der PWM einerseits auf einen PIN zu geben und 
andererseits auch intern auf einen Zähler zu geben?

Hoffe ich hab mich verständlich ausgedrückt. Ziel ist halt, die Anzahl 
der getätigten Takte in einem Register/einer Variable zu haben.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Input Capture von ebendiesem Timer.

Autor: (ich) (bin) (ein) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hoffe ich werde nicht auseinandergenommen, wenn ich frage, was ein input 
capture ist...
bisher muss ich einen Pin togglen für ein Rechtecksignal. Gibt nur nen 
PIC OHNE PWM !!!

Nach meiner Vorstellung initialisiert man die PWM (hängt wohl n timer 
mit drin) und gibt dann ein Gate frei, welches die PWM dann auf einen 
PIN loslässt. Genauso wird man wohl das Tor wieder schließen können, 
damit die PWM (am PIN, oder überhaupt) stoppt.

Mich interessiert halt, ob ich den Takt in irgendeiner Form 
Softwaretechnisch erreiche.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lass dir bitte nicht alles aus der Nase ziehen, welche 
Taktgeschwindigkeit brauchst du? Welchen uC GENAU verwendest du?

Autor: Frank L. (hermastersvoice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm einen Controller mit Hardware-PWM, lass Die im Interrupt laufen und 
zähl einfach in deinem Programm die Interrupte. Ohne nähere Angaben kann 
man nix weiter sagen.

bye

Frank

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(ich) (bin) (ein) wrote:

> hoffe ich werde nicht auseinandergenommen, wenn ich frage, was ein input
> capture ist...

Je nach verwendetem Controller kann man bei einem Timer sowohl einen 
externen Takteingang verwenden (kommt hier dann vom PWM-Timer), als auch 
einen Capture-Eingang zuordnen. Und wenn dieser Eingang aktiv wird, wird 
der aktuellen Zählzustand des Timers in einem separaten Register 
gespeichert, zudem wird der Controller aus seinem Schlaf gerissen.

Alternativ kannst du aber auch schlicht und einfach mitzählen, wenn der 
Takt langsam genug ist.

Autor: (ich) (bin) (ein) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Werte der geforderten PWM wären:

142kHz, Duty Cycle wird so knapp unter 100% liegen

Der Chip, den ich verwende, tut nix zur Sache, da er eben KEINE PWM hat.
Welchen ich verwenden werde/darf wird sich noch klären.(Wichtig wird 
hier wohl sein, dass die PWM die geforderte Frequenz schafft..)

Wenn die PWM einen Timer hat, dann werde ich einfach das Register für 
den Timerstand auslesen, bevor ich die PWM für weitere Anwendungen neu 
konfiguriere bzw. Register lösche.

Fals es ein solches Register gibt, welches dem PWM-Timer enspringt, dann 
ist meine Frage schon geklärt.

Danke schon mal!!!

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähm. Du willst eine PWM-Frequenz von 142KHz mit einem Controller 
erzeugen, der keine Hardware-PWM kann? Interessant.

Autor: (ich) (bin) (ein) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Halloooooooooo....


OH man, welchen Chip ich verwenden werde, ist noch nicht klar!!!

Das heißt soviel wie: ich bekomme einen neuen zugesprochen, da eine PWM 
unabkömmlich ist!!!!!!!!!!!!

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, dann passe ich meine Antwort deiner präzisen Frage an: Ja es gibt 
eine Möglichkeit, bei manchen Controllern. Nein, es gibt keine 
Möglichkeit, bei manchen Controllern. Und nein, ich kann dir nicht sagen 
wie es geht, weil das vom verwendeten Controller abhängt.

Autor: (ich) (bin) (ein) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok in der engeren auswahl stehen AVR oder PIC Controller so in der 
Größenordnung von 20 PINs

Er muss:
- eine PWM haben (bis 142kHz)
- und mindestens 6 I/O Pins,
- vier Komparatoreingänge

Wie es aussieht, läuft es auf einen PIC 16F... oder PIC 18F... heraus.

Autor: Nerval (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir den 16f628a oder 16f88 mal an (beide 18 Pins). Für die von Dir 
genannten Anforderungen brauchts doch keine 20 Pins.

Autor: Latissimo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das waren die unumgänglichen Funktionen, die diese Pin-Anzahl brauchen.
Besser wären ein paar I/Os mehr.

Besten Dank,
schnelles Forum hier! Also schnelle Leute...

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.