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


von (ich) (bin) (ein) (Gast)


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.

von Andreas K. (a-k)


Lesenswert?

Input Capture von ebendiesem Timer.

von (ich) (bin) (ein) (Gast)


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.

von Stefan (Gast)


Lesenswert?

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

von Frank L. (hermastersvoice)


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

von Andreas K. (a-k)


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.

von (ich) (bin) (ein) (Gast)


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

von Andreas K. (a-k)


Lesenswert?

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

von (ich) (bin) (ein) (Gast)


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

von Andreas K. (a-k)


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.

von (ich) (bin) (ein) (Gast)


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.

von Nerval (Gast)


Lesenswert?

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

von Latissimo (Gast)


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

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.