Autor |
Frequenz Multiplizierer Suche nach: frequenz (6276) |
|
|
|
|
BID = 58321
Toto Gerade angekommen
Beiträge: 16
|
|
Ich suche eine Schaltung; oder wenn möglich einen IC; mit dem es möglich ist ein Frequenz mit einem bestimmten Faktor zu multiplizieren.Oder wenigsten zu verdoppeln.Bei den standard Logik IC's (74xxx)bin ich nicht fündig geworden.
Es handelt sich um ein TTL (5V) Rechtecksignal mit ca. 10khz.
Hintergrund ist das ich ein Schrittmotorsteuerung entwickle die man während des laufenden Betriebs auf Mikroschrittbetrieb(1/4,1/8,1/16....) umschalten kann.
Softwaremäßig gibt es meines wissens keine Lösung.
mfG
Toto |
|
BID = 58325
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
|
Das ist möglicherweise ein Fall für eine PLL.
Aber wär es nicht einfacher ein 2n*10kHz Signal herzustellen und das auf 10Khz herunterzuteilen ?
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten ! |
|
BID = 58330
Toto Gerade angekommen
Beiträge: 16
|
Erstmal danke für die schnelle Antwort.
Das mit der PLL must du mir noch mal ein bisschen genauer Erklären.Ich komme eigentlich aus dem Maschienenbau.
Das mit dem 2n*10kHz Signal funktioniert nicht, da das Signal von der CNC Software erzeugt wird und verschieden "Rampen"(exponentiel,logharithmisch..) gefahren werden.Oder hab' ich dich da falsch verstanden?
Also ein high low Impuls erzeugt ein Schritt des Schrittmotors.Wenn ich jetzt auf Halbschritt umschalte stimmen die gefahrenen Wege der Fräse nicht mehr.Er muss jetzt also 2 Pulse kriegen um die gleiche Strecke zu fahren. Das gleich mit 4tel und 8tel... Schritt.
|
BID = 58334
crashtestdummie Neu hier
Beiträge: 25
|
Eine einfache Schaltung, die bei jedem Flankenwechsel eines Eingangssignales einen Impuls ezeugt, wäre ein EXOR mit vorgeschaltetem RC Glied.
Das setzt aber bestimmte Signalformen und Timing beim Eingangssignal voraus.
Eine andere alternative wäre mit dem Steuerimpuls für den Schrittmotor eine Schaltung aus Oszillator und Binärzähler zu resetten.
In a nutshell:
Osc/zähler Zählen nach dem Reset(durch den Steuerimpuls) bis zur Stufe X und halten sich dann selbst an, solange bis das Spiel beim nächsten Reset wieder von vorn losgeht. Die dabei vom OSC des Zählers erzeugten Impulse bis zum Anhalten bei Stufe X sind dann die 'Vervielfachung'.
Das ist aber eine Frage des Timings und wieviel Zeit dir zur Verfügung steht um zwischen zwei Steuerimpulsen das Signal zu vervielfachen.
|
BID = 58372
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| da das Signal von der CNC Software erzeugt wird und verschieden "Rampen"(exponentiel,logharithmisch..) gefahren werden |
Das ist ziemlich übel.
Werden die Impulse rein in Software gemacht, oder wird da ein spannungsgesteuerter Oszillator (VCO) mit einem DAC angesteuert ?
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 58386
Jornbyte Moderator
Beiträge: 7178
|
Für die PLL-Lösung würde ich den 4046 vorschlagen.
_________________
mfg Jornbyte
Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.
|
BID = 58391
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
@Jörgen,
das geht nicht so einfach. Ich schrieb nicht umsonst "übel".
Es handelt sich um einen Schrittmotor, der auch noch im Mikroschrittbetrieb gefahren werden soll.
Das bedeutet offenbar, daß die SW zu jedem Zeitpunkt äußerst genau über die Position unterrichtet sein muß, z.B. bei mehrachsigen Maschinen.
Der Schleifenfilter der PLL verhindert das jedoch. Erst recht wenn auch noch unterschiedliche Rampen gefahren werden.
Außerdem wissen wir nix über den zu überstreichenden Frequenzbereich.
Evtl. könnte man realisieren, daß Mikroschrittbetrieb nur dann durchgeführt wird, wenn die Pulsfolge so langsam ist, daß Start/Stop Betrieb ohne Schrittverlust möglich ist.
Ich weiß aber nicht, wie man das der Software beibringen will, denn da wird wohl ein Deckel drauf sein.
Insgesamt äußerst trickreich bis unmöglich, denn die SW allein weiß, wo sie hin will.
Ich hab mal saubere 8kHz Rampen mit einem 2MHz PIC16C84 programmiert, der zwischendurch auch noch Tastatur und Display trieb, aber das ist schon eine mühselige Geschichte.
Hier soll das etwa 20 mal so schnell gehen, wodurch 40MHz Takt angebracht wären. Ich habe geeignete Chips auf Halde, aber eine solche Programmierung ist nichts für Anfänger und ich kann das auch nicht für lau machen. Allein schon die Systemanalyse dürfte aufwendiges Unterfangen sein.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 58406
Jornbyte Moderator
Beiträge: 7178
|
Da haste allerdigs Recht.
_________________
mfg Jornbyte
Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.
|
BID = 58499
Toto Gerade angekommen
Beiträge: 16
|
@crashtestdummie
die erste Lösung müssste theoretisch funktionieren,ich weiss aber nicht ob mein Logik IC solche schmalen Pulse mitmacht da Sie keinen Tastgrad von 50% haben, sondern sehr viel kleiner.Das ganze funktioniert auch nur bis 4tel Schritt.Man könnte zwar mehrere solcher Stufen kaskadieren, wird mir aber dann zu aufwändig.
das Problem bei deiner 2. Lösung ist das ich ja nicht weiss welche Freqeunz von der Software gerade ausgegeben wird.
Also mit welcher Frequenz ich den Osz. starten muss damit ich zwischen dem Startimpuls(reset) und dem nächsten Puls genau meine 2,4,8.. Pulse unterbringen kann.
@Perl
ja die Pulse werden rein in Software gemacht, kein DAC.
Was ja auch das eigentliche Problem ist.Warscheinlich gibt es teure Profisoftware die sowas kann. Bin aber nur armer Student und musste auf Shareware ausweichen, die ja auch nicht schlecht ist, aber kein Microstep kann.
Ich werde jetzt mal versuchen das Ganze mit dem AVR 8535 Microcontroller den ich eh auf der Platine habe zu lösen.
Ich hab mir das so vorgestellt das der MC die Zeit zwischen der steigenden Flanke des 1. Puls und der fallenden Flanke des zweiten Pulses per Interrupt mißt.Dann je nach eingestellten Mikrostepmodus in der gemessenen Zeit seine 4,8 .. Pulse ausgibt.Das ganze hinkt dann zwar 2 Pulse der Software hinterher, aber solange das auf allen Achsen gleichmäßig geschiet, sollte es keine Probleme geben.
Mal schaun ob's klappt, wenn nicht gibts eben kein Microschritt.Oder nur eine Einstellung die man vor Start des Programms einstellt.
Nochmal danke für alle Antworten.
|
BID = 58500
tixiv Schreibmaschine
Beiträge: 1492 Wohnort: Gelsenkirchen
|
Kann man der Software nicht einfach "Mitteilen", dass Deine Maschine doppelt so viele Schritte pro cm hat, und dann einfach dauerhaft im Halbschritt Modus fahren?
|
BID = 58501
Lötfix Schreibmaschine
Beiträge: 2328 Wohnort: Wien
|
Hallo!
Hätte da mal eine Idee:
Kannst Du in der Software die Spindelsteigung verändern, d.h. die Schritte/mm bzw. Schritte/Umdrehung verändern?
Wenn das möglich ist, einfach die Software Vollschritte ausgeben lassen, diese in eine Microcontroller einspeisen und die Pulse neu als Mikroschritt ausgeben so daß 8 Vollschritte von der Software einem Vollschritt (aus 8 Microschritten) am Microcontrollerausgang entsprechen. Da der Motor sich dann nur 1/8 vom Softwarewert bewegt müssen die Schritte/Umdrehung od. /mm in der Software bei der Motorkonfiguration mit dem 8fachen Wert angegeben werden.
Welche Software verwendest Du?
mfg lötfix
|
BID = 58528
Toto Gerade angekommen
Beiträge: 16
|
@tixiv
wie ich oben schon geschrieben habe soll die Umstellung der einzelnen Mikromodi ja dynamisch erfolgen, also während des laufenden Betriebs. z.b Positionieren(Eilfahrt) im Vollschritt dann im Microschritt fräsen.Oder nur am Ende des Fräszyklus umschalten, was die Genauhigkeit erhöht.
@Lötfix
Software:KCam 4
HP: http://www.kellyware.com/kcam/index.htm
Spindelsteigung usw. ist alles einstelbar bringt mir aber nichts.
ansonsten
siehe oben
|
BID = 58529
Lötfix Schreibmaschine
Beiträge: 2328 Wohnort: Wien
|
Die Software hab ich auch, liefert doch Richtung und Impuls als Signal oder steuerst du die Motoren direkt an?
Das müßte mit den FEED-Rates im Table-Setup gehen, Geschwindigkeiten für JOG, CUTTING, TRAVEL. Und dann mit G-Code Programmierung. G00, G01, F.. natürlich müssen die Maximum-Feed-Rates groß genug sein
mfg Lötfix
[ Diese Nachricht wurde geändert von: Lötfix am 8 Mär 2004 22:12 ]
|
BID = 58645
Toto Gerade angekommen
Beiträge: 16
|
Hm peinlich, hab ich doch glatt übersehen. Ich hab immer nur im Port Setup geschaut.
Ich bin größtenteils noch mit der Hardware am kämpfen.
Jetzt muss ich umgekehrt nur noch irgendwie der Hardware mitteilen wann der Mikroschrittmodus eingeschaltet wird.
Geht das mit dem Auxillary MCode Output Setup im PortSetup?
Über welche Schnittstelle steuerst du die Motoren an, parallel oder über die Zusatzkarte seriell?
Wenn seriell, weißt du etwas über das serielle Protokoll.
Ich wollte nämlich wenns geht auch seriell ansteuern, um unter Windows keine Timingprobleme zu kriege. Ein Hardware UART hab ich eh auf dem Mikrocontroller.
Im Moment sieht meine Hardware so aus:
Die Steuersignale Takt Richtung kommen von der Parallelen ,oder wenn ich ans Protokoll komme besser, von der Seriellen Schnittstelle.
Dann werden die Signale von AVR8535 in die Entsprechenden Bitmuster für die Motoren aufbereitet.
Der Controller soll auch über den SPI-Bus die Aufbereitung der Referenzspannung für den Stromregler über einen DAC übernehmen.
Der Stromregler hab ich diskret aufgebaut über einen PI-Regler und Komperator der ein RS-FlipFlop Triggert.(Mittelwertsstromregler).
Logik und Leistungsteil sollen getrenn bleiben, für spätere Upgrades der Endstufe. Im Moment noch Leistungs IC L298.Wenn die Leistung später mal nicht ausreicht diskret aus Mosfets.
Kannst ja mal schreiben wie du das ganze gelöst hast.
mfG
Toto
|
BID = 58659
Lötfix Schreibmaschine
Beiträge: 2328 Wohnort: Wien
|
Hallo!
Da bist du mir um einiges vorraus. Ich bin noch in der Planung, habe aber beruflich mit CNC-Maschinen zu tun. Hab mir erst mal die Software geholt und werde wenn ich mal etwas mehr Zeit habe eine Motoransteuerung entwickeln.
Was spricht dagegen immer Mikroschritt zu fahren, ohne Rückmeldung von einem Meßsystem gibt es sicher Positionsfehler beim Umschalten von Halb- nach Vollschritt wenn der Motor gerade zwischen 2 Vollschritten steht. Mit M-Funktionen kann man schon Schaltvorgänge auslösen, aber wie soll das Programm mitkriegen daß jetzt aufeinmal pro Impuls ein weiterer Weg zurückgelegt wird? Die Maximalgeschwindigkeit wird durch die maximale Datenrate am LPT begrenzt, bist Du schon an der Grenze? Außerdem bekommst Du im Vollschrittbetrieb leichter Schwingungen in der Mechanik. Die Software kann nur lineare Rampen glaube ich, eine genaue Anpassung an Mechanik/Motor ist nicht möglich. Wenn die Sache zu dynamisch wird kann es zu Schrittfehlern kommen da es keinen Lageregelkreis (kein dirketes Meßsystem) gibt. Die Software gibt Impulse aus und erhält aber keine Rückmeldung über die tatsächliche Achsposition. Das Umkehrspiel kann man zwar kompensieren aber wehe wenn sich der Motor mal verspringt.
mfg lötfix
|