VCO (rechteck) diskret, so einfach wie möglich.. wie?

Dieses Thema im Forum "Lötkunst" wurde erstellt von Britzel!, 20. Juli 2007.

  1. Britzel!

    Britzel! Tach

    Ich und mein Kollege sin gerade an einem kleinen Projekt, einem Stabbalancierer, oder auch invertiertes Pendel genannt.

    Wir brauchen ein Rechtecksignal, um einen Schrittmoror anzustuern, dessen Frequenz veränderlich sein muss.

    Erst wollten wir die Frequenz mit dem PC generieren, und über eine Schnittstellenkarte ausgeben. Die scheint aber um längen zu lahm zu sein. Aus irgendwelchen mir nicht erkenntlichen Gründen schafft die grade mal einen 25Hz Rechteck zu erzeugen.

    Plan b wäre wohl einen VCO diskret aufzubauen, und ihn dann nurmehr mit einer gleichspannung aus dem PC zu füttern. Die schaltung soll so einfach wie möglich sein, ohne exotische ICs und co.

    Ich dachte etwa an sowas wie einen VCO aus Komparator und Integrator aufgebaut. In der Manier da (schaltung seite 6 prinzip ein paar seiten davor):
    http://www.uni-kassel.de/fb16/ipm/mt/de ... CO_neu.pdf
    Da macht mir nur noch Kopfzerbrechen, wie man den Rechteck dann immer auf 50/50 bringen könnte.

    Hat jemand vorschläge? Kann auch eine andere schaltung sein. Logik is auch ok. Aber bitte nicht zu komliziert^^ ich bin nicht der welt beste Elektroniker ;-).
    Es is übrigens keine Audioanwengung. Der Rechteck muss keineswegs lupenrein sein. Die Frequenz sollte sich mit einer Steuerspannung zwischen 0 und 10 volt so zwischen schäzomativen 500Hz und 10kHz oder mehr.

    Gruß, Britzel
     
  2. Anonymous

    Anonymous Guest

    4046 oder 74HC4046
    (Ist ein PLL-Chip mit einem für sowas prima geeigneten VCO drin.)
     
  3. SK-HEINZ

    SK-HEINZ bin angekommen

    VCO (rechteck) so einfach wie möglich, wie?

    Ich denk,am einfachsten gehts mit einem 555-Timer.
    In der Linkliste gibts ein kleines Rechenprogramm,
    das heißt 555-parts-Selector oder so ähnlich:
    Man trägt die gewünschte Schaltphasenzeit ein
    und kriegt R- und C-Wert angezeigt.

    Gruß SK-1
     
  4. SK-HEINZ

    SK-HEINZ bin angekommen

  5. JuergenPB

    JuergenPB Tach

    Mit einem 555 eine 50:50 Tastverhältnis mit variablen Frequenzen zu erzeugen ist nicht ganz so einfach.

    Man könnte aber einen 555 nehmen, ihn mit doppelter Zielfrequenz laufen lassen, wobei man das Tastverhältnis einfach unberücksichtig läßt. Dann hängt man einen 08/15 Flip-Flop (als Frequenzteiler) dahinter und so erhält man ein sauberes 50:50 Tastverhältnis.


    Noch eine andere Frage:
    Im Titel steht, daß das ganze "diskret" aufgebaut werden soll. Wie "diskret" soll es denn sein?
    Wenn gar keine ICs verwendet werden sollen/dürfen müßte man das anders lösen.

    NF-Oszilatoren -> http://homepages.internet.lu/absolute3/tronic/oscnf.htm
     
  6. Britzel!

    Britzel! Tach

    erstmal danke für die vielen guten Antworten!

    Das mit dem diskret war vlt. falsch ausgedrückt. IC darf schon drinn sein. Am libesten wär mir was gewesen, was einfache Standartbausteine verwendet (OPV, Komparator..).

    Allerdings brauch ich jetzt wie's ausschaut eh was anderes :sad: .

    Unser betreuer hällt es für eine bessere Idee, wenn wir das Pulssignal über unsre PC schnittstelle ausgeben (maximal so um die 20-30Hz !). Und uns eine Frequenzvervielfacherschaltung ausdenken.

    Sprich: Ich schick 10Hz rein, und 50kHz kommen raus. Das ganze soll aus digitalen Bausteinen aufgebaut sein, damits ein schöner rechteck is.

    Was denkt ihr eigentlich so von der Idee? Ich versteh den Sinn dahinter noch nicht. Aber vlt. bin ich auch zu blöd ;-).
    Wie dem auch sei. So was muss ich mir jetz aushecken.

    Einen vorschlag wie man sowas machen könnte haben wir schon bekommen. Das muss ich mir ebr erst mal durchdenken. Ich haus' dann später noch hier als bild rein...
     
  7. JuergenPB

    JuergenPB Tach

    Das geht mit einer PLL-Schaltung.
    Dafür gibt es den CMOS-Baustein 4046.
     
  8. HPL

    HPL Tach

    schau dir doch dieses an. WWW.arduino.cc hab damit die schritmotorsteuerung für nen motor gebastelt. gibt noch ein paarr so sachen die in diese richtung gehen aber der ist schön klein und günstig

    über was für ne schnittstelen karte hast das denn versucht?. is ein bissl kompliziert sowas. mitn arduino hab ich die fregquenzgenerierung am chip machen lassen und diesen nur mehr gesteuert übern pc aus. funkt super.
     
  9. haesslich

    haesslich Tach

    top! ich mach auch alles mit arduino. klar KÖNNTE man auch normal in C programmieren, aber die arduino C bibliothek ist einfach und das programmieren mit dem arduino-board elegant.
    leider läufts auf meienm desktop nicht mehr, ich vermute ein problem mit dem widcomm bluetooth treiber, der mir hier zu viele serielle bluetooth ports installiert hat.
     
  10. HPL

    HPL Tach

    ja obwohl bei meinem 2 achsen roboter die leistungsgrenze des arduino schon erreicht war. für was 3- achsiges oder was wo beide achsen gleichzeitig fahren müssen braucht man fast schon was größeres.

    @ pendel das sollte sich eigentlich komplett und stand alone auf dem arduino realisieren lassen.
     
  11. haesslich

    haesslich Tach

    ohne timer interrupts würde ich da nicht drauf bauen. :-/
    das pwm hat doch ne fixe frequenz.
     
  12. HPL

    HPL Tach

    es gibt nen hack um daraus ne variable pwm. zu machen. das hab ich aber auch erst hinterher gefunden und nie probiert.

    ich würde für eigene projekte sowieso direkt den chip programmieren ohne dem arduino zeugs. da die sache aber für nen befreundeten kunststudenten und mein erster ausflug in richtung microkontroller war hab ich dann halt mit delay und einfachem ausgang eine variable pwm gemacht. mit dem nachteil das halt immer nur eine achse einen bestimmten wert od. zielwert anfahren kann. ich hatte zwar auch noch nen sensor dabei auszulesen das hab ich aber einfach in den pwm code reingeschmissen da es für die anwendung nicht zwingend so genau sein hat müssen. fahren tut der schrittmotor auch wenn die pwms nicht gleichmäßig daherkommen (zum glück). mit nemnormalen pic od. atmel wäre es vermutlich eleganter und einfacher zu lösen. hab aber nicht die zeit gehabt mich soweit damit zu beschäftigen wie ich die ganzen bootloader sachen und rs232/usb einzubinden hab um die arduino sache zu kicken.
     
  13. HPL

    HPL Tach

    achja zum pendel.

    ich denke schon das sich das mitn arduino lösen lässt. auf die digitaleingänge ein fein aufgelöster sensor der mir sagt wo das pendel hinwill und dann die pwm mit delay so hinbiegen wie ichs gemacht hab. oder glaubst du das die reaktionszeit dann schon probleme macht?
     
  14. Britzel!

    Britzel! Tach

    moin :)

    Das arduino Teil da scheint ja wirklich eine coole sache zu sein. Wenn wir noch ziemlich am Anfang stehen würden, oder noch mehr zeit hätten hätt ich kein Problem damit mich mit dem Ding zu beschäftigen, das dann auf dem zu programmieren, und dann passts.
    Wir haben aber leider nichtmehr viel Zeit. Theoretisch sollten wir in der nächsten Woche fertig werden, oder zumindest so weit kommen wie nur möglich. Deshalb sollten wir bei unsrem prinzipiellen Konzept bleiben, und das noch irgendwie hinbiegen.

    Das schaut dann so aus:
    [​IMG]

    Die Potistellungen greifen wir als Spannungen ab und schicken sie in den PC. Die entsprechende Software zum Winkel errechnen, und in dessen abhängigkeit zum Motoransteuern "schreiben" wir in einem Programm namens Lab View. (Blockschaltbildmäßge Programmierung).
    Das einlesen und WInkel Berechnen funzt schon ganz gut. Beim motor ansteuern wären wir gerade dabei, und haben eben das Problem, dass die Software nicht mehr als lausige 25 Hz ausgeben kann.

    Fürs einarbeiten in eine andere Programmiersprache, sowie für das Bestellen von Bauteile, haben wir keine Zeit. Also hab ich erst den Vorschlag gemacht, einen VCO Extern aufzubauen, und ihn mit einer Gleichspannung anzusteuern. Wollte der Meister aber nicht, wir sollen unsren niederfreuquenten Rechteck doch einfach Frequenzvervielfachen.

    Euer vorschlag mit dem PLL scheint mir da der Beste Zu sein. PLL klingt für ihn aber so nach analog, und er will was digitales. Als ichg esagt hab, es gibt doch aber auch digitale PLL, meinte er nur, ja das ist richtig. :mrgreen:.

    sein vorschlag wäre sowas hier:
    [​IMG]
    Wie genau das funzen soll hab cih noch immer nicht durchschaut. Vlt schnallts ja einer von euch?


    Aber zurück zum PLL:
    Hab da ein wenig gegoogled, und bin teilweise auch fündig geworden:
    Prinzip:
    [​IMG]

    Also ist im 4046 eigentlich schon alles drinn was ich brauche, mit aussnahme des Ferquenzteilers, sehe ich das richtig? Hab dann noch eine Beispielbeschaltung gefunden:
    [​IMG][​IMG]
    Was is denn da der 7490?

    Is mir aber noch zu wenig, um das Ding dimensionieren zu können. Die Datenblätter müsst ich mir noch genauer anschaun, aber nach einem ersten überfliegen werd ich aus denen auch nit schlau.

    Kennt da jemand vlt einen guten Link? Wie dimensioniere und beschalte ich das Ding auf meine gewünschte vervielfachung, und wo liegen so die Grenzen an Vervielfachung?
     
  15. JuergenPB

    JuergenPB Tach

    Das ist ein sog. "BCD Counter" - Also ein Zähler/Teiler 1:10, genauergesagt enthält er einen 1:2 und einen 1:5 Teiler, die eben zusammen 1:10 ergeben können.

    Datenblatt: http://www.datasheetarchive.com/datashe ... le=3751107

    Teiler 1:2 -> Verdopplung der Frequenz
    Teiler 1:3 -> Verdreifachung der Frequenz
    etc.
    Für die meisten Faktoren sollten sich passende Teiler finden lassen.
    Oder man nimmt einen 4059 als sog. programmierbaren Teiler.
     
  16. Britzel!

    Britzel! Tach

    danke vielmals! Den 4059 hats sogar auf Lager gehabt. Cooles Teil, und funzt auch schon ganeu so wie wir ihn brauchen.

    Mit dem PLL selber haben wir noch probleme. Wir haben da einen 74HCT7046 bekommen. Die Pinbelegung is mit der vom 4046 identisch.
    Wir haben ihn aber scheints falsch dimensioniert.
    Wozu alle dieser zusätzlichen beschaltungen gut sind, bin ich aus dem Datenblatt noch nicht schlau geworden.

    Der C1 legt mal zusammen mit dem R1 die sgn. Centerfreq. des VCO fest. Die sollte mal möglichst in der mitte des gewünschten Frequenzbereichs am Ausgang sein oder?
    Weiters könnte man noch mit einem Weiteren Widerstand an einem Pin gegen Masse einen Centerfreq. ofset einstellen. Wozu is das gut?

    Den Tiefpass haben wir so dimensioniert, dass er die Spannung, die der Phasendiskriminator liefert auf eine schöne gleichspannung bringt.

    Dann gibts noch einige andere Widerstände, deren Sinn und Zweck mir noch nicht ganz klar ist...

    Wie dem auch sei, am Ausgang kriegen wir nix gescheits heraus.
    Auch im einzeltest mit dem PLL alleine, ohne den Teiler (also VCO Out auf direkt rückgeleitet).
    Beim genaueren Nachmessen des signals stimmt nocht alles bis nach dem Tiefpass:
    der Phasenkomparator liefert ein recht interessantaussehendes stufensignal. Der Tiefpass glättet es zu einer Gleichspannung. Wenn man die eingangsfrequenz erhöht sieht man am Oszi auch schön, wie diese Spannung bei erhöhen der Frequenz am Eingang steigt. Aber der VCO scheint damit nix anfangen zu können. Meist gibt er am Ausgang ein periodisches Signal mit 25MHz (fix) aus, das zudem kein rechteck ist, sondern mehr einem Dreieck ähnelt.
    Bei zuschalten dieses Widerstandes für einen Frequenzofset bekamen wir zwar einen Rechteck, der war aber fix bei ~7kHz.

    Einfach falsch dimensioniert? oder wo könnte der Hund drinn liegen? ;-)
     
  17. Anonymous

    Anonymous Guest

    Die extra Widerstände braucht ihr nicht unbedingt, im Datenblatt finden sich eigentlich genug Tabellen um das hinzufummeln, auch ohne zu verstehen was man da tut. (Ggfls. mal nach einem andern Datenblatt suchen HEF74HC4046 =Phillips, die Dimensionierung ist für 74HC... anders als für 40.. ausserdem darf der 74er nur 5V(3...6V) Versorgung )

    Den VCO könnt ihr getrennt testen: Spannung zwischen 0 und 5 Volt an den Steuereingang, dann Frequenz checken, ob die im sinnigen Bereich verstellt werden kann.
     
  18. JuergenPB

    JuergenPB Tach

    Das Mischen von Bausteinen verschiedener Logikfamilien kann möglicherweise zu gewissen Problemen führen...

    40xx -> normale (uralt aber immernoch gut!) CMOS
    74HCxxx -> High-Speed; größere Treiberleistung
    74HCTxxx -> wie 74HCxxx aber für TTL-Signale am Eingang

    Bei allen Bausteinen sollte man beachten, daß die unbeschalteten Eingänge nicht irgendwo in der Luft schweben, sondern auf einem definierten Potential liegen (in der Regel GND). Tun sie das nicht, kann es zu Problemen kommen
     
  19. Britzel!

    Britzel! Tach

    Das is eine gute Idee, werden wir morgen gleich machen!

    Es is übrigens ein 74HCT7046 nicht 4046, weiss nicht, wo genau der Unterschied ligt.
    Jub im Datenblatt is eh viel drinn. Nachdems auf Anhieb nicht geklappt hat mit der Schaltung bin ich grade dabei mir das nochmal genauer durchzuackern :schreiben:.

    danke für euere Hilfe!
     

Diese Seite empfehlen