HDD-Clock - Persistenz der Vision (8 / 13 schritt)

Schritt 8: Starten Sie Spinnerei - Funktion das Grundbrett Inbetriebnahme


1. Einleitung

Diese Platine ist verantwortlich der Fahrt des Motors schnell genug für die LEDs "unsichtbar" zu werden und ihr Licht unscharf. Ich habe zwei Versionen davon, denn ich war nicht in der Lage, an die Macht (PIC18F46J50 würde nicht programmieren und ich nicht auf, stecken wollte) das alte Board. Auf die zweite Version habe ich beschlossen, einen PIC18F4550 in einer großen DIP-Gehäuse machen das Löten und Messungen einfacher. Durchgangsbohrung PCB gefällt mir sehr gut, nach der Ernte des DIP40-Pakets für den PIC wandte ich mich alles, was zu DIP und Durchgangsbohrung Komponenten. Widerstände, integrierte Schaltungen, alles beiseite die MOSFETs.

Diese Platine ist am einfachsten von den Brettern, die ich gemacht (I zählen Magnet Holder auch als ein PCB, möglicherweise die härteste man Bohren, stapeln, sah...). Die Komponenten auf diesem Board:

  1. 1 x PIC18F4550 Mikrocontroller mit USB - kontrolliert alles
  2. 6 x N-Kanal-MOSFETs - schweben oder schließen Sie die Spulen der BLDC an die PSU-Schienen
  3. 2 x CD4081B Quad, dual input und-Gatter - diese geben die Signale, die die MOSFETs on/off schalten
  4. 1 x 7805 Spannungsregler - bietet eine schöne saubere 5V Stromversorgung für das Bild und dessen Peripherie
  5. 1 x LM2903 dual Komparator mit open-Drain-Ausgang - fängt Spannungsspitzen, mit dem Muster der Kommutierung zu gelangen
  6. 3 X LED - signal den Modus, in dem das Bild ist im Moment: Bootloader/Benutzeranwendung
  7. 2 X Tasten - externe Benutzer-Eingaben für das Debuggen
  8. 1 X Potentiometer - ändert das Tastverhältnis, das mit der Kommutierungssignale überlagert wird
  9. n X Widerstände - aktuelle Begrenzung, Klimmzüge, Pulldown-Menüs
  10. n x Kondensatoren - Filterung Kappen
  11. n x Pin-Header - Verbindung zu anderen boards

Dies ist die erste Platine haben wir in Funktion zu setzen, da die obere Kammer seine Energie aus der Bewegung des Motors ziehen wird. Dies ist, was wir hier tun müssen:

  • Schalten Sie die Sache und setzen Sie den USB-Bootloader in Funktion
  • Kontrolle über die sechs N-MOSFETs zu gewährleisten
  • LED
  • Analoge Schnittstellen
  • Messung der u/min
  • Serielle Kommunikation für das Debuggen

Nehmen sie eins nach dem anderen!

2. Powering auf das Gerät und die Nutzung der USB-modUle innerhalb der PIC18F4550

Wie im vorherigen Schritt erwähnt, habe ich beschlossen, USB für Firmware-Update verwenden. Nach dem Flashen der Firmware auf den PIC, ich nahm einen tiefen Atemzug und mein Netzteil eingeschaltet. Und dann plötzlich... nichts. Es hat nicht funktioniert, und es gab mir eine Sache zu denken, bis ich mit den zusätzlichen Kondensator-Lösung kam. Danach gab es keine Probleme, keine Fehler, nichts. Blinkt die LED, die blinken, wenn der Bootloader lief musste war in der Tat, nach der Umstellung auf Benutzercode Anwendung konnte ich eine andere LED blinken. Umschaltung zwischen Bootloader und Benutzer Anwendungscode war gut so gut funktioniert. Power-Up und Bootloader verwenden: geprüft!


3. fahren die bürstenlose DC-motor

Der BLDC-Motor hat drei Pins, müssen wir die Steuerspannung über alle drei zu machen, die Art und Weise zu bewegen, die wir erwarten. Der Staat, an dem die drei Pins wird immer unterschiedlich sein, Wechsel zwischen hoher Impedanz, GND und VDD. Das Muster dieser drei Pins abwechseln sollten ist auf dem Bild oben dargestellt. Neben der Verwendung von sechs i/o-Pins des Mikrocontrollers, werden ich auch ein PWM-Signal über die drei Linien überlagern. Dies lässt sich mit sechs und-Gatter mit ihren Ausgängen auf die sechs MOSFET-Gates. Die Tore, die verwendet wurden: CD4081B. Auf diese Weise kann man die Geschwindigkeit mit nur eine Variable - das Tastverhältnis steuern.

Wir müssen bieten eine Schnittstelle zu ändern, das Tastverhältnis von außen, der bequemste Weg, dies zu tun ist das Potentiometer verwenden. Ein internes, 10-Bit-AD-Wandler nimmt die Spannung am analogen Eingang und wandelt es in einen digitalen Wert. Glück haben uns das Tastverhältnis ist Register 10 Bits breit sowie, keine Filterung oder Manipulation nötig, nur transfer registriert der Wert aus der ADC die Einschaltdauer Register. Die Einstellung beider Module ist einfach, ich Code Snips aus älteren Projekten eingesetzt und angepasst, die tatsächlichen Berechnungen für sie. Nach der Montage dieses Board, was, das ich sah, dass der Motor nicht schnell genug drehen war, war es eher verstärkt. Die Kommutierungssignale wurden durch eine zufällig gewählte Timer-Interrupt von 100ms zeitlich, und das war nicht ganz Recht. Ein Freund empfahl mir um dieses Timer-Interrupt auf einen externen Interrupt ändern, und stellen einige Hardware-Änderungen. Unnötig zu sagen, ein weiterer PCB war, nicht in Frage, eine andere (kleinere) PCB musste entworfen werden, um die zusätzlichen Komponenten hosten seinen Vorschlag erwähnt. Ziel war es, die Spannung an den Motorklemmen, durchlaufen sie einen Teiler, verbinden die drei Signale durch aktuelle begrenzenden Widerstände und schließlich legte sie auf einen Komparator-Eingang. Ich diese kleine Platine ohne Widerstände auf den nicht invertierenden Eingang montiert, und die Spannung auf die Umkehrung Eingabe, woher dieses Signal vom Motor gemessen. Ich sah, dass es seinen Höchststand erreicht ca. 500mV, die Widerstände nicht umkehren mussten abgeholt werden, so dass der Komparator jedes Mal ausgelöst wird, kam eine Spitze auf einen der drei Eingänge. Sehen Sie die Bilder zum besseren Verständnis dieses Teils!

Ich änderte die Interrupt-Service-Routine, gegen dieses Ereignis vor dem Sprung auf den nächsten Zyklus der Kommutierung zu überprüfen und den Ausgang des Komparators auf einen externen Interrupt auf der PIC8F4550 geleitet. Auf diese Weise der Motor nicht fallen synchron und wird wiederum schnell genug für uns, mit ihm zu arbeiten.

Oszcilloszkop Kep ein Harom Jelrol, ist az Egyesitett jelrol

Oszcilloszkop Kep ein Komparator Ket Bemeneterol es a Kimeneterol


4. fahren LEDs

Die Debug oder Status LED ist so einfach wie es bekommen kann, habe ich den Widerstand für 20mA berechnet: R = U / ich = 5/0,02 = 250 Ohm. Möchten Sie heller, Widerstände der niedrigeren Wert zu setzen, wenn Sie dimmer, möchten setzen höhere Widerstand Wert Widerstände.


(5) analoge Schnittstellen

Mit einem Potentiometer einstellen der PWM Duty Cycle ist der beste Weg, um die Drehzahl der Spindel eingestellt. Analog-Digital-Wandlers kann verwendet werden, um die Mittelanzapfung des Potentiometers zu lesen, die Spannung wird in die AD-Wert-Register gelesen werden, von wo es durch Firmware für weitere Bearbeitung und Manipulation herausgenommen werden kann. Mit diesem Wert bedeutet, dass wir das PWM-Tastverhältnis leicht anpassen können. Zu meinem großen Glück sind beide Werte von 10 Bits, also was ich zu tun haben, verlegen Sie die Bits aus dem AD-Wert registrieren Sie Register der Pflicht-Zyklus. Die Initialisierung Code für das AD-Modul unter den Bildern zu sehen, was ich zu diesem Schritt angebracht.


6. Drehzahl messen

Die Messung der Drehzahl kann durch Messung der externen Interrupts (aus der Komparator, wie oben erwähnt) in Sekundenschnelle einen Zeitraum erreicht werden. Nach der Umstellung auf externe Kommutierung Signal Synchronisation, blieb der Timer-Interrupt aktiviert und auf eine zweite. Ein Zähler in der externen Interrupt Serviceroutine erhöht wurde, haben wir nur, wie viele Grafen zu überprüfen, haben wir in einem Sekunden und teilen es durch sechs, eine volle Umdrehung sechs externe Interrupts gibt. Da wir nun die Anzahl der Impulse in einer Sekunde wissen, können wir es mit 60 die Drehzahl in u/min zu multiplizieren.


7. serielle Kommunikation

Um die Platine einfach zu halten, wird nicht ich es mit Debug-Displays erschweren und viele Debuggen LEDs, die wäre nicht sinnvoll, auf die Sache, sobald es funktioniert alles Recht. Deshalb habe ich beschlossen, serielle Kommunikation und einen Seriell-USB-Konverter verwenden, um gründliche Fehlersuche bei Bedarf durchzuführen. Wenn alles funktioniert, kann diese Debug-Schnittstelle einfach deaktiviert werden, so dass es nicht Prozessorzeit fressen. Umgang mit UART in PIC Prozessoren ist sehr unkompliziert und sehr günstig in Bezug auf Benutzerfreundlichkeit, lernen das Datenblatt lesen alles Sie dort zu ihm ist.

8. Probleme habe ich bei der Arbeit auf der Basisplatine

Ein Problem, das ich getroffen, bei der Arbeit an der Basisplatine war falscher Spannungspegel auf den MOSFET-Toren. Ich endlich das Problem, falsche Auswahl des IC zurückverfolgt, dachte ich 74LS08 ist Pin-kompatibel mit CD4081B, die ich ursprünglich die PCB für gemacht. Ich konnte nicht finden, CD4081B im lokalen Geschäften und dachte einfach durch 74HC08 zu ersetzen und das war's. Es war nicht, wenn Sie die Datenblätter zu überprüfen, werden Sie verstehen, wovon ich spreche. Die Tore sind etwas anders in den beiden Paketen gesetzt, Ausgänge bekam mit Eingängen, das ist, woher die falsche Spannungsebenen invertiert! Ich bestellte einige 4081 ICs aus dem Web, Problem gelöst!

Ein weiteres Problem hatte etwas mit einer fehlenden Verbindung zu tun. Ich habe einfach vergessen, Bohren Sie zwei Löcher und Q6 mit der Gate-Widerstand zu verbinden! Ich verfolgte das mit drei Sonden an die Brücke-Ausgänge und eine Sonde zurück auf dem Weg von der fehlenden Impuls Reisen. Leben ist wirklich einfacher, wenn Sie ein vier-Kanal-Oszilloskop haben. Es gelang mir, zwei Fehler Dank ihm zu debuggen. Kauf eines Bereichs war wirklich groß, aber wirklich gute Investition.

In Verbindung stehende Artikel

Persistenz der Vision

Persistenz der Vision

die ursprüngliche Idee für dieses Projekt kam aus dem genialen Geist von David Bjanes, der viele Projekte in seinem Projektwarteschlange hat. Die Inspiration kam, als David auf Youtube.com ein Video von einem ähnlichen POV-Display sah. Wir näherten u
Arduino Persistenz der Vision anzeigen

Arduino Persistenz der Vision anzeigen

eine Persistenz der Vision (PoV) Display befindet sich eine Reihe von LED's, die Spalten einer Nachricht zu blinken.  Wenn das Array von LEDs verschoben wird, wie wenn auf ein Fahrrad-Rad montiert, kann die Nachricht gelesen werden, als wären es viel
Persistenz der Vision Display (POV)

Persistenz der Vision Display (POV)

Hi Jungs!!! Dies ist meine erste Instructable also sag mir wenn nur keine Fehler machen. OK, lasst uns loslegen!WAS SIE BENÖTIGEN-Arduino uno-festen Kern Draht oder Band Kabel-9v Batterie Snap-6v Motor (Ich habe mir von einem CD-Spieler)-Altholz-Schr
Globus der Persistenz der Vision

Globus der Persistenz der Vision

Hallo an alle,Dieses Tutorial zeigt Ihnen wie Sie Ihre eigene Welt der Persistenz der Vision zu bauen.Was ist eine Welt der Persistenz der Vision? Die Idee ist, eine Spalte mit LEDs schnell genug für den Eindruck von einer ganzen Welt der Pixel (in d
Persistenz der Vision Christbaumkugel. POV-Dekoration.

Persistenz der Vision Christbaumkugel. POV-Dekoration.

Persistenz der Vision Christbaumkugel. POV-DekorationEs ist die Zeit des Jahres, den Baum aufzustehen und schmücken ihn mit all den wunderbaren Lichter, Lametta und Kugeln. Und es geht um Kugeln, wann immer ich Dekorationen auf einen Baum gesetzt, ic
MACHEN Controller Persistenz der Vision Wirkung mit LEDs

MACHEN Controller Persistenz der Vision Wirkung mit LEDs

Hallo, dies ist mein erster instructable und ich hoffe es gefällt euch. Es ist ein einfaches Projekt mit machen-Controller (ein sehr nützliches Controller von www.makezine.com), das einen Persistenz-des-Vision-Effekt macht mit LEDs. Wenn Sie das Boar
Hard Drive Persistenz der Vision (HDPOV)

Hard Drive Persistenz der Vision (HDPOV)

die Platte einer Festplatte weit über 60 Mal pro Sekunde dreht. Wenn die Platte zu LEDs durchscheinen lassen ein schmaler Schlitz geschnitten wurde, können wir erreichen, Flackern Fusion und dazu das Auge zu sehen, ein stabiles Bild. Dieses Phänomen
Ultra low-cost solar-Akkus Persistenz der Vision Display

Ultra low-cost solar-Akkus Persistenz der Vision Display

dieses Gerät erzeugt ein helles und Blickfang zeigt Text und kleine Bilder durch die Luft zu schreiben. Es nutzt unter 2 £ (ca. 3,20 US $ zum Zeitpunkt des Schreibens) Teile und ist ein schönes kleines Wochenendprojekt, Ihre Familie und Freunde zu be
Persistenz der Vision Zauberstab für Arduino

Persistenz der Vision Zauberstab für Arduino

In diesem instructable, ich zeige Ihnen wie erstelle ich einen Zauberstab (Art), damit Sie in die Luft schreiben können wie auf dem Bild oben zeigt.Schritt 1: Die Hardware Benötigen Sie:-Lötkolben-Löten-5 3v LEDs grün-Jumper-Kabel fixiertHinweis: Ans
Eine Persistenz der Vision Namensschild LED

Eine Persistenz der Vision Namensschild LED

diese Instructable zeigt ein Namensschild, dass ich für meine Tochter gebaut habe.Ich habe die Defcon Abzeichen gesehen und dachte, sie waren cool. Warum kann meine Kinder haben auch - aber speziell für sie gebaut?Also bitteschön - eine einfache Plak
Persistence Of Vision

Persistence Of Vision

Persistenz der Vision ist eine optische Täuschung, es funktioniert auf ein einfaches Phänomen wie unsere täglichen Fernsehen funktioniert. MEINE erste Pov war sechs Monate vor mit Arduino Uno und Motor. Aber es empfiehlt sich, eine kleine, tragbare G
Wood digital clock

Wood digital clock

Hallo, zeige ich euch ein wenig, dass Projekt, das halte ich für Arduino sehr interessant sein kann.Es stützt sich im Wesentlichen auf eine Uhr aus Millis ()-Funktion Atmega 328 p Pu, die steuert auch die Beleuchtung des Streifens der 4-stellige 7-Se
(POV) Persistence Of Vision Globe

(POV) Persistence Of Vision Globe

! Update! Ich habe eine Excel-Programm, die macht es viel einfacher zu zeichnen und code-neue Bilder hinzugefügt!Eine einfache Persistenz der Vision Globe. VIDEO abspielenDies ist ein Projekt, das ich seit geraumer Zeit im Auge gehabt haben und der W
Persistence of Vision (POV)-2 Wege zu spielen -

Persistence of Vision (POV)-2 Wege zu spielen -

nach der Suche POV-Tutorial, das nicht klar, müde und kompliziert, schließlich fand ich die beste. In diesem wird instructable ich einen POV (Persistenz der Vision) Zauberstab inspiriert vom Amandaghassaei des ursprünglichen Design neu zu sein.  Als