Hallo, ich suche Anregungen wie ich mir so was bauen könnte. Es geht darum das ich Rechtecksignale im Bereich von 0-250Khz erzeugen möchte und der Duty-Cycle einstellbar sein soll. Mit nem Tiny85 sollte das doch mittels High-Speed PWM möglich sein nur kann ich die Frequenz nicht verstellen in der Gewünschten Schrittweite von 1KHz sondern nur mit dem Vorteiler was das ganze "grober" macht. Je nach Einstellung im Fast-PWM Modus ist das mit der PWM-Auflösung (8 Bit, also 256 Schritte reichen dicke!) auch nicht machbar. Gibts da ne möglichkeit ohne gleich nen DDS zu bemühen? Grüße Roland Z.
Schreib doch lieber erstmal, was du denn eigentlich bauen willst. Wenn es ein Testgenerator für den Basteltisch sein soll, dann mach es lieber rein analog: Dreieck variabler Frequenz erzeugen und per Komparator mit variabler Schwelle den Rechteck mit variablem Tastverhältnis draus machen. Nicht für alles braucht man einen uC. W.S.
Roland Z schrieb: > was das ganze "grober" macht. Je nach Einstellung im Fast-PWM Modus ist > das mit der PWM-Auflösung (8 Bit, also 256 Schritte reichen dicke!) auch > nicht machbar. Gibts da keinen PWM Modus, bei dem du die Obergrenze vorgeben kannst?
@W.S., Das ist war man braucht nicht für alles einen uC, allerdings vereinfacht er das ganze ungemein, will sagen, er zeigt mir reproduzierbar an was am Ausgang "rauskommt". Ich will mir nen Testgenerator bauen um z.B. Treiberstufen in Verbindung mit dem OSzi etwas zu Testzwecken (Signalqualität der Übertragung usw.) zu "quälen". @kbuchegg, Doch gibts ich ziehe mir grade das Datasheet vom Tiny85 rein, geht von 0-250KHz in 10 KHz schritten und von 250-500KHz in 20KHz schritten. Allerdings ist die PWM-Auflösung nicht wirklich toll da ich außer am Prescaler auch am TOP-Register nen Wert eintragen muss der meine Zählerbandbreite begrenzt und somit das PWM-Verhältnis auch. :) Eventuell ist nen DDS-Chip der durch den uC gesteuert wird doch ne bessere Lösung....
Hm, 250kHz mit 8-Bit aufgelöst ergibt 15,625ns pro Bit. Da brauchts wohl eine MCU mit mindestens 65-MHz Clock(PLL).
Norbert L. schrieb: > Hm, 250kHz mit 8-Bit aufgelöst ergibt 15,625ns pro Bit. Da brauchts wohl > eine MCU mit mindestens 65-MHz Clock(PLL). Man muß nicht alles mit PWM machen, es gibt schließlich auch noch DDS mit direkter Ausgabe über DAC, z.B. den miniDDS (Grundfunktion in 7 Zeilen Assemlercode).
@Norbert L, der Tiny85 hat ne PLL und kann 64MHz erzeugen. Da fress ich mich im Datasheet grade durch. @Michael, ich denke du spielst auf Jespers MiniDDs an. Nen DAC brauche ich ja nicht da ich nur Rechteck erzeugen will. Wie ich die Vorgabe allerdings mache blicke ich noch nicht so ganz... Den Sollwert würde ich per RS232 in den Controller übertragen, die Berechnung würde ein anderer Controller erledigen damit der "DDS-Controller" viel Zeit zum PWMen hat.
Roland Z schrieb: > @Norbert L, > der Tiny85 hat ne PLL und kann 64MHz erzeugen. Da fress ich mich im > Datasheet grade durch. > > @Michael, > ich denke du spielst auf Jespers MiniDDs an. Nen DAC brauche ich ja > nicht da ich nur Rechteck erzeugen will. Wie ich die Vorgabe allerdings > mache blicke ich noch nicht so ganz... Den Sollwert würde ich per RS232 > in den Controller übertragen, die Berechnung würde ein anderer > Controller erledigen damit der "DDS-Controller" viel Zeit zum PWMen hat. Ähm. Der erzeugt doch die Ausgabe sowieso mehr oder weniger komplett in Hardware bzw. mittels Interruptroutinen. Und in der Zwischenzeit dreht er Däumchen. Da kann er ganausogut in der Zwischenzeit auch aus den per RS232 erhaltenen Daten die Konstanten für die Hardware ausrechnen.
Hmm, nun ja auch wieder wahr. Allerdings muss ich erst mal das Prinzip des DDs verstehen dann kann ich mich um den Rest kümmern. Ich ziehe mir den Assemblercode von Jesper mal rein.
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.