Technische Dokumentation MDK DC Motion Control V1.0

Ähnliche Dokumente
0-10V Steuerung für Frequenzumrichter

USB-Isolator. Version 1.2. (C) R.Greinert 2009

0-10V Steuerung für Frequenzumrichter

Elektrische Schnittstelle Signal

analoge Ein- und Ausgänge

NEM 692 Seite 1 von 6 Empfehlung Ausgabe 2012 (ersetzt Ausgabe 2011) Normen Europäischer Modellbahnen. Steuermodul Signal

Schrittmotor Parallel Port Interface Platine

LED Skalenbeleuchtung mit einem Arduino

Was so passieren wird:

Datenblatt C2-10 Steuerung

NEUHEIT! SMC-Arduino-Steckboard/ Motor-Shield

Zeitrelais PL0045 mit optionaler PC-Anbindung

Rasen-Roboter Elektronik Hardware mech. Aufbau Leiterplatten und Fertig-Module. Elektronik-Board. Mega 2560 LSP SDA-SCL

Infokarte: Snap4Arduino

HYBRID SERVO DRIVER ES-DH2306

Bedienungsanleitung PRO-C DISPLAY

Arduino Kurs Das LC-Display. Stephan Laage-Witt FES Lörrach

Arduino für FunkAmateure

by AS playground.boxtec.ch/doku.php/tutorial I 2 C Bus und analoge Eingabe = Teil 1 Hardware = Analog 2

Schalten externer Bypass SBPSU10K20HC1M1-WP & SURT15KRMXLI

The Danish Keyer In der Schweiz gebaut

LED Skalenbeleuchtung mit einem Arduino

Umbau eines Saug- und Wisch Roboters auf ARDUINO Steuerung

Highspeed. Kurzzeitfotografie in Natur und Studio. Bearbeitet von Hans-Christian Steeg

1 Achsen Servosteuerung Mammut

R 2 Prototyping. HV 2 Monitor Version 1.2. gmbh. 5. September 2012 INHALT. Übersicht Anschlüsse / Taster Funktionen...

Gamecontroller Der Bewegungssensor - Links-Rechts-Steuerung

Dokumentation I2C-IO-Max-V1 Modul für Schalttafeleinbau

Jan Monsch. Donnerstag, 2. Mai 13

Schrittmotorsteuerung AMW 102 V.3

Batteriewächter/-umschalter mit LCD Display

Dokumentation. für metratec TUC Evaluation Board. Stand: Februar Version: 1.1. Dokumentation TUC Eval-Board Seite 1 von 10

Ein-Achsen Schrittmotor Controller

DATENBLATT AB-ASI-DI4-M12 gültig ab: 05/2009

I2C-006 DATASHEET I2C-006 V1.00: 1K EEPROM MODUL MIT TWI (I 2 C) SCHNITTSTELLE. Dokument NR.: I2C-006_Datasheet

Roundshot VR Drive: HDRI mit DSLR Remote Pro / NK Remote von breezesys

Motorino. Ausgabe Copyright by Joy-IT 1

Mini- Mikroprozessor-Experimentier-System. Version 1.0b vom :21. mit einem 8051-Mikrocontroller

Schrittmotorendstufe Tiny-Step II Version 2.1, Stand

0-10V to DALI Converter

ND556. Ausgangsstrom 1,4-5,6 A. Isolationsfestigkeit 500 M. Mechanische Spezifikationen (Einheit: mm, 1 inch = 25,4 mm)

ME742 Mikroschritt-Endstufe

Veloce XL Elektrik Anleitung

Railuino Hacking your Märklin. Jörg Pleumann OpenRheinRuhr

Wenn nicht anders angegeben, beträgt die normale Betriebstemperatur 25 C. Kursiv gedruckte Spezifikationen sind durch das Design vorgegeben.

BLUE line. Bedienungsanleitung zum M-Unit Experimentierboard. Innovative Technik. Tobias Regenhardt Grüner Weg Seulingen

Grundlagen der Rechnertechnologie Sommersemester Vorlesung Dr.-Ing. Wolfgang Heenes

Radar Evaluation Board - REB165 Installation / Getting Started

ND556 Mikroschritt-Endstufe

Schrittmotorendstufe Tiny-Step II Stand

Beschaltung eines Mikrocontrollers. Jordi Blanch Sierra Steuerungsgruppe

Entwicklungsboard 16F1824

by AS playground.boxtec.ch/doku.php/tutorial I 2 C Bus Isolator Isolator

Montage- und Bedienungsanleitung CCMS312

Schrittmotorsteuerung PL0061

An der OBD2-Buchse zum Anschluß des Testgerätes sind die für die Protokolle erforderlichen Pins beschaltet:

1 Produktdatenblatt StepDriveGen

Motorsteuerung. Embedded Software Praktikum 4. Tim Hölzemann Embedded Engineering

4.2 Die Arduino-Hardware

ST7. Schrittmotorsteuerung

SWR-Messeinrichtung. mit. externer Messbrücke. und. externem logarithmischem Detektor

MRPM. Gewicht mit kabeln. Versorgungsspannung 3,5 8,4V Stromverbrauch

Zusatzplatine ZIB2-PDx-N für Plug & Drive Motoren PDx-N

Bedienungsanleitung Mini Schrittmotorsteuerung UIM24302A / UIM243L02AT / UIM24302B / UIM243L02BT. Bedienungsanleitung

PCAN-Gateway Schnellstart-Anleitung

Microcontroller im Amateurfunk

TFH Anzeige- und Bedien-Panel ONE (TFH-ABP ONE)

Hensel Turntable 360 QUICK START GUIDE

"THC Analog" -Funktion Bis vor kurzem musste jeder, der THC-Funktion in seinem Plasmaschneider laufen lassen wollte, ein

Arduino Nano. Hello World per LED On-Board LED (Pin D13) Beispiel: Arduino IDE / Beispiele / Basics / Blink 5 / 20

80C535-Mikrocontroller-Board im Streichholzschachtelformat

Gebrauchsanweisung für CAN-Switchbox ab Seriennummer Looking for English manual? Visit our hompage

Parameter Bedingungen Spezifikationen A/D-Wandlertyp

GSV-6CPU GSV-6CPU. Beschreibung

Arduino - Einfacher Teiler

SB-002 DATASHEET SB-002 V1.00: 8051 MIKROCONTROLLERBOARD MIT AT89C5131A-M OHNE NETZTEIL. Dokument NR.: SB-002_Datasheet

PROBE-Varianten: - Strom-,Spannungs- oder Temperatur - PROBE (PT-1000) - MS3-Stecker mit U_Batt, U_Aux, U_3 und Temperatur-PROBE (PT1000)

Einführung Arduino - Aufbau

Technische Dokumentation

Hardware Beschreibung

SB-001 DATASHEET SB-001 V1.00: 8051 MIKROCONTROLLERBOARD MIT AT89C5131A-M. Dokument NR.: SB-001_Datasheet

Analogmodule AS-i IP65, M12

I2C Serial 2.6 LCD Modul

TaT-Maker Steuerung. Selbstbauanleitung. von. Kurt Sepke

Breakoutboard Rev.2 für Estlcam

DAQ-Demo Kit mit Arduino Uno Datenerfassungskarte Bedienungsanleitung

Frequenzgenerator Hz

Ingenieurbüro für Echtzeitprogrammierung. Dokumentation MOCS-DI16

by AS playground.boxtec.ch/doku.php/tutorial I 2 C Bus und analoge Eingabe = Teil 1 Hardware = Analog 1

Grundlagen der Bauelemente. Inhalt. Quellen: Autor:

Switch-Board-Datenblatt EB

Bedienungsanleitung Bordcomputer : 1. Einstellen der Anzeige (Setup Anzeige) :

Transkript:

Technische Dokumentation MDK DC Motion Control V1.0 David Wemhöner 19. Juli 2014 1

1 Funktionsübersicht MDK DC Motion Control ist eine Arduino basierende Steuerung für Gleichstrommotoren und Kamera für Timelapse Fotografie. ACHTUNG: Maximale Spannung 12V, Maximaler Motorstrom 2A pro Motor ACHTUNG: Nie die Motoren anstecken oder abziehen, wenn Controller mit Spannungsquelle verbunden ist, dies beschädigt den Motortreiber und ist explizit von der Garantie ausgeschlossen! Die derzeitige Version erlaubt eine Steuerung von 2 Gleichstrommotoren und 1 Kamera im Shot Move Shot und im Continous Modus. Die Einstellungen können im EEPROM des Arduino gesichert und wieder geladen werden. 2

2 Hardware 2.1 Controller Als zentrale Steuereinheit wird ein Arduino UNO basierender Controller benutzt auf den ein Arduino MotorShield R3 aufgesteckt ist. Das Arduino Motor-Shield basiert auf dem L298, einem Brückentreiber für die Steuerung von induktiven Lasten wie Relays, Magnete, Gleichstromund Schrittmotoren. Das Arduino Motor-Shield ermöglicht die Steuerung von zwei Gleichstrommotoren, wobei die Drehzahl und die Drehrichtung unabhängig von beiden Motoren kontrolliert werden kann. Ebenfalls möglich ist die Messung des Stromverbrauchs jedes einzelnen Motors. Das Arduino Motor-Shield muss über eine externe Quelle mit Spannung versorgt werden. Der integrierte L298-IC auf dem Shield besitzt zwei Eingänge für die Spannungsversorgung. Dabei ist einer für die Logik, der andere für den Betrieb der Motoren vorgesehen. Die Verwendung von unabhängigen Eingängen ist durchaus sinnvoll, da der Stromverbrauch eines Motors in der Regel die maximale Stromabgabe eines USB-Ports übersteigt. Die externe Spannungsversorgung (nicht USB) kann dabei über ein passendes Netzteil oder über Batterien realisiert werden. Die externe Spannungsversorgung sollte direkt an den Motor-Shield über Schraubklemmen angeschlossen werden. Damit mögliche Beschädigungen am Arduino-Board vermeiden werden können, empfiehlt es sich, eine externe Spannungsversorgung mit einer Spannung zwischen 7 und 12V zu verwenden. Sollte der angeschlossen Motor mehr 3

als 9V benötigen, dann sollte der Stromkreis zum Arduino-Board unterbrochen werden. Dazu wird der Vin Connect -Jumper auf der Rückseite des Shields getrennt. Die maximale Eingangsspannung an den Schraubklemmen des Motor Shields beträgt 18V. Die Versorgungsanschlüsse sind folgendermassen bezeichnet: Vin auf der Schraubklemme bezeichnet die Versorgungsspannung des Motors. Eine angeschlossene externe Spannungsversorgung versorgt ebenfalls das Arduino-Board mit Spannung. Durch Trennung des Vin Connect - Jumpers wird die Spannungsversorgung ausschliesslich für den Motor verwendet. GND auf der Schraubklemme bezeichnet den Ground-Anschluss. Das Motor-Shield verträgt maximal 2A pro Kanal und insgesamt höchstens 4A. Das Shield verfügt über zwei unabhängige Kanäle, welche mit A und B bezeichnet sind. Jeder Kanal benötigt dabei 4 Anschlüsse auf dem Arduino- Board, also insgesamt 8 Pins. Die Kanäle ermöglichen das unabhängige Steuern von zwei Gleichstrommotoren. Die Anschlüsse des Motor-Shields, aufgeteilt nach Kanälen sind in der folgenden Tabelle ersichtlich: Arduino PIN Belegung 12 Motor 1: Direction 3 Motor 1: PWM 9 Motor 1: Bracket A0 Motor 1: Current 13 Motor 2: Direction 11 Motor 2: PWM 8 Motor 2: Bracket A1 Motor 2: Current Es können zwei Gleichstrommotoren angeschlossen werden. Dazu müssen die beiden Kabel des Motors in die (+) und in die (-) Schraubklemme des jeweiligen Kanals gesteckt werden. Die Drehrichtung wird kontrolliert, in dem ein HIGH oder ein LOW auf die DIR A und DIR B Pins gegeben wird. Die Drehgeschwindigkeit wird gesteuert, in dem das PWM-Signal auf dem PWM A and PWM B verändert wird. Werden die beiden Anschlüsse Brake A und Brake B auf HIGH gesetzt, dann wird der Motor effektiv gebremst, anstatt dass er einfach durch Unterbrechung der Spannungsversorgung ausläuft. Der Strom, welcher durch die beiden Motoren fliesst kann gemessen werden, indem die SNS0 und SNS1 Pins ausgelesen werden. Jeder der beiden Kanäle 4

liefert auf den beiden Pins eine Spannung, die proportional zum gemessenen Strom ist. Die Funktion analogread() auf den analogen Eingängen A0 und A1 ermöglicht die Erfassung der Spannung. Dabei ist die maximale Spannung auf 3,3V kalibriert, was einem maximalen Strom von 2A entspricht. Schaltplan: Weitere PINs: A3 Drehpoti mit Mittelklick 10k linear zwischen 5V and GND 4 Navigation Button: UP 5 Navigation Button: DOWN 6 Navigation Button: ESCAPE 7 Navigation Button: CONFIRM A2 Camera Control Pin: Focus 10 Camera Control Pin: Shutter A4 SDA SDA signal I 2 C Bus A5 SCL SCL signal I 2 C Bus Hinweis: die Navigation Buttons werden über den internen Pull-Up Widerstand auf High gesetzt. D.h. bei Betätigung des Tasters wird der PIN auf Masse (LOW) gelegt. 5

2.2 Auslösesteuerung Die Auslösung der Kamera erfolgt galvanisch getrennt über Optokoppler. Es wird Auslöser andrücken simuliert, indem 100ms vor dem eigentlichen auslösen, der Fokus-Kontakt geschlossen wird. 2.3 Verwendete Motoren 1. DC Motor max 2A modelcraft RB350200-0A101R 2. DC Motor max 2A 2.4 Display hintergrundbeleuchtetes I2C Display mit 20 Zeichen und 4 Zeilen I2C/TWI LCD2004 Module LCD Display 4 Zeilen 20 Stellen mit I2C Interface. Neue Version - Adresse 0x27 6

3 Schaltplan Kameraanschluß galvanisch getrennt mit Optokoppler mit Vorwiderstand 75 Ω Taster (UP, DOWN, ENTER, BACK) sind per Software auf PULL UP gesetzt, d.h. beim drücken des Tasters wird Eingang LOW 7

4 Software 4.1 Arduino Entwicklungsplatform Version 1.5.6-r2 4.2 Benutze Bibliotheken Wire.h LCD.h Buttons MENWIZ.h (LCDMenuLibrary) LiquidCrystal I2C EEPROM 5 Interne Details 5.1 Umsetzung: Analoges Signal vom Drehpotentiometer zu Motorgeschwindigkeit Das Drehpotentiometer liefert Werte zwischen 0 und 1023. Die Mittelposition liegt etwa bei 522 wegen Ungenauigkeiten in der Mittelposition wird ein Bereich von 522 ± 80 um die Mittelposition in Speed 0 konvertiert. #define POTIMITTE 522 // Analoger Wert für Mittelposition des Potis #define POTIDELTA 80 // rechts und links um die Mitte gilt in diesem Bereich Speed = 0 Die Umsetzung des analogen Poti-Signals wird per map in die Geschwindigkeit umgesetzt: lowerlimit = POTIMITTE - POTIDELTA; upperlimit = POTIMITTE + POTIDELTA; manualspeed = map(potivalue, lowerlimit, 0, 0, 254); manualspeed = map(potivalue, upperlimit, 1023, 0, 254); 8

6 Menustruktur 1. manual drive: für manuelle Fahrten motor 1: Auswahl Motor 1, Geschwindigkeitsregelung erfolgt mit Poti motor 2: Auswahl Motor 2, Geschwindigkeitsregelung erfolgt mit Poti 2. start sequence: Aufnahmesequenz wird mit den gewählten Parametern gestartet. Um die Sequenz abzubrechen, bitte UP oder DOWN lange (bis zur nächsten Aufnahme) drücken (ESC beendet die Sequenz nicht) 3. sequence settings interval time: Zeit zwischen 2 Belichtungen (0..255s) motor ON time: Zeit, die die Motoren AN sind (0..2,55s in 1/100s Schritten) delay time: Zeit zwischen Ende der Motorbewegung und Auslösen der Kamera (0..30s) exposure time: Belichtungszeit (1..25,5s in 1/10s Schritten ) no. of exposures: Anzahl Bilder (0..10000), 0 entspricht unendlich viele Belichtungen motor 1 direction: Drehrichtung Motor 1 (0..1) motor 2 direction: Drehrichtung Motor 2 (0..1) motor 1 speed: Geschwindigkeit Motor 1 (0..100% ) motor 2 speed: Geschwindigkeit Motor 2 (0..100% ) 4. load settings: Einstellungen laden 5. save settings: Einstellungen sichern 9