Inhaltsverzeichnis:
- Schritt 1: Sehen Sie sich die Schaltung an
- Schritt 2: Verdrahten Sie es
- Schritt 3: Einrichten von Dateien mit PWM-Werten
- Schritt 4: Spielen Sie mit DOS: Konfigurieren Sie Ihren COM-Port und kopieren Sie die Dateien
- Schritt 5: Steuern Sie den Motor aus einem Programm
- Schritt 6: Experimentieren Sie
Video: Seriell gesteuerter Motor mit variabler Geschwindigkeit - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Steuern Sie die Geschwindigkeit eines kleinen Gleichstrommotors mit nichts als der seriellen Schnittstelle Ihres Computers, einem einzelnen MOSFET und etwas trivialer Software. (Der MOSFET und der serielle Port bilden die "Geschwindigkeitssteuerung"; Sie benötigen immer noch einen Motor und eine geeignete Stromversorgung für diesen Motor; während der serielle Port die Spannung zum Ein- und Ausschalten eines Mosfets liefern kann, kann er t liefern den Strom, der von einem typischen Motor benötigt wird.)
Schritt 1: Sehen Sie sich die Schaltung an
Wir werden die Pulsweitenmodulation mit einem generischen N-Kanal-Leistungs-MOSFET durchführen, der mit dem Sendedaten-Pin vom RS232-Port des Computers verbunden ist. Wenn der serielle Port im Leerlauf ist, befindet sich der Pin im Zustand "1", der, wenn er in RS232 übersetzt wird, etwa -12 V beträgt (je nach Treiber kann er näher an -9 V oder -5 V liegen) und Der Transistor wird ganz ausgeschaltet sein. Wenn wir "0"-Bits am seriellen Port übertragen, geht der RS232-Pin auf +12V oder so, was ausreicht, um die meisten Mosfets ziemlich gut einzuschalten.
Wenn wir viele "0" bis hintereinander senden, ist der Motor fast vollständig EIN und der Motor läuft schnell. Wenn wir hauptsächlich "1"-Bits übertragen, läuft der Motor langsamer.
Schritt 2: Verdrahten Sie es
Da es nur eine einzige Komponente und nur wenige Verbindungen gibt, können Sie einfach Drähte "freeform" hinzufügen.
MOSFETs sind statisch empfindlich, seien Sie also etwas vorsichtig, aber nur sehr wenig ist kritisch.
Schritt 3: Einrichten von Dateien mit PWM-Werten
Eine Möglichkeit, den Motor zu steuern, ohne irgendeine Software schreiben zu müssen, besteht darin, einige Dateien mit entsprechenden Bytes (mit mehr oder weniger 0 Bits) vorzubereiten und sie einfach auf den COM-Port zu kopieren, an dem Sie den Motor angeschlossen haben. Ich habe mehrere Dateien vorbereitet (mit Emacs, aber was auch immer für Sie funktioniert, ist in Ordnung):
- 0.pwm:: enthält 5000 NULL-Zeichen (Steuerungs-Leerzeichen auf den meisten Tastaturen)[br] Dies ist ungefähr so nahe der "vollen Geschwindigkeit", wie wir mit dieser Technik erreichen können.
- 1.pwm:: enthält 5000 Control-A-Zeichen (ascii 01) (ein "1"-Bit pro Zeichen)
- 3.pwm:: enthält 5000 Control-C-Zeichen (ascii 03) (zwei "1" Bits pro Zeichen)
- 7.pwm:: enthält 5000 Control-G-Zeichen (ascii 07) (drei "1" Bits pro Zeichen)
- 15.pwm:: enthält 5000 Steuer-O-Zeichen (ascii 15) (vier "1" Bits pro Zeichen)
- 31.pwm:: enthält 5000 control-_ Zeichen (ascii 31) (fünf "1" Bits pro Zeichen)
- 63.pwm:: enthält 5000 "?" Zeichen (ascii 63) (sechs "1" Bits pro Zeichen)
- 127.pwm:: enthält 5000 DEL-Zeichen (ascii 127) (sieben "1"-Bits pro Zeichen)
(Jetzt, wo ich Bilder gezeichnet habe, werden Sie feststellen, dass die tatsächlichen Bitmuster nicht ideal sind. Da rs232 seriell zuerst LSB überträgt, möchten wir wirklich Nullen anstelle von Einsen verschieben. Eine Übung für den Schüler!)
Schritt 4: Spielen Sie mit DOS: Konfigurieren Sie Ihren COM-Port und kopieren Sie die Dateien
9600 bps ist eine übliche Bitrate. Es passt gut zu "ungefähr" einem Byte pro Millisekunde, also entspricht es in diesem Fall einer PWM-Frequenz von 1000 Hz, die meiner Meinung nach für kleinere Motoren in Ordnung sein sollte. Sie können mit verschiedenen Bitraten experimentieren, um zu sehen, wie die Dinge funktionieren, was einer der Vorteile dieser Methode ist. Erstellen Sie ein DOS-Fenster (oder "Eingabeaufforderung") (vorausgesetzt, Sie verwenden ein Windows-Betriebssystem) und konfigurieren Sie Ihren Com-Port wie:mode com1: 9600, n, 7, 1"Das sagt dem Kommunikationsport, dass er mit 9600bps laufen und 7 Bits in jedem Zeichen senden soll (um mit unseren 7 verschiedenen Bitlängen übereinzustimmen.) Das "n" bedeutet KEINE Parität, Dies sind also die einzigen Datenbits. Die "1" bedeutet, dass es ein "Stopp"-Bit geben wird, das uns daran hindert, den Motor vollständig einzuschalten (na ja.) Jetzt können Sie den Motor mit Befehlen einschalten like:copy 0.pwm com1:Da wir 5000 Zeichen mit etwa 1 pro Millisekunde senden, sollte sich der Motor für etwa 5 Sekunden mit nahezu voller Geschwindigkeit einschalten. Wenn Sie weniger als 5 Sekunden benötigen, erstellen Sie eine kürzere Datei, können Sie tun: 127.pwm com1 kopieren: um den Motor mit der niedrigstmöglichen Geschwindigkeit zu betreiben. Mit dem Setup, das ich hatte, würde sich der Motor überhaupt nicht mit etwas "langsamer" als 31.pwm drehen, aber YMMV (ich glaube k Ich hatte einen 12-V-Motor, der mit 5 V-Batterien betrieben wurde.) Mit dem COPY-Befehl können Sie Dateien aneinanderreihen. Wenn Sie also möchten, dass Ihr Motor schneller und dann wieder langsamer wird, können Sie Folgendes tun: 31.pwm+15 kopieren. pwm+7.pwm+0.pwm+7.pwm+15.pwm+31.pwm com1:
Schritt 5: Steuern Sie den Motor aus einem Programm
Wenn Sie ein Programm schreiben, können Sie COM1: wahrscheinlich als Datei öffnen und einfach so schreiben, als ob es eine andere Datei wäre. Es scheint sehr praktisch zu sein, die Zeiträume, in denen der Motor eingeschaltet ist, durch die Ausgabe einer bestimmten Anzahl von Zeichen zu bestimmen. Vergessen Sie nicht, dass das System sehr wahrscheinlich die Zeichen, die Sie an die serielle Schnittstelle senden, zwischenspeichert. Nur weil ein WRITE-Aufruf zurückkehrt, bedeutet dies nicht, dass der Motor fertig ist, was Sie ihm gesagt haben. Da wir mit den Com-Port-Signalen nichts "Ausgefallenes" machen, sollten Sie nicht die geheimnisvollen Optionen untersuchen müssen, die es möglicherweise unterstützt. (Wenn Sie jedoch herausfinden können, wie Sie eine BREAK-Sequenz an den COM-Port senden, ist dies ein kontinuierlicher "0"-Zustand und treibt den Motor VOLLSTÄNDIG an; mehr als das Senden von fortlaufenden 0-Zeichen.)
Wenn Ihre Programmiersprache keine Ausgabe an COM1: zulässt, können Sie den Motor möglicherweise immer noch steuern, indem Sie DOS "aufrufen", um Kopierbefehle auszuführen. (OK. Ich habe Visual Basic Express 2005 von Microsoft heruntergeladen (das kostenlos ist) und es geschafft, eine horizontale Bildlaufleiste an die Motordrehzahl zu binden, die über die serielle Schnittstelle gesteuert wird. zip angehängt. Es hat wahrscheinlich mehr als es braucht, um das Programm zu duplizieren auf Ihrem System, aber ich konnte nicht genau herausfinden, welche Bits benötigt wurden. Das Programm ist sowohl vereinfacht als auch schwieriger zu verstehen (sorry), da es Multithreading ist. Ein Thread gibt nur an die serielle Schnittstelle aus, und die Hauptthread liest die Bildlaufleiste und aktualisiert die vom seriellen Thread verwendeten Informationen.)
Schritt 6: Experimentieren Sie
Wenn die Dinge grundsätzlich funktionieren, bietet dies viel Spielraum zum Experimentieren.
- Repariere meine Bitmuster!
- Spielt die Bitrate eine große Rolle?
- Müssen Sie die Breite der "Ein"- und "Aus"-Impulse steuern oder reicht es einfach aus, ihr Verhältnis zu steuern?
- Wenn Sie nur das Verhältnis steuern müssen, können Sie Mehrzeichenfolgen mit höheren Bitraten in Betracht ziehen, um mehr Geschwindigkeitsstufen zu erzielen. Die Ausgabe von 0 gefolgt von 127 wäre ungefähr halb eingeschaltet.
- Dies sollte auch zum Dimmen von Taschenlampenbirnen funktionieren.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
Gewusst wie: Geschwindigkeit des Motors steuern?: 5 Schritte (mit Bildern)
Gewusst wie: Geschwindigkeit des Motors steuern?: Wenn Sie ein paar DC-Motoren herumliegen haben, kommt Ihnen die erste Frage in den Sinn, wie ich die Geschwindigkeit dieser Motoren kontrolliere! Also in diesem Instructables werde ich zeigen, wie einfach es ist! Sie fühlen sich faul, Sie können Videos auf meinem Kanal ansehen Auch Huge Tha
F.i.c.s. - Fonera Internet-gesteuerter Schalter (ON/OFF): 4 Schritte
F.i.c.s. - Fonera Internet Controlled Switch (ON/OFF): Ich habe vor ein paar Monaten meinen ersten FON-Router kostenlos bekommen. Als erstes habe ich dd-wrt-Firmware darauf flashen. Da der FONera-Router gpio-Pins hat, habe ich mich entschieden, einen dieser Pins zu verwenden, um AC-Lasten zu steuern oder einen Schalter aus der Ferne EIN / AUS zu schalten. Es gibt eine ähnliche