Archiv verlassen und diese Seite im Standarddesign anzeigen : Frequenz von um die 25 (?) HZ verdoppeln
Marten83
31.07.2007, 14:20
Hallo!
Ich habe folgendes Problem:
Ich benutze für ein mechatronisches Projekt eine SPS um zwei Schrittmotoren über jeweils eine Schrittmotorkarte zu steuern.
Ein Schrittmotor soll direkt über einen von der SPS generierten Takt gesteuert werden. Leider ist der Takt ein wenig niedrig und ich würde ihn gerne verdoppeln.
Nun habe ich nach langer Suche im Internet auch einiges gefunden.
PLL ist mir allerdings zu kompliziert und ein wenig überdimensioniert finde ich.
Was mich interessiert ist ein Vorschlag mittels Differenz-Stufe, Brückengleichrichter und Schmitt Trigger.
Hat da jemand Erfahrungen mit und kann mir in Sachen Bauteile und Beschaltung weiterhelfen?
Die Schrittmotorkarte wird übrigens mit TTL Pegeln angesprochen und der Ausgang der SPS ist auch mit einer Transistorstufe versehen welche auf Masse zieht.
Vielen Dank!
Marten83
Ein Brückengleichrichter verdoppelt zwar die Frequenz der Eingangswechselspannung, aber dazu muss Eingang und Ausgang auf unterschiedlichen Massepotenzialen liegen. Viel wichtiger wäre die Auskunft, ob das Ausgangssignal bestimmte Anforderungen an das Tastverhältnis erfüllen muss. Wenn nicht, könntest Du eine Schaltung aus zwei Monoflops mit zB T=2,5ms bauen, wovon eins auf die fallende und eins auf die steigende Flanke Deines Signals triggert. Die Ausgänge fasst Du dann über Dioden zusammen und hast dann 2,5ms-Pulse bei jedem Eingangsflankenwechsel. Der Haken: die Impulse am Eingang müssten dann schon 50% Tastgrad aufweisen, sonst wird es aufwändiger. So oder so fehlen zu viele Angaben für eine schlüssige Lösung.
Sieh Dir mal die Schaltung des CD4046 an.
So kompliziert ist das nun auch wieder nicht.
http://www.elektronik-kompendium.de/public/schaerer/vco.htm
Kannst Du denn die untere und die obere Grenze für die Frequenz angeben?
Manfred
Marten83
01.08.2007, 07:19
Ich werde mich da mal durcharbeiten.
Die Frequenz liegt auf jeden Fall unter 100Hz...vielleicht sogar unter 25Hz, das kann ich schlecht einschätzen.
Auf jeden Fall muss ich diese Frequenz einschalten und abschalten und das sollte die Schaltung auf jeden Fall mitmachen können.
Marten83
01.08.2007, 08:56
Also wenn ich das richtig verstanden habe muss ich für C1 = 1uF und für R1 = 150k nehmen, richtig?
Aber mit R3 und C2 komme ich noch nicht so wirklich klar.
Ist die Eingangsfrequenz eigentlich kritisch?
Wie gesagt, ich weiss nicht genau welche Frequenz aus der SPS rauskommt. Es ist nur eben nicht viel.
schrieb:
Leider ist der Takt ein wenig niedrig und ich würde ihn gerne verdoppeln.
1. SPS-seitig den Takt verdoppeln !!!
2. Das Problem mit µC erschlagen !!
3. 4046 (siehe Manf) !
Gruß
Marten83
01.08.2007, 09:01
Ja richtig!
SPS seitig geht der Takt nicht weiter zu erhöhen und Mikrocontroller möchte ich erstmal aussen vor lassen.
Die obigen Werte will ich ja für den 4046 nehmen. Der Ausgang (R3 und C2) ist mir nur nicht klar.
Kann mir da jemand einen Tipp geben?
An C2 liegt die Spannung für den Oszillator und über R3 wird die Regelspannung zugeführt.
R3 C2 ist damit ein Tiefpass für die Stellgröße Frequenz.
(Für einen weiten Regelbereich nimmt man den Phasenkomparator 2.)
Manfred
Marten83
01.08.2007, 09:40
OK.
Das heisst im Klartext ich muss mein Signal an Pin 13 (oder an Pin 1 ??)
abgreifen. Und die Werte für den Tiefpass muss ich gleich nochmal schauen.
Danke schonmal, das hilft mir schon viel weiter.
An Pin 13 ist der Phasenkomparator II.
Manfred
Ihr wollt einen Elektronikanfänger (so scheint es mir zumindest) tatsächlich eine PLL bauen und an eine SPS-Steuerung anpassen lassen? Dass die PLL bei so grunzniedrigen Frequenzen auch ein Weilchen braucht um einzurasten und währenddessen die Ausgangsfrequenz nicht bestimmt ist sollte man vielleicht auch nicht unterschlagen. Und dass der Phasendetektor mit den Flipflops ab einem Frequenzverhältnis des VCO von 1:2 bereits sehr sinnvoll sein kann auch nichts, denn die XOR-Schaltung rastet auch auf Harmonische ein.
Ich stricke gerade eine PLL für den Bereich 10kHz-100MHz mit hohen Anforderungen an die Phasengenauigkeit, das ist wahrlich kein Vergnügen. Im unteren Frequenzbereich ist das Messen zwar angenehmer, aber die Probleme verlagern sich nur (beim 4046 zB auf die etwa wankelmütigen Eingangsstufen, die auf langsame Signaländerungen gar nicht wie ein Schmitt-Trigger reagieren wollen)
Marten83
01.08.2007, 10:42
Hast du eine andere Idee wie man das gut machen könnte?
Sollte halt was für single supply sein.
Hast du eine andere Idee wie man das gut machen könnte?
Sollte halt was für single supply sein.
Ich denke du steckst da in einer Denkrille, aber ich kann mich natürlich auch irren.
Wenn Du - egal wie - die Frequenz verdoppelst, wird der Schrittmotor zwei, anstatt einen Schritt machen.
Beispiel:
4-Strang-Schrittmotor mit einer Schrittweite von 1,8° (=200 Schritte)
Angenommen die SPS sendet den Befehl "1 Step" - was dann?!
...
Die Fehlerquote wirst du nicht ausmerzen können, da keine Elektronik der Welt hellseherische Fähigkeiten besitzt und voraussagen kann, wie viele Steps gemacht werden sollen.
Wenn es dir nur darum geht die Drehgeschwindigkeit zu verdoppeln, hast du m. E. zwei Möglichkeiten:
1.) Andere Motoren mit doppelter Schrittweite nehmen, was natürlich auf Kosten der Genauigkeit geht.
2.) µC als Slave einsetzen. Der µC könnte die Anzahl der zu tätigen Steps direkt von der SPS mitgeteilt bekommen, oder falls das nicht möglich ist die Steps zählen und dann den Motor im Rahmen seiner Möglichkeiten via Treiberstufe mit Topspeed drehen lassen.
Wie gesagt, vielleicht irre ich mich ja auch.
Gruß
kalledom
01.08.2007, 12:29
Warum nicht mit einem XOR-Gatter ?
Ein Eingang wird direkt angesteuert, der zweite über ein R/C-Glied. Bei jedem Flankenwechsel gibt es einen durch R/C abhängigen Impuls.
Ich würde noch vor die Eingänge des XOR-Gatters Schmitt-Trigger-Stufen (z.B. 4093 ST-NAND-Gatter) setzen, damit es wegen des R/C und der langsamen Flanken keinen Ärger gibt.
Hallo,
melde mich mal wieder zu Wort...
wie kalledom schon schrieb:
MfG Lutz
Marten83
09.08.2007, 13:14
So, Hallo!
Ich habe mich jetzt dafür entschieden einen Tiny13 mit der ganzen Sache zu beauftragen.
Nun stehe ich allerdings vor dem Problem, dass ich nicht weiss wie ich das Programmiertechnisch anfangen soll.
Wie genau stelle ich den Timer/Counter ein, dass er mir einen Wert für den gemessenen Takt ausgibt?
Marten83
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.