Jump to content

Servomotor über DCS ansteuern möglich?


Sperrfeuer

Recommended Posts

Hallo,

ich versuche momentan herauzubekommen ob es möglich ist

ein (Modellbau-)Servo mit Hilfe von einem Arcaze- oder Arduinoboard

anzusteuern....zb für Landeklappenanzeige.

Gefunden habe ich bisher ein Tutorial für die Mobiflight Software:

 

https://www.mobiflight.com/de/tutorials/servo-motor-fuer-flaps-anzeige.html#Das_brauchst_Du_f%C3%BCr_dieses_Tutorial

 

Unklar ist, ob die Daten auch aus DCS abgegriffen werden können?!

 

Gruß

Uwe

I7-7700k 4,2 / 32 GB RAM / Geforce 2080 TI / 2x M2 500GB SSD / 1 TB SSD / Pimax 5k / WinWing Stick and Throttle

 

Server: [Wolfpack] Germany 93.186.198.98 Port 10308

 

IG Callsign: Fenris

Link to comment
Share on other sites

Moin Uwe,

 

leider kann die Arcaze das derzeit noch nicht, da es keine Erweiterungskarten für Schrittmotoren und/oder Servomotoren gibt.

Angeblich gab es mal Prototypen von solchen Karten, aber die sind bisher nicht in Serie gegangen. Vielleicht hilft da mal eine E-Mail oder ein Anruf beim Hersteller.

 

Für so ganz einfache Dinge wie die Landeklappen, hat hier aber jemand eine Lösung beschrieben.

 

Ansonsten kannst du dir DCS Bios (2) mit Arduino Karten anschauen.

Leider weiß ich nicht ob die unterschiedlichen DCS Export Scripte sich mit einander vertragen. Zusätzlich musst du da relativ viel selber programmieren.

 

 

CU Micha

Simpit Software by SDA "SIMPIT DEVELOPER ASSOCIATION"

  • DCS ExportScript
  • D.A.C. DCS to Arcaze Communicator
  • Ikarus a new Virtual Cockpit Software

Deutscher Forums Thread

English Forums Thread

 

Hard/Software: AMD Ryzen 7 1800X, 32 GiB RAM, extra SSD for Windows 10 and DCS World, AMD Vega Frontier Edition with 16 GiB VRAM

Link to comment
Share on other sites

Schnittstellen Karte haben wir zu Hauf in der Firma für CNC Brennschneider und Plasma, die sind aber vorwiegend noch ISA oder "schon" PCI und werden, soweit ich das verstanden habe, über SPS angesteuert.

 

 

Hilft Dir das ? wenn ja, PM mich

 

edit* die Karten sind auch 10x so groß wie ein Arduino oder Rasperry.... mehr Info erst nach Rücksprache mit dem Entwickler der Firma, nicht mein Fachgebiet


Edited by BitMaster

Gigabyte Aorus X570S Master - Ryzen 5900X - Gskill 64GB 3200/CL14@3600/CL14 - Asus 1080ti EK-waterblock - 4x Samsung 980Pro 1TB - 1x Samsung 870 Evo 1TB - 1x SanDisc 120GB SSD - Heatkiller IV - MoRa3-360LT@9x120mm Noctua F12 - Corsair AXi-1200 - TiR5-Pro - Warthog Hotas - Saitek Combat Pedals - Asus PG278Q 27" QHD Gsync 144Hz - Corsair K70 RGB Pro - Win11 Pro/Linux - Phanteks Evolv-X 

Link to comment
Share on other sites

Danke für die Infos. Ich werde dieses Bauteil in meiner to-do Liste nach hinten

schieben. Der Link zu dem DCS-Bios sieht interessant aus...auch weil ich

bei der den einfachen Lösung nicht durchblicke ;)

Woher kommt die Eingabeinfo für das Servo?

Manuell durch den "Piloten" über den Servotester?

 

Gruß

Uwe

I7-7700k 4,2 / 32 GB RAM / Geforce 2080 TI / 2x M2 500GB SSD / 1 TB SSD / Pimax 5k / WinWing Stick and Throttle

 

Server: [Wolfpack] Germany 93.186.198.98 Port 10308

 

IG Callsign: Fenris

Link to comment
Share on other sites

Moin Uwe,

 

ich habe das nicht nach gebaut, aber im Prinzip funktioniert es wie folgt.

 

Er hat einen einfachen Servertester, ähnlich diesem Bausatz, genommen und anstatt des Potis nutzt er mehre Parallel angeschlossene Widerstände.

Es werden so viele Widerstände benötigt wie die Flapsanzeige Stellungen anzeigen soll.

Damit die parallel geschalteten Widerstände sich nicht gegenseitig stören, gibt es in jeder Zuleitung eine Diode. Diese Verhindert auch, das der Strom zurück zur Arcaze fließt.

Statt feste Widerstände, würde ich Potis nehmen, dann brauch man nicht soviel rechnen und kann einfach die entsprechende Stellung einstellen.

 

Zusätzlich müsstest du ein bisschen am DCS ExportScript für das Flugzeug herumgefuchtelt werden, so das dieses, für jede Stellung ein eigenen Wert mit eigener ID sendet. Diese einzelnen IDs kann man dann in DAC auswerten und den entsprechenden Arcaze PIN aktivieren.

 

Ich übernehme keine Garantie für diese Ausführung, da die Idee nicht auf meinem Mist gewachsen ist und ich sie selber noch nicht ausprobiert habe.

 

CU Micha

Simpit Software by SDA "SIMPIT DEVELOPER ASSOCIATION"

  • DCS ExportScript
  • D.A.C. DCS to Arcaze Communicator
  • Ikarus a new Virtual Cockpit Software

Deutscher Forums Thread

English Forums Thread

 

Hard/Software: AMD Ryzen 7 1800X, 32 GiB RAM, extra SSD for Windows 10 and DCS World, AMD Vega Frontier Edition with 16 GiB VRAM

Link to comment
Share on other sites

Mit DCS-BIOS würde der Arduino-Sketch dafür ungefähr so aussehen:

 

#include <Servo.h> // muss vor DcsBios.h inkludiert werden, um ServoOutput zu ermoeglichen

#define DCSBIOS_IRQ_SERIAL
#include "DcsBios.h"

// die 544 und 2400 in der naechsten Zeile sind die Limits des Servos und werden
// unveraendert an die Arduino Servo-Library weitergegeben
// die 10 ist der Arduino-Pin, an dem das Kontrollsignal fuer den Servo ausgegeben werden soll
DcsBios::ServoOutput flapPos(0x10a0, 10, 544, 2400, [](unsigned int newValue) -> unsigned int {
   // diese Funktion muss den Wert, den DCS-BIOS sendet (zwischen 0 und 65535)
   // in die Pulsbreite fuer den Servo umrechnen
   return map(newValue, 0, 65535, 544, 2400);
 });


void setup() {
 DcsBios::setup();
}

void loop() {
 DcsBios::loop();
}

 

Bei DCS-BIOS musst du dich etwas in die Programierung einarbeiten. Arduino-Tutorials und Bücher gibt es genug, es macht auch Spaß, sowas zu lernen, aber es kostet natürlich Zeit.

 

Der Vorteil ist dann, dass du alle Bauteile verwenden kannst, die sich mit einem Arduino-Board ansprechen lassen (also so gut wie alles, inklusive kleinen Grafik-Displays, Schrittmotoren, Hobby-Servos oder Dot Matrix Display im CMSP).

 

Die Arduino-Klone aus China funktionieren super und sind sehr preiswert: ca. 3 Euro für einen Arduino Nano mit 12 nutzbaren digitalen I/O-Pins, 2 analogen und 6 die digital oder analog genutzt werden können, oder 8 Euro für den Arduino Mega 2560 mit 52 nutzbaren digitalen I/O-Pins und 16 digital/analog-Pins.

Link to comment
Share on other sites

soweit ich mich errinern kann sind die Ausgänge des Arduino bis maximal 40mA belastbar, schau also vorher in das Datenblatt des Servos bevor du nen MasterCaution und bischen rauch hast ;)

'controlling' the Ka50 feels like a discussion with the Autopilot and trim system about the flight direction.

Link to comment
Share on other sites

Der Kontrollpin des Servos zieht nicht viel Strom, den kannst du direkt an den Arduino hängen. Der Servo selbst wird sich wahrscheinlich ein paar hundert mA genehmigen. Wenn das weniger als ca. 400 mA sind, kannst du den mit über USB versorgen, sonst brauchst du ein externes Netzteil.

 

Da der Servo vergleichsweise viel Strom zieht, empfiehlt sich auch ein Kondensator (200 bis 500 Mikrofarad) zwischen +5V und GND in der Nähe des Servos.

Link to comment
Share on other sites

Danke für die geniale Hilfestellung :thumbup:

Arduino und Programmierung sind für mich totales Neuland.

Aber sich hier einzufuchsen bietet sich an wenn ich auf der

Baustelle rumhänge und nicht am Pit arbeiten kann.

Ich werde mal schaun, was ich an Miniservos aus zerschrotteten

Schaumwaffeln hier rumliegen habe und die Dinger zur Not durchmessen.

I7-7700k 4,2 / 32 GB RAM / Geforce 2080 TI / 2x M2 500GB SSD / 1 TB SSD / Pimax 5k / WinWing Stick and Throttle

 

Server: [Wolfpack] Germany 93.186.198.98 Port 10308

 

IG Callsign: Fenris

Link to comment
Share on other sites

Zum Ausprobieren bietet sich der "Sweep"-Beispielsketch an (Datei > Beispiele > Servo > Sweep in der Arduino-IDE).

 

Wenn du ein Netzteil hast (Labornetzteil oder ein altes Computernetzteil, das du einschaltest, indem du Grün und Schwarz am 20- oder 24-poligen Mainboardstecker verbindest), kannst du den Servo darüber versorgen und nachmessen was der verbraucht.

 

Ansonsten einfach über USB versorgen und sehen ob es klappt. Kaputt gehen tut dabei nichts: die Arduino-Boards haben eine sich selbst rückstellende Sicherung ("Polyfuse"), die verhindert, dass zuviel Strom aus dem USB gezogen wird. Selbst wenn die versagen sollte, die USB-Spec sieht vor, dass ein Motherboard sogar aushalten muss, wenn es einen Kurzschluss gibt.

Wenn die Polyfuse auslöst, sieht es erstmal so aus, als ob das Arduino-Board hinüber ist. Einfach ein paar Minuten warten, dann tut's wieder.

 

Wenn der Servo nicht richtig oder gar nicht funktioniert, bekommt er wahrscheinlich nicht genug Strom oder der Kondensator fehlt. Falls die Teilekiste gerade keinen passenden Kondensator beinhaltet, aber ein altes, kaputtes Motherboard zur Hand ist, findet man in der Nähe der Spannungswandler einige große Elkos zum Ausschlachten.

 

Ein einzelner Hobby-Servo braucht in der Regel weniger als 400 mA. Sobald man mehr als einen anschließen will, kommt man aber auch je nach Servo-Typ schnell darüber.

Link to comment
Share on other sites

Labornetzteil ist vorhanden.

Ich hab mich mal grad mit Kleinkram, wie Stecker, Breadboard, Kabel,

Widerständen und Arduinoliteratur für Dummies eingedeckt. Stay tuned...

I7-7700k 4,2 / 32 GB RAM / Geforce 2080 TI / 2x M2 500GB SSD / 1 TB SSD / Pimax 5k / WinWing Stick and Throttle

 

Server: [Wolfpack] Germany 93.186.198.98 Port 10308

 

IG Callsign: Fenris

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...