Einleitung

Diese Seite enthält allgemeine wie auch detaillierte Informationen zur Jennic based Remote Control (JbRC).

Idee

Die Idee hinter dem Projekt JbRC ist eine eigens für den MikroKopter entwickelte Fernsteuerung, welche eine große Anzahl von Kanälen wie auch eine kabellose Debug-Verbindung mit integriertem Display und USB-Verbindung zum PC beinhalten soll.

Funk-Module

Allgemeines

Nach Beurteilung einer Menge an Kriterien fiel die Entscheidung auf die Jennic JN5139-M002 Module. Diese auf IEEE 802.15.4 und ZigBee basierten Module unterstützen eine weitere von Jennic zur Verfügung gestellte Layer, JenNet genannt, welche dem Entwickler eine Menge Arbeit bezüglich Netzwerk-Betrieb und Konfiguration abnimmt.
Die JN5139-Module sind relativ günstige Komplettmodule für den Betrieb in JenNet, ZigBee oder IEEE 802.15.4 Netzwerken.
Sie enthalten zusätzlich zum kompletten RF-Teil den eigentlichen JN5139 und 128kB Flash für die Anwendung.

Technische Details JN5139-M002

MCU

  • 32-Bit low-power RISC Processor with 32MIPS
  • 192kB ROM for System-Code (Bootloader, Protocol-Stack)
  • 96kB RAM
  • MAC ID on-Chip
  • AES Encryption
  • 4-Input 12bit ADC
  • 2 11bit DACs
  • 2 Comparators
  • 2 Application Timers/Counters
  • 2 UARTS
  • SPI
  • TWI
  • 19 GPIOs (21, of which 2 are not connected on High-Power modules)

Transceiver

  • 2.4GHz IEEE 802.15.4 compliant
  • 128bit AES security processor
  • MAC accelerator with packet formatting, CRCs, address check, auto-acks, timers
  • Integrated power management and sleep oscillator for low power
  • On-chip power regulation for 2.2V to 3.6V battery operation
  • Deep sleep current 0.2μA
  • Sleep current with active sleep timer 1.3μA
  • Receiver sensitivity -100dBm
  • Transmit power +19dBm

Hardware

Empfänger

Hinweis

Obwohl "Empfänger" unpassend ist (beide Einheiten senden und empfangen), wird bei dieser Bezeichnung wohl jeder vermuten, dass es sich hier um die fliegende, und beim "Sender" um die benutzerseitige Einheit handelt.

Technische Details

Der Empfänger besteht aus einem JN5139-M02 Modul und einem ATmega32, welcher die Steuerung weiterer Komponenten übernimmt
(z.B. Cam, Beleuchtung, OSD)

Anschlüsse

  • JTAG für ATmega32: Haben alle meine Prototypen
  • Extension zu FC : Signal JbRC <-> FC.UART1, Verbindung FC.Extension <-> NC.SV8

  • Extension zu NC : Verbindung FC.Extension <-> NC.SV8

  • NC Debug : NC.Debug <-> JbRC

  • OSD : NC.Debug <-> eagle_OSD, ATmega32 <-> eagle_OSD (OSD-Steuerung)

  • PORTA : ATmega32.PortA (Erweiterung)
  • I2C (JP1) : ATmega32.I2C (Erweiterung/eagle_CamControl)

Schema

attachment:eiircr.pdf
(Klicken für 2 seitiges PDF)

Sender

Technische Details

Der Sender besteht aus einem JN5139-M02 Modul und einem STM32F103 (ARM CORTEX-M3 von ST), welcher

  • Die AD-Wandlung der Stickdaten
  • Den USB-Slave Stack
  • Die Steuerung des Displays
  • Debuggen bzw. Einstellungen des Kopters ermöglicht
  • Die Daten zur kabellosen Übertragung packetiert (Steuerung Kopter, Cam, Beleuchtung, Debugging usw)

Anschlüsse

  • JTAG für STM32 : Haben alle meine Prototypen
  • PD_LOW : Port D Lower-Byte von STM32 (für Schalter etc).
  • PD_HIGH : Port D Higher-Byte von STM32 (für Schalter etc.)
  • JOY1X _1Y _2X _2Y _3X _3Y: Spannungsteiler der Joysticks (Analog)
  • AIN : Weiterer Analog-Input
  • V+ : Batterien (Versorgung, wird gemessen)
  • USB : Verbindung zum PC für Software-Updates ALLER Kopter-Komponenten, Verbindung zum KopterTool usw.

  • Beeper : Steuerausgang für Piepser (Alarme usw.)
  • Display : SPI-Schnittstelle zum 2.1" Display inkl. PWM für Backlight

Schema

attachment:eiirc.pdf
(Klicken für 6 seitiges PDF)

Software

Entwicklungsumgebungen

JN5139

Code::Blocks IDE http://www.jennic.com/support/software/

STM32

Rowley CrossStudio for ARM 2.0

ATmega32

AVR Studio

Änderungen an den FC-Sources

Hier passiert nur wenig. Mit dem DSL-Protokoll als Grundlage und einigen Makefile-Änderungen ist es möglich, die Firmware mit Unterstützung für den JN5139-Empfänger zu kompilieren, ohne groß in die Sources einzugreifen. Dieser Punkt ist erledigt, wobei die Anpassungen von neueren FC-Sources überschaubar bleiben.

Software Empfänger

JN5139

Obwohl ich ursprünglich geplant habe, eigene Software für die Jennic-Module zu schreiben, halte ich von dieser Idee nach intensiven Übungen mit den Ressourcen hierfür nicht mehr viel. Es soll Leute geben, die Code::Blocks IDE für verschiedene Systeme empfehlen, vor denen ziehe ich den Hut, doch ich habe zu große Probleme mit so ziemlich allem hier. Momentan sehe ich hier 2 Lösungen: entweder werde ich die von Jennic angebotene Wireless-Serial Software, oder aber AT-Jenie (ein serial command line interface) verwenden. Bei AT-Jenie würde die Kommunikation ausschließlich über einen UART ablaufen, wobei ein Header bestimmt, was das Modul zu tun hat.

ATmega32

Software Sender

STM32

JN5139

Siehe Software/Empfänger/JN5139

Status

Hardware

Die Prototypen wurden hergestellt und getestet.

Software

Da ich neu bin (war) im Bereich der STM32 Microcontroller, und zugleich auch noch eine Ausbildung am laufen habe, sind die Fortschritte nicht unbedingt sofort ersichtlich.

Das Konzept des ganzen Projekts ist noch nicht digital verfügbar, da es auf einem großen Stück Papier an der Wand hängt...

Momentan ist die Software für den STM32 am Entstehen. Um den Einstieg zu erleichtern, habe ich diverse Cortex-M3 Workshops besucht.

Impressum

Fragen, Ideen, Kritik bitte per Mail an: lukepatrick(at)dunwell.info