Geschätztes Forum, ein kleines Beispiel eines einfachen VCO mit einem ATmega mit einigen Einschränkungen. Der µC generiert seinen Takt mit seinem internen RC-Oszillator z.B. 2MHz. Das Rechteck Ausgangssignal (maximal halber Takt) wird per CTC an PB1 zur Verfügung gestellt. Der interne RC-Generator wird durch das Register OSCCAL verändert. OSCCAL wird durch den ADC-Wert verändert. Die erzeugte Ausgangsfrequenz liegt im Bereich von 496...1.673kHz, Faktor 1:3, ist aber exemlarabhängig, temperaturabhämgig und versorgungsspannungsabhängig. Der Frequenzbereich lässt sich durch OSCCAL in 256 Schritten ändern (0...255). Die Frequnzsprünge sind leider nicht linear. Vermutlich bewirkt eine OSCCAL-Änderung eine Änderung des Ladestromes der internen RC-Kombination. Auf die Idee eines VCO mit einem ATmega bzw. ATtiny brachte mich dieser Beitrag, hier sind auch noch andere Möglichkeiten beschrieben: Beitrag "VCO für 1MHz bis 2MHz gesucht" Bernhard
Irgendwie übertreiben, die Konfiguration des Oszillators für die Frequenzveränderung zu missbrauchen. infacher ginge es mit einem Timer im CTC-Modus, dessen Compareregister über den ADC verändert wird. So bekommt man einen viel größeren Einstellbereich. Mit einem Quarz wäre das Vorgehen sogar ohne Exemplarstreuungen reproduzierbar.
Floh schrieb: > ...einfacher ginge es mit einem Timer im CTC-Modus, dessen > Compareregister über den ADC verändert wird. Da gebe ich Dir Recht, es gibt jedoch einge "aber": Bei höheren Ausgangsfrequenzen sind die Frequenzsprünge bei Änderung des Compareregisters doch relativ groß (s.Diagramm), kommt aber auf den entsprechenden Anwendungsfall an. Im NF-Bereich kein Problem. Bsp 20MHz µC Takt: 1000 Takte 20,000 kHz 1001 Takte 19,980 kHz 1002 Takte 19,960 kHz Bei Änderung des Compareregisters ist darauf zu achten, dass während dieser Änderung keine weitere unerwünschte Frequenz generiert wird (z.B. wenn das Register kurz vor der "Umschaltung" steht und in diesem Moment ein neuer Registerinhalt geschrieben wird). Die OSCCAL-Methode hat den Vorteil, dass die interne RC-Frequenz durch einen digital angesteuerten analogen Vorgang geändert wird, ohne ev. störende Nebenfrequenzen.
@alle Eine weitere Variante eines VCO mit einem ATmega bzw ATtiny. Der Transistor dient als Stromquelle. Man kann auch auf ihn verzichten, aber die Spannung am 100 Ohm Widerstand muss mindestens 4V betragen (bei 5V Versorgungsspannung) ansonsten schaltet der interne Trigger des µC nicht um. Der 100k Wiederstand wirkt sich stark auf die Spannungs-Frequenz-Kennlinie der Schaltung aus. Das Oszi-Bild zeigt den Signalverlauf an der RC-Kombination und am Rechteck-Ausgang. Bernhard
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.