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.
Lass dir bitte nicht alles aus der Nase ziehen, welche Taktgeschwindigkeit brauchst du? Welchen uC GENAU verwendest du?
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!!!
Ähm. Du willst eine PWM-Frequenz von 142KHz mit einem Controller erzeugen, der keine Hardware-PWM kann? Interessant.
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.
Schau dir den 16f628a oder 16f88 mal an (beide 18 Pins). Für die von Dir genannten Anforderungen brauchts doch keine 20 Pins.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.