PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Phasen EPROM



Manf
13.12.2005, 20:36
Phasen EPROM

Grundsätzliches
Zum Testen eines Motors benötigt man eine geeignete Ansteuerung. Bei unterschiedlichen Motoren kann da schon einiges an Komplexität zusammenkommen. Gemeint sind hier speziell Schrittmotoren und andere Mehrpasensysteme, die im Bereich der Computertechnik gebräuchlich sind.

Ansätze
Für Schrittmotore wird ja unter anderem die Testschaltung mit heruntertransformierter Netzwechselspannung für eine Spule vorgeschlagen während die andere Spule über einen Kondensator angeschlossen wird.
Zum Probebetrieb ist eine solche Schaltung gut geeignet, da sie nicht nur sehr schön im unteren Frequenzbereich für Schrittmotoren liegt, sie liefert darüberhinaus sogar sinunsförmige Ansteuersignale die einen weichen, oberwellenarmen Lauf des Motors erzielen.

Anforderungen
Besser ist es natürlich, wenn die Phasen einen definierten Versatz von 90° haben, wenn die Frequenz von null an einstellbar ist, und wenn der sinusförmige Verlauf der Steuersignale über einen weiten Bereich mit konstanter Amplitude erhalten bleibt.
Wenn wir gerade beim fordern sind, dann machen wir gleich bei den 3 Phasen Systemen weiter, die sollten auch mit sinusförmigen Signalen, (also in Mikroschrittbetrieb) erzeugt werden können und dann halt auch gleich das 5 Phasen System. Das alles von null bis 10kHz vorwärts und rückwärts mit Ausgängen von bis zu 18V und ca. 1A, kosten darf es fast nichts.
...also gut, etwa 10Euro.

Realisierung
Die Signale werden als PWM Spannungssignale generiert. Und von einem Schrittmotorentreiber IC ausgegeben (wenn der schon 5 Euro kostet, dann kann ja nicht mehr viel kommen).

Das einzelne Signal ist speziell bei der Frequenz null recht einfach. Es ist eine Pulsfolge mit geeigneter Auflösung. In einer Periode von n Takten a mal high und n-a mal low. Das wird gespeichert und dann vom Speicher ausgegeben. Dazu wird der Speicher periodisch ausgelesen. Für n=128 wird ein 7 bit Zähler an die Adressleitungen eines EPROMs angeschlossen, der mit 2MHz getaktet wird. An dem betreffenden Datenbitausgang ergibt sich damit eine Bitfolge, ein PWM Signal von ca. 15 kHz mit dem Tastverhältnis a/n.

Am nächsten Datenbitausgang ergibt sich bei dieser Ansteuerung in gleicher Weise ein weiteres PWM Signal, das dem Wert b/n entspricht. Da das EPROM 8 Datenbitausgänge hat, lassen sich insgesamt die folgenden Signale generieren, mit den Phasen (jeweils mit dem Faktor 2*Pi) 0, 1/4, 1/3, 2/3, 1/5, 2/5, 3/5, 4/5. Man kann also gleichzeitig die "räumlichen" Phasen für ein 2, 3, 5, Phasensystem in PWM Mode generieren. Schade, daß sich damit bis hierher die Mehrphasensysteme nur für eine konstante "zeitliche" Phasenlage bei der Frequenz null erzeugen lassen.

Sollen auch andere "zeitliche" Phasenlagen gespeichert werden, dann muß dies in weiteren Speicherbereichen erfolgen. Im nächsten Speicherbereich, der mit der Adressleitung 8 adressiert wird, legt man nun also wieder die "räumlichen" Phaseninformationen für alle Systeme ab, nur dieses mal für den nächsten Zeitschritt um 2*Pi/m verschoben. Der Speicher ist groß genug, um dann in den weiteren Berichen bis zum Bereich m-1 alle m unterschiedlichen Phasenlagen ablegen zu können. Man hat nun also ld(m) (beispielsweise ld(m)=6) Adressleitungen über die man die Phase auswählen kann. Die schließt man wieder an einen Zähler an, den man über einen Signalgenerator mit einstellbarer Frequenz taktet.

https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=143

Beim Vorwärts und Rückwärts-Zählen werden die Phasenlagen adressiert und ausgegeben. Dies kann asynchron zum PWM Zähler erfolgen, speziell wenn die PWM Signale so angeorndet sind, daß bei jeder Phasenlage die high bits am Anfang und die low bits am Ende stehen (oder in gleicher Weise auch umgekehrt).

Am Ausgang des EPROMs stehen so die Signale für 2, 3, 5 Phasensysteme im Ferquenzbereich von null bis mehr als 10kHz zur Verfügung. Die Signale werden durch Treiber auf eine Leistung von 5-18V, 1A gebracht.

Das EPROM im Beispiel hatte 128 * 64 * 8 bit also ein 64k EPROM (2 Euro?). Die Zähler kosten je einen Euro und der Rest ist für den 2MHz Oszillator (es wurden nur Bauteilekosten auf dem Steckbrett veranschlagt, ach so, ja, der Treiber für den 5. Kanal im 5 Phasensystem, das System habe ich bis jetzt nicht gebraucht.)

Ergebnis
Das System habe ich nicht nur für Schrittmotoren im Mikroschrittbetrieb erprobt sondern gerade eben auch für den Drehspiegelmotor im Laserdrucker, ein Dreiphasensystem mit mehr als 10000Upm. Es arbeitet überzeugend.
Manfred


https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=144

Manf
16.12.2005, 13:49
Ich habe hier noch einmal die Speicherbelegung des EPROMs in 3D verdeutlicht.
Zur Darstellung des Prinzips wurde die Anzahl der Speicherzellen auf 128 Datenwörter beschränkt.

Der Speicher hat 8 Bit Datenwortbreite. Die einzelnen Bits von b0 bis b7 sind farblich unterschieden. Jedes Bit ist für eine Phasenlage der ausgegebenen Spannung zuständig. b0 und b1 bilden ein Zweiphasensystem beispielsweise für übliche Schrittmotoren. b0, b2 und b3 bilden ein Dreiphasensystem und b0, b4, b5, b6, und b7ein Fünfphasensystem. Bei geeigneter Ansteuerung soll jeder Datenausgang oder Kanal ein PWM Signal mit seiner Phasenlage liefern.

Zunächst einmal ist der Speicher in kleine Bereiche zu 8 Datenwörtern eingeteilt in denen für jeden Kanal die Amplitudeninformation steht. Im linken Bild ist der Amplitudenwert, den das Signal haben soll, in der Höhe aufgetragen. Deutlich erkennt man die Amplitudenverläufe die später auch über der Zeit ausgegeben werden sollen.


https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=774

Im mittleren Bild sind die einzelnen Bits des ersten 8 Bit Bereichs mit der Adresse 0-7 einzeln dargestellt und im rechten die folgenden Bits des 8 Bit Bereichs mit der Adresse 8-15.

Vergleicht man den Amplitudenwert der schwarzen Kurve b0 links mit der Folge der Bits im mittleren Bild dann sieht man, dass der Amplitudenwert 0,5 durch 4 mal den Wert 1 und 4 mal den Wert 0 dargestellt ist. Der folgende Amplitudenwert der schwarzen Kurve ist höher, er wird im nächsten Bereich auch wie im Bild rechts gezeigt durch 6 mal den Wert 1 und 2 mal den Wert 0 dargestellt.

Zur Ausgabe der Bitmuster der 8-Bit Bereiche, die dann pro Kanal ein PWM Signal bilden, werden die unteren drei Adressleitungen zyklisch adressiert.

Ändert man den Wert der höheren Adressleitungen nicht, dann wird das Mehrphasensignal mit der Frequenz null ausgegeben. Mit den höheren Adressleitungen kann man nun also durch eine unabhängig laufende zyklische Adressierung die Frequenz des Mehrphasensystems bestimmen.
Manfred