Einen PIC-Mikrocontroller verwenden, um ein Hobby Servo Steuern (4 / 6 schritt)


Schritt 4: Die Firmware

Angeschlossen ist die Firmware, die ich für diese kleine Demo verwendet. Ich habe die kostenlose MPLAB IDE mit der C18-Compiler (gratis für Studenten). Beide sind von der Microchip-Website herunterladen. Die Logik lautet wie folgt:
(1) Verzögerung für irgendwo zwischen 10 und 20 ms (in diesem Fall 12)
(2) wenn die Taste (Pin 4) gedrückt ist, Messen Sie die Spannung des Potentiometers (Pin 2)
3. Stellen Sie das Steuersignal hoch (5 V)
4. Verzögerung für eine Zeitspanne proportional zur Spannung gemessen in Schritt 2
5. Stellen Sie das Steuersignal niedrig (Boden)
(6) Schleife um zurück zu Schritt 1

Vielleicht ist ein wenig mehr Informationen über die Analog / Digital-Umwandlung in Ordnung. So wissen wir bereits, dass die Spannung am Pin 2 wird aufgrund der Spannungsteiler irgendwo zwischen 0 und 5 Volt sein. Der PIC-A/D-Wandlung (konzeptionell) funktioniert ähnlich wie ein umgekehrter Spannungsteiler. Es berichtet die Spannung im Verhältnis ihrer Versorgungsspannung. Allerdings ist der Anteil so skaliert, dass zwischen 0 und 255 (die 8 Bits von Informationen, die Größe des ein Zeichen ohne Vorzeichen). Das heißt, wird die folgende Gleichheit eingerichtet:
(Pin 2 Spannung) / 5v = POT_VALUE / 255
oder:
POT_VALUE = 255 * ((pin 2 voltage) / 5v)
Das Bild ist eigentlich ein 10-Bit A/D-Wandlung, aber 8 Bit ist viel granular genug für unsere Zwecke, so die beiden niederwertigsten Bits des A/D-Wandlung in diesem Code nicht verwendet werden. Außerdem sind die letzten Ziffern wahrscheinlich Messung Lärm anstatt das Signal selbst, so dass wir nicht allzu viel indem man sie ignoriert vermissen.

Die Verzögerungen sind basierend auf der Zeit berechnet, die es braucht, um eine Anweisung auf das entsprechende Bild mit einem 4 MHz-Takt komplett. Ich weiß nicht warum, aber irgendwie, dass dies bis 1/6 uns pro Anweisung Zyklus klappt. Also, wenn wir für 5400 Zyklen zu verzögern, dass 5400 Zyklen * 1/6 US / Zyklus = 900 US = 0,9 ms ein weiteres wichtiges Stück findet die Konstante der Verhältnismäßigkeit, der POT_VALUE skaliert (in einer Reihe von 255-0 = 255) um unsere Pulsbreite (auf eine Reihe von 2,1 ms-0,9 ms = 1200 uns); oder, um die Frage anders: wie viele Zyklen sollten wir für jede Anzahl von POT_VALUE zu verzögern?
(1200 US * 6 Zyklen / uns) / 255 zählt = 28 Zyklen/Graf
Diejenigen von Ihnen, zusammen mit dem Code folgen werden feststellen, dass ich tatsächlich 20 Zyklen pro Stück, nicht 28 verzögern. Dies ist ein experimentell ermittelten Wert (Ich schaute auf das Signal mit einem Oszilloskop), der für alle Faktoren, die Wirkung der Zeitpunkt, vor allem der Aufwand aus der for-Schleife in Zeile 68 anpasst.

In Verbindung stehende Artikel

Umwandlung einen alten Schreibtisch für ein Hobby/Handwerk Schreibtisch

Umwandlung einen alten Schreibtisch für ein Hobby/Handwerk Schreibtisch

bei der Arbeit fand ich diese alten Schreibtisch, der gestrichen hat, weil es einen fehlenden unteren Bein hatte. Ich nahm es nach Hause wo ich schneide selbst, das andere Bein mit der anderen Seite, und habe ich noch Rollen zu bewegen in meinem Kell
Wie man Google Sites verwenden, um ein Arduino zu steuern!

Wie man Google Sites verwenden, um ein Arduino zu steuern!

CHECK OUT THE LIVE VERSION hier: https://sites.google.com/site/arduinoexampleswitch/ Dies ist ein Tutorial, das Ihnen das Potenzial von Web-basierten Schnittstellen für Ihre Projekte zeigen, oft wir alle Sachen für die Welt in der Lage sein zu spiele
LED über WiFi verwenden Linkit ein Brett zu steuern

LED über WiFi verwenden Linkit ein Brett zu steuern

In diesem instructable, zeige ich Ihnen wie LEDs oder andere Ausgänge über WiFi zu kontrollieren.Dies soll nur die Grundlagen der Mediatek LinkIt Gremien zu erlernen. Ich wollte nicht etwas zu einfach, wie eine led blinkt, weil Sie leicht auf einen A
Wie ein PIC Mikrocontroller & lesen einen Encoder-Programm

Wie ein PIC Mikrocontroller & lesen einen Encoder-Programm

Einführung: von elektronischem Spielzeug & Spiele, Mikrowellenherde, Mikrocontroller finden Sie fast überall in diesen Tagen! Aber wie können wir diese kleinen Computer für unsere eigenen Elektronikprojekte arbeiten? Hier kommt dieses Tutorial - mit
LYT LED Anzeige: LED, PIC-Mikrocontroller und durchschnittliche Code bewegen

LYT LED Anzeige: LED, PIC-Mikrocontroller und durchschnittliche Code bewegen

Hallo an alle, vielen Dank für dein Interesse an meiner ersten Instructable. Ich habe es genossen Ihre Kreationen im Laufe der Jahre und was lieben Sie alle tragen dazu bei. Dieses Projekt ist ein Spin-off eines, das vor kurzem sah ich hier und ich b
Niedrige Kosten-Hobby-Servo-XY-Tisch

Niedrige Kosten-Hobby-Servo-XY-Tisch

für dieses Projekt wollten wir einen niedrigeren Kosten, geringere Präzision-XY-Tisch für eine Installation im TeleToylandzu bauen. Ziel ist es, Web-Benutzern erlauben, im Sandkasten, Formen zeichnen, deshalb wollten wir einen einfachen XY-Tisch, der
Schalten Sie einen normale Pipette Spender an eine automatische Repeater

Schalten Sie einen normale Pipette Spender an eine automatische Repeater

Die Herausforderung:Vor kurzem, mein Kollege bat mich, einen Bausatz zu entwerfen, der einen normale Pipette Dispenser auf eine automatische Repeater übertragen werden können. In der Zelle zu züchten muss er einen Pipette Dispenser verwenden, um ein
PS3-Controller verwenden, um ein Arduino NXT Bot steuern

PS3-Controller verwenden, um ein Arduino NXT Bot steuern

UPDATE:Ich habe ein paar Bugs mit dem Datenpaket ausführen fest, und ich habe die NXTI2CDevice-Bibliothek mit Arduino 1.0 kompatibel geändert.Die angehängte Zip-Datei hat(1) eine neue Arduino-Skizze(2) eine neue Verarbeitung Skizze3. die modifizierte
Wie kann man eine PIC-Mikrocontroller mit Led blinken?

Wie kann man eine PIC-Mikrocontroller mit Led blinken?

Dieses Tutorial ist für PIC Mikrocontroller Anfänger.* die Schritte zum Installieren von MP Lab* Schritte xc8 Compiler zu installieren-Programm zu blinken* Bauvorhaben und Brennen auf den Pic McSchritt 1: Komponenten, die erforderlich 1) PIC16F886-1(
Verwenden Sie eine Wii-Fernbedienung, um einen Computer steuern

Verwenden Sie eine Wii-Fernbedienung, um einen Computer steuern

Ich wollte etwas machen, mit Python, aber ich nicht gehalten, vor allem, weil dieser Computer Windows ausgeführt wird. Vor ein paar Tagen habe ich endlich es funktioniert.Anmerkung: Dies ist mein erster instructable. Bitte schreien Sie nicht mich an
Umfunktionieren Sie eine alte Aktentasche, installieren Sie einen Computer zu, verwenden Sie, um Festplatten kühl zu halten.

Umfunktionieren Sie eine alte Aktentasche, installieren Sie einen Computer zu, verwenden Sie, um Festplatten kühl zu halten.

ich habe diesen Fall an laufenTechshop für der Zweck des Haltens hart fährt während der Ausführung von Visuals bei Veranstaltungen cool, aber die gleichen Schritte können einen alten Koffer für einen Computer prep.$2     | Alten Aktentasche (Goodwill
Wie man einen Hochdruckreiniger verwenden, um ein Boot zu reinigen

Wie man einen Hochdruckreiniger verwenden, um ein Boot zu reinigen

mit einem Hochdruckreiniger zu einem Boot reinigen lassen sich eine sehr gute Sache, Sie sparen Geld und Zeit freisetzen, damit Sie Ihr Leben genießen können. Hier ist wie man richtig einen Hochdruckreiniger verwenden, um ein Boot zu reinigen.
Gewusst wie: verwenden Sie die Actobotics-Servo-Controller

Gewusst wie: verwenden Sie die Actobotics-Servo-Controller

In diesem instructable ich führt Sie durch wie den Actobotics-Servo-Controllerverwenden. Es ist eine manuelle Servo-Controller, was bedeutet, dass es nicht, einen Eingang von einem Computer, Mikrocontroller erforderlich oder auf andere Weise die Serv
Programmieren von PIC-Mikrocontroller

Programmieren von PIC-Mikrocontroller

PIC-Mikrocontroller sind ein sehr nützliches und vielseitiges Werkzeug für den Einsatz in vielen elektronischen Projekten. Sie sind sehr preiswert und leicht zu finden. Sie sind auch sehr mächtig, und viele sind in der Lage, Geschwindigkeiten von bis