Unterschiede zwischen den Revisionen 44 und 133 (über 89 Versionen hinweg)
Revision 44 vom 08.03.2008 01:08
Größe: 11892
Autor: hoppel
Kommentar: Komplett überarbeitet !!! Puh...
Revision 133 vom 12.08.2010 23:37
Größe: 23300
Autor: Brunweil
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
||<tablewidth="200px" tablestyle="text-align: center;"bgcolor="#ffffa0">Page in [:en/FlightCtrl:english] ||
siehe auch: [:FCAufbauUnbestueckt: FC Aufbauanleitung], [:FlightCtrlAnleitung V1 1:FlightCtrl Anleitung 1.1] [:UmbauFlightCtrl:Umbau 1.0 auf 1.1], [:BL-Ctrl Anleitung:BL-Ctrl_Anleitung], ["3V Update"]

[[TableOfContents([maxdepth])]]


= Einleitung =
Die folgende Seite enthält allgemeine Informationen zur Hauptplatine des MikroKopter-Projekts, der Flight-Control.

= Die Flight-Ctrl: Was ist das? =
Die Flight-Ctrl ist die Hauptplatine des MikroKopter. Auf ihr befinden sich sämtliche Sensoren, die zum Fliegen erforderlich sind, sowie der Mikrocontroller.
(GyroScope, BeschleunigungsSensor und LuftdruckSensor).Der LuftdruckSensor ist optional und für die Grundfunktion nicht erforderlich.

Abbildung V1.0

http://mikrocontroller.cco-ev.de/images/kopter/FlightCtrl1.jpg [[BR]]
http://mikrocontroller.cco-ev.de/images/kopter/FlightCtrl_unten.jpg

[[BR]]
Abildung V1.1
TODO [[BR]]
Abildung V1.2
TODO

= Versionen =
'''Stand: 07.03.2008'''[[BR]]
Es gibt insgesamt drei Versionen der Flight-Ctrl: V1.0, V1.1, V1.2 .
Diese Unterscheiden sich minimal voneinander. Die folgende Tabelle gibt einen Überblick.

||''Element''||''FC V1.0''||''FC V1.1''||''FC V1.2''||
||Controller||ATMega 644||ATMega 644P||ATMega 644P||
||Vorbestückt||nein||ja/nein||ja||
||Verfügbarkeit||ausgelaufen||nur als unbestückt||nur als bestückt||
||Layout||nur für Handbestückung||für Maschinenbestückung||für Maschinenbestückung||
||3V-Spannungsregler||bedrahtet||bedrahtet||SMD||
||Diode||bedrahtet||bedrahtet||SMD||

Sonstiges: Ab V1.1 ist die grüne Led verändert eingebaut. Damit erkennt die Software automatisch die neuere Hardwareversion. Mit V1.1 wurde ebenfalls die Gyroverstärung verändert.
Damit wurde die Flugeigenschaften bei engen Kurven und Loopings verbessert. Desweiteren kam durch den Wechsel des Mikrocontrollers eine weitere serielle Schnittstelle hinzu (Verfügbar über die SIO-Schnittstelle).
Elektrisch gesehen gibt es somit nur kleine Unterschiede zwischen V1.0 und V1.1/V1.2 .

Bestückte und unbestückte Platinen unterscheiden sich in der Farbe:
rot - bestückt
grün - unbestückt

'''Hinweise:'''
 * Bezüglich der GyroScope gibt es verschiedene Bauformen und Versionen. Von den bedrahteten Gyros gibt es den ENBC-03JA und den ENBC-03JB. Der ENBC-03JR ist in SMD-Bauform.
Elektrisch unterscheiden sie sich nicht voneinander. Allerdings ist die innere Taktfrequenz der Gyros leicht unterschiedlich. Es sollten möglichst zwei unterschiedliche Baureihen
verwendet werden, um frequenzabhängige Störungen zu vermeiden.
 * Zur akustischen Anzeige wird ein Mikrolautsprecher verwendet. Diese enthält einen Mageten. Sollte ein Kompass integriert werden, muss der Summer möglichst weit entfernt am Rahmen
angebracht werden. Sonst beeinflusst dieser die Messung der Kompass.

= Technische Daten =
== Version V1.0 ==
 * Controller: AVR Atmel ATMEGA644 @20MHz
 * Sensoren: 3x [:GyroScope:Gyros (ENBC-03JA)], 3-Achs-Beschleunigungsssensor (LIS3L02AS4), [:Höhensensor:Luftdrucksensor (MPX4115)]
 * Statusanzeige: 2 LEDs (rot,grün), Elektromagnetischer Summer (z.B. für Unterspannung, Ortung, Funkausfall,...)
 * Ausgänge: 2 Transistorausgänge (z.B. für zusätzliche LEDs),
 * Anschlüsse: Eingang für ["RC-Empfänger"], I2C-Bus für Motor-Regler, ISP-Stecker, universeller Erweiterungsstecker (Debugging, GPS,...)
 * Sonstiges: unbenutzte Portpins auf Lötpads geführt (für eigene Erweiterungen)
 * Abmessungen: ca. 50 x 50mm
 * Gewicht (bestückt): 23g
 * weitere Komponenten extern anschliessbar
  . z.B. GPS, Datenlogger,...

== Version V1.1/V1.2 ==
 * Controller: AVR Atmel ATMEGA644P @20MHz
 * Sensoren: 3x GyroScope (ENBC-03JA,ENBC-03JB oder ENBC-03JR), 3-Achs-Beschleunigungssensor, (LIS3L02AS4), [:Höhensensor:Luftdrucksensor (MPX4115)]
 * Statusanzeige: 2 LEDs (rot,grün), Elektromagnetischer Summer (z.B. für Unterspannung, Ortung, Funkausfall,...)
 * Ausgänge: 2 Transistorausgänge (z.B. für zusätzliche LEDs),
 * Anschlüsse: Eingang für ["RC-Empfänger"], I2C-Bus für Motor-Regler, ISP-Stecker, universeller Erweiterungsstecker (Debugging, GPS,,...)
 * Sonstiges: unbenutzte Portpins auf Lötpads geführt (für eigene Erweiterungen)
 * Abmessungen: ca. 50 x 50mm
 * Gewicht (bestückt): 23g
 * weitere Komponenten extern anschliessbar
  . z.B. GPS, Datenlogger,...
  
== Abmessungen ==
Lochabstand: 45mm (63mm in der Diagonale)[[BR]]
Höhe: TODO
 
= Aufgaben =
 * Messen der Drehgeschwindigkeiten der drei Achsen
 * Messen von Beschleunigungswerten der drei Achsen
 * Messen des Luftdrucks für die Höhenstabilisierung (Optional)
 * Auswerten eines digitalen Kompass-Signals (Optional, externes Navi-Ctrl bald verfügbar)
 * Messen der Batteriespannung mit Unterspannungserkennung
 * Auswerten des Fernbedinungssignals (RC-Signal)
 * Verarbeiten der Sensordaten und Berechnung der aktuellen Fluglage
 * Ansteuern der vier BL-Regler zur Motoransteuerung

= Auswahl der Bauelemente =
== Mikrocontroller ==
Die Kriterien bei der Auswahl des Controllers waren:
 * ausreichende Performance
 * gute Verfügbarkeit
 * geringer Preis
 * gut zu löten
 * kostenlose Entwicklungssoftware verfügbar

 Deshalb fiel die Wahl auf einen ATMega 644(P)
 
== GyroScope ==
Die GyroScope (Gyros) messen die Winkelgeschwindigkeit (Drehgeschwindigkeit) um jeweils eine Achse. Es werden drei dieser Sensoren benötigt,
um alle drei Achsen zu stabilisieren. Diese Sensoren sind die elementarsten Bauelemente. (--> GyroScope)
Die Gyros arbeiten intern mit einer Frequenz. Gleicher Index = gleiche Frequenz. Damit Gyros auf engen Raum keine "Schwebungen"
durch Frequenzmischung erzeugen, kann man Gyros unterschiedlicher Frequenzen verwenden, z.B. Typ A + Typ B.

Beim MikroKopter ist designbedingt keine Beeinflussung nachweisbar. Deswegen geht auch 3x A, oder 3x B, bzw. 3x C. Ideal wäre 1x A, 1x B, 1x C.
Der A-Typ arbeitet mit 22kHz und der B-Typ mit 24kHz.

 * ENC-03RA und ENC-03RB der SMD-Typ mit 8x4mm der gerade einmal 0,2g wiegt
 * ENC-03MA und ENC-03MB mit 12,2x7mm mit 0,4g
 * ENC-03JA und ENC-03JB mit 15,44x8mm mit 1g

== Beschleunigungs-Sensor (ACC-Sensor) ==
Die Hauptfunktion der Beschleunigungssensoren ist, die aktuelle Neigung des !MikroKopters zu messen und die Höhenregelung zu unterstützen.
Hier wird ein Drei-Achsen-Sensor verwendet. Theoretisch kann auf diese Sensoren verzichtet werden, wenn der Quadrokopter im sog. Heading-Hold-Modus (TODO: Link)
betrieben werden soll.
Weitere Informationen: BeschleunigungsSensor

== Luftdrucksensor ==
Er dient zur Stabilisierung der Flughöhe. Dieser Sensor ist optional. Die Drucköffnungen können mit Klebeband abgeklebt werden,
in das mit einer kleinen Nadel ein kleines Loch gestossen wird. Das schützt vor Wind und Licht. (--> LuftdruckSensor)
 
= Schnittstellen =
== PPM-Anschluss ==
Hier wird der Empfänger angeschlossen. Über zwei Leitungen wird der Empfänger versorgt und über die dritte liefert er das RC-Summensignal zurück.
Im Gegensatz zu einem normalen Servo-PPM-Signal sind in dem Summensignal alle von der Fernbedienung gesendeten Kanäle enthalten.
In jedem Empfänger ist dieses Signal vorhanden, allerdings liefern nur wenige dieses Signal zum direkten Abgriff an einen Stecker
(z.B. der RX3 Multi von ACT). (--> ["RC-Empfänger"])

== I2C-Bus ==
An diesem Bus werden die BL-Regler angeschlossen, über den sie die Steuerbefehle erhalten. Die Flight-Ctrl erfordert unseren
speziellen [:BrushlessCtrl:Brushless-Motor-Regler], damit eine schnelle Kommunikation per I2C-Bus möglich ist. Standard-Motor-Regler
können '''nicht''' verwendet werden, weil sie zu langsam angesteuert werden können sind. Der I2C-Bus verfügt über eine
Taktleitung (SCL) und eine Datenleitung (SDA). Im Bus werden alle SCL-Leitungen und alle SDA-Leitungen miteinander verschaltet.

== Serielle Schnittstelle (SIO) ==
Hier wird zum Testen und Parametrieren z.B. ein PC angeschlossen. Der Pegel ist TTL-Pegel und nicht V24. Aus diesem Grund muss ein Schnittstellenkonverter
angeschlossen werden, falls mit der Seriellen Schnittstelle des PCs kommuniziert werden soll. Später kann diese Schnittstelle auch zur
Kommunikation (asynchron) mit anderen Controllern verwendet werden.

== ISP-Schnittstelle (synchron) ==
Der ATMEL-Controller wird darüber mittels eines ISP-Interfaces programmiert. Später kann diese Schnittstelle auch zur
schnellen Kommunikation (synchron Seriell) mit anderen Controllern verwendet werden.

== Kompass-Anschluss ==
Ein digitaler Kompass kann an den PC4-Eingang des universellen Steckers angeschlossen werden. Weitere Hinweise:
TODO: Link

= Aufbau =
Der Aufbau ist abhängig, ob die Platine bestückt oder unbestückt ist. Bei der bestückten Version müssen nur zwei Kondensatoren, ein Schalter, die Stiftleisten sowie
die Kabel aufgelötet werden. Die Software ist bereits aufgespielt. Weitere Informationen sind hier zu finden:[[BR]]
TODO: FCAufbauBestückt

Der Aufbau der unbestückten Platine ist dauert länger und ist fehleranfälliger, allerdings auch Kostengünstiger. Und man lernt die Platine, den Aufbau und die Funktion besser kennen.
Es lohnt sich also für die technisch Interessierten. Der genaue Aufbau wird hier beschrieben:[[BR]]
TODO: FCAufbauUnbestueckt

= Verkabelung =
Zum Thema verkabelung gibt es eine eigene Wiki-Seite: [[BR]]
ElektronikVerkabelung

= Schaltpläne =
||<tablewidth="200px" tablestyle="text-align: center;"bgcolor="#ffffa0">{{http://mikrokopter.de/images/deu.gif}} Seite in [[FlightCtrl|deutsch]] ||

<<TableOfContents>>

= Introduction =
Cette page contient des informations généralistes sur la carte électronique principale du projet MikroKopter : la Flight-Control.

= La Flight-Ctrl: c'est quoi? =
La Flight-Ctrl est la carte mère du MikroKopter. Elle est équipée de plusieurs capteurs indispensables au vol, ainsi qu'un microcontrôleur.


([[GyroScope|gyroscopes]], [[BeschleunigungsSensor|accéléromètres]] et [[LuftdruckSensor|altimètre]]). L'altimètre est en option, et n'est pas nécessaire pour les fonctions de base.
||<tablewidth="200px"style="TEXT-ALIGN: center">Version V1.0 ||<style="TEXT-ALIGN: center">Version V1.3 ||<style="TEXT-ALIGN: center">Version V2.0 ||
|| {{http://mikrocontroller.cco-ev.de/images/kopter/FlightCtrl1.jpg}} || {{https://www.mikrocontroller.com/images/FlightCtrlV1_3.jpg}} ||[[http://gallery.mikrokopter.de/main.php/v/tech/FCMETOP.jpg.html?g2_imageViewsIndex=2|{{http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=42251&g2_serialNumber=2}}]]||
|| {{http://mikrocontroller.cco-ev.de/images/kopter/FlightCtrl_unten.jpg}} ||[[http://gallery.mikrokopter.de/main.php/v/tech/fc_1_3_unten2.jpg.html|{{http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=18551}}]]||[[http://gallery.mikrokopter.de/main.php/v/tech/FCMEBEST.jpg.html?g2_imageViewsIndex=2|{{http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=42140&g2_serialNumber=2}}]]||
|| || ||[[http://gallery.mikrokopter.de/main.php/v/tech/fc-me-seite.jpg.html?g2_imageViewsIndex=2|{{http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=33177&g2_serialNumber=2}}]]||


 . <<BR>>

= Versions =
Il existe 5 versions de la Flight-Ctrl : V1.0, V1.1, V1.2, V1.3 et V2.0 (ME). il n'y a eu que des modifications mineures entre les versions 1.0 à 1.2.<<BR>><<BR>>

Les version pré-équipées [[http://fr.wikipedia.org/wiki/Composant_mont%C3%A9_en_surface|CMS]] et non pré-équipées [[http://fr.wikipedia.org/wiki/Composant_mont%C3%A9_en_surface|CMS]] se différencient essentiellement par leur couleur:
 . Rouge - pré-équipée
 . Vert - non pré-équipée ( la carte est livrée nue )

<<BR>>'''On trouvera [[Ctrl_History|ici]] un historique détaillé des versions de la Flight-Ctrl.. (Mise à jour au 25/03/2008)'''

== Données techniques ==
=== Version V1.0 ===
 * Controlleur: AVR Atmel ATMEGA644 @20MHz
 * Capteurs: 3x [[GyroScope|Gyros (ENBC-03JA)]], Accéléromètre 3 axes (LIS3L02AS4), [[Höhensensor|altimètre (MPX4115)]]
 * Affichage d'état: 2 LEDs (rouge,verte), Buzzer (Pour alerte de fin de batterie,localisation, perte d'émetteur,etc...)
 * Sorties: 2 sorties transistorisées (par ex: Pour des LEDs supplémentaires),
 * Connectique: Entrée pour le ["RC-Empfänger":récepteur], bus I2Cs pour les controleurs BL, prise ISP, Prise d'extension universelle (Debuggage, GPS,...)
 * Divers: Présences de connecteurs pin et de pistes non utilisées (en prévision d'extensions)
 * taille: 50 x 50mm
 * poids (pré-équipé): 23g
 * Possibilité de raccorder des modules externes :
  . exemple: GPS, Datalogger,...
 * possibilité d'[[UmbauFlightCtrl|évolution vers v1.1]].
=== Version V1.1/V1.2 ===
(Liste des différences)

 * Controleur: AVR Atmel ATMEGA644P @20MHz
 * Capteurs: 3x GyroScope (ENBC-03JA,ENBC-03JB ou ENBC-03JR)
=== Version V1.3 ===
(Liste des différences)

 * Ajustement automatique des gyros, c'est à dire,plus besoin d'ajuster les résistances à la main.
 * Composants rassemblés sur la même face. La Flight-Ctrl sera plus mince.
 * Les pads pour les connexions externes ( alimentation, I2C,etc..) sont élargis
 * En option: On peut installer un 2eme régalateur de tension 7805 pour l'alimentation de servos ( ex: Servo de Tilt pour la caméra, installation comme le 1er 7805,dissipateur vers l'extérieur,non inclu dans la livraison)
 * Connexion des Servo et lumière supplémentaire par broches.
 * Accéléromètre plus récent( plus compatible)
 * Conception à 4 couches de pistes.
 * /!\ Les transistors PDTC143 situés sur les sorties de commutation SV2 de la version 1.3 ne peuvent délivrer que 100mA! Cela correspond par exemple à une 1/2 barre de LED ( 3 pièces de la barre de 2x3 LED )

=== Variante ME ===
 * voir [[FlightCtrl_ME|FlightControl ME]]
 * A considérer comme une version développée en parallèle de la version 1.3, et non pas comme une évolution de cette dernière.
 * gyroscopes de grande qualité, technologie MEMS, du fabricant Analog Devices.
 * 5 sorties servo.
 * Un régulateur de tension de type RECOM est inclus dans la livraison.
 * En option : Possibilité d'installer un 2eme régulateur de tension pour alimenter les servos ( non inclu dans la livraison )
 * Connexion des Servo et lumière supplémentaire par broches.
 * Conception à 4 couches de pistes.
== Conseils ==
 * Il existe plusieurs versions et apparences en ce qui concerne les gyroscopes. Les ENBC-03JA et ENBC-03JB sont sous forme traversante. Le ENBC-03JR est sous forme [[http://fr.wikipedia.org/wiki/Composant_mont%C3%A9_en_surface|CMS]].Ils ne se différencient pas électriquement l'un de l'autre.Toutefois,il y a une petite différence de fréquence interne, mais ça ne dérange pas.
 * On utilise un micro-hautparleur(buzzer) pour la signalisation auditive.Ce dernier contient un aimant. Si on installe un compas magnétique,il faut éloigner le buzzer autant que possible.Dans le cas contraire,il va perturber les mesures du compas.
== Taille ==
Circuit imprimé: 50*50 mm

Entraxe des trous de fixation: 45mm (63mm en diagonale)<<BR>> hauteur: TODO
== Importance des différences entre la FC1.3 et la FC2.0ME ==
 * La version ME utilise des gyroscopes de qualité supérieur. Il n'y a plus de dérive due à la température , il n'est donc plus nécessaire p.e. de re-calibrer après le refroidissement du MK. De la même façon, des utilisateurs ont rapportés sur le forum, avec la version antérieure des dérives due au passage de l'ombre à la lumière solaire, de se fait le vol est plus stable avec la 2.0ME.
 * la ME peut contrôler 5 servo contre seulement1 auparavant
 * Quelques avis (en allemand): http://forum.mikrokopter.de/topic-post177790.html

= Fonctions =
 * Mesure de la vitesse de rotation angulaire sur 3 axes.
 * Mesure de la vitesse de translation sur 3 axes.
 * Mesure de la pression de l'air pour un controle actif de la hauteur ( en option )
 * Mesure de la tension délivrée par l'accu, avec reconnaissance de fin de batterie.
 * Evaluation du signal de la radio.
 * Recalcul des données des capteurs, et évaluation de l'assiette à l'instant T.
 * Pilotage des 4 moteurs via les controleurs BL .

= Choix des composants =
== Microcontroleur ==

Le choix du controleur a été déterminé par les critères suivants:
 * Performances suffisantes.
 * Bonne disponibilité
 * Prix attractif
 * facile à souder.
 * Logiciel de développement gratuit.
Le choix a donc porté sur un ATMega 644(P).

== Gyroscope ==
Les [[GyroScope|gyroscopes]] mesurent la vitesse de rotation angulaire sur un axe. Il faut 3 de ces capteurs pour stabiliser les 3 axes. Ces capteurs sont des composants élémentaires. Les gyroscopes fonctionnent avec une fréquence interne. Même repérage = Fréquence identique. Pour que les gyro ne se perturbent pas mutuellement de part leur installation à proximité les uns des autres,on peut utiliser des gyros ayant des fréquences différentes,par exemple : des types A et des types B.

On a pu démontrer que la conception du MK annulait les effets indésirables. On peut donc utiliser 3x A, ou 3x B, et/ou 3x C. L'idéal serait 1x A, 1x B, 1x C. Le type A fonctionne à 22kHz et le B à 24kHz.

 * ENC-03RA et ENC-03RB de type CMS, 8x4mm. pèse 0,2g pièce.
 * ENC-03MA et ENC-03MB ,12,2x7mm, 0,4g
 * ENC-03JA et ENC-03JB ,15,44x8mm, 1g

== Accéléromètre (ACC-Sensor) ==
la fonction principale des accéléromètre consiste à mesurer l'inclinaison à l'instant T du MK,et à gérer le contrôle de la hauteur. On utilise ici un capteur 3 axes. En théorie, on peut se passer de ces capteurs quand on veut piloter en mode HH ( mode conservateur d'assiette).
[[BeschleunigungsSensor|Plus d'informations]]

== Capteur de pression ==
Il est utilisé pour gérer le maintient d'altitude. Ce capteur est optionnel. Le tube de capture de la pression peut-etre fermé avec un autocollant qu'on percera d'un petit trou avec une épingle. Ce bricolage offre une protection contre le vent et la lumière. ( voir [[LuftdruckSensor|Capteur de pression]] )


= Interfaces =
== Connexion PPM ==
On connecte le récepteur à cet endroit. Le récepteur est alimenté par deux câble,et le 3eme câble délivre le signal PPM sommé (ou multiplexé ) en retour.
A l'inverse d'un signal PPM envoyé à un servo, le signal sommé contient toutes les voies émises par la radiocommande. Ce signal est présent dans chaque récepteur, mais seule une petite partie de ce signal est exploitée en interne, sur les prises servo du récepteur.(ex: le RX3 multi de ACT ).( voir [[RC-Empfänger|Récepteurs]] )

== Bus I2C ==
On connecte les contrôleurs BL sur ce bus qui véhicule les ordres de pilotage.
L'installation d'une Flight-Ctrl nécessite d'utiliser nos [[BrushlessCtrl|contrôleurs BL]] spéciaux, afin que la communication s'effectue rapidement via le bus I2C.
Des contrôleurs BL standards ne peuvent '''pas''' être utilisés, parce qu'ils ne peuvent pas être pilotés assez rapidement.
Le bus I2C est composé d'un fil d'horloge ( SCL ) et d'un fil de données ( SDA ). Tous les fils SCL et SDA sont respectivement connectés ensembles.

== Interface Série ( SIO ) ==
Elle est utilisée pour réaliser des tests et le paramétrage en la raccordant par exemple à un PC. Les tensions utilisées sont du niveau TTL ( 0/+5V ) et non pas V24 ( -10/+10V ). Il faut donc utiliser un convertisseur d'interface si on veut communiquer avec l'interface série d'un PC.
On pourra utiliser cette interface plus tard pour une communication asynchrone avec d'autres contrôleurs. C'est ce qu'on fait normalement avec le SerCon.

== Interface ISP ( synchrone ) ==
Le contrôleur ATMEL est programmé au moyen d'une interface ISP. On pourra utiliser plus tard cette interface pour une communication rapide ( synchrone en série ) avec d'autres contrôleurs. Le Sercon est utile dans ce contexte.

== Raccordement du compas ==
On peut raccorder un compas numérique sur l'entrée PC4 du connecteur universel.
Plus de conseils :TODO: Link

= Montage =
Le montage va différer selon qu'on a un circuit imprimé pré-équipé [[http://fr.wikipedia.org/wiki/Composant_mont%C3%A9_en_surface|CMS]] ou non.
Avec la version prééquipée,il suffit d'y souder encore 2 condensateurs, un interrupteur, des brochages et des câbles. Le firmware est déja installé. Plus d'informations [[FCAufbauBestueckt|ici]]

= Câblage =
Il existe une [[ElektronikVerkabelung|page spécifique au câblage]]

= Schéma électrique =
Zeile 168: Zeile 150:
[[ImageLink(FlightCtrl_Schaltplan_kl.gif,attachment:FlightCtrl_Schaltplan.gif)]]

(Klicken für hohe Auflösung) [[BR]] [[BR]]

!FlightCtrl V1.1:

[[ImageLink(FlightCtrl_V1_1_Schaltplan_klein.gif,attachment:FlightCtrl_V1_1_Schaltplan.gif)]]

(Klicken für hohe Auflösung) [[BR]]


 
= Software =
Die Software ist für alle Versionen geschrieben. Die Hardwareversionen werden anhand der Polarität der roten (???) LED erkannt.[[BR]]
Download der Hexfiles und des Quellcodes: [http://svn.mikrokopter.de/mikrowebsvn/listing.php?repname=FlightCtrl&path=%2Ftags%2F&rev=0&sc=0 SVN-System]

= Einbau =
Der Pfeil auf der einen Ecke der Platine zeigt in Flugrichtung. Dementsprechend muss die Platine in den Rahmen eingebaut werden. Zur Befestigung haben sich Stehbolzen
aus Kunststoff bewährt. Sie isolieren die Platine gegen den Rahmen und verhindern somit Kurzschlüsse und Störungen.

TODO: Bild


= Allgemeine Sicherheitshinweise: =
Wir garantieren nicht für fehlerfreies Verhalten der Elektronik oder Software. Trotz sorgfältiger Erstellung und Überprüfung,
übernehmen wir keinerlei Garantie oder Haftung (direkter oder indirekter Art) für die Fehlerfreiheit der Software, der Hardware
oder Informationen. Sie benutzen die Elektronik auf eigene Gefahr (dies gilt auch für dazugehörige PC-Programme). Weiterhin übernehmen
wir keinerlei Haftung für Folgeschäden an Sachwerten oder Personen, die durch Anwendung entstehen. Es liegt in ihrer Verantwortung,
einen vollständigen Systemtest durchzuführen.

Der MikroKopter ist kein Kinderspielzeug! Dafür ist er zu teuer und zu gefährlich. Nicht über Personen fliegen!
Eine Modellbauversicherung sollte auf jeden Fall vor dem ersten Flug abgeschlossen werden, weil die meisten Haftpflichtversicherungen
nicht die Schäden abdecken, die durch Flugmodelle entstehen können.

= Nutzungsbedingungen =
Es gilt für das gesamte MikroKopter-Projekt (Hardware, Software und Dokumentation), dass eine Nutzung (auch auszugsweise) nur für
den privaten (nicht-kommerziellen) Gebrauch zulässig ist. Sollten direkte oder indirekte kommerzielle Absichten verfolgt werden, ist mit
uns Kontakt bzgl. der Nutzungsbedingungen aufzunehmen.
{{attachment:FlightCtrl/FlightCtrl_V1_1_Schaltplan_klein.gif}}

!FlightCtrl V1.1/1.2:

{{attachment:FlightCtrl/FlightCtrl_V1_1_Schaltplan_klein.gif}}

[[attachment:FCAufbauUnbestueckt/FlightCtrl_V1_2.pdf|Schéma de câblage et d'implémentation des composants pour V1.2,format PDF]]

[[attachment:FCAufbauUnbestueckt/Flight-Ctrl_1_2.txt|Liste des composants V1.2,format texte]]
<<BR>>

!FlightCtrl V1.3:

{{attachment:FlightCtrl/FC_V1_3_klein.gif}}


[[http://www.mikrokopter.de/files/Flight-Ctrl_1_3_doku.pdf|Schéma de câblage et d'implémentation des composants pour V1.3,format PDF]]

[[http://www.mikrokopter.de/files/Flight-Ctrl_1_3.txt|Liste des composants V1.2,format texte]]
<<BR>>

!FlightCtrl V2.0 "ME:

{{attachment:FlightCtrl/FlightCtrl_V2_0_Schaltplan_klein.png}}

[[http://www.mikrokopter.de/files/Flight-Ctrl_ME_2_0_doc.pdf|Schéma de câblage et d'implémentation des composants pour V2,format PDF]]

!FlightCtrl V2.1 "ME:

[[http://mikrocontroller.com/files/Flight-Ctrl_ME_2_1f.pdf|{{http://www.mikrokopter.de/ucwiki/FlightCtrl?action=AttachFile&do=get&target=FlightCtrl_V2_0_Schaltplan_klein.png}}]]


= Firmware =
Le firmware est écrit pour toutes les versions. On reconnait la version matérielle à la polarité de la LED rouge ( LED2). Avec la version 1.0, l'anode de la LED rouge est connectée directement à l'AVR,alors que c'est la cathode avec la version 1.1.<<BR>>

Téléchargement des fichiers binaires et du code source : [[http://svn.mikrokopter.de/mikrowebsvn/listing.php?repname=FlightCtrl&path=/tags/&rev=0&sc=0|SVN-System]]

<<Anchor(SWDev)>>
= Développement logiciel =
Le téléchargement et la compilation d'un fichier source issu du SVN est expliqué ci-dessous:

== Sous Windows ==
Pour pouvoir le compiler soi-même,il faut d'abord déposer sur un PC local le projet complet,en incluant toutes les données.
La procédure ci-dessous permet d'effectuer la compilation:

1. Télécharger et installer [[http://downloads.sourceforge.net/winavr/WinAVR-20060421-install.exe?use_mirror=mesh|WinAVR (LIEN)]].(Toutes les versions plus récentes que WinAVR-20060421 montrent des pertes de performance) Voir aussi (en allemand)[[http://forum.mikrokopter.de/topic-post124526.html|Forum]].

2. Télécharger et installer un des clients [[Subversion]],par exemple le client Subversion [[http://tortoisesvn.net/downloads|Tortoise (LIEN)]]."Subversion" (raccourci: SVN) est un programme de contrôle et de suivi des versions, qui permet d'aider à l'administration des versions du code source quand plusieurs personnes travaillent dessus,comme c'est le cas ici.Vous trouverez plus d'info sur Subversion dans le Wikipedia, [[http://fr.wikipedia.org/wiki/Subversion_%28logiciel%29|Subversion (Lien)]] ou ici [[http://subversion.tigris.org|Site Web du projet Subversion(page en anglais)]]

Après avoir installé ces 2 programmes, il faut configurer "Tortoise". Le plus simple pour accéder "Tortoise",et de l'activer depuis le menu contextuel de l'explorateur windows ( choisir un fichier ou un répertoire, et clic droit.).

Pour pouvoir faire un check des fichiers sources les plus récents du projet SVN Mikrokopter,il faut indiquer à "Tortoise" où ils se trouvent, et où les données devront être stockées sur votre PC. On ne doit le faire qu'une fois.Plus tard, il suffira de cliquer sur "SVN Update" pour récupérer les nouveaux sources sur le PC.

Depuis l'explorateur windows, cliquez à l'aide du clic droit sur le répertoire/emplacement où vous voulez que le SVN-repository fasse son check. ( c'est dans cet endroit que seront descendues les données depuis le serveur.Exemple : "C:\MK-SVN" ) Cette action va ouvrir le menu contextuel,et on y voit des items comme par exemple "SVN checkout..", "TortoiseSVN".On choisi ici l'option "SVN Checkout", ce qui ouvre une boite de dialogue dans laquelle certaines informations sont demandées.
a) Ou se trouve le repository du SVN ?
b) A quel endroit local faut-il y déposer ?

La réponse à a) est la source du Flight-Ctrl, qui se trouve à cet endroit :
{{{
http://mikrocontroller.cco-ev.de/mikrosvn/FlightCtrl/}}}
On saisit donc cette réponse à la question: "URL of repository".

La réponse à b) , c'est un endroit du disque local, par exemple:
{{{
C:\MKSVN\FlightCtrl}}}
Et on mettra donc cette réponse à "Checkout directory".

Les 2 cases à cocher restent décochées, l'option sur "HEAD Revision" reste inchangée.
Cliquez alors sur "OK", il sera demandé si le répertoire local doit être créé, ce qu'on confirmera. Après quoi,le SVN complet "Flight-Control" va être copié sur le disque local,ce qui peut durer un moment suivant le débit de votre connexion internet. On peut également choisir un projet spécifique.
Après que la copie soit terminée, on trouvera une copie complète de tous les fichiers du projet "Mikrokopter FlightCtrl SVN" dans le répertoire "C:\MKSVN\FlightCtrl".

Si quelqu'un fait des modifications dans le SVN "Mikrokopter !FligthCtrl", alors il suffit de d'appeler le menu contextuel de l'explorateur depuis "C:\MKSVN\FlightCtrl", et de choisir "SVN Update".Toutes les modifications seront alors rapportées en local.
'''ATTENTION avec l'option "SVN Commit"''' : Avec cette option, on rapporte vers le projet central les modification qu'on a effectué en local.

1. L'upload ne fonctionne que si on donne un user/password issu du forum. Il ne suffit donc pas de cliquer dessus par erreur.

2. L'auteur peut bloquer plus ou moins partiellement ses données. Elle ne peuvent pas être modifiées par quelqu'un d'autre. Le but d'un tel système de gestion du code source est de permettre à plusieurs programmeurs de travailler sur le code.

Le même principe est appliqué au SVN "Mikrokopter BL-CTRL". Voici le chemin :
{{{
http://mikrocontroller.cco-ev.de/mikrosvn/BL-Ctrl/}}}

Et en local, par exemple :
{{{
C:\MKSVN\BL-CTRL}}}


On récupère le projet SVN "Mikrokopter Projects" avec ce chemin:
{{{
http://mikrocontroller.cco-ev.de/mikrosvn/Projects/}}}

Et en local, par exemple :
{{{
C:\MKSVN\Projects}}}

On continue maintenant avec la compilation, ce qui ne nécessite que quelques clics.
Pour compiler, on démarre le "Programmers Notepad" qui a été installé avec "WinAVR".
Dans "Programmers Notepad", cliquer sur "File -> "Open Project(s)..." ,puis sélectionner les données sources du projet que l'on veut compiler.

Admettons que l'on veut compiler les sources de Jokos, alors on choisit:
{{{
C:\MKSVN\FlightCtrl\branches\Flight-Ctrl_V0_xx_GPS_Joko\Quellen_Flight-Ctrl_V0_68d_4_GPS_CMPS_MM3FP_FREEUART\flight.pnproj}}}

Depuis le "Programmers Notepad", dans le menu "Tools" , il faut selectionner "Make Clean" puis "Make All" . Après quoi, la compilation se finit et on devrait trouver ceci dans la fenêtre "Output" (en bas de l'écran):

{{{
Errors: none
kore-------- end --------}}}

Le nouveau fichier binaire est alors disponible. Les binaires sont généralement générés dans le répertoire racine du projet,et pour certains sources, il peuvent se trouver dans un sous-répertoire comme par exemple "Hex-Files".
Si on n'est pas sûr, il faut vérifier la date des fichiers. L'option "Make Clean" fait le ménage dans le répertoire source des fichiers temporaires générés pendant la compilation. Le fichier binaire est donc conservé.

Il faut utiliser un AvrDude patché pour uploader le fichier compilé dans la FC.

== sous Linux ==
Avant de commencer, il faut savoir qu'on a besoin du compilateur "avr-gcc".
Sur les linux basés sur Debian, comme Ubuntu, on l'installe avec cette commande:
{{{
apt-get install gcc-avr avr-libc}}}

. On utilise AvrDude pour envoyer le fichier compilé ELF via le Sercon. La version actuelle de AvrDude sous Debian ne le permet pas. On doit d'abord compiler sa propre version de AvrDude. Ceci est expliqué [[AvrDude|ici]]

On peut également compiler le code source du Mikrokopter:

{{{
svn co http://mikrocontroller.cco-ev.de/mikrosvn/FlightCtrl }}}
Cette commande rapporte les sources sur le disque dur. Si on ne veut que la version la plus récente, alors il suffit de passer cette commande:

{{{
svn co http://mikrocontroller.cco-ev.de/mikrosvn/FlightCtrl/tags/<Versionsnumber> }}}
"Versionsnumber" étant la version la plus récente ( par exemple : V0.71h)

"Subversion" (raccourci: SVN) est un programme de contrôle et de suivi des versions, qui permet d'aider à l'administration des versions du code source quand plusieurs personnes travaillent dessus,comme c'est le cas ici.Vous trouverez plus d'info sur Subversion dans le Wikipedia, [[http://fr.wikipedia.org/wiki/Subversion_%28logiciel%29|Subversion (Lien)]] ou ici [[http://subversion.tigris.org|Site Web du projet Subversion(page en anglais)]]

La commande {{{svn co}}}(Subversion checkout) s'assure de mettre à disposition sur le disque local une copie locale du code source du FlightCtrl.

Quand la copie du SVN est terminée, il suffit de se positionner dans le répertoire du code source que l'on veut compiler, et de taper la commande {{{make}}}

Ceci génère un fichier ELF. On ne peut le transférer vers le MK qu'avec AvrDude.

Si on rencontre l'erreur ci-dessous pendant le "make" (Ubuntu 8.10 intrepid):

{{{
uart.c: In function ‘__vector_20’:
uart.c:133: warning: asm operand 0 probably doesn’t match constraints
uart.c:133: error: impossible constraint in ‘asm’
}}}
Alors il faut regarder le fichier /usr/avr/include/avr/wdt.h , rechercher {{{#define wdt_enable(value)}}} et après la ligne ci-dessous
{{{
|| defined(__AVR_ATmega644__) \
}}}
Il faut renseigner ceci:
{{{
|| defined(__AVR_ATmega644P__) \
}}}

= Installation =
La flêche dans un coin du circuit imprimé montre la direction de vol. La Flight-Ctrl doit donc être installée dans le châssis en respectant cette flêche.

Les boulons en plastique ont fait leur preuve pour la fixation du circuit imprimé. Ils isolent le circuit imprimé du châssis,et empêchent ainsi les court-circuits et les perturbations.


= Recommandations concernant la sécurité: =
Il n'y a pas de garantie contre un vice sur le soft ou l'électronique. Malgré des tests, et le soucis d'une mise en oeuvre correcte, nous ne sommes pas responsable ni directement ni indirectement des défauts du soft, du hardware ou des informations. Vous utilisez l'electronique à vos propres risques (ceci inclue les programmes sur PC ).
De la même façon, nous ne sommes pas responsable des dégats aux personnes et au matériel qui pourraient survenir.Il est de votre responsabilité d'effectuer des tests complets.

Le MK n'est pas un jouet pour enfants !! Il est trop cher est dangereux pour ça. Ne survolez pas le public! Une assurance modélisme est prescrite ( et même juridiquement obligatoire en Allemagne ). Les assurances immobilières ne couvrent pas les dégats occasionnés par les modèles réduits ( En Allemagne en tout cas )
En France, il faut vous renseigner auprès de votre assureur pour savoir si vous êtes couvert. Dans le cas contraire, rapprochez vous d'un club affilié à la FFAM.

= Conditions d'utilisation =
L'ensemble du projet MikroKopter ( Hardware, Software, documentation ) est destiné à un usage privé et non commercial. L'utilisation du projet dans un usage commercial, de façon directe ou indirecte est soumise à condition.Merci de nous contacter dans ce cas.


= Liens utiles =
 * [[FCAufbauUnbestueckt|Manuel de montage de la FC "nue"]]
 * [[FCAufbauBestueckt|Manuel de montage de la FC "prééquipées CMS"]]
 * [[Ctrl_History|Historique des versions]]
 * [[UmbauFlightCtrl|Evolution de 1.0 auf 1.1]]
 * [[BL-Ctrl_Anleitung|Guide BL-Ctrl]]
 * [[3V_Update]]
 * MikroKopterEinstieg
 * NaviCtrl
 * [[Umbau1.1auf1.3]]
 * [[UmbauME|Evolution 1.2 auf ME (2.0)]]
Zeile 209: Zeile 336:
----
KategorieAnleitung KategorieFrench

https://mikrokopter.de/images/deu.gif Seite in deutsch

Introduction

Cette page contient des informations généralistes sur la carte électronique principale du projet MikroKopter : la Flight-Control.

La Flight-Ctrl: c'est quoi?

La Flight-Ctrl est la carte mère du MikroKopter. Elle est équipée de plusieurs capteurs indispensables au vol, ainsi qu'un microcontrôleur.

(gyroscopes, accéléromètres et altimètre). L'altimètre est en option, et n'est pas nécessaire pour les fonctions de base.

Version V1.0

Version V1.3

Version V2.0

http://mikrocontroller.cco-ev.de/images/kopter/FlightCtrl1.jpg

https://www.mikrocontroller.com/images/FlightCtrlV1_3.jpg

http://gallery.mikrokopter.de/main.php/v/tech/FCMETOP.jpg.html?g2_imageViewsIndex=2

http://mikrocontroller.cco-ev.de/images/kopter/FlightCtrl_unten.jpg

http://gallery.mikrokopter.de/main.php/v/tech/fc_1_3_unten2.jpg.html

http://gallery.mikrokopter.de/main.php/v/tech/FCMEBEST.jpg.html?g2_imageViewsIndex=2

http://gallery.mikrokopter.de/main.php/v/tech/fc-me-seite.jpg.html?g2_imageViewsIndex=2


Versions

Il existe 5 versions de la Flight-Ctrl : V1.0, V1.1, V1.2, V1.3 et V2.0 (ME). il n'y a eu que des modifications mineures entre les versions 1.0 à 1.2.

Les version pré-équipées CMS et non pré-équipées CMS se différencient essentiellement par leur couleur:

  • Rouge - pré-équipée
  • Vert - non pré-équipée ( la carte est livrée nue )


On trouvera ici un historique détaillé des versions de la Flight-Ctrl.. (Mise à jour au 25/03/2008)

Données techniques

Version V1.0

  • Controlleur: AVR Atmel ATMEGA644 @20MHz
  • Capteurs: 3x Gyros (ENBC-03JA), Accéléromètre 3 axes (LIS3L02AS4), altimètre (MPX4115)

  • Affichage d'état: 2 LEDs (rouge,verte), Buzzer (Pour alerte de fin de batterie,localisation, perte d'émetteur,etc...)
  • Sorties: 2 sorties transistorisées (par ex: Pour des LEDs supplémentaires),
  • Connectique: Entrée pour le ["RC-Empfänger":récepteur], bus I2Cs pour les controleurs BL, prise ISP, Prise d'extension universelle (Debuggage, GPS,...)

  • Divers: Présences de connecteurs pin et de pistes non utilisées (en prévision d'extensions)
  • taille: 50 x 50mm
  • poids (pré-équipé): 23g
  • Possibilité de raccorder des modules externes :
    • exemple: GPS, Datalogger,...
  • possibilité d'évolution vers v1.1.

Version V1.1/V1.2

(Liste des différences)

  • Controleur: AVR Atmel ATMEGA644P @20MHz
  • Capteurs: 3x GyroScope (ENBC-03JA,ENBC-03JB ou ENBC-03JR)

Version V1.3

(Liste des différences)

  • Ajustement automatique des gyros, c'est à dire,plus besoin d'ajuster les résistances à la main.
  • Composants rassemblés sur la même face. La Flight-Ctrl sera plus mince.
  • Les pads pour les connexions externes ( alimentation, I2C,etc..) sont élargis
  • En option: On peut installer un 2eme régalateur de tension 7805 pour l'alimentation de servos ( ex: Servo de Tilt pour la caméra, installation comme le 1er 7805,dissipateur vers l'extérieur,non inclu dans la livraison)
  • Connexion des Servo et lumière supplémentaire par broches.
  • Accéléromètre plus récent( plus compatible)
  • Conception à 4 couches de pistes.
  • /!\ Les transistors PDTC143 situés sur les sorties de commutation SV2 de la version 1.3 ne peuvent délivrer que 100mA! Cela correspond par exemple à une 1/2 barre de LED ( 3 pièces de la barre de 2x3 LED )

Variante ME

  • voir FlightControl ME

  • A considérer comme une version développée en parallèle de la version 1.3, et non pas comme une évolution de cette dernière.
  • gyroscopes de grande qualité, technologie MEMS, du fabricant Analog Devices.
  • 5 sorties servo.
  • Un régulateur de tension de type RECOM est inclus dans la livraison.
  • En option : Possibilité d'installer un 2eme régulateur de tension pour alimenter les servos ( non inclu dans la livraison )
  • Connexion des Servo et lumière supplémentaire par broches.
  • Conception à 4 couches de pistes.

Conseils

  • Il existe plusieurs versions et apparences en ce qui concerne les gyroscopes. Les ENBC-03JA et ENBC-03JB sont sous forme traversante. Le ENBC-03JR est sous forme CMS.Ils ne se différencient pas électriquement l'un de l'autre.Toutefois,il y a une petite différence de fréquence interne, mais ça ne dérange pas.

  • On utilise un micro-hautparleur(buzzer) pour la signalisation auditive.Ce dernier contient un aimant. Si on installe un compas magnétique,il faut éloigner le buzzer autant que possible.Dans le cas contraire,il va perturber les mesures du compas.

Taille

Circuit imprimé: 50*50 mm

Entraxe des trous de fixation: 45mm (63mm en diagonale)
hauteur: TODO

Importance des différences entre la FC1.3 et la FC2.0ME

  • La version ME utilise des gyroscopes de qualité supérieur. Il n'y a plus de dérive due à la température , il n'est donc plus nécessaire p.e. de re-calibrer après le refroidissement du MK. De la même façon, des utilisateurs ont rapportés sur le forum, avec la version antérieure des dérives due au passage de l'ombre à la lumière solaire, de se fait le vol est plus stable avec la 2.0ME.
  • la ME peut contrôler 5 servo contre seulement1 auparavant
  • Quelques avis (en allemand): http://forum.mikrokopter.de/topic-post177790.html

Fonctions

  • Mesure de la vitesse de rotation angulaire sur 3 axes.
  • Mesure de la vitesse de translation sur 3 axes.
  • Mesure de la pression de l'air pour un controle actif de la hauteur ( en option )
  • Mesure de la tension délivrée par l'accu, avec reconnaissance de fin de batterie.
  • Evaluation du signal de la radio.
  • Recalcul des données des capteurs, et évaluation de l'assiette à l'instant T.
  • Pilotage des 4 moteurs via les controleurs BL .

Choix des composants

Microcontroleur

Le choix du controleur a été déterminé par les critères suivants:

  • Performances suffisantes.
  • Bonne disponibilité
  • Prix attractif
  • facile à souder.
  • Logiciel de développement gratuit.

Le choix a donc porté sur un ATMega 644(P).

Gyroscope

Les gyroscopes mesurent la vitesse de rotation angulaire sur un axe. Il faut 3 de ces capteurs pour stabiliser les 3 axes. Ces capteurs sont des composants élémentaires. Les gyroscopes fonctionnent avec une fréquence interne. Même repérage = Fréquence identique. Pour que les gyro ne se perturbent pas mutuellement de part leur installation à proximité les uns des autres,on peut utiliser des gyros ayant des fréquences différentes,par exemple : des types A et des types B.

On a pu démontrer que la conception du MK annulait les effets indésirables. On peut donc utiliser 3x A, ou 3x B, et/ou 3x C. L'idéal serait 1x A, 1x B, 1x C. Le type A fonctionne à 22kHz et le B à 24kHz.

  • ENC-03RA et ENC-03RB de type CMS, 8x4mm. pèse 0,2g pièce.
  • ENC-03MA et ENC-03MB ,12,2x7mm, 0,4g
  • ENC-03JA et ENC-03JB ,15,44x8mm, 1g

Accéléromètre (ACC-Sensor)

la fonction principale des accéléromètre consiste à mesurer l'inclinaison à l'instant T du MK,et à gérer le contrôle de la hauteur. On utilise ici un capteur 3 axes. En théorie, on peut se passer de ces capteurs quand on veut piloter en mode HH ( mode conservateur d'assiette). Plus d'informations

Capteur de pression

Il est utilisé pour gérer le maintient d'altitude. Ce capteur est optionnel. Le tube de capture de la pression peut-etre fermé avec un autocollant qu'on percera d'un petit trou avec une épingle. Ce bricolage offre une protection contre le vent et la lumière. ( voir Capteur de pression )

Interfaces

Connexion PPM

On connecte le récepteur à cet endroit. Le récepteur est alimenté par deux câble,et le 3eme câble délivre le signal PPM sommé (ou multiplexé ) en retour. A l'inverse d'un signal PPM envoyé à un servo, le signal sommé contient toutes les voies émises par la radiocommande. Ce signal est présent dans chaque récepteur, mais seule une petite partie de ce signal est exploitée en interne, sur les prises servo du récepteur.(ex: le RX3 multi de ACT ).( voir Récepteurs )

Bus I2C

On connecte les contrôleurs BL sur ce bus qui véhicule les ordres de pilotage. L'installation d'une Flight-Ctrl nécessite d'utiliser nos contrôleurs BL spéciaux, afin que la communication s'effectue rapidement via le bus I2C. Des contrôleurs BL standards ne peuvent pas être utilisés, parce qu'ils ne peuvent pas être pilotés assez rapidement. Le bus I2C est composé d'un fil d'horloge ( SCL ) et d'un fil de données ( SDA ). Tous les fils SCL et SDA sont respectivement connectés ensembles.

Interface Série ( SIO )

Elle est utilisée pour réaliser des tests et le paramétrage en la raccordant par exemple à un PC. Les tensions utilisées sont du niveau TTL ( 0/+5V ) et non pas V24 ( -10/+10V ). Il faut donc utiliser un convertisseur d'interface si on veut communiquer avec l'interface série d'un PC. On pourra utiliser cette interface plus tard pour une communication asynchrone avec d'autres contrôleurs. C'est ce qu'on fait normalement avec le SerCon.

Interface ISP ( synchrone )

Le contrôleur ATMEL est programmé au moyen d'une interface ISP. On pourra utiliser plus tard cette interface pour une communication rapide ( synchrone en série ) avec d'autres contrôleurs. Le Sercon est utile dans ce contexte.

Raccordement du compas

On peut raccorder un compas numérique sur l'entrée PC4 du connecteur universel. Plus de conseils :TODO: Link

Montage

Le montage va différer selon qu'on a un circuit imprimé pré-équipé CMS ou non. Avec la version prééquipée,il suffit d'y souder encore 2 condensateurs, un interrupteur, des brochages et des câbles. Le firmware est déja installé. Plus d'informations ici

Câblage

Il existe une page spécifique au câblage

Schéma électrique

FlightCtrl V1.0:

FlightCtrl/FlightCtrl_V1_1_Schaltplan_klein.gif

FlightCtrl V1.1/1.2:

FlightCtrl/FlightCtrl_V1_1_Schaltplan_klein.gif

Schéma de câblage et d'implémentation des composants pour V1.2,format PDF

Liste des composants V1.2,format texte

FlightCtrl V1.3:

FlightCtrl/FC_V1_3_klein.gif

Schéma de câblage et d'implémentation des composants pour V1.3,format PDF

Liste des composants V1.2,format texte

FlightCtrl V2.0 "ME:

FlightCtrl/FlightCtrl_V2_0_Schaltplan_klein.png

Schéma de câblage et d'implémentation des composants pour V2,format PDF

FlightCtrl V2.1 "ME:

http://mikrocontroller.com/files/Flight-Ctrl_ME_2_1f.pdf

Firmware

Le firmware est écrit pour toutes les versions. On reconnait la version matérielle à la polarité de la LED rouge ( LED2). Avec la version 1.0, l'anode de la LED rouge est connectée directement à l'AVR,alors que c'est la cathode avec la version 1.1.

Téléchargement des fichiers binaires et du code source : SVN-System

Développement logiciel

Le téléchargement et la compilation d'un fichier source issu du SVN est expliqué ci-dessous:

Sous Windows

Pour pouvoir le compiler soi-même,il faut d'abord déposer sur un PC local le projet complet,en incluant toutes les données. La procédure ci-dessous permet d'effectuer la compilation:

1. Télécharger et installer WinAVR (LIEN).(Toutes les versions plus récentes que WinAVR-20060421 montrent des pertes de performance) Voir aussi (en allemand)Forum.

2. Télécharger et installer un des clients Subversion,par exemple le client Subversion Tortoise (LIEN)."Subversion" (raccourci: SVN) est un programme de contrôle et de suivi des versions, qui permet d'aider à l'administration des versions du code source quand plusieurs personnes travaillent dessus,comme c'est le cas ici.Vous trouverez plus d'info sur Subversion dans le Wikipedia, Subversion (Lien) ou ici Site Web du projet Subversion(page en anglais)

Après avoir installé ces 2 programmes, il faut configurer "Tortoise". Le plus simple pour accéder "Tortoise",et de l'activer depuis le menu contextuel de l'explorateur windows ( choisir un fichier ou un répertoire, et clic droit.).

Pour pouvoir faire un check des fichiers sources les plus récents du projet SVN Mikrokopter,il faut indiquer à "Tortoise" où ils se trouvent, et où les données devront être stockées sur votre PC. On ne doit le faire qu'une fois.Plus tard, il suffira de cliquer sur "SVN Update" pour récupérer les nouveaux sources sur le PC.

Depuis l'explorateur windows, cliquez à l'aide du clic droit sur le répertoire/emplacement où vous voulez que le SVN-repository fasse son check. ( c'est dans cet endroit que seront descendues les données depuis le serveur.Exemple : "C:\MK-SVN" ) Cette action va ouvrir le menu contextuel,et on y voit des items comme par exemple "SVN checkout..", "TortoiseSVN".On choisi ici l'option "SVN Checkout", ce qui ouvre une boite de dialogue dans laquelle certaines informations sont demandées. a) Ou se trouve le repository du SVN ? b) A quel endroit local faut-il y déposer ?

La réponse à a) est la source du Flight-Ctrl, qui se trouve à cet endroit :

http://mikrocontroller.cco-ev.de/mikrosvn/FlightCtrl/

On saisit donc cette réponse à la question: "URL of repository".

La réponse à b) , c'est un endroit du disque local, par exemple:

C:\MKSVN\FlightCtrl

Et on mettra donc cette réponse à "Checkout directory".

Les 2 cases à cocher restent décochées, l'option sur "HEAD Revision" reste inchangée. Cliquez alors sur "OK", il sera demandé si le répertoire local doit être créé, ce qu'on confirmera. Après quoi,le SVN complet "Flight-Control" va être copié sur le disque local,ce qui peut durer un moment suivant le débit de votre connexion internet. On peut également choisir un projet spécifique. Après que la copie soit terminée, on trouvera une copie complète de tous les fichiers du projet "Mikrokopter FlightCtrl SVN" dans le répertoire "C:\MKSVN\FlightCtrl".

Si quelqu'un fait des modifications dans le SVN "Mikrokopter FligthCtrl", alors il suffit de d'appeler le menu contextuel de l'explorateur depuis "C:\MKSVN\FlightCtrl", et de choisir "SVN Update".Toutes les modifications seront alors rapportées en local. ATTENTION avec l'option "SVN Commit" : Avec cette option, on rapporte vers le projet central les modification qu'on a effectué en local.

1. L'upload ne fonctionne que si on donne un user/password issu du forum. Il ne suffit donc pas de cliquer dessus par erreur.

2. L'auteur peut bloquer plus ou moins partiellement ses données. Elle ne peuvent pas être modifiées par quelqu'un d'autre. Le but d'un tel système de gestion du code source est de permettre à plusieurs programmeurs de travailler sur le code.

Le même principe est appliqué au SVN "Mikrokopter BL-CTRL". Voici le chemin :

http://mikrocontroller.cco-ev.de/mikrosvn/BL-Ctrl/

Et en local, par exemple :

C:\MKSVN\BL-CTRL

On récupère le projet SVN "Mikrokopter Projects" avec ce chemin:

http://mikrocontroller.cco-ev.de/mikrosvn/Projects/

Et en local, par exemple :

C:\MKSVN\Projects

On continue maintenant avec la compilation, ce qui ne nécessite que quelques clics. Pour compiler, on démarre le "Programmers Notepad" qui a été installé avec "WinAVR". Dans "Programmers Notepad", cliquer sur "File -> "Open Project(s)..." ,puis sélectionner les données sources du projet que l'on veut compiler.

Admettons que l'on veut compiler les sources de Jokos, alors on choisit:

C:\MKSVN\FlightCtrl\branches\Flight-Ctrl_V0_xx_GPS_Joko\Quellen_Flight-Ctrl_V0_68d_4_GPS_CMPS_MM3FP_FREEUART\flight.pnproj

Depuis le "Programmers Notepad", dans le menu "Tools" , il faut selectionner "Make Clean" puis "Make All" . Après quoi, la compilation se finit et on devrait trouver ceci dans la fenêtre "Output" (en bas de l'écran):

Errors: none
kore-------- end --------

Le nouveau fichier binaire est alors disponible. Les binaires sont généralement générés dans le répertoire racine du projet,et pour certains sources, il peuvent se trouver dans un sous-répertoire comme par exemple "Hex-Files". Si on n'est pas sûr, il faut vérifier la date des fichiers. L'option "Make Clean" fait le ménage dans le répertoire source des fichiers temporaires générés pendant la compilation. Le fichier binaire est donc conservé.

Il faut utiliser un AvrDude patché pour uploader le fichier compilé dans la FC.

sous Linux

Avant de commencer, il faut savoir qu'on a besoin du compilateur "avr-gcc". Sur les linux basés sur Debian, comme Ubuntu, on l'installe avec cette commande:

apt-get install gcc-avr avr-libc

. On utilise AvrDude pour envoyer le fichier compilé ELF via le Sercon. La version actuelle de AvrDude sous Debian ne le permet pas. On doit d'abord compiler sa propre version de AvrDude. Ceci est expliqué ici

On peut également compiler le code source du Mikrokopter:

svn co http://mikrocontroller.cco-ev.de/mikrosvn/FlightCtrl 

Cette commande rapporte les sources sur le disque dur. Si on ne veut que la version la plus récente, alors il suffit de passer cette commande:

svn co http://mikrocontroller.cco-ev.de/mikrosvn/FlightCtrl/tags/<Versionsnumber> 

"Versionsnumber" étant la version la plus récente ( par exemple : V0.71h)

"Subversion" (raccourci: SVN) est un programme de contrôle et de suivi des versions, qui permet d'aider à l'administration des versions du code source quand plusieurs personnes travaillent dessus,comme c'est le cas ici.Vous trouverez plus d'info sur Subversion dans le Wikipedia, Subversion (Lien) ou ici Site Web du projet Subversion(page en anglais)

La commande svn co(Subversion checkout) s'assure de mettre à disposition sur le disque local une copie locale du code source du FlightCtrl.

Quand la copie du SVN est terminée, il suffit de se positionner dans le répertoire du code source que l'on veut compiler, et de taper la commande make

Ceci génère un fichier ELF. On ne peut le transférer vers le MK qu'avec AvrDude.

Si on rencontre l'erreur ci-dessous pendant le "make" (Ubuntu 8.10 intrepid):

uart.c: In function ‘__vector_20’:
uart.c:133: warning: asm operand 0 probably doesn’t match constraints
uart.c:133: error: impossible constraint in ‘asm’

Alors il faut regarder le fichier /usr/avr/include/avr/wdt.h , rechercher #define wdt_enable(value) et après la ligne ci-dessous

|| defined(__AVR_ATmega644__) \

Il faut renseigner ceci:

|| defined(__AVR_ATmega644P__) \

Installation

La flêche dans un coin du circuit imprimé montre la direction de vol. La Flight-Ctrl doit donc être installée dans le châssis en respectant cette flêche.

Les boulons en plastique ont fait leur preuve pour la fixation du circuit imprimé. Ils isolent le circuit imprimé du châssis,et empêchent ainsi les court-circuits et les perturbations.

Recommandations concernant la sécurité:

Il n'y a pas de garantie contre un vice sur le soft ou l'électronique. Malgré des tests, et le soucis d'une mise en oeuvre correcte, nous ne sommes pas responsable ni directement ni indirectement des défauts du soft, du hardware ou des informations. Vous utilisez l'electronique à vos propres risques (ceci inclue les programmes sur PC ). De la même façon, nous ne sommes pas responsable des dégats aux personnes et au matériel qui pourraient survenir.Il est de votre responsabilité d'effectuer des tests complets.

Le MK n'est pas un jouet pour enfants !! Il est trop cher est dangereux pour ça. Ne survolez pas le public! Une assurance modélisme est prescrite ( et même juridiquement obligatoire en Allemagne ). Les assurances immobilières ne couvrent pas les dégats occasionnés par les modèles réduits ( En Allemagne en tout cas ) En France, il faut vous renseigner auprès de votre assureur pour savoir si vous êtes couvert. Dans le cas contraire, rapprochez vous d'un club affilié à la FFAM.

Conditions d'utilisation

L'ensemble du projet MikroKopter ( Hardware, Software, documentation ) est destiné à un usage privé et non commercial. L'utilisation du projet dans un usage commercial, de façon directe ou indirecte est soumise à condition.Merci de nous contacter dans ce cas.

Liens utiles



KategorieAnleitung KategorieFrench