Ich habe nicht verstanden was Du haben willst.
Ein Impuls hat keine Frequenz sondern nur eine Dauer.
Meinst Du eine Rechteckspannung mit mindestens 105kHz?
Welchen Frequenzbereich willst Du in Abhängigkeit von dem PWM-Signal haben?
Aus einem RC-Empfänger, also eher PPM als PWM, den Teil habe ich allerdings schon. Wichtig ist, dass ich den Motor einmal 1u/min drehen lasse und einmal 500 u/min. Alles andere kann ich ja runterteilen.
ok; also PPM-Signal mit einem Pulsweite von 1 bis 2 mS.
Jetzt noch was: soll die Übertragungsfunktion PPM zu fstep linear sein?
1mS 1U/min
2mS 500U/min
1,5mS 250U/min?
Das PPM-Signal kannst Du mit
pulseIn(pin, HIGH,21000)
einlesen.
Die Ausgabe einer Frequenz ist am einfachsten mit einem Timer zu realisieren, wobei ich Dir aber nicht helfen kann; ich bin selbst nicht sattelfest bei den Timern.
Irgendjemand wird schon antworten.
Grüße Uwe
Ein Rechtecksignal kannst du mithilfe von Interrupts machen.
Bei jedem Interrupt musst du dann den Zustand vom Pin ändern.
ISR (TIMER2_COMPA_vect)
{
PORTB ^= (0x01 << 3); // Pin 3 am PORTB toggelt seinen Zustand bei jedem Interrupt
}
Den Timer musst du abhängig von deinem PPM-Signal konfigurieren. Zu beachten ist dass, das Rechteck-Signal die halbe Frequenz von der Interrupt-Frequenz hat.