Inhaltsverzeichnis:

Fpga-gesteuerter RC-Servomotor-Roboterarm - Digilent-Wettbewerb - Gunook
Fpga-gesteuerter RC-Servomotor-Roboterarm - Digilent-Wettbewerb - Gunook

Video: Fpga-gesteuerter RC-Servomotor-Roboterarm - Digilent-Wettbewerb - Gunook

Video: Fpga-gesteuerter RC-Servomotor-Roboterarm - Digilent-Wettbewerb - Gunook
Video: our servo motor application in robot arm 2024, November
Anonim
Image
Image

FPGA-gesteuerter Servomotor-Roboterarm

Das Ziel dieses Projekts ist es, ein programmierbares System zu schaffen, das Lötoperationen auf Perfboard durchführen kann. Das System basiert auf dem Digilent Basys3-Entwicklungsboard und wird in der Lage sein, Komponenten auf das Testperfboard zu löten, um kleine Elektronikprojekte mit einer begrenzten Anzahl von Komponenten zu erstellen, die zuvor vom Benutzer montiert wurden.

Da meine Erfahrung mit der Fpga-Programmierung und der Vivado-Software begrenzt ist, habe ich das Servomotor-Befehlsprinzip verwendet, das ich hier gefunden habe: https://www.instructables.com/id/Controlling-Serv… und von dort aus aufgebaut, bis ich dazu in der Lage war steuere meinen Roboterarm, daher wurden einige der Dateien, die ich in meinem Projekt verwende, von dem Ingenieur erstellt, der das unter dem oben genannten Link verfügbare Tutorial hochgeladen hat.

Das Projekt kann 4 Servomotoren steuern. Dazu habe ich eine Nachbildung des "Pmod CON3" mit dem Schaltplan und der Dokumentation auf der Digilent-Website erstellt:

Dieses Instructable hilft Ihnen zu verstehen, wie Sie 4 Servo-RC-Motoren unabhängig voneinander mit einer Fpga-Platine steuern können. Jeder Motor kann in einer Position von 0, 45, 90 und 170 Grad bewegt werden, da sich die Servos meines Roboterarms nur von 0 bis 180 (oder in meinem Fall 170) Grad bewegen können.

Aufgrund eines Problems, auf das ich bei einem meiner Servomotoren gestoßen bin (wahrscheinlich schlechte Qualität), habe ich das Basys3-Board so eingestellt, dass die Motoren bis zu 170 Grad bewegt werden, um die Zerstörung des (bereits) defekten Servomotors zu vermeiden. Wie auch immer, eine 170-Grad-Grenze scheint ausreichend zu sein, damit dieses Projekt ordnungsgemäß funktioniert.

Schritt 1: Komponenten und Ausrüstung

- vier Servo-RC-Motoren (S05NF STD oder S06NF STD) oder ein Servomotor-Roboterarm

- Digilent Basys 3 fpga-Board

- Xilinx Vivado-Software

- Micro-USB-Kabel

- Pmod CON3: R/C-Servoanschlüsse

- 5-7.2 Volt DC-Versorgung

Schritt 2: Projektdateien

Entpacken Sie die Dateien und öffnen Sie das Projekt mit der Vivado-Software.

Schritt 3: Anschließen der Komponenten

Schließen Sie jeden der vier Servomotoren in einen der vier dedizierten Steckplätze an und achten Sie EXTRA auf die Konfiguration der Pins, die der des ursprünglichen PmodCON3 ähnlich ist (von links nach rechts PWM, Vcc, GND).

Stecken Sie den DIY PmodCON3 in die Oberseite des Basys3 Pmod Connector C. Schließen Sie das 5-8 Volt Netzteil an den DIY PmodCon3 an.

Verbinden Sie das Basys3-Board mit dem PC, öffnen Sie das Projekt und generieren Sie den Bitstream. Programmieren Sie das Basys3 anhand der Informationen auf der Digilent-Website.

Verwenden Sie die Taster und Schalter Sw0 und Sw1 auf der Basys3-Platine, um die Servomotoren zu bedienen.