Commodore C64 - Pallet-Lager

Einleitung

A pallet warehouse controlled with a Commodore C64. Dieser Artikel ist über das Steuern eines Palette-Lagers mit der Hilfe eines Commodores C64. Das Palette-Lager ist ein Teil des TibbLto Bildungs-Projektes. Das Palette-Lager hat 3 Schrittmotoren, um die Paletten im X, Y und Z Richtungen zu bewegen. Der Commodore C64 kontrolliert das Palette-Lager über den Benutzerschnittstelle. Das Programm wird in BASIC und Maschinencode geschrieben. Das Palette-Lager wird mit 5 Eingängen kontrolliert.

Mit einem Commodore C64 kontrollierte Palette-Lagers

Auf diesen Youtube Videos können Sie die Palette-Lagers sehen arbeiten. Die Palette-Lagers wird mit einem Commodore C64 kontrolliert. Ein C64 wurde gewählt, aber ein VIC-20, C64, C128, Plus/4 oder ein Amiga ist auch möglich.


Link

Schaltplan

Schematic of the palletwarehouse. Das Palettenlager ist eine "von der Stange" Produkt. Es verfügt über zwei Anschlüsse, einer für die Stromversorgung (230 VAC) und eine für die Daten (25 D-SUB). Im Inneren befindet sich eine Leiterplatte mit der Elektronik für die Ansteuerung der Schrittmotoren. Auf dem Bild rechts sehen Sie die Schaltpläne. Klicken Sie auf das Bild für eine größere Version des Schaltplans.

Der vereinfachte Mechanismus des Schaltplan ist wie folgt.
Der untere Teil ist die Stromversorgung, die zwei Spannungen, etwa 15 VDC für die Schrittmotoren und 5 VDC für die IC's liefert.
IC4, 5 und 6 sind für die Steuerung der Schrittmotoren. Pin 3 ist für die Richtung, nach links oder rechts, der Motoren. Wenn es einen Puls auf der Pin 15 gibt, drehen die Motoren einen Schritt.
Die Richtung der Motoren ist in IC2 gespeichert. Die Ausgänge der IC werden von der gewählten Richtung auf den Daten-Eingänge 2, 4 en 6 und einem Takt auf den Daten-Eingang 9 gesetzt.
Welche Motoren sich drehen werden, wird durch die Dateneingänge 2, 4, und 6 in der Kombination mit Pulsen auf dem Dateneingang 8 ausgewählt.
Die "Treiber" von IC3 werden als eine Schnittstelle zwischen den 5 VDC IC'S und 15VDC IC'S verwendet.

Die Frage ist warum wird das Schaltplan so kompliziert? Sie konnten die Eingänge von IC4, 5 und 6 über die "Treiber" von IC3 direkt zum Benutzerschnittstelle verbinden. Die Steuerungen würden noch flexibler sein. Der Grund, an den ich denken kann, ist, der im ursprünglichen Design 3 Nullpositionsschalter haben würde. Dann würde die Totalzahl von Eingängen, einschließlich der vorhandenen 5, 8 Eingänge sein. Und das würde die maximale Zahl von IO auf vielen Computern sein.

Bemerkung: Auf den IC4, 5 und 6 wird ein Kühlkörper installiert.

Das Programm

Commodore C64 BASIC and Machine-Code program for the Pallet warehouse. Software ist für den Commodore C64 erforderlich, um das Palette-Lager zu kontrollieren. Das Hauptprogramm wird in BASIC geschrieben, und ein kleiner Teil im Maschinencode.

Klicken Sie auf das Bild, um das ganze Programm anzusehen.

Die Position der stepper Motoren ist unbekannt, wenn das System eingeschaltet wird. Der erste Teil des Programms kann verwendet werden, um die Schrittmotoren zu "kalibrieren". Zuerst wird der Motor Z zur "Null" Position getrieben. Wenn der Motor (mechanisch) anhält, drücken Sie einen Taste auf der Tastatur. Die Motoren X und Y werden auf die gleiche Weise kalibriert.

Alle Palette-Positionen (1-20) werden im Programm gespeichert. Die Zahl von Pulsen erforderlich für den X und Y Schrittmotoren, um eine Position ("von der Null") zu erreichen.

Um einen Motor zu treiben, müssen Sie die Richtung auswählen und den Motor ermöglichen. Die Zahl von Pulsen wird berechnet und ins Speicher gestellt durch das BASIC Programm. Das Maschinencodeprogramm wird angefangen, und es erzeugte die Zahl von Pulsen für den Benutzer-Schnittstelle. Um aufzupicken und eine Palette hinzustellen, wird ein kleines Sub-routine verwendet.

Ausgangen:
Adresse = 56577
Bit 0 = Motor - X
Bit 1 = Motor - Y
Bit 2 = Motor - Z
Bit 6 = Motorrichtung (in der Kombination mit dem Bit 0, 1 und 2)
Bit 7 = Motorschritte (in der Kombination mit dem Bit 0, 1 und 2)

Das BASIC un MC Programm im D64-Format.
Aktualisiert: 2019-05-12 13:23:22
Error: Embedded data could not be displayed.