Inhaltsverzeichnis:

Servo Squirter - USB-Wasserpistole - Gunook
Servo Squirter - USB-Wasserpistole - Gunook

Video: Servo Squirter - USB-Wasserpistole - Gunook

Video: Servo Squirter - USB-Wasserpistole - Gunook
Video: Вещи, которые мистеру Уэлчу больше не разрешается делать в сборнике для чтения RPG № 1-2450 2024, November
Anonim
Servo Squirter - USB-Wasserpistole
Servo Squirter - USB-Wasserpistole

Eine USB-gesteuerte Servo-Wasserpistole. Großartig, um auf ahnungslose Passanten zu schießen oder Leute mit nervigen Fragen in Schach zu halten. Dieses Projekt ist eine kleine Wasserpumpe, die auf einem Servo zum Richtungsfeuern montiert ist. Das Ganze wird von einem Mikrocontroller gesteuert und von Ihrer Tastatur über USB gesteuert. Um mehr von unseren Projekten und kostenlosen Video-Tutorials zu sehen, besuchen Sie unsere Website

Schritt 1: Sammeln Sie die Materialien

Sammle die Materialien
Sammle die Materialien
Sammle die Materialien
Sammle die Materialien
Sammle die Materialien
Sammle die Materialien

Dieses Projekt basiert auf Mikrocontrollern. Anders als der im USB NerdKit enthaltene Mikrocontroller ATmega168. Für dieses Projekt haben wir folgendes verwendet:1 Hobby Servo, Hitec HS-501 Niederspannungs-Kolbenwasserpumpe1 Kleiner n-Kanal-MOSFET, 2N7000

Schritt 2: Bauen Sie die Schaltung zusammen

Bauen Sie die Schaltung zusammen
Bauen Sie die Schaltung zusammen
Bauen Sie die Schaltung zusammen
Bauen Sie die Schaltung zusammen
Bauen Sie die Schaltung zusammen
Bauen Sie die Schaltung zusammen
Bauen Sie die Schaltung zusammen
Bauen Sie die Schaltung zusammen

Der erste Teil unserer Schaltung ist nur mit dem Servo verbunden. Das ist hier einfach: ein Draht vom Mikrocontroller zum Servo. Es gibt je nach Hersteller ein paar unterschiedliche Farbbeschriftungen, also überprüfe dies, bevor du dies ausprobierst. Der ATmega168-Chip selbst lässt nur maximal 40 mA in oder aus jedem Pin zu, aber unsere Pumpe benötigt näher an 1000 mA! Um diese größere Last zu kontrollieren, haben wir uns für einen größeren Transistor entschieden, den 2N7000. Zuerst erklären wir die Grundlagen der Verwendung von MOSFETs (Metal Oxide Semiconductor Field Effect Transistors) als Schalter: Bringen wir die Gate-Spannung über die Source, können wir Strom von Drain zu Source fließen lassen. Aus dem 2N7000-Datenblatt haben wir Abbildung 1 extrahiert, die die Beziehung zwischen Drain-Strom und Drain-Source-Spannung für verschiedene Gate-Source-Spannungseinstellungen zeigt. Aus diesem Diagramm können Sie einige wichtige Dinge lernen: 1. Bei VGS unter etwa 3,0 Volt darf kein Strom fließen. Dies ist der Aus-Zustand, auch "Cutoff" genannt. 2. Bei kleinen VDS sieht die Kurve durch den Ursprung ungefähr linear aus - was bedeutet, dass sie elektrisch wie ein Widerstand "aussieht". Der äquivalente Widerstand ist die umgekehrte Steigung der Kurve. Dieser Bereich des MOSFET-Betriebs wird "Triode" genannt. 3. Bei größeren VDS wird ein gewisser Maximalstrom erreicht. Dies wird als "Sättigung" bezeichnet. 4. Wenn wir VGS erhöhen, kann sowohl im Triode- als auch im Sättigungsmodus mehr Strom fließen. Und jetzt haben Sie alle drei Modi des MOSFET-Betriebs kennengelernt: Cutoff, Triode und Sättigung. Da unsere Gate-Steuerung digital ist (+5 oder 0), interessieren wir uns nur für die gelb markierte Kurve für VGS=5V. Normalerweise beinhaltet die Verwendung eines MOSFET als Schalter im Allgemeinen den Trioden-Betriebsmodus, da der MOSFET Leistung PD = ID * VDS verbraucht und ein guter Schalter wenig Leistung im Schalter selbst verbrauchen sollte. Aber in diesem Fall haben wir es mit einem Motor zu tun, und Motoren neigen dazu, beim ersten Start viel Strom (mit geringem Spannungsabfall) zu benötigen. Für die erste oder zwei Sekunden arbeitet der MOSFET also mit hoher VDS und wird durch seinen maximalen Strom begrenzt - etwa 800 mA von der roten gestrichelten Linie, die wir auf dem Datenblatt gezeichnet haben. Wir fanden, dass dies nicht ausreichte, um die Pumpe zu starten, also haben wir einen kleinen Trick angewendet und zwei MOSFETs parallel geschaltet. Auf diese Weise teilen sie sich den Strom und können effektiv zusammen ca. 1600mA absenken. Auch aufgrund des hohen Leistungsbedarfs der Pumpe haben wir einen Wandtransformator mit höherer Stromabgabe verwendet. Wenn Sie einen Wandtransformator mit mehr als 5 V Ausgang haben – vielleicht 9 V oder 12 V – dann können Sie

Schritt 3: Einrichten der PWM auf der MCU

Einrichten der PWM auf der MCU
Einrichten der PWM auf der MCU
Einrichten der PWM auf der MCU
Einrichten der PWM auf der MCU
Einrichten der PWM auf der MCU
Einrichten der PWM auf der MCU

PWM-Register und -BerechnungenIm Video sprechen wir über zwei Ebenen, die vom Timer/Counter-Modul verwendet werden: den Höchstwert und den Vergleichswert. Beides ist wichtig, um das gewünschte PWM-Signal zu erzeugen. Um jedoch den PWM-Ausgang Ihres ATmega168 überhaupt zu aktivieren, müssen wir einige Register einrichten. Zuerst wählen wir den Fast-PWM-Modus mit OCR1A als obersten Wert, wodurch wir beliebig einstellen können, wie oft ein neuer Puls gestartet wird. Dann stellen wir die Uhr so ein, dass sie mit einer Vorteilung von 8 läuft, was bedeutet, dass der Zähler erhöht wird um 1 alle 8/(14745600 Hz) = 542 Nanosekunden. Da wir 16-Bit-Register für diesen Timer haben, können wir unsere Gesamtsignalperiode auf bis zu 65536*542ns = 36 Millisekunden einstellen. Wenn wir eine größere Teilungszahl verwenden, könnten wir unsere Pulse weiter auseinander setzen (was in dieser Situation nicht hilft), und wir würden die Auflösung verlieren. Wenn wir eine kleinere Teilungszahl (z Ausgabe, die in unserem Video beschrieben wird. Wir haben auch den Pin PB2 als Ausgangspin festgelegt – hier nicht gezeigt, aber im Code enthalten.

Schritt 4: Programmieren Sie den Mikrocontroller

Jetzt ist es an der Zeit, die MCU tatsächlich zu programmieren. Den vollständigen Quellcode finden Sie auf unserer Website https://www.nerdkits.com/videos/servosquirterDer Code richtet zuerst die PWM ein, um das Servo anzutreiben. Der Code sitzt dann einfach in einer while-Schleife und wartet auf Benutzereingaben. Die Zeichen 1 und 0 schalten den MCU-Pin, der mit dem Pumptransistor verbunden ist, ein oder aus. Dadurch wird die Pumpe ein- und ausgeschaltet, sodass wir nach Belieben feuern können. Der Code reagiert auch auf die Tasten '[' und ']' Diese Tasten erhöhen oder verringern den Vergleichswert am PWM-Pin, wodurch das Servo verursacht wird Motor zum Positionswechsel. Dies gibt Ihnen die Möglichkeit, vor dem Schießen zu zielen.

Schritt 5: Kommunikation über den seriellen Anschluss

Kommunikation über serielle Schnittstellen
Kommunikation über serielle Schnittstellen
Kommunikation über serielle Schnittstellen
Kommunikation über serielle Schnittstellen
Kommunikation über serielle Schnittstellen
Kommunikation über serielle Schnittstellen
Kommunikation über serielle Schnittstellen
Kommunikation über serielle Schnittstellen

Der letzte Schritt besteht darin, den Computer einzurichten, damit Sie die Befehle an den Mikrocontroller senden können. Im NerdKit verwenden wir das serielle Kabel, um Befehle und Informationen an den Computer zu senden. Es ist möglich, in den meisten Programmiersprachen einfache Programme zu schreiben, die über die serielle Schnittstelle mit dem NerdKit kommunizieren können. Viel einfacher ist es jedoch, ein Terminalprogramm zu verwenden, um die serielle Kommunikation für uns zu erledigen. Auf diese Weise können Sie einfach auf der Tastatur tippen und die Antwort vom NerdKit sehen. WindowsWenn Sie Windows XP oder früher verwenden, ist HyperTerminal enthalten und sollte sich in Ihrem Startmenü unter "Start -> Programme -> Zubehör ->. befinden Kommunikation". Wenn Sie HyperTerminal zum ersten Mal öffnen, werden Sie aufgefordert, eine Verbindung herzustellen. Brechen Sie diese ab, bis Sie sich im Hauptbildschirm von HyperTerminal befinden. Sie müssen HyperTerminal einrichten, den richtigen COM-Port auswählen und die Porteinstellungen entsprechend einstellen, um mit dem NerdKit zu arbeiten. Folgen Sie den Screenshots unten, um das richtige HyperTerm-Setup durchzuführen. Wenn Sie Windows Vista verwenden, ist HyperTerminal nicht mehr enthalten. Laden Sie in diesem Fall PuTTY (Windows-Installationsprogramm) herunter. Verwenden Sie die folgenden Verbindungseinstellungen, um Putty mit dem richtigen COM-Port einzurichten. Mac OS XNach dem Aufrufen der Terminal-Anwendung geben Sie "screen /dev/tty. PL* 115200" ein, um die Kommunikation über den seriellen Port zu starten. LinuxUnter Linux verwenden wir " minicom", um mit der seriellen Schnittstelle zu kommunizieren. Führen Sie zum Starten "minicom -s" an der Konsole aus, um in das Setup-Menü von minicom zu gelangen. Gehen Sie zu "Konfiguration des seriellen Ports". Stellen Sie die Parameter wie folgt ein: Minicom-Konfiguration unter Linux Drücken Sie dann die Escape-Taste und verwenden Sie "Setup als dfl speichern", um die Einstellungen als Standard zu speichern. Sie sollten jetzt in der Lage sein, auf "Beenden" zu klicken und Minicom zum Sprechen mit dem NerdKit zu verwenden.

Empfohlen: