Hack-O-Copter

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Der Begriff Hack-O-Copter beschreibt einen Nachbau des Quadrocopters „Hubsan X4“, der er sich einfach „hacken“ lässt; die Original-Firmware kann also überschrieben und durch eigene ersetzt werden. Er wird für ca. 21€ verkauft, siehe Beitrag „Hackbarer(?) 21 EUR Quadcopter“.

Die Original-Firmware kann nicht ausgelesen werden, es muss also eine komplett neue Firmware erstellt werden.

Dieser Artikel bezieht sich auf den Nachbau von JXD Modell Nr.385: http://www.jxdtoys.com/en/

Hinweis: Der Artikel enthält Infos bis zu diesem Beitrag. Weitere Inhalte aus dem Thread werden asap ergänzt.

Beschreibung des Quadrocopters

  • Abmessungen → 8* 8*3cm (LxBxH)
  • Gewicht → Infos ergänzen
  • Lieferumfang → Quadrokopter, Fernbedienung, Handbuch
  • Reichweite → ca. 100m
  • Flugdauer und Ladezeit → ca. 7min / ca. 45min
  • Funktionen → Infos (3 Empfindlichkeiten, umdrehen, Rekalibrierung, ...) ergänzen
  • Link zur Bedienungsanleitung

Bedienung

  • Fliegen: Auf ebenen Untergrund legen, nach ein paar Sekunden blinken die LEDs er langsamer, dann den linken Steuerhebel einmal hoch und wieder runter fahren.
  • Empfindlichkeit: Mit der linken Funktionstaste lassen sich 3 empfindlichkeits Stufen einstellen. Die jeweilige Einstellung wird durch ein Piepen bestätigt.
  • Flip Funktion: Die rechten Funktionstaste betätigen und entsprechend Links / Rechts oder Vorne / Hinten auf Anschlag. Der Copter rollt in die entsprechende Richtung um die eigene Achse.
  • Sensor Kalibrieren: Auf ebenen Untergrund legen, beide Steuerknüppel nach links unten. Die LEDs blinken schnell. Steuerknüppel wieder in Neutralstellung.

Komponenten

Der Quadrocopter wird von vier kernlosen Gleichstrommotoren („Coreless DC“) angetrieben. Im Inneren des Gehäuses ist eine Platine. Ihre vergleichsweise modernen Hardware-Komponenten (Mikrocontroller, Sensoren, MOSFETs und Funkmodul) sind in den folgenden Kapiteln beschrieben.

Mikrocontroller

Der „Nuvoton Mini54ZAN“ ist ein Cortex-M0 MCU mit 16KiB Flash, 2KB SRAM und SWD. → Links zu Datenblättern ergänzen

Link zur KEIL Device-Database des Mini54ZAN: http://www.keil.com/dd/chip/6142.htm

Sensoren zur Flugstabilisierung

Für die Flugstabilisierung ist der Quadrocopter mit drei Gyroskopen und drei Beschleunigungssensoren ausgestattet. Diese sind alle zusammen im Intertialsensor „Invensense MPU-6050“ integriert. → Link zum Datenblatt

ESC

Die Ansteuerung der Gleichstrommotoren erfolgt über PWM und MOSFETs. Die verwendeten N-Kanal MOSFETs „G2310“ haben einen „Drain-Source On-Resistance“ von etwa 120mΩ.

Siehe http://www.mikrocontroller.net/attachment/193854/G2310.pdf

Funk- Transceiver

Für die 2,4GHz Funkstrecke zur Fernsteuerung ist mit einem „Beken BK2423“ integriert. Die Vermutung, dass dieser voll kompatibel zum NRF24L01 ist, liegt nahe, da der NRF24L01 die Daten der Fernbedienung empfangen kann.

HOC Fernbedienung Platine Ausschnitt2.jpeg

Pinbelegung des Controllers

MINI51ZAN QFN33-Pin Manual 3.2.2, p.16

   CPNx/CPPx = Analog comparator input    
   CPO=Analog comparator output    
   AINx= ADC input    
   CK0=Frequency divider output    
   TxEX=Timer capture/reset input  
Pin Port Primary Secondary Function understood External connection
1 P1.5 AIN5 CPP0 Partially Connected to motor ctrl circuit 4 (sense?)
2 reset YES SWD Port reset
3 P3.0 AIN6 CPN1 NC? Not connected?
4 P5.4 NC? Not connected?
5 P3.1 AIN7 CPP1 Partially Connected to motor ctrl circuit 1 (sense?)
6 P3.2 T0EX,STADC INT0 YES MPU6050, pin 12 (interrupt)
7 P3.4 SDA T0 YES MPU6050, pin 24 (SDA)
8 P3.5 SCL T1 YES MPU6050, pin 23 (SCL)
9 P3.6 T1EX,CK0 CPO0 Partially Connected to test pad
10 P5.1 XTAL2 NC? Not connected?
11 P5.0 XTAL1 NC? Not connected?
12 VSS YES VSS
13 P5.2 INT1 Partially Connected to unpopulated circuit part. Possibly be to control LEDS on left side
14 P2.2 PWM0 NC? Not connected?
15 P2.3 PWM1 NC? Not connected?
16 P2.4 PWM2 Partially Connected to Motor 1 ctrl
17 P2.5 PWM3 Partially Connected to Motor 2 ctrl
18 P2.6 PWM4 CPO1 Partially Connected to Motor 3 ctrl
19 P4.6 ICE_CLK (SWD) YES SWD Port CLK
20 P4.7 ICE_DAT (SWD) YES SWD Port Dat
21 P0.7 SPICLK YES BK2423 SPI CLK
22 P0.6 MISO YES BK2423 SPI MISO
23 P0.5 MOSI YES BK2423 SPI MOSI
24 P0.4 PWM5 SPISS Partially Connected to Motor 4 ctrl
25 P0.1 RTSn, RX SPISS YES BK2434 SPI CSN
26 P0.0 CTSn TX YES Controls rront LEDS via 10 Ohm resistors
27 P5.3 AIN0 NC? Not connected?
28 VDD YES
29 P1.0 AIN1 NO Connected to motor ctrl circuit 2 (sense?)
30 P1.2 RX AIN2 YES UART PORT RX
31 P1.3 TX AIN3 YES UART PORT TX
32 P1.4 CPN0 AIN4 Partially Connected to motor ctrl circuit 3 (sense?)
33 (Pad) YES VSS

Schnittstellen

Schnittstellen des JXD 385.jpeg

SWD-Port

Der SWD-Port ist über … herausgeführt. → Infos ergänzen

Serielle Schnittstelle

Die Anschlüsse führen zu den RX und TX Pins des MCUs. → Infos ergänzen

PIN 9

→ Infos ergänzen

I²C-Schnittstelle

→ Infos ergänzen

Programmierung neuer Firmware

Als alternative Firmware wurde von victzh das auf MultiWii basierende BradWii für den Copter portiert[1].

Die Sourcen können übersetzt und auf den Copter geflasht werden. Der Quadrocopter kann damit geflogen werden. Die Einstellungen der Regelparameter (PID-Tuning) ist noch nicht optimal. Der Quadrocopter fliegt noch nicht so stabil wie mit der original Firmware.

Momentan Bedarf es noch weitere Anpassungen der Zielhardware (JXD 385, Hubsan X4, V202). Je nach Modell ist die Unterstützung der Zielhardware unterschiedlich weit fortgeschritten (LEDs, ADC, ...)

Quellen der Firmware

Quellen:

Dokumentation:

→ Details ergänzen

Beschreibung der Toolkette

Im RCGroups Forum wurde ein Beitrag veröffentlich welcher die gesamte Toolchain erklärt:

Erklärung der Toolchain mit Youtubevideos

→ Details ergänzen

Notwendige Hardware und Software

Flash Adapter z.B.

oder ein Developmentkit von STM

Keil software/API:

→ Details ergänzen

Installation der Toolkette

→ Details ergänzen

ISP und ICD

Beschreibung der Firmware-Varianten

„Blinky“

→ Details ergänzen

Zubehör

Lade-Adapter

Schaltplan des beiliegenden Ladeadapters:

ladeanzeige.png

Auf der Platine vorgesehen sind weiter eine in Reihe zu R2 geschaltete Diode und ein Parallel zum Akku liegender Widerstand R5, welche allerdings nicht bestückt sind.

Bei vollem Akku erlischt die LED. Der vom USB-Port benötigte Strom beträgt bei leerem Akku etwa 450mA

Funkfernbedienung

Die Außenantenne ist nur „Verarsche“ ...

Fernbedienung für JD 385

→ Infos ergänzen

→ Hinweis auf Idee: Neuen Sender entwickeln

HOC Fernbedienung Platine B-Seite.jpeg HOC Fernbedienung Platine Ausschnitt.jpeg HOC Fernbedienung Platine total.jpeg HOC Fernbedienung Platine Ausschnitt2.jpeg

Schaltbild der Fernbedienung

Das Schaltbild enthält alle funktionsrelevanten Bauteile. Es fehlen noch diverse Bauteilwerte. Auch der eine oder andere Stützkondensator fehlt eventuell.

Medium:copter05.pdf

Pinbelegung des Mikrocontrollers

Pinbelegung für CPU N79E814

Pin    Name    Funktion
  1     P0.0   LCD, CS
  2     P1.7   LCD, CLK
  3     P1.6   LCD, DATA
  4     RST    Reset (10k - C)
  5     VSS    an Masse
  6     P3.1   RF-Modul, MOSI
  7     P3.0   RF-Modul, SCK
  8     P1.4   RF-Modul, MISO
  9     SDA    RF-Modul, CSN
 10     SCL    2K2 Pullup, unbestückter Schaltungsteil
 11     P1.1   LED via 1kOhm
 12     P1.0   Buzzer (via Transistor)
 13     AD6    über Widerstände an Batteriespannung vor Regler
 14     AD5    Auswertung Taster (Seite Yaw-Throttle)
 15     VDD    Versorgung
 16     AD4    Poti "Throttle"
 17     AD3    Poti "Yaw"
 18     AD2    Poti "Roll", Dämpfung mit RC Glied
 19     AD1    Poti "Pitch", Dämpfung mit RC Glied
 20     AD0    Auswertung Taster (Seite Pitch-Roll)

Pinbelegung des Sendemoduls

HOC Fernbedienung Sendemodul.jpeg

1 3.3V
2 MOSI an PIN6  MCU
3 SCK  an PIN7  MCU
4 MISO an PIN8  MCU
5 CE
6 GND
7 IRQ
8 CSN  an PIN9  MCU
9 RXEN

Protokoll

Es handelt sich um das V202 Protokoll.

Zum Channel Hopping:

  • jedes Packet wird zweimal versendet
  • es immer 16-Channel durchgehoppt (dann gehts wieder von vorne los)
  • auch das passt zur Implementierung in der Deviation firmware

Siehe auch: http://www.mikrocontroller.net/topic/309185?goto=3410375#3410373

Tipps und Tricks

Bezugsquellen und Kauf

Händler

Auflistung von Händlern die den JXD 385 führen:


Direktkauf aus China

Bei Ebay ist der JXD-385 auch unter dem Namen JD-185 zu finden, die Komponenten sind absolut identisch, der Preis liegt jedoch bei ca. 25€ inkl. Versand. Den JXD-385 findet man bei ebay seltener und er liegt bei ca. 35€.

Bilder des JD-185:

→ Infos zu Aliexpress, ebay, Einfuhrumsatzsteuer und Käuferschutz ergänzen

Lieferanten aus Europa

- Tmart.com (GB): Von einer Bestellung bei Tmart.com rate ich (Richard78) ab. Ich habe am trotz Express-Lieferung (5-7 Tage) auch 3 Wochen nach der Bestellung noch keine Waren erhalten.

- RCMaster: JXD 385 bei RCMaster

→ Infos ergänzen

Ersatzakkus

Der Original-Akku hat 240mAh und wiegt …g. Die Abmessungen sind (LxBxH) 31x20x8 mm³ → Infos ergänzen

Möglicher Ersatzakku: Turnigy nano-tech 260mAh, 21g, 32x20x7 mm³ http://hobbyking.com/hobbyking/store/__24920__Turnigy_nano_tech_260mAh_1S_35_70C_Lipo_Pack_QR_Ladybird_Genius_CP_Mini_CP_.html

Der Akku ist etwas dicker als angegeben, passt aber gut in den Copter (380mAh, ca. 2,31€, …g) → Infos ergänzen

Propeller

Beim Kauf der Propeller sollte darauf geachtet werden, Propeller für den JXD385 zu kaufen. Propeller für den Hubsan H107 sind kleiner und haben weniger Halt auf der Motorwelle.

Lieferanten:

Motoren

Achtung! Motoren vom Hubsan H107 sind nicht kompatibel, die Motorwelle des JXD 385 ist länger.


→ Infos ergänzen

Frame

Das Frame lässt sich einzlen beziehen z.b. bei www.rcmaster.net.

Den Frame kann man ein wenig Optimieren, indem man an der Rückseite oben 2 kleine Vertiefungen feilt. Durch diese können dann die Kabel geführt werde. Beim einlegen des Akkus werden diese dann nicht mehr abegedrückt.

Am der Unterseite ebenfalls hinten können von den Halterippen für den Akku, 1-2 entfernt werden. Bei Verwendung größerer Akkus erleichtert dies den Akkuwechsel.

Reduzierung der Unfallfolgen

Für den JXD 385 ist ein Schutzring verfügbar, dieser macht den Quadrokopter zwar ein wenig schwerer, was sich auf die Flugeigenschaften auswirkt. Allerdings ist die Beeinträchtigung durch das zusätliche Gewicht noch akzeptabel.

Für Anfänger oder fliegen in beengten Verhältnissen sehr zu empfehlen.

Dieser Rahmen gibt auf jeden Fall weniger Äger mit der Frau / Freundin wegen kleinen schwarzen Strichen an den Wohnungswänden :)

Der Rahmen wird von außen auf an die Motoren geklipst, Rahmen welche zwischen Motor und Rotor gesteht werden funktionieren beim JXD 385 nicht (z.b. vom H107). Jedenfalls hatte hierbei schon einen Fehlkauf.

Bezugsquelle z.B. Amazon: Guard JXD 385

Ideen für neue Funktionen

Bessere Flugstabilisierung mit bestehender Sensorik

Neue Funktionen mit GPS-Sensor

HOC GPS Groessenvergleich.jpg

→ Ideen ergänzen

Neue Funktionen mit Luftdruck-Sensor

→ Ideen ergänzen

Neue Funktionen mit Kamera

Alternativen: Keycam, Y3000, … → Infos ergänzen

Neue Funktionen mit Ultraschallsensor

→ Ideen ergänzen

Neue Funktionen mit Infrarot-Entfernungssensor

HOC IR-Entfernungsmesser-Testplatine.jpg

→ Ideen ergänzen

Neue Funktionen mit Bluetooth

→ Ideen ergänzen

Erweiterung der Original-Fernbedienung

Funkmodul mit PA + LNA

→ Details ergänzen

Erweiterung um ein Display

HOC Fernbedienung mit C0802-04.jpeg

→ Details ergänzen

Neue Funktionen mit alternativer Fernbedienung

→ Ideen ergänzen


Weiterführende Links und Quellen