DE69607486T2 - Digitaler frequenzgenerator - Google Patents

Digitaler frequenzgenerator

Info

Publication number
DE69607486T2
DE69607486T2 DE69607486T DE69607486T DE69607486T2 DE 69607486 T2 DE69607486 T2 DE 69607486T2 DE 69607486 T DE69607486 T DE 69607486T DE 69607486 T DE69607486 T DE 69607486T DE 69607486 T2 DE69607486 T2 DE 69607486T2
Authority
DE
Germany
Prior art keywords
value
stored
frequency
iteration
desired frequency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69607486T
Other languages
English (en)
Other versions
DE69607486D1 (de
Inventor
Ian Basil Shine
Thomas Adam Shine
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Application granted granted Critical
Publication of DE69607486D1 publication Critical patent/DE69607486D1/de
Publication of DE69607486T2 publication Critical patent/DE69607486T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61MDEVICES FOR INTRODUCING MEDIA INTO, OR ONTO, THE BODY; DEVICES FOR TRANSDUCING BODY MEDIA OR FOR TAKING MEDIA FROM THE BODY; DEVICES FOR PRODUCING OR ENDING SLEEP OR STUPOR
    • A61M5/00Devices for bringing media into the body in a subcutaneous, intra-vascular or intramuscular way; Accessories therefor, e.g. filling or cleaning devices, arm-rests
    • A61M5/14Infusion devices, e.g. infusing by gravity; Blood infusion; Accessories therefor
    • A61M5/168Means for controlling media flow to the body or for metering media to the body, e.g. drip meters, counters ; Monitoring media flow to the body
    • A61M5/172Means for controlling media flow to the body or for metering media to the body, e.g. drip meters, counters ; Monitoring media flow to the body electrical or electronic
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P8/00Arrangements for controlling dynamo-electric motors rotating step by step
    • H02P8/14Arrangements for controlling speed or speed and torque
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03BGENERATION OF OSCILLATIONS, DIRECTLY OR BY FREQUENCY-CHANGING, BY CIRCUITS EMPLOYING ACTIVE ELEMENTS WHICH OPERATE IN A NON-SWITCHING MANNER; GENERATION OF NOISE BY SUCH CIRCUITS
    • H03B28/00Generation of oscillations by methods not covered by groups H03B5/00 - H03B27/00, including modification of the waveform to produce sinusoidal oscillations

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • General Health & Medical Sciences (AREA)
  • Veterinary Medicine (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Hematology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Vascular Medicine (AREA)
  • Public Health (AREA)
  • Anesthesiology (AREA)
  • Theoretical Computer Science (AREA)
  • Control Of Stepping Motors (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Oscillators With Electromechanical Resonators (AREA)
  • Electric Clocks (AREA)
  • Electrotherapy Devices (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Description

    Technischer Bereich
  • Die vorliegende Erfindung betrifft ein Verfahren und Gerät zum Erzeugen eines Taktsignals. In dieser Anmeldung ist der Ausdruck "Taktsignal" definiert als eine Reihe von periodischen Signalen, die zum Takten jeder speziellen elektronischen Schaltung oder Vorrichtung bei einer festen oder variablen Frequenz verwendet werden können. Insbesondere kann das Taktsignal beim Erzeugen einer beliebigen Wellenform verwendet werden, die potentiell RC- oder RL-Schaltungen, bistabile Schaltungen, Frequenzdurchlaufsgeneratoren (sweeping frequency generator), fehlerkorrigierende Verstärker und phasenverriegelte Schleifen ersetzt.
  • Stand der Technik
  • Das Erzeugen einer bekannten Frequenz ist in vielen kommerziellen Anwendungen üblich, einschliesslich Funkgeräte, Mobiltelefone, wechselseitige bzw. Zweiweg-Funkgeräte, Fernseh- und Radiofrequenzabstimmer. Die Notwendigkeit einer digitalen Steuerung solcher Abstimmer hat die integrierten Schaltungen mit anwendungsspezifischer phasenverriegelter Schleife hervorgebracht, die teuer sind. Diese Schaltungen weisen Grenzen auf, da sie eine bestimmte diskrete Anzahl von Frequenzen und einen bestimmten Bereich von Frequenzen aufweisen, die sie erzeugen können. Eine solche Anordnung ist üblicherweise beim Abstimmen eines digitalen Autoradios zu sehen, wo die FM-Frequenz sich in Stufen von typischerweise 0,1 MHz über einen Bereich von 20 MHz verändert.
  • Frequenzsteuerung wird auch bei Motorsteuerungen verwendet, insbesondere in Schritt- und Gleichstrommotoranwendungen, wo ein Taktsignal die Geschwindigkeit des Motors steuert. Verändern der Frequenz des Taktsignals steuert die Geschwindigkeit des Rotors. Es gibt viele eingeführte Methoden zur Übersetzung der Frequenz eines Taktsignals zum Antrieb vieler verschiedener Typen von Elektromotoren und viele im Handel erhältliche integrierte Schaltungen, die eine solche Übersetzung ausführen. Herkömmliche Schrittschaltsteuerungen können typischerweise nur um 250 verschiedene bestimmte Schrittraten hervorbringen, so dass, wenn die Schrittrate geändert werden muss, dies nur schrittweise vorgenommen werden kann. Dementsprechend ist es unmöglich, eine glatte Veränderung von einer Schrittrate zu einer anderen zu erhalten, was in einigen Anwendungen in hohem Masse wünschenswert ist.
  • Das amerikanische Patent US-A-4,604,034 offenbart ein Steuergerät für einen Schrittmotor zum Antrieb einer peristaltischen Pumpe. Das Gerät besitzt einen voreinstellbaren Abwärtszähler zur Abgabe von Antriebsimpulsen an den Schrittmotor bei unterschiedlichen Raten, um die Rotationsgeschwindigkeit des Motors zu regulieren. Dies ermöglicht der Pumpe, Fluid bei einer im wesentlichen konstanten Strömungsrate abzugeben. Das amerikanische Patent US-A-4,661,754 offenbart eine Steuerschaltung für einen Schrittmotor, der angeordnet ist, um den Schrittmotor zu beschleunigen oder zu verlangsamen, so dass das Geschwindigkeitsmuster des Schrittmotors in einem Rechteckmuster (pedestal pattern) geregelt wird. Das amerikanische Patent US-A-4,417,189 offenbart eine Steuerschaltung für einen Schrittmotor mit einer Impulsquelle, die angeordnet ist, um Impulse bei einer ersten Frequenz an den Motor abzugeben und die Frequenz in einer bestimmten Weise zu variieren. Insbesondere ermöglicht die Steuerschaltung dem Motor, in einem Wiederholungszyklus zu arbeiten, bei dem die Motorgeschwindigkeit über den grössten Teil des Arbeitszyklus bei einem ersten Wert und für den Rest des Zyklus bei einem zweiten Wert liegt.
  • Offenbarung der Erfindung
  • Gemäss einem ersten Aspekt der vorliegenden Erfindung, umfasst ein Verfahren zum Erzeugen eines Taktsignals mit einer gewünschten Frequenz den Schritt zum Erzeugen eines Impulses jedesmal, wenn ein gespeicherter Akkumulatorwert bzw. Speicherwert auftritt, der größer oder gleich ist wie ein gespeicherter Auslösewert, worin in einer ersten Schleife der gespeicherte Akkumulatorwert iterativ durch einen ersten Iterationswert inkrementiert wird, bis der gespeicherte Akkumulatorwert größer oder gleich dem gespeicherten Auslösewert ist und anschließend in einer zweiten Schleife der gespeicherte Akkumulatorwert durch einen zweiten Iterationswert dekrementiert wird, bis der gespeicherte Akkumulatorwert kleiner ist als der gespeicherte Auslösewert, und worin während jeder Iteration der ersten Schleife, eine laufende bzw. aktuelle Frequenz des Taktsignals mit einem gewünschten Frequenzwert verglichen wird, und wenn die beiden Werte unterschiedlich sind, wird der erste Iterationswert mit einer bestimmten Rate über eine oder mehrere nachfolgende Iterationen korrigiert, bis die Frequenz des erzeugten Taktsignals dem detektierten bzw. nachgewiesenen Wert der gewünschten Frequenz entspricht.
  • Bevorzugt wird unter Bedingungen, wo die erzeugte Taktsignalfrequenz gleich der gewünschten Frequenz ist, der erste Iterationswert durch den Wert eines nachgewiesenen Inputs bzw. Eingabewertes gestellt, der der gewünschten Frequenz des Taktsignals entspricht. Ein ineratives Inkrement gleich dem nachgewiesenen Wert der gewünschten Frequenz in Hertz wird bei jeder Iteration der ersten Iterationsschleife zum gespeicherten Akkumulatorwert hinzuaddiert. Wenn sich die gewünschte Frequenz des Taktsignals ändert, wird der erste Iterationswert mit einer bestimmten Rate bzw. Geschwindigkeit über eine oder mehrere nachfolgende Iterationen geändert, bis die Frequenz des erzeugten Taktsignals und folglich der erste Iterationswert, dem nachgewiesenen Wert der gewünschten Frequenz entspricht. Dementsprechend ist die Frequenz des Taktsignals in der Lage, zwischen zwei Frequenzen mit einer bestimmten Rate zu beschleunigen, ohne dazwischenliegende Frequenzen auszulassen. Im Zusammenhang mit einem Schrittmotor bedeutet dies, dass die Schrittrate in einer Weise beschleunigt werden kann, die sich sehr nahe an eine kontinuierliche Funktion annähert.
  • Bevorzugt wird der zweite Iterationswert durch den gespeicherten Auslösewert festgestellt bzw. eingestellt, wodurch der gespeicherte Auslösewert mindestens der einer bestimmten Unterbrechungsfrequenz in Hertz ist, bei der die erste und zweite Iterationsschleife betrieben werden. Besonders bevorzugt betragen sowohl der gespeicherte Auslösewert wie die Unterbrechungsfrequenz einen Wert von 2n, wobei n eine positive ganze Zahl ist. Dies vereinfacht den Vergleich zwischen dem gespeicherten Auslösewert und dem gespeicherten Akkumulatorwert, da der binäre Wert des gespeicherten Auslösewerts durch ein einziges eingestelltes Bit in einem Register dargestellt ist und ein Übersteigen des Auslösewerts auch durch ein einziges eingestelltes Bit dargestellt ist. In diesem Fall wird für jede Iteration der zweiten Iterationsschleife ein iteratives Inkrement gleich dem gespeicherten Auslösewert vom gespeicherten Akkumulatorwert subtrahiert oder, wenn der gespeicherte Auslösewert 2n ist, dann wird ein einziges Bit in einem Register gelöscht. Als Alternative kann die Ausführung der zweiten Schleife auf eine einzige Iteration reduziert werden, indem die Anzahl an Impulsen, die erzeugt werden müssen, vorausberechnet wird. Wenn beispielsweise die gewünschte Frequenz viel grösser ist als der gespeicherte Auslösewert, dann kann eine Vorausberechnung automatisch vorgenommen werden, um zu bestimmen, wie viele Impulse für jede Iteration der ersten Schleife erzeugt werden müssen.
  • Bevorzugt wird die Anzahl der zum Ändern des ersten Iterationswertes benötigten Iterationen durch einen gespeicherten Beschleunigungswert bestimmt, der einem Beschleunigungsakkumulator für jede Iteration hinzuaddiert wird, bei der der erste Iterationswert und die gewünschte Frequenz nicht exakt gleich sind. Bei einer solchen Iteration wird jedesmal, wenn der Beschleunigungsakkumulator grösser oder gleich dem gespeicherten Auslösewert ist, der erste Iterationswert um eins inkrementiert (oder zur Verlangsamung dekrementiert) und der Beschleunigungsakkumulator wird durch den Wert des gespeicherten Auslösewertes reduziert. Eine solche Anordnung ermöglicht eine akkurate Steuerung der Beschleunigungsrate in realen Einheiten (Hertz).
  • Bevorzugt sind der gespeicherte Auslösewert und der gespeicherte Beschleunigungswert variabel. Insbesondere kann der gespeicherte Auslösewert so angeordnet sein, dass er im Vergleich zu einer erwarteten gewünschten Frequenz ausreichend gross ist, so dass Frequenzen erzeugt werden können, die sich sehr schnell einstellen, typischerweise innerhalb von 10 ms. Der gespeicherte Beschleunigungswert kann auch ausgewählt sein, dass er die Rate steuert, bei der der erste Iterationswert korrigiert wird, wenn die gewünschte Frequenz verändert wird.
  • Gemäss einem zweiten Aspekt der vorliegenden Erfindung umfasst eine Vorrichtung zum Erzeugen eines Taktsignals:
  • Mittel zum Detektieren bzw. Nachweisen eines Inputs bzw. einer Eingabe entsprechend dem Wert einer gewünschten Frequenz,
  • Mittel zum Erzeugen eines Impulses jedesmal, wenn ein gespeicherter Akkumulatorwert auftritt, der größer oder gleich ist wie ein gespeicherter Auslösewert,
  • Mittel zum Steuern einer ersten Schleife, in der der gespeicherte Akkumulatorwert durch einen ersten Iterationswert inkrementiert wird entsprechend dem Wert der gewünschten Frequenz, bis detektiert wird, dass der gespeicherte Akkumulatorwert größer oder gleich dem gespeicherten Auslösewert ist,
  • Mittel zum Steuern einer zweiten Schleife, in der der gespeicherte Akkumulatorwert durch einen zweiten Iterationswert dekrementiert wird, bis detektiert wird, dass der gespeicherte Akkumulatorwert kleiner ist als der gespeicherte Auslösewert, und
  • Mittel zum Speichern eines Beschleunigungswertes und Mittel zum Speichern eines Beschleunigungsakkumulatorwertes, die verwendet werden, um eine Veränderungsrate bzw. Änderungsgeschwindigkeit des ersten Iterationswertes zu steuern, wenn das Mittel zum Nachweis des Inputwertes der gewünschten Frequenz nachweist, daß der Wert der gewünschten Frequenz sich geändert hat.
  • Bevorzugt umfasst die Vorrichtung ferner einen Speicher zum Speichern des Wertes der gewünschten Frequenz, der laufenden Frequenz, des Auslösewerts, des Akkumulatorwertes und des Beschleunigungswertes. Bevorzugt umfasst die Vorrichtung auch Mittel zum Erzeugen eines Unterbrechungssignals, das die Geschwindigkeit steuert, bei der die erste und zweite Schleife ausgeführt werden und Verarbeitungsmittel zum Ausführen der Funktionen des Vergleichens des Wertes des gespeicherten Akkumulatorwertes mit dem gespeicherten Auslösewert, Inkrementieren oder Dekrementieren des gespeicherten Akkumulatorwertes und Verändern des ersten Iterationswertes mit einer bestimmten Rate, wenn sich die gewünschte Frequenz ändert.
  • Bevorzugt ist die Vorrichtung auf einer integrierten Schaltung implementiert, die einen vorprogrammierten Mikroprozessor umfasst.
  • In einer bevorzugten Implementierung wird das nach dem Verfahren und mit der Vorrichtung gemäss dem ersten und zweiten Aspekt der Erfindung erzeugte Taktsignal verwendet, um einen Schrittmotor zu steuern, so dass eine kontinuierliche Beschleunigung zwischen zwei Schrittraten gemäss einem bestimmten Geschwindigkeitsprofil erreicht wird.
  • In ihrer einfachsten Form kann die vorliegende Erfindung verwendet werden, um eine wiederholte Reihe von Impulsen bei jeder speziellen festen oder kontinuierlich veränderlichen Frequenz zu erzeugen. Wenn es mit einer Nachschlagetabelle oder einem beliebigen Algorithmus verknüpft wird, der eine Wellenform erzeugt, kann das erfindungsgemässe Verfahren zum Erzeugen jeder gewünschten Wellenform bei jeder gewünschten Frequenz verwendet werden. Anwendungen der vorliegenden Erfindung umfassen Bewegungssteuerung, Ersetzen phasenverriegelter Schleifen, harmonisches Abstimmen von Radiofrequenzen, Frequenzgeneratoren und jede andere Vorrichtung, die von einer festen oder variablen Frequenz abhängt. Die Erfindung ist besonders gut geeignet zur Beherrschung von Motorgeschwindigkeiten und insbesondere zur Steuerung von Schrittmotoren, einschliesslich Vollschritt-, Halbschritt- und Mikroschrittmotoren. Gleichermassen kann die Geschwindigkeit eines Gleichstrommotors nach dieser Methode reguliert werden, indem die Steuerfrequenz zur Verfügung gestellt wird, die die Rotationsgeschwindigkeit des Ankers beherrscht. Da die vorliegende Erfindung jede feste oder veränderliche Frequenz akkurat produziert, kann sie verwendet werden, um Motoren linear zu beschleunigen und zu verlangsamen, und sie kann verwendet werden, um eine Reihe solcher Bewegungen auszuführen.
  • Die vorliegende Erfindung ist sehr effizient, d. h. schnell und kompakt, und kann sehr billig auf im Handel erhältlichen integrierten Schaltungen und eingebetteten Steuerungen implementiert werden.
  • Kurze Beschreibung der Zeichnungen
  • Die vorliegende Erfindung wird nun ausführlich mit Bezug zu den begleitenden Zeichnungen beschrieben, in denen:
  • Fig. 1 eine Mikrosteuerung darstellt, die die vorliegende Erfindung verkörpert,
  • Fig. 2 ein Flussdiagramm darstellt, das das erfindungsgemässe Verfahren erläutert,
  • Fig. 3 bis 5 einzelne Schritte des erfindungsgemässen Verfahren von Fig. 2 vergrössert darstellen,
  • Fig. 6 ein Fluidausgabegerät zeigt, das einen Schrittmotor zum Antrieb eines Spritzenkolbens umfasst,
  • Fig. 7a ein Schaubild der Fluidgeschwindigkeit darstellt, die aus zwei separaten Spritzen ausgegeben werden, wobei jede Spritze vom in Fig. 6 gezeigten Gerät angetrieben und vom Frequenzgenerator der vorliegenden Erfindung gesteuert ist,
  • Fig. 7b ein Schaubild der Spritzenkolbenverschiebung für die beiden separaten Spritzen zeigt, die vom in Fig. 6 gezeigten Gerät angetrieben sind,
  • Fig. 8 bis 11 Tabellen darstellen, die erläutern, wie das erfindungsgemässe Verfahren Frequenzen mit unterschiedlichen Frequenzunterbrechungswerten akkurat erzeugt, und
  • Fig. 12 eine Tabelle darstellt, die erläutert, wie das erfindungsgemässe Verfahren von einer Frequenz zur anderen beschleunigt.
  • Ausführliche Beschreibung
  • Fig. 1 zeigt einen typischen anwendungsspezifischen vorprogrammierten Mikroprozessor 1, wie eine Mikrosteuerung bzw. ein Programmschaltwerk der Motorola 6805 K-Serie. Der Mikroprozessor 1 umfasst eine Anzahl von Registern 2 zum Speichern einer Anzahl von Variablen, von denen einige voreingestellt werden, wenn der Prozessor unter Verwendung der Einschaltrücksetzung 3 eingeschaltet wird. Die gespeicherten Variablen umfassen einen gespeicherten Auslösewert Auslöser, einen gespeicherten Akkumulatorwert Tank, einen Inkrementwert r, einen Beschleunigungswert accRate, eine gewünschte Frequenz Fd, einen Beschleunigungsakkumulator AccTank und eine Zählung der nachgewiesenen bzw. detektierten Impulse.
  • Der Prozessor 1 erzeugt intern ein Unterbrechungssignal unter Verwendung eines Unterbrechungsgenerators 4, der von einem externen Oszillator 5 angetrieben wird, der unten ausführlich beschrieben wird.
  • Eine vorprogrammierte Einheit 6 steuert die beiden Schleifen, nachfolgend ausführlich beschrieben, die verwendet werden, um einen Rechteckwellenimpulsgenerator 7 zu betreiben. In diesem Beispiel wird der Impulsgenerator 7 verwendet, um einen Wellenformgenerator 8 anzutreiben.
  • Es ist eine Benutzerschnittstelle 9 zum Steuern des Prozessors vorgesehen, und insbesondere zum Verändern von Werten der gespeicherten Variablen im Register 2. Ausserdem kann eine Feedbackschleife vorgesehen sein, um den Output bzw. die Ausgabe des Impulsgenerators 7 zu überwachen.
  • Fig. 2 zeigt ein Flussdiagramm des vom Prozessor 1 ausgeführten Prozesses, wenn er ein Taktsignal mit einer gewünschten Frequenz erzeugt.
  • Wenn der vorprogrammierte Prozessor 1 das erste Mal eingeschaltet wird, initialisiert das Programm die Variablen Auslöser, Tank, AccTank, accRate und r.
  • Danach prüft der Prozessor 1 in einer ersten Schleife 10 jedes Mal, wenn ein Unterbrechungssignal vom Unterbrechungsgenerator 4 erzeugt wird, ob der Benutzer eine gewünschte Frequenz eingegeben hat und wenn ja, speichert er diesen Wert als die gewünschte Frequenz. In diesem Beispiel ist der Prozessor 1 so programmiert, dass er die Variable r, die als das Iterationsinkrement bezeichnet wird, als null initialisiert und so wird dieses Iterationsinkrement in einer Beschleunigungsroutine über eine Anzahl von Iterationen erhöht, wie es unten mit Bezug zu Fig. 5 der Zeichnungen ausführlich beschrieben wird, bis das Iterationsinkrement gleich der nachgewiesenen gewünschten Frequenz ist. Als Alternative kann nach Initialisierung der Prozessor 1 stattdessen warten, bis eine gewünschte Frequenz nachgewiesen ist und danach das Iterationsinkrement r gleich der gewünschten Frequenz einstellen, so dass keine Anfangsbeschleunigung des Iterationsinkrements r erforderlich ist.
  • Anschliessend erhöht der Prozessor 1 den Tankwert um einen Wert, der gleich dem Iterationsinkrement r ist. Der Prozessor vergleicht dann den Tankwert und den Auslösewert und wenn der Tankwert als grösser oder gleich dem Auslösewert gefunden wird, dekrementiert der Prozessor in einer zweiten Schleife 11 den vorhandenen Wert des Tankwertes um den Wert des Auslösewertes und es wird in Taktimpuls erzeugt. Der Impulszähler wird um 1 inkrementiert und der Vergleich des Tankwertes und des Auslösewertes wird erneut vorgenommen. In diesem Beispiel wird wenn nötig die zweite Schleife 11 wiederholt, bis der Tankwert geringer ist als der Auslösewert. Sobald der Tankwert geringer ist als der Auslösewert, startet wieder die erste Schleife 10, wodurch der Tankwert über einen oder mehrere Zyklen der ersten Schleife 10 iterativ inkrementiert wird, bis der Zustand, dass Tank grösser als oder gleich ist wie der Auslöser wieder erfüllt ist.
  • Bei ausführlicherer Betrachtung jedes Kastens des Flussdiagramms in Fig. 2 ist der Kasten 12 "Variablen Initialisieren" in Fig. 3 ausführlicher gezeigt. In diesem Beispiel stellt der Prozessor 1 nach Initialisierung den Beschleunigungswert accRate auf 1 Hz s&supmin;², den Iterationsinkrementwert r auf 100 Hz, den Tankwert und AccTankwert auf null und den Wert Auslöser auf die Frequenz des Unterbrechungssignals.
  • Der Vorgang des Kastens 13 "auf Unterbrechung warten" wird im Flussdiagramm von Fig. 4 erläutert. Das gesamte System wird bei der Geschwindigkeit des Unterbrechungssignals betrieben, das von einem externen Oszillator 5 angetrieben wird. Das System wird zwischen Unterbrechungen beibehalten, und während dieses Zeitraums kann der Benutzer über die Benutzerschnittstelle 9 Signale eingeben, um Variablen zu ändern. Die Frequenz des Unterbrechungssignals kann auf jeden Wert eingestellt werden, einschliesslich dem des Oszillators 5, was eine Frequenzsynthese gleich der des Oszillators 5 ermöglicht, da jede Iteration simultan oder effektiv durch die Verwendung von Fliessband- oder ähnlichen Standardtechniken ausgeführt werden kann.
  • Fig. 5 zeigt den Vorgang des Kastens 14 "(r) Beschleunigen". Wenn der Prozessor 1 nachweist, dass der gespeicherte Wert der gewünschten Frequenz sich vom derzeitigen Iterationsinkrementwert r der ersten Schleife 10 unterscheidet, wird der Beschleunigungswert accRate einem Beschleunigungsakkumulator AccTank hinzuaddiert. AccTank wird anschliessend mit dem Auslösewert verglichen und wenn er grösser oder gleich dem Auslöser ist, wird AccTank um den Wert des Auslösers dekrementiert und r wird um eins inkrementiert (oder dekrementiert für Verlangsamung). Bei nachfolgenden Zyklen der ersten Schleife werden diese Schritte wiederholt, bis r gleich der gewünschten Frequenz ist. Auf diese Weise kann der Prozess von einer Frequenz zur anderen in einer präzise gesteuerten Rate beschleunigen, die vom Beschleunigungswert accRate eingestellt ist.
  • Im wesentlichen hängt die vorliegende Erfindung von einer Eingabefrequenz, die typischerweise als Unterbrechung verwendet wird, und drei Variablen ab, nämlich Auslöser, r und Tank. Die Variable Auslöser wird auf die Unterbrechungsfrequenz in Hertz eingestellt und wird üblicherweise nie verändert, der Wert r wird auf die gewünschte Frequenz in Hertz eingestellt und kann jederzeit geändert werden und Tank ist ein Speicher- bzw. Akkumulatorwert. Bei jeder Unterbrechung wird der Inkrementwert r angepasst, wenn die gewünschte Frequenz noch nicht erreicht ist, Tank wird durch den Wert von r inkrementiert und Tank wird mit Auslöser verglichen. Wenn Tank grösser oder gleich Auslöser ist, wird ein Impuls erzeugt und es kann zusätzliche Aktivität vorgenommen werden, wie ein Schritt auf dem Schrittmotor, Ändern der Wellenform eines Impulsbreitenmodulators oder Ändern eines anderen Wertes oder einer physikalischen Einstellung. Ferner können interne Register 2 verwendet werden, um Zykluszählungen, Schrittzählungen, laufende Frequenz, tatsächliche Frequenz und Merker (flags), die anzeigen, ob die Frequenz sich ändert oder andere derartige Information zu pflegen.
  • Jedes Mal, wenn gefunden wird, dass Tank grösser oder gleich Auslöser ist, wird Tank der Wert Tank-Auslöser zugewiesen, der immer positiv oder null ist und es wird ein Impuls erzeugt. Gleichermassen wird, weil der Wert von Tank nie gelöscht, sondern nur durch Auslöser verringert wird, behält Tank immer einen Rest und minimiert den tatsächlichen Fehler der erzeugten Frequenz auf weniger als eine Periode der Unterbrechungsfrequenz.
  • Der Fehler der erzeugten Frequenz ist nicht akkumulierend. Wenn die gewünschte Frequenz weniger oder gleich der Unterbrechungsfrequenz ist, dann beträgt der Fehler niemals mehr als 1 Unterbrechungstaktperiode. Wenn die gewünschte Frequenz grösser ist als die Unterbrechungstaktfrequenz, wird der Prozess als gesättigt angenommen und bündelt Impulse vor der nächsten Unterbrechung, um die korrekte Anzahl von Impulsen pro Unterbrechung beizubehalten. Während die Durchschnittsfrequenz gehalten wird, kann es Systeme geben, wo eine solche Technik nicht akzeptabel ist. Andere Techniken wie Erzeugen von zwei oder mehr Impulsen mit gleichem Abstand jedesmal, wenn ein System einen Impuls erzeugt, Hardwarefrequenzverdoppler oder von der Hardware erzeugte Verzögerungen können in Verbindung mit dieser Methode verwendet werden. Beispielsweise kann für Fälle, wo die gewünschte Frequenz den Auslösewert übersteigt, die zweite Schleife auf einen einzigen Iterationsschritt reduziert werden, indem die Anzahl der erforderlichen Impulse nach jeder Iteration der ersten Schleife vorausberechnet wird. Für die meisten Systeme sind diese Techniken jedoch nicht nötig, da es in der Praxis leicht ist, Unterbrechungstaktfrequenzen zu wählen, die höher sind als die maximal gewünschte Frequenz.
  • Bei Anwendungen, wo die Unterbrechungen selbst unterbrochen oder ganz ausgelassen werden können, behält der Prozess eine korrekte Frequenz bei, vorausgesetzt, dass der Akkumulatorwert durch das Iterationsinkrement für jede Unterbrechung, die ausgelassen oder abgekürzt ist, inkrementiert wird. Wenn das System Zeit hat, die Unterbrechung vollständig zu bedienen, korrigiert Impulsbündelung alle temporären ruhenden Fehler. Die Anzahl der ausgelassenen Unterbrechungen kann getrennt aufgezeichnet werden, kann aus einem Vergleich mit einer Echtzeituhr berechnet werden oder der gesamte Prozess kann vom Vergleich mit einer Echtzeituhr anstelle einer Unterbrechung abhängen.
  • Wenn dieses System mit Schrittmotoren verwendet wird, und insbesondere mit Mikroschrittmotoren, weist Sättigung keinen messbaren Einfluss auf den Motor auf. Dies liegt daran, dass Impulsbündelung bei Frequenzen auftritt, die viel höher sind, als dass Motoren darauf reagieren können. Typischerweise kann ein Schrittmotorenrotor wegen der Trägheit der Rotoren und dem magnetischen Widerstand der Kupferwicklungen nicht auf eine Veränderung in der Spulenspannung von weniger als 20 Millisekunden reagieren. Da praktisch selbst bei relativ langsamen, kostengünstigen integrierten Schaltkreisen Sättigung nur bei Frequenzen über ungefähr 10 KHz auftritt, ist die Auswirkung auf den Motor unsichtbar. Bei Verwendung mit Mikroschrittmotoren oder Nachschlagetabellen, braucht anstelle des Zusammenbündelns von Impulsen und schnellen Sendens eines sequentiellen Wertesatzes an die Motorspule, nur der letzte Wert im Satz versandt zu werden, da die Zwischenwerte keinen Einfluss auf den Motor haben. Diese Auslasstechnik ermöglicht sehr hohe Frequenzen zur Steuerung eines Mikroschrittmotors, ohne Verlust an Positionsschrittzählung oder Genauigkeit. Der Übergang vom normalen Betrieb zur Sättigung wird automatisch vom Prozess vorgenommen, wenn die Frequenz einen systemabhängigen Grenzwert überschreitet. Der Übergang ist glatt, da Impulsbündelung nur verwendet wird, um die korrekte Mittelwertfrequenz einzuhalten und die Anwendungen der Impulsbündelung immer minimiert sind.
  • Ein Vorteil der vorliegenden Erfindung ist, dass die Variablen geändert werden können, während das System läuft. Durch Variieren des Wertes r entweder direkt oder indirekt durch die Beschleunigungsschleife, beschleunigt, hält oder verlangsamt die Methode der vorliegenden Erfindung auf jede Frequenz bis zu einem implementierungsabhängigen Maximum und solche Informationen wie Position oder Frequenz können in Echtzeit angegeben werden. Die Rate der Beschleunigung oder Verlangsamung kann durch Verändern des Wertes accRate gesteuert werden, der wiederum bei jeder Unterbrechung r ändern kann. Ferner können unterschiedliche Raten zur Beschleunigung und Verlangsamung durch die Verwendung getrennter Variablen erreicht werden.
  • Bedingt durch die sehr einfache und kompakte Natur des Prozesses und seiner Abhängigkeit nur von einem Vergleichsmerkmal und entweder Addition oder Subtraktion oder mit einer geeigneten Unterbrechungsfrequenz, einem Biteinstell- oder Bitlöschmerkmal, kann die vorliegende Erfindung durch die billigsten und mit der geringsten Rechenleistung ausgestatteten Mikrosteuerungen implementiert werden, was zu sehr kostenarmen Geräten führt. Es können unter Verwendung dieses Verfahrens kostengünstige eingebettete Steuerungen zur Steuerung eines Schrittmotors mit Raten bis zu 15625 Schritten pro Sekunde erreicht werden, ohne Frequenzen zu überspringen, und sie können zum Erzeugen von Raten bis zu 31000 Schritten pro Sekunde konfiguriert werden, während sie jede zweite Frequenz überspringen. Wenn sie mit leistungsstarken Prozessoren oder Einrichtungen mit programmierbarer Logik verwendet werden, erhöht sich die maximale fehlerfreie Frequenz bis zu einem Grenzwert der Oszillatorfrequenz der Einrichtung. Wenn ein solcher Prozess in anwendungsspezifischem Silicium gemacht wird, kann eine Frequenz von 15 MHz ohne Überspringen, ohne Sättigung erreicht werden, und derzeit sind Frequenzen bis zu 300 MHz möglich. Die Beschränkung auf die Frequenz beruht ganz auf dem Silicium, da jede Iteration gleichzeitig in einem einzigen Taktzyklus durchgeführt werden kann. Dieses Frequenzmaximum erhöht sich laufend und durch Verwendung aussergewöhnlicher Materialien, wie GaAs, kann diese Methode derzeit Frequenzen über 1 GHz erzeugen. Wenn diese Methode mit einer Mikrosteuerung verwendet wird, sind ein Quellentaktgeber und eine Leistungsverstärker das einzige, was typischerweise nötig ist, um einen Schrittmotor zu steuern, da die für Voll-, Halb- oder Mikroschrittmotoren nötigen Signale intern mit vorhandenen Mikrosteuerungen erzeugt werden können.
  • Der Prozess kann durch Verändern des Wertes des Auslösers oder durch Ausführung eines äquivalenten Vorgangs fraktionelle Frequenzen bzw. Teilfrequenzen erzeugen. Beispielsweise werden Frequenzen mit einer Auflösung von 0,1 Hz erzeugt, wenn der Auslöser auf das zehnfache der Unterbrechungsfrequenz anstelle der Unterbrechungsfrequenz und r auf das zehnfache der gewünschten Rate eingestellt wird. Gleichermassen kann dieses Unterprogramm mit Gleitkommazahlen anstelle von ganzen Zahlen verwendet werden, um fraktionelle Frequenzen zu erzeugen.
  • Diese Methode kann auch als Teil eines Systems mit geschlossener Schleife verwendet werden, wo ein an dem Motor angebrachter Positionsencoder Informationen über die Motorposition gibt. Ein solches System wird verwendet, um zu überprüfen, dass die tatsächliche Position mit der intern berechneten Position übereinstimmt, und es minimiert jeden Unterschied.
  • Ein bestimmendes Hauptmerkmal der vorliegenden Erfindung ist, dass im Gegensatz zu vorhandenen Frequenzgeneratoren die in der vorliegenden Erfindung erzeugten Taktsignalfrequenzen von der Eingabetaktfrequenz unabhängig sind. Ferner ist das Verfahren in der Lage, jede Frequenz von 0 bis zu einem systemabhängigen Maximum akkurat zu erzeugen und gleichermassen eine lineare Beschleunigungsrate von 0 bis zu einem systemabhängigen Maximum zu erzeugen.
  • Die Tabellen 1 bis 9 in den Fig. 8 bis 11 zeigen, wie das Verfahren Frequenzen mit unterschiedlichen Unterbrechungsfrequenzwerten akkurat erzeugt und sich bei höheren Unterbrechungsfrequenzen schneller einstellt. Ausserdem zeigt Tabelle 10 in Fig. 12 wie das Verfahren von einer Frequenz zur anderen beschleunigt. In den Fig. 8 bis 12 ist die Frequenz ein Mittelwert der Anzahl der Impulse, die in jeder Zeile der Tabelle gezeigt sind.
  • Ein Beispiel einer Implementierung der vorliegenden Erfindung ist in Fig. 6 gezeigt. Eine Fluidausgabevorrichtung 15 umfasst einen Schrittmotor 16, der unter Verwendung des erfindungsgemässen Frequenzgenerators (nicht gezeigt) gesteuert wird. Der Schrittmotor 16 dreht eine Leitspindel 17 über eine Kupplung 18, um ein Glied 19 über einen vertikalen zylindrischen Stab 20 auf und ab zu treiben. Ein Arm 21 des Glieds 19 ist mit einem Kolben 22 einer Spritze 23 verbunden, die an ihrem oberen Ende einen Einlass/Auslass 24 aufweist.
  • In der Anwendung kann, wenn der Spritzenkolben 22 in seine untere Position (nicht gezeigt) zurückgeführt ist, ein Verdünnungsmittel die Spritze 23 füllen. Betreiben des Motors 16 bei einer gewünschten Schrittrate in der entgegengesetzten Richtung treibt die Leitspindelanordnung an und führt den Spritzenkolben 22 zurück nach oben, wobei das Fluid mit gesteuerter Geschwindigkeit durch den Auslass 24 abgegeben wird.
  • Eine digitale Verdünnungseinrichtung umfasst zwei solcher Fluidausgabeanordnungen 15 und der Zweck ist, die Inhalte der beiden Spritzen mit einer bestimmten Rate zu mischen, um eine Veränderung der Konzentration der Mischung zu erreichen, d. h. einen Konzentrationsgradienten. Herkömmliche Schrittmotorsteuerungen sind beschränkt, da sie nur eine bestimmte diskrete Anzahl von Frequenzen über einen bestimmten Bereich erzeugen. Dementsprechend kann die Geschwindigkeit jedes Spritzenkolbens nur ziemlich grob schrittweise verändert werden, was sich einem linearen Geschwindigkeitsprofil nur annähert. Jedes Mal, wenn die Geschwindigkeit des Spritzenkolbens ansteigt oder absinkt, wird der Fluidstrom aus der Spritze gestört, was auf diese Weise die Genauigkeit von Messungen in Bezug auf die Mischung verringert.
  • Im Gegensatz dazu ist der Frequenzgenerator der vorliegenden Erfindung in der Lage, einen Schrittmotor zwischen zwei Schrittraten gemäss einem bestimmten Geschwindigkeitsprofil zu beschleunigen. Die Fig. 7a bzw. 7b zeigen Schaubilder der Geschwindigkeit gegen die Zeit für aus zwei Spritzen ausgegebenes Fluid und die relative Verschiebung der Kolben der beiden Spritzen.
  • In diesem Beispiel soll eine Salzlösung mit reinem Wasser gemischt werden. Wie in Fig. 7a gezeigt ist beschleunigt der Schrittmotor, der die mit Salzlösung gefüllte Spritze antreibt, den Spritzenkolben, um Fluid mit einer Geschwindigkeit V&sub1; abzugeben, während der Schrittmotor, der die mit reinem Wasser gefüllte Spritze antreibt, den Spritzenkolben beschleunigt, um Fluid mit einer geringeren Geschwindigkeit V&sub2; abzugeben.
  • Sobald bei jeder Spritze eine konstante Strömungsrate erreicht ist, verlangsamt die mit der salzgefüllten Spritze verbundene Schrittmotorsteuerung zum Zeitpunkt T&sub1; über eine Periode T&sub2;-T&sub1; linear auf eine Geschwindigkeit V&sub2;, während gleichzeitig die mit der wassergefüllten Spritze verbundene Schrittmotorsteuerung linear auf eine Geschwindigkeit V&sub1; beschleunigt. Während dieser Periode bleibt die kombinierte Strömungsrate der beiden Spritzen konstant. Schliesslich werden die beiden Spritzen über den Zeitraum T&sub3;-T&sub2; gespült.
  • Wie durch dieses Beispiel erläutert kann der erfindungsgemässe Frequenzgenerator linear statt schrittweise mit einer vom Benutzer bestimmten Rate zwischen zwei beliebigen Frequenzen beschleunigen. In der Praxis programmiert der Benutzer das System vor, so dass die Frequenz nach einer bestimmten Zeit oder einer Anzahl von Impulsen geändert wird, statt eine neue gewünschte Frequenz von Hand einzugeben. Die Rate der Geschwindigkeitsveränderung für eine gegebene Verschiebung ist durch die Variable accRate bestimmt (siehe Fig. 5).
  • Tabelle 10 zeigt ein Beispiel, wie ein vorprogrammierter Mikroprozessor automatisch eine Taktsignalfrequenz ändern kann, um das in Fig. 7a gezeigte Geschwindigkeitsprofil zu erreichen. In diesem Beispiel bleibt die Frequenz für die ersten 3000 Taktimpulse bei 100 Hz konstant, wonach die gewünschte Frequenz sich auf 9 KHz ändert und die Rate, r, oder das erste Iterationsinkrement sich über einen Zeitraum von um 20 Sekunden oder 42000 Impulsen von 100 Hz auf 9 KHz beschleunigt.

Claims (13)

1. Verfahren zum Erzeugen eines Taktsignals mit einer gewünschten Frequenz umfassend den Schritt zum Erzeugen eines Impulses jedesmal, wenn ein gespeicherter Akkumulatorwert auftritt, der größer oder gleich ist wie ein gespeicherter Auslösewert, worin in einer ersten Schleife der gespeicherte Akkumulatorwert iterativ durch einen ersten Iterationswert inkrementiert wird, bis der gespeicherte Akkumulatorwert größer oder gleich dem gespeicherten Auslösewert ist und anschließend in einer zweiten Schleife der gespeicherte Akkumulatorwert durch einen zweiten Iterationswert dekrementiert wird, bis der gespeicherte Akkumulatorwert kleiner ist als der gespeicherte Auslösewert, und worin während jeder Iteration der ersten Schleife, eine laufende Frequenz des Taktsignals mit einem gewünschten Frequenzwert verglichen wird, und wenn die beiden Werte unterschiedlich sind, wird der erste Iterationswert mit einer bestimmten Rate über eine oder mehrere nachfolgende Iterationen korrigiert, bis die Frequenz des erzeugten Taktsignals dem nachgewiesenen Wert der gewünschten Frequenz entspricht.
2. Verfahren nach Anspruch 1, bei dem unter Bedingungen, wo die erzeugte Taktsignalfrequenz gleich der gewünschten Frequenz ist, der erste Iterationswert durch den Wert eines nachgewiesenen Inputs entsprechend der gewünschten Frequenz des Taktsignals eingestellt wird.
3. Verfahren nach Anspruch 1 oder 2, bei dem der zweite Iterationswert durch den gespeicherten Auslösewert eingestellt wird, wodurch der gespeicherte Auslösewert mindestens der einer bestimmten Unterbrechungsfrequenz ist, bei der die erste und zweite Iterationsschleife betrieben werden.
4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem sowohl der gespeicherte Auslösewert und die Unterbrechungsfrequenz einen Wert von 2n Hertz aufweisen, wo n eine positive ganze Zahl ist.
5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Zahl der zur Änderung des ersten Iterationswertes nötigen Iterationen durch einen gespeicherten Beschleunigungswert bestimmt wird, der einem Beschleunigungsakkumulator für jede Iteration hinzuaddiert wird, bei der der erste Iterationswert und die gewünschte Frequenz nicht exakt gleich sind.
6. Verfahren nach Anspruch 5, bei dem der gespeicherte Auslösewert und der gespeicherte Beschleunigungswert variabel sind.
7. Verfahren zur Steuerung eines Schrittmotors unter Verwendung eines Taktsignals, das gemäß dem Verfahren nach einem der vorhergehenden Ansprüche erzeugt wurde, um kontinuierliche Beschleunigung zwischen zwei Schrittraten gemäß einem bestimmten Geschwindigkeitsprofil zu erreichen.
8. Vorrichtung zur Erzeugung eines Taktsignals umfassend: Mittel zum Nachweisen eines Inputs entsprechend dem Wert einer gewünschten Frequenz, Mittel (7) zum Erzeugen eines Impulses jedesmal, wenn ein gespeicherter Akkumulatorwert auftritt, der größer oder gleich ist wie ein gespeicherter Auslösewert; Mittel (6) zum Steuern einer ersten Schleife, in der der gespeicherte Akkumulatorwert durch einen ersten Iterationswert inkrementiert wird entsprechend dem Wert der gewünschten Frequenz, bis der gespeicherte Akkumulatorwert größer oder gleich dem gespeicherten Auslösewert ist, Mittel (6) zum Steuern einer zweiten Schleife, in der der gespeicherte Akkumulatorwert durch einen zweiten Iterationswert dekrementiert wird, bis der gespeicherte Akkumulatorwert kleiner ist als der gespeicherte Auslösewert, und Mittel (2) zum Speichern eines Beschleunigungswertes und Mittel (2) zum Speichern eines Beschleunigungsakkumulatorwertes, die verwendet werden, um eine Veränderungsrate des ersten Iterationswertes zu steuern, wenn das Mittel zum Nachweis des Inputwertes der gewünschten Frequenz nachweist, daß der Wert der gewünschten Frequenz sich geändert hat.
9. Vorrichtung nach Anspruch 8, ferner umfassend einen Speicher zum Speichern des Wertes der gewünschten Frequenz, der laufenden Frequenz, des Auslösewertes, des Akkumulatorwertes und des Beschleunigungswertes.
10. Vorrichtung nach Anspruch 8 oder 9, ferner umfassend Mittel (4) zum Erzeugen eines Unterbrechungssignals, das die Geschwindigkeit steuert, mit der die erste und zweite Schleife durchgeführt werden, und Verarbeitungsmittel (6) zum Ausführen der Funktionen des Vergleichens des Wertes des gespeicherten Akkumulatorwertes mit dem gespeicherten Auslösewert, Inkrementieren oder Dekrementieren des gespeicherten Akkumulatorwertes und Verändern des ersten Iterationswertes mit einer bestimmten Rate, wenn sich die gewünschte Frequenz ändert.
11. Vorrichtung nach einem der Ansprüche 8 bis 10, versehen mit einem integrierten Schaltkreis, der einen vorprogrammierten Mikroprozessor umfaßt.
12. Antrieb umfassend die Kombination eines Schrittmotors (16) und einer Vorrichtung nach einem der Ansprüche 8 bis 11, worin der Schrittmotor (16) durch das Taktsignal angetrieben ist, das von der Takterzeugervorrichtung erzeugt ist.
13. Fluidausgabevorrichtung (15) umfassend eine Vielzahl von Ausgabespritzen (23), wobei jede Ausgabespritze (23) ein Spritzengehäuse umfaßt, das einen rohrförmigen Durchgang mit einem Fluidauslaß (24) definiert, und einen Spritzenkolben (22), der so angeordnet ist, daß er axial in dem rohrförmigen Durchgang gleitet und ein Ende des rohrförmigen Durchgangs verschließt, wobei die Fluidausgabevorrichtung (15) ferner ein Spritzenkolbenantriebsmittel umfaßt, das so angeordnet ist, daß es den Spritzenkolben (22) gemäß einem bestimmten Geschwindigkeitsprofil für die Ausgabespritze (23) entlang mindestens eines Teils der Länge des rohrförmigen Durchgangs treibt und Fluid durch den Fluidauslaß (24) abgibt, worin das bestimmte Geschwindigkeitsprofil jeder Ausgabespritze (23) so ist, daß bei Anwendung, eine kombinierte Strömungsrate der gleichzeitig aus den Auslässen (24) abgegebenen Fluids der Vielzahl von Ausgabespritzen (23) über mindestens einen Teil des Bewegungsbereichs der Vielzahl von Kolben (22) im wesentlichen konstant gehalten ist, und worin das Spritzenkolbenantriebsmittel einen Antrieb nach Anspruch 12 umfaßt.
DE69607486T 1995-12-29 1996-12-27 Digitaler frequenzgenerator Expired - Lifetime DE69607486T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB9526717.5A GB9526717D0 (en) 1995-12-29 1995-12-29 Digital frequency generator
PCT/GB1996/003240 WO1997024797A1 (en) 1995-12-29 1996-12-27 Digital frequency generator

Publications (2)

Publication Number Publication Date
DE69607486D1 DE69607486D1 (de) 2000-05-04
DE69607486T2 true DE69607486T2 (de) 2001-05-23

Family

ID=10786200

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69607486T Expired - Lifetime DE69607486T2 (de) 1995-12-29 1996-12-27 Digitaler frequenzgenerator

Country Status (9)

Country Link
US (1) US6028412A (de)
EP (1) EP0870359B1 (de)
JP (1) JP3955631B2 (de)
AT (1) ATE191299T1 (de)
AU (1) AU700438B2 (de)
CA (1) CA2240473C (de)
DE (1) DE69607486T2 (de)
GB (1) GB9526717D0 (de)
WO (1) WO1997024797A1 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1074868C (zh) * 1997-11-19 2001-11-14 智合科技股份有限公司 相位累加式正弦波产生器
US6633989B1 (en) * 1999-11-30 2003-10-14 Lsi Logic Corporation Method and mechanism for synchronizing a slave's timer to a master's timer
FI110822B (fi) * 2001-03-27 2003-03-31 Planmeca Oy Menetelmä ja järjestely röntgenlaitteiden, erityisesti panoraamaröntgenkuvauslaitteiden toimilaitteiden liikkeiden toteuttamiseksi
US7158900B2 (en) * 2002-01-07 2007-01-02 Siemens Energy & Automation, Inc. Pulse output function for programmable logic controller
US6574301B1 (en) * 2002-02-11 2003-06-03 Ge Medical Systems Global Technology Company, Llc CT data acquisition system trigger jitter filter
US7890212B2 (en) 2002-06-03 2011-02-15 Siemens Industry, Inc. Wizard for programming an intelligent module
KR100490623B1 (ko) 2003-02-24 2005-05-17 삼성에스디아이 주식회사 버퍼 회로 및 이를 이용한 액티브 매트릭스 표시 장치
US9270478B2 (en) * 2004-04-13 2016-02-23 Brigham Young University Systems and methods for controlling and monitoring multiple electronic devices
US8085075B2 (en) * 2007-08-16 2011-12-27 General Electric Comapany Method and system for diagnostic imaging using a digital phase locked loop
US8549504B2 (en) * 2010-09-25 2013-10-01 Intel Corporation Apparatus, method, and system for providing a decision mechanism for conditional commits in an atomic region
US9240002B2 (en) 2011-08-19 2016-01-19 Hospira, Inc. Systems and methods for a graphical interface including a graphical representation of medical data
ES2741725T3 (es) 2012-03-30 2020-02-12 Icu Medical Inc Sistema de detección de aire y método para detectar aire en una bomba de un sistema de infusión
ES2743160T3 (es) 2012-07-31 2020-02-18 Icu Medical Inc Sistema de cuidado de pacientes para medicaciones críticas
CA2913421C (en) 2013-05-24 2022-02-15 Hospira, Inc. Multi-sensor infusion system for detecting air or an occlusion in the infusion system
CA2913918C (en) 2013-05-29 2022-02-15 Hospira, Inc. Infusion system and method of use which prevents over-saturation of an analog-to-digital converter
CA2939302C (en) 2014-02-28 2021-12-28 Hospira, Inc. Infusion system and method which utilizes dual wavelength optical air-in-line detection
EP3468635B1 (de) 2016-06-10 2024-09-25 ICU Medical, Inc. Akustischer durchflusssensor für kontinuierliche medikamentenflussmessungen und feedback-steuerung von infusionen
US10089055B1 (en) 2017-12-27 2018-10-02 Icu Medical, Inc. Synchronized display of screen content on networked devices
US10802037B2 (en) * 2018-12-14 2020-10-13 Semiconductor Components Industries, Llc Methods and systems for motor control
US11278671B2 (en) 2019-12-04 2022-03-22 Icu Medical, Inc. Infusion pump with safety sequence keypad
EP4185260A4 (de) 2020-07-21 2024-07-31 Icu Medical Inc Flüssigkeitsübertragungsvorrichtungen und verfahren zur verwendung
US11135360B1 (en) * 2020-12-07 2021-10-05 Icu Medical, Inc. Concurrent infusion with common line auto flush
CN113224933B (zh) * 2021-05-14 2022-08-09 杭州欧佩捷科技有限公司 隔离变换器的付边对原边隔离控制方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701890A (en) * 1970-12-08 1972-10-31 Allen Bradley Co Digital differential analyzer employing multiple overflow bits
US3805138A (en) * 1973-01-24 1974-04-16 H Hilker Stepping motor drive acceleration, deceleration control
US4417189A (en) * 1982-01-29 1983-11-22 The Perkin-Elmer Corporation Control circuit for stepper motor
GB8312069D0 (en) * 1983-05-03 1983-06-08 Peritronic Medical Ind Plc Peristaltic pumps
JPS60241797A (ja) * 1984-05-14 1985-11-30 Hitachi Ltd ステツピングモ−タの制御回路
US4634426A (en) * 1984-12-11 1987-01-06 Baxter Travenol Laboratories Medical infusion controller and user interface
JP2797728B2 (ja) * 1991-02-13 1998-09-17 ブラザー工業株式会社 パルスジェネレータの波形処理回路
JPH04275098A (ja) * 1991-02-27 1992-09-30 Matsushita Electric Ind Co Ltd パルスモータ制御回路

Also Published As

Publication number Publication date
EP0870359B1 (de) 2000-03-29
WO1997024797A1 (en) 1997-07-10
JP3955631B2 (ja) 2007-08-08
CA2240473C (en) 2005-11-22
AU1204597A (en) 1997-07-28
JP2000502878A (ja) 2000-03-07
DE69607486D1 (de) 2000-05-04
US6028412A (en) 2000-02-22
AU700438B2 (en) 1999-01-07
GB9526717D0 (en) 1996-02-28
EP0870359A1 (de) 1998-10-14
ATE191299T1 (de) 2000-04-15
CA2240473A1 (en) 1997-07-10

Similar Documents

Publication Publication Date Title
DE69607486T2 (de) Digitaler frequenzgenerator
DE2255198C2 (de) Impulsfrequenzteilerkreis
DE2533317C2 (de) Vorrichtung zur Regelung der Tropfgeschwindigkeit einer parenteral zu verabreichenden Flüssigkeit in einer Leitung
DE69637134T2 (de) Schrittmotorregelsystem mit offener Schleife
EP0970424B1 (de) Watchdog-schaltung
DE2925583A1 (de) Phasenkopplungsschleifen-motorantriebssystem
EP0012899A1 (de) Digitale Phasenregelschaltung mit einer Hilfsschaltung
DE2848490B2 (de) Programmierbare Frequenzteilerschaltung
DE69412817T2 (de) Ultraschall frequenzsynthetisierer für phacochirurgie
DE112009000482T5 (de) Phasenregelkreis mit Zweifachphasendetektor
DE2749006C3 (de) Elektronische Korrektureinrichtung für eine Pendeluhr
DE1466129B2 (de) Anordnung zur Stabilisierung der Frequenz eines Oszillators auf einstellbare Werte
DE69817374T2 (de) Fleischemulsionspumpe kontrollesystem für fleischabfüllmaschine sowie verfahren zur deren verwendung
DE60002233T2 (de) Phasenregelkreis und Frequenzmodulationsverfahren zu dessen Nutzung
DE10029080B4 (de) Verfahren und Vorrichtung zur Geschwindigkeitsmodulation für einen pulsationsfreien Betrieb einer Pumpe
DE69431220T2 (de) Einzel-Zyklus Positionniergerät
DE2125093A1 (de)
DE2145123A1 (de) Verfahren und Vorrichtung zur Steue rung eines Motors
DE2919071A1 (de) Anordnung zur erzeugung von signalen gesteuerter frequenzen
DE2730366C2 (de) Kompensationsschaltung für schrittweise fortschaltbare elektrische Uhren
DE3914249A1 (de) Verfahren und schaltung zur automatischen taktrueckgewinnung
DE2039915B2 (de) Fernseh-kamera
DE1948109A1 (de) Normalfrequenzgenerator
DE2538195A1 (de) Vorrichtung zum steuern eines schrittmotors
EP0095732A1 (de) Spektrumanalysator

Legal Events

Date Code Title Description
8364 No opposition during term of opposition