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