Hallo, ich möchte mit einem PIC die Frequenz eines Eingangsimpulses verzehnfachen. Das Tastverhältnis des Eingangsimpulses liegt bei etwa 1/10 und die Frequenz bei etwa 10-100 Hz. Das Tastverhältnis muss am Ausgang nicht das gleiche wie am Eingang sein. Ich wollte das mit einem PIC16F84 machen, weil ich den und eine passende Prgrammiergerät noch hier habe. Spricht etwas dagegen? Gibt es für diese Aufgabe vielleicht schon fertigen Assemblercode? Grüße
Die einfachste Möglichkeit sind 10 (entsprechend schnelle) Impulse ausgeben für jeden Eingangsimpuls. Etwas aufwendiger und mit mehr Zeitverzögerung misst man den Abstand zwischen 2 aufeinanderfolgenden gleichen Flanken am Eingang, teilt diese Zeit durch 20 und schaltet nach jeder dieser so berechneten Zeiteinheiten den Ausgang um. EDIT Die zweite Möglichkeit wird natürlich schiefgehen, wenn sich die Eingangsfrequenz sprunghaft ändert.
Methode 1 versteh ich nicht. Ohne die Zeitmessung bis zum nächsten Impuls weiß ich nicht, auf welche Zeitspanne ich die Ausgangsimpulse verteilen muss. Ich hatte auch Methode 2 im Kopf. Ich messe die Zeit zwischen zwei Impulsen und geben dann in der Zeit 10 Impulse mit dem Tastverhältnis 1/2 aus. Schnelle Änderungen des Eingangs können nicht vorkommen, weil das schwere drehende Teile sind, die mit einem Frequenzmesser gemessen werden. Die kleinste messbare Frequeunz ist für das Messgerät zu langsam und ich möchte dafür den Pic dazwischen schalten. Aber selbst wenn sich die Eingangsfrequenz schnell ändert, wäre das nach einer oder zwei Perioden der alten Frequenz ja auch wieder OK.
Man kann das auch als PID-Regler programmieren, bei dem sich dann die Ausgangsfrequenz entsprechend anpasst. Wenn man das nicht macht, hat man kein kontinuierliches Ausgangssignal, sondern eher Takt-Pakete mit Pausen zwischendurch.
Den Zusammenhang zu einem PID-Regler erkenne ich nicht. Wie meinst du das? Wenn man eine komplette Periode gemessen hat und das Tastverhältnis kennt und als konstant vorraussetzt, dann kann man schon aus 2 Flanken des Eingangssignals die Frequenz errechnen und die Ausgabefrequenz sofort anpassen. Aber das ist hier alles nicht nötig, da nur konstante Drehzahlen/Frequenzen gemessen werden sollen. Ich komme im Schnitt alle 2 Jahre dazu, mal etwas mit µCs zu machen. Da muss die Aufgabe für mich einfach gestrickt sein, zumal ich nur wenig Hilfsmittel habe. Rein theoretisch bin ich aber daran interessiert, was es mit PID auf sich hat.
Methode 1 ist, ähem, nicht geeignet, weil sich die Grundfrequenz des Signals nicht ändert. Methode 2 ist genau die richtige. Methode 3 (PID) ist mal wieder etwas sehr Mysteriöses und hört sich nach PLL an. Wird hier nicht gebraucht und die Sache mit dem nicht kontinuierlichen Ausgangssignal überdenken wir auch nochmal ;)
PLL wäre genau das richtige. Ein 4046 und die Sache ist geritzt, zumal hiermit eine nennenswerte Präzision erreicht wird. Bis der PIC mit seinem lächerlichen 8-Bit-Timer eine genaue verzehnfachte Frequenz ausgibt, gehen Jahre ins Land. Bis die PLL zufriedenstellend arbeitet, dagegen nur Stunden.
Schwurbl schrub:
>>Bis die PLL zufriedenstellend arbeitet, dagegen nur Stunden.
Ich weiss natürlich nicht, wie DU einen 4046 so beschaltest, aber bei
MIR
synchronisiert der schon nach wenigen Takten...
Jochen Müller
Jochen Müller wrote: > Schwurbl schrub: >>>Bis die PLL zufriedenstellend arbeitet, dagegen nur Stunden. > > Ich weiss natürlich nicht, wie DU einen 4046 so beschaltest, aber bei > MIR > synchronisiert der schon nach wenigen Takten... Er meint die Entwicklungszeit... tz tz tz tz....
Hallo, kann mir jemand erklären, wie man einen 4046 für eine Verzehnfachung des Eingansimpulses beschalten muss? Gibt es dafür Beispielschaltungen im Netz? Wie genau würde so ein PLL arbeiten? Gibt es sowas auch mit integriertem Schmitt-Trigger, damit hinten halbwegs eckige Impulse herauskommen? Grüße Mark
Das hab ich versucht, finde aber unter "4046 datasheet" nix. Ist die Bausteinbezeichnung einfach nur 4046, oder ghört da MC, HC oder irgendwas in der Art hinzu?
Hi www.nxp.com/acrobat_download/datasheets/74HC_HCT4046A_CNV_2.pdf 1.Treffer! MfG Spess
Rechtecke kommen sowieso immer heraus (aus dem VCO). Schau Dir mal das Datenblatt vom HEF4046 (Philips/NXP) an: http://www.standardics.nxp.com/products/hef/datasheet/hef4046b.pdf Nimm den Phasenkomparator 2, der ist für einen weiten Eingangsfrequenzbereich. Stell Dir die PLL wie einen OpAmp für Frequenzen vor: Ein Eingang für Sollfrequenz, Ein Eingang für Istfrequenz, der vom Ausgang des VCO über einen Teiler (bei Dir ein Frequenzteiler /10, z.B. 74HC90) auf den Phasenvergleicher zurückgeführt wird. Es wird solange geregelt, bis beide Eingangsfrequenzen identisch und Phasensynchron sind. Der VCO muß so beschaltet werden, dass er alle denkbaren Ausgangsfrequenzen erzeugen kann (10..100Hz oder besser 5..200Hz), es bleiben dann 2 oder 3 Bauteile für den Tiefpassfilter.
Also erstmal Danke für die vielen Infos, aber ich werde mein Glück wohl doch mit einem PIC probieren. Ich habe jetzt viel gegoogelt und auch im Tietze/Schenk nachgesehen, aber nirgendwo eine fertig dimensionierte Schaltung gefunden, die ich mir irgendwie abändern könnte. Ich mach einfach zu wenig mit solchen Bausteinen, sodass ich überhaupt nicht weiß, in welcher Größenordnung die Widerstände und Kondensatoren sein müssen. Beim PIC kenne ich mich zwar auch kaum aus, aber da weiß ich, wie ich den ans Rennen bekomme.
Das mit den Werten der Widerstände und Kondensatoren ist echt kein Problem, da gibt es die Diagramme im Datenblatt und eine (wenn auch alte) Designsoftware von NXP. Da tippst du einfach alle Frequenz-Werte rein, und die Software rechnet es aus. Einfach mal 74hct4046a in der Suche auf der NXP Website eintippen. Ich würde auf jeden Fall zur PLL-Lösung raten!
Ich vermute auch, dass die PLL-Lösung einfacher ist, aber bis ich mir das zusammengereimt habe, sind 2 Tage vergangen. Wenn man ab und an mal Schaltungen entwirft, und sich mit Designsoftware auskennt, dann geht das vermutlich innerhalb von 5 Minuten. Ich find in der Zeit nicht mal obige Designsorftware von NXP.
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.