Début de documentation minimaliste

Cet espace est réservé aux échanges entre développeurs informatiques pour les projets de systèmes embarqués. Les visiteurs et membres du forum n'y ont pas accès. Cependant, l'équipe de modération a les mêmes exigences concernant le contenu des messages dans cette partie que sur le reste du forum.
Avatar de l’utilisateur
Geeks
Messages : 3593
Inscription : 03 juil. 2010 21:04
Localisation : Brive la Gaillarde (Correze 19)

Début de documentation minimaliste

Message par Geeks »

Bonsoir,

J'ai commencé, comme je l'avais indiqué sur l'autre post à faire une doc minimaliste. J'aimerais la corriger avant de poursuivre et de la mettre à disposition de tous sous forme d'une notice. Ainsi, tout le monde aurait la même donnée. Il n'est pas interdit de m'aider à la compléter avec vos connaissances ;)

En espérant que ceci donne un petit aperçu de ce que l'on a dans ces magnifiques petites cartes.

1 ) Présenter la carte Arduino
Pourquoi cette carte ?
C'est une carte simple d'utilisation. Elle permet de fonctionner de façon autonome (Une fois programmée, elle exécutera son code tant qu'il y aura du courant). Les tensions de fonctionnement sont compatibles avec le modélisme. Elle à un coût faible et un encombrement correct.
- Les petits plus : Elle embarque une liaison USB pour sa programmation et permettre le débuggage au travers d'une liaison série 9600 Bauds. Il n'y a pas de programmateur à ajouter pour programmer la carte. Le logiciel, les librairies ou bibliothèques sont en open-source et gratuites.

C'est quoi un micro-contrôleur ?
- Un micro-contrôleur intègre un processeur, une EEPROM, une RAM, des ports Entrées / Sorties et fonctionne avec un jeu d'instruction.
- Tout est intégré dans un seul composant et chaque fonction est disponible par la programmation.

Que contient la carte Arduino ?
- Un régulateur intégré pour faire du 5V et du 3.3V.
- Un micro-contrôleur de chez ATMEL.
- Une connectique pour chaque port standardisé pour admettre des cartes adaptées.
- Une horloge à 16Mhz externe au micro-contrôleur.
- Une prise USB pour la programmation et la communication série.

C'est quoi les entrées analogiques ?
- Une entrée analogique permet de capturer une tension qui peut évoluer dans le temps. La limite est comprise entre 0V et 5V sous un très faible ampèrage.
- Un Convertisseur Analogique Numérique se chargera avec un échantillonnage de transmettre une valeur numérique représentative de la tension appliquée. 0V donnera 0 et 5V donnera 1023.
- On peut donc utiliser des capteurs de lumières (LDR_, de température (LM35DZ), de pression...

C'est quoi les entrées numériques ?
- Une entrée numérique au contraire d'une entrée analogique, ne sait travailler que sous des extrêmes. Soit 0V, soit 5V. L'entre deux n'est pas compris.
- Les avantages indéniables d'une entrée numérique est qu'il n'existe pas de perturbation. On admet soit 0V, soit 5V.
- On représente 0V comme un 0 logique et 5V comme un 1 logique.
- On peut donc capturer un bouton poussoir, un interrupteur, un composant ayant une sortie franche (composant à hystérésis : AOP = Ampli opérationnel)

C'est quoi un CAN ?
- Un CAN transforme une grandeur physique en une valeur numérique.
- C'est quoi la PWM / MLI ?
- La Pulse Width Modulation (PWM) est identique à la Modulation en Largeur d'Impulsion (MLI) en français.
- C'est un signal numérique qui voit son état haut changer dans le temps en fonction d'une consigne ou d'un programme.
- Un récepteur de radio génère une telle fréquence (1ms pour -180°, 1.5ms pour 0° et 2ms pour +180°).
- Les servos que nous utilisons dans le modélisme emploient une fréquence PWM / MLI pour avoir sa position.

Travail avec un récepteur radio pour le modélisme ?
- Une carte Arduino est capable de lire une donnée numérique sous forme de PWM / MLI.
- À partir de la fréquence détectée, il est possible de lancer telle ou telle partie d'un programme.
- Exemple: 1ms détecté -> portion 1 du programme. 1.5ms détecté -> portion 2 du programme. 2ms détecté -> portion 3 du programme
- Il est alors possible de faire ce que l'on veut du moment où un signal connu entre sur la carte Arduino.

2) Capteurs
C'est quoi un capteur ?
Un capteur est un dispositif transformant l'état d'une grandeur physique en une grandeur utilisable. Les capteurs sont les éléments de base des systèmes d'acquisition de données. Leur mise en œuvre est du domaine de l'instrumentation. Un capteur peut être pourvu d'un transducteur.

Types de capteurs
1) Mécanique
1.1) Fin de course
Image

1.2) Bouton poussoir
Image

1.3) Clavier matriciel numérique
Image

1.4) Micro switch
Image

1.5) Interrupteur
Image

1.6) A aimant - Interrupter à Lame Souple (ILS)
Image

2) Optique
2.1) infra-rouge (codé de préférence)
Image

3) Physique
3.1) Pression
Image

3.2) Ultra-son
Image

3.3) Température
Image

Quelle utilité de chaque capteur dans nos modèles ?
Fin de course : Ils servent à détecter dans nos sous-marin que le ballast à poche est rempli à son maximum. Monter avec des cames sur des servos, ils peuvent commander en tout ou rien, un accessoire ou une commande. Sur une trappe, elle indique quand c'est ouvert ou fermé.

Bouton poussoir : Commander dans une radio-commande par simple pression un tir de missile.

Clavier numérique : Programmer une commande numérique embarquée dans le modèle, ou bien sûr une télécommande pour programmer les fonctions avancées. Bien souvent, 4 boutons suffisent pour réaliser cette tâche. Up / Down / Valider / Annuler.

Micro switch : Ils se retrouvent souvent dans les circuits électroniques pourvue d'un choix de fréquence. Certains récepteurs RC en sont équipés.

Interrupteur : Souvent à bascule, ils permettent dans une télécommande d'allumer les feux de navigations, de monter les aériens d'un sous-marin.

Interrupteur à Lame Souple (ILS) : Souvent utilisé pour démarrer et éteindre un sous-marin avec un aimant. Autre utilité, dans les torpilles pour démarrer le moteur embarqué au moment où elle est expulsée en dehors du tube.

Infra-rouge (codé de préférence) : Très peu employé dans nos modèles, ils pourraient avantageusement remplacer des fins de course mécanique sur une came. En effet, un trou sur une came, le signal optique passe, un montage simple déclencherais une pompe. Idem dans l'autre sens. En revanche, au point neutre, le signal optique est coupé, la pompe est arrêté.

Pression : Quelques modèles en sont pourvus et permet de vérifier que le modèle est à une profondeur donnée. Pratique aussi pour limiter la profondeur que nos modèles peuvent atteindre.

Ultra-son : Quelques modèles en sont pourvus et permet de vérifier que le modèle ne s'approche pas trop du fond.

Température : Très peu utilisé et pourtant pratique pour vérifier qu'un moteur de pompe ou une batterie n'est pas en surchauffe.

3) Bus
Générale
Un bus est un système de communication entre composants d'un même ensemble complexe. Deux cartes à micro-contrôleur pourront communiquer ensemble et s'échanger des ordres. L'échange peut avoir lieu au travers d'un câble, d'une fibre optique ou tout autre moyen permettant une transmission sans ambiguïtés des données numériques (0 / 1).

Il faut prendre en compte la façon de "driver" (piloter) les données au travers du bus. C'est la partie immatériel, donc logiciel, qui accomplit cette tâche.

Le matériel et le logiciel sont donc étroitement liée.

Bus série
Un bus série permet de transmettre les informations bit par bit. Toutefois il comporte plus d'une ligne permettant de transmettre des informations par l'addition d'éventuels signaux de contrôle et généralement par l'utilisation de deux lignes distinctes permettant ainsi à ces bus d'être bidirectionnels afin de permettre la transmission d'information dans les deux directions simultanément.

Le bus série transmettant les données bit par bit, il est nécessaire lorsque l'on veut par exemple transmettre un mot de 32 bits de sérialiser l'information pour sa transmission. Le lecteur devra effectuer l'opération inverse pour reconstruire le mot de 32 bits à partir des bits reçus. L'intérêt principal de ce type de bus (outre un câblage simplifié par rapport à un bus parallèle) est que pour un coût moindre (grâce au peu de conducteurs de données) il permet - en faisant appel à des composants électroniques de haute qualité - de dépasser les débits atteints par des bus parallèles.

Certains anciens périphériques informatiques tels que les souris utilisent un port série. Pour information, les disques durs les plus récents utilisent un bus série (FC, SAS ou SATA). Les débits peuvent ici atteindre plusieurs Go/s.

Bus parallèle
D'un point de vue physique, ce type de bus est un ensemble de conducteurs électriques parallèles. À chaque cycle de temps, chaque conducteur transmet un bit. Ces bus ont donc une taille en nombre de conducteurs, et une taille en bits. Les tailles les plus courantes (en bits) sont : 8, 16, 32, 64 ou plus. Lorsque l'on parle de la taille d'un bus, cela signifie qu'il s'agit du nombre d'informations (ou bits) que le bus peut transmettre en un cycle, sans compter les informations de contrôle. Certains conducteurs supplémentaires sont affectés à la transmission des signaux de contrôles de l'état du bus.

Le bus sert à transmettre un entier informatique de la taille du bus. Les différents bits du bus ont chacun un poids différent numéroté de zéro à N-1 où N est la taille du bus. Par exemple pour un bus quatre bits on peut transmettre 16 valeurs différentes (24 = 16). L'émetteur positionne au même instant tous les bits du bus. Au moment adéquat le composant lecteur lira tous les bits en même temps. Cet instant adéquat peut être déterminé par un des signaux de contrôle qui changera de valeur pour signaler au dispositif lecteur qu'il est temps de lire les données sur le bus.

Ce type de bus souffre d'un défaut inhérent à son principe : bien que l'émetteur positionne au même instant tous les bits, les câbles qui les transportent jusqu'au récepteur peuvent ne pas avoir précisément les mêmes caractéristiques électriques (une nappe de conducteurs tordue par exemple) ou même ne pas avoir la même longueur : cela force l'émetteur à maintenir l'état de chaque groupe de bits à transmettre pendant un temps suffisant pour garantir une réception sans erreur à l'autre bout de la liaison, ce qui réduit le débit maximal d'information.

Bus série bidirectionnel I2C
Généralités
Un bus I2C (pour Inter Integrated Circuit) est un bus série et synchrone composé de trois fils. Un signal de donnée (SDA). Un signal d'horloge (SCL). Un signal de référence (masse). Et ne pas oublier sur le SDA et le SCL de brancher une résistance au "pull-up" (plus).

Grâce à un adressage sur 3 bits, on peut mettre plusieurs composants sur le même bus.
000 -> Composant 1 -> Carte micro-contrôleur
001 -> Composant 2 -> 8 entrées / sorties
010 -> Composant 3 -> 8 entrées / sorties
011 -> Composant 4 -> 8 entrées / sorties
100 -> Composant 5 -> 8 entrées / sorties
101 -> Composant 6 -> 8 entrées / sorties
110 -> Composant 7 -> 8 entrées / sorties
111 -> Composant 8 -> 8 entrées / sorties

Protocole
Le périphérique qui gère la communication est le maître, c'est lui qui génère l'horloge (SCL) et qui envoie les données (SDA) mis à part l'acknowledge (acquittement en français).

L'horloge n'est pas une « véritable » horloge, dans le sens où les ton et toff peuvent varier les uns par rapport aux autres.

L'acquittement est un 'bit' envoyé par le composant esclave pour indiquer qu'il a bien reçu toutes les données ; si c'est le cas l'esclave impose le niveau 0, sinon la résistance de pull-up maintient la ligne à 1, on dit alors qu'il n'y a pas d'acknowledge. (NACK qui veut dire "no acknowledge" en anglais)

Au début de la communication SDA passe de 1 à 0 alors que SCL reste à 1, c'est le StartBit.

Après avoir imposé la condition de départ, le maître passe SCL à 0 puis applique ensuite sur SDA le bit de poids fort.

Il latch (verrouille) la donnée en appliquant pendant un instant un niveau #1 sur la ligne SCL.

Lorsque SCL revient à #0, il recommence l'opération avec le bit inférieur jusqu'à ce que l'octet complet soit transmis.

Il redéfinit ensuite SDA comme une entrée et scrute son état ; l'esclave doit alors imposer un niveau #0 pour signaler au maître que la transmission s'est effectuée correctement, c'est l'acknowledge, la communication peut donc continuer.

Si l'esclave n'envoie pas l'acknowledge les résistances de pull-up maintiennent la ligne à #1. La communication peut alors être arrêtée, ou reprendre à zéro (dépend de la configuration), c'est le rôle du bit de STOP StopBit.

Le StopBit indiquant la fin de la transmission par le maître est effectué en appliquant un passage de 0 à 1 de SDA alors que SCL reste lui à 1.

Le premier octet envoyé est l'adresse, il est composé de 7bits variables selon le composant et du bit de read/write (0 pour write, 1 pour read).

Le second octet peut être le byte de contrôle sur certains composants, ou directement la donnée.

Quelques chronogrammes
Image

Image

Image

Place d'un bus série dans un modèle réduit de type I2C
Réduire le nombre de fils entre des fonctions déportés et une carte centralisé. Ceci peut permettre de travailler sur des longueurs importante et des débits assez rapide. Tout dépends du logiciel embarqué et des composants employés.

4) Pour l'exemple, quelques principes de fonctionnements
En cours d'élaboration.

5) Glossaire
Ampli Opérationnel (AOP) :
C'est un amplificateur électronique différentiel qui amplifie une différence de potentiel présente à ses bornes d'entrées. Il a été conçu pour effectuer des opérations mathématiques dans les calculateurs analogiques. Il est possible de faire ces opérations : Addition, soustration, intégration, dérivation.

Baud :
Le baud est une unité de mesure utilisée dans le domaine informatique et concerne désormais la communication entre périphérique (modem ou liaison série par exemple). C'est le nombre de symboles transmissible par seconde. Le baud viens d'Émile Baudot, inventeur du code Beaudot utilisé en télégraphie.

Bibliothèque / Librairie :
En informatique, une bibliothèque ou bibliothèque de programmes est un ensemble de fonctions utilitaires, regroupées et mises à disposition afin de pouvoir être utilisées sans avoir à les réécrire.

Bit :
Le bit est un chiffre binaire, c'est-à-dire 0 ou 1. Il est donc aussi une unité de mesure en informatique, celle désignant la quantité élémentaire d'information représentée par un chiffre du système binaire.

Convertisseur Analogique Numérique (CAN) :
Un convertisseur analogique-numérique, CAN, de A/N pour Analogique vers Numérique, ou en anglais (en)A/D (Analog to Digital), est un montage électronique dont la fonction est de générer à partir d'une valeur analogique, une valeur numérique (codée sur plusieurs bits), proportionnelle à la valeur analogique entrée. Le plus souvent il s'agira de tensions électriques.

Convertisseur Numérique Analogique (CNA) :
Un Convertisseur Numérique-Analogique (CNA, de N/A pour Numérique vers Analogique ou, en anglais, DAC, de D/A pour Digital to Analogic) est un composant électronique dont la fonction est de transformer une valeur numérique (codée sur plusieurs bits) en une valeur analogique proportionnelle à la valeur numérique codée. Le plus souvent la valeur codée sera une tension électrique.

Debuggage :
L'action de débugger un programme est de traquer ses dysfonctionnements à la compilation ou à l'exécution.

Driver :
Driver est un mot anglais qui peut signifier « pilote » ou « conducteur » (du verbe anglais to drive). En informatique et sur micro-contrôleur, un « driver » ou pilote est un programme permettant à un système d'exploitation ou système embarqué de reconnaître un matériel et de l'utiliser ;

Environement de Développement Intégré (EDI) :
Un environnement de développement intégré (EDI ou IDE en anglais pour integrated development environment) est un programme regroupant un ensemble d'outils pour le développement de logiciels. En règle générale, un EDI regroupe un éditeur de texte, un compilateur, des outils automatiques de fabrication, et souvent un débogueur. Bien que des EDI pour plusieurs langages existent, bien souvent (surtout dans les produits commerciaux) un EDI est dédié à un seul langage de programmation.

Electrically-Erasable Programmable Read-Only Memory (EEPROM) :
La mémoire EEPROM (Electrically-Erasable Programmable Read-Only Memory ou mémoire morte effaçable électriquement et programmable) (aussi appelée E2PROM ou E²PROM) est un type de mémoire morte. Une mémoire morte est une mémoire utilisée pour enregistrer des informations qui ne doivent pas être perdues lorsque l'appareil qui les contient n'est plus alimenté en électricité.

Hystérésis :
L'hystérésis (ou hystérèse) est le retard de l'effet sur la cause, la propriété d'un système qui tend à demeurer dans un certain état quand la cause extérieure qui a produit le changement d'état a cessé.

Inter Integrated Circuit (I2C) :
]Un bus I2C (pour Inter Integrated Circuit) est un bus série et synchrone composé de trois fils : un signal de donnée (SDA), un signal d'horloge (SCL), un signal de référence (masse). Le fil SDA et SCL est porté au potentiel positif au travers de résistances et constitue un filtrage efficace. Le bus I2C fut développé par Philips pour les applications de domotique et d’électronique domestique au début des années 1980, notamment pour permettre de relier facilement à un microprocesseur les différents circuits d’une télévision moderne.

Liaison série :
La communication série consiste à transmettre des informations après les avoir préalablement découpées en plusieurs morceaux de taille fixe (cette taille est le nombre de lignes de communication disponibles). Elle s'oppose à la communication parallèle où les informations à transmettre n'ont pas à être découpées avant d'être envoyées (car il y a au moins autant de lignes de communication disponibles que de bits pour transmettre l'information).

Micro-contrôleur :
Un micro-contrôleur est un circuit intégré qui rassemble les éléments essentiels d'un ordinateur : processeur, mémoires (mémoire morte pour le programme, mémoire vive pour les données), unités périphériques et interfaces d'entrées-sorties. Les micro-contrôleurs se caractérisent par un plus haut degré d'intégration, une plus faible consommation électrique, une vitesse de fonctionnement plus faible (quelques mégahertz à quelques centaines de mégahertz1) et un coût réduit par rapport aux microprocesseurs polyvalents utilisés dans les ordinateurs personnels.

Modulation de Largeur d'Impultion (MLI) / Pulse Width Modulation (PWM) :
La modulation de largeur d'impulsions (MLI ; en anglais : Pulse Width Modulation, soit PWM), est une technique couramment utilisée pour synthétiser des signaux continus à l'aide de circuits à fonctionnement tout ou rien, ou plus généralement à états discrets. Le principe général est qu'en appliquant une succession d'états discrets pendant des durées bien choisies, on peut obtenir en moyenne sur une certaine durée n'importe quelle valeur intermédiaire.

Mot :
En informatique, un mot est l’unité de base manipulée par un microprocesseur. La taille d’un mot s’exprime en bits ou en octets, et est souvent utilisée pour classer les microprocesseurs (32 bits, 64 bits…). Toutes choses égales par ailleurs, un microprocesseur est d’autant plus rapide que ses mots sont longs, car les données qu’il traite à chaque cycle sont plus importantes. Sur les microprocesseurs qui peuvent manipuler différentes tailles de données, la taille des mots est choisie arbitrairement, dans le but d’avoir une convention de nommage (en particulier, les instructions dont le mnémonique ne contient pas d’indication explicite de taille s’appliquent à des mots). On prend généralement la taille des principaux registres de données, ou la taille du bus de données.

Octet :
L’octet est une unité de mesure en informatique mesurant la quantité de données. Un octet est lui-même composé de 8 bits, soit 8 chiffres binaires.

Random Acces Memory (RAM) :
La mémoire vive, mémoire système ou mémoire volatile, aussi appelée RAM de l'anglais Random Access Memory (que l'on traduit en français par mémoire à accès direct ), est la mémoire informatique dans laquelle un ordinateur place les données lors de leur traitement. Les caractéristiques de cette mémoire sont : sa rapidité d'accès, qui est essentielle pour fournir rapidement les données au processeur et sa volatilité, qui implique que TOUTES les données, de cette mémoire, sont perdues dès que l'ordinateur cesse d'être alimenté en électricité.

Universal Serial Bus (USB) :
L’Universal Serial Bus (USB) est une norme relative à un bus informatique en transmission série qui sert à connecter des périphériques informatiques à un ordinateur. Le bus USB permet de connecter des périphériques à chaud (quand l'ordinateur est en marche) et en bénéficiant du Plug and Play (le système reconnaît automatiquement le périphérique). Il peut alimenter certains périphériques en énergie, et dans sa version 2, il autorise des débits allant de 1,5 Mbit/s à 480 Mbit/s. La version 3 propose des débits jusqu'à 5 Gbit/s, proches des 6 Gbit/s du SATA 3.

6) Conversions Décimale / Binaire / Hexadécimale
Je vous met à disposition une table de conversion Décimale Binaire Hexadécimale. ICI.

7) Vers les autres
Introduction:
De nombreux sites traite du fonctionnement des cartes Arduino. Je vous propose en plus des informations données dans ces lignes de jeter un oeil à ce qui se fait en la matière avec quelques composants. De nombreux principe évoqué au dessus sont repris avec de vrais exemples.

Le site du constructeur de la carte
- Pour connaitre les évolutions, pour avoir le dernier Environnement de Développement Intégré (EDI), des sources, des librairies et même des informations sur des programmes thiers.
arduino.cc

Un site complet traitant de nombre d'exemples proche de nos besoins
- Pour acquérir un peu plus que de simple informations.
mon-club-elec.fr

Le site du constructeur du Nautile 1/8 RC
- Il a utilisé des capteurs avec un PICBasic. C'est un autre micro-contrôleur mais il a des fonctions comme l'Arduino. Je met le lien pour le garder en mémoire.
Nautile 1/8 RC > Capteurs
Dernière modification par Geeks le 02 avr. 2012 20:18, modifié 15 fois.
A défaut d'avoir la science infuse, j'infuse la science. - Racleur de fond depuis Pons 2014.
Sous-marin en état de repos sur cale : Minimog 01
Avatar de l’utilisateur
gagouze
Messages : 1961
Inscription : 24 janv. 2010 22:39
Localisation : Brest (29)

Re: Début de documentation minimaliste

Message par gagouze »

à Ajouter

CAN = (Convertisseur Analogique Numérique )

CNA = (Convertisseur Numérique Analogique ) => piloter des moteur en tension. (Pas en PLW )


Geeks tu vulgarise bien je te laisse faire un explicatif .
Etienne
Un Galathée
Un voilier caboteur en construction : Le Narval
Un classe Alfa en construction.
Avatar de l’utilisateur
Geeks
Messages : 3593
Inscription : 03 juil. 2010 21:04
Localisation : Brive la Gaillarde (Correze 19)

Re: Début de documentation minimaliste

Message par Geeks »

Effectivement, j'aurais pu en parlé.

Il se trouve que le CNA n'est pas inclue dans la carte Arduino et il me semble tout aussi dans la partie micro-contrôleur. Donc, il faudrait passer par un composant externe.

En revanche, dans le glossaire, je peux donner une petite info la dessus :Up:

A propos, le plus pratique pour obtenir une tension variable pour un moteur (A CONDITION DE METTRE DES TRANSISTORS DE PUISSANCE ET DES DIODES DE ROUE LIBRE) est l'emploie d'une largeur d'impulsion positive.

En effet, la moyenne entre le temps passé à l'état haut et l'état bas, donne une tension correspondante. Si on fait varier le créneau, ça fait varier la tension. Les 3/4 des variateurs exploite ce système, à fortiorie, pour les moteurs brushless. C'est ça qu'on entends couiner quand on fait marcher au ralenti. C'est la PWM. C'est aussi pour ça que le moteur à l'air d'avancer par saccade.

En outre, la PWM se retrouve utilisé pour fonctionné avec un Triac ou in Thyristor afin de faire des gradateurs.

Mais bon, là, je ferais un ajout à la doc au niveau PWM si il faut. Je pense ajouter à ce moment là, une section explication par l'exemple. Le but ne sera pas de donner le schéma mais le principe de fonctionnement de tel ou tel équipement
A défaut d'avoir la science infuse, j'infuse la science. - Racleur de fond depuis Pons 2014.
Sous-marin en état de repos sur cale : Minimog 01
Avatar de l’utilisateur
Patjabix
Modérateur
Messages : 4979
Inscription : 06 janv. 2010 00:13
Localisation : Chanas (Isère)

Re: Début de documentation minimaliste

Message par Patjabix »

Je vais être exigeant, mais cela utilise encore trop de terme technique qui risquent d'être peu connu de la plupart d'entre nous.
A titre d'exemple, je met en rouge ce qui mériterait une définition en langage commun ;)
Geeks a écrit :Bonsoir,

J'ai commencé, comme je l'avais indiqué sur l'autre post à faire une doc minimaliste. J'aimerais la corriger avant de poursuivre et de la mettre à disposition de tous sous forme d'une notice. Ainsi, tout le monde aurait la même donnée. Il n'est pas interdit de m'aider à la compléter avec vos connaissances ;)

En espérant que ceci donne un petit aperçu de ce que l'on a dans ces magnifiques petites cartes.

1 ) Présenter la carte Arduino
Pourquoi cette carte ?
- C'est une carte simple d'utilisation. Elle permet de fonctionner de façon autonome (Une fois programmée, elle exécutera son code tant qu'il y aura du courant). Les tensions de fonctionnement sont compatibles avec le modélisme. Elle à un coût faible et un encombrement correct.
- Les petits plus : Elle embarque une liaison USB pour sa programmation et permettre le débuggage au travers d'une liaison série 9600 Bauds. Il n'y a pas de programmateur à ajouter pour programmer la carte. Le logiciel, les librairies ou bibliothèques sont en open-source et gratuites.
C'est quoi un micro-contrôleur ?
- Un micro-contrôleur intègre un processeur, une EEPROM, une RAM, des ports Entrées / Sorties et fonctionne avec un jeu d'instruction.
- Tout est intégré dans un seul composant et chaque fonction est disponible par la programmation.
Que contient la carte Arduino ?
- Un régulateur intégré pour faire du 5V et du 3.3V.
- Un micro-contrôleur de chez ATMEL.
- Une connectique pour chaque port standardisé pour admettre des cartes adaptées.
- Une horloge à 16Mhz externe au micro-contrôleur.
- Une prise USB pour la programmation et la communication série.
C'est quoi les entrées analogiques ?
- Une entrée analogique permet de capturer une tension qui peut évoluer dans le temps. La limite est comprise entre 0V et 5V sous un très faible ampèrage.
- Un Convertisseur Analogique Numérique se chargera avec un échantillonnage de transmettre une valeur numérique représentative de la tension appliquée. 0V donnera 0 et 5V donnera 1023.
- On peut donc utiliser des capteurs de lumières (LDR_, de température (LM35DZ), de pression...
C'est quoi les entrées numériques ?
- Une entrée numérique au contraire d'une entrée analogique, ne sait travailler que sous des extrêmes. Soit 0V, soit 5V. L'entre deux n'est pas compris.
- Les avantages indéniables d'une entrée numérique est qu'il n'existe pas de perturbation. On admet soit 0V, soit 5V.
- On représente 0V comme un 0 logique et 5V comme un 1 logique.
- On peut donc capturer un bouton poussoir, un interrupteur, un composant ayant une sortie franche (composant à hystérésis : AOP = Ampli opérationnel)
C'est quoi un CAN ?
- Un CAN transforme une grandeur physique en une valeur numérique.
- C'est quoi la PWM / MLI ?
- La Pulse Width Modulation (PWM) est identique à la Modulation en Largeur d'Impulsion (MLI) en français.
- C'est un signal numérique qui voit son état haut changer dans le temps en fonction d'une consigne ou d'un programme.
- Un récepteur de radio génère une telle fréquence (1ms pour -180°, 1.5ms pour 0° et 2ms pour +180°).
- Les servos que nous utilisons dans le modélisme emploient une fréquence PWM / MLI pour avoir sa position.
Travail avec un récepteur radio pour le modélisme ?
- Une carte Arduino est capable de lire une donnée numérique sous forme de PWM / MLI.
- À partir de la fréquence détectée, il est possible de lancer telle ou telle partie d'un programme.
- Exemple: 1ms détecté -> portion 1 du programme. 1.5ms détecté -> portion 2 du programme. 2ms détecté -> portion 3 du programme
- Il est alors possible de faire ce que l'on veut du moment où un signal connu entre sur la carte Arduino.
2) Capteurs
En cours d'élaboration.
A+
Pat, membre de la guilde des racleurs de fond
Image Image
Avatar de l’utilisateur
Geeks
Messages : 3593
Inscription : 03 juil. 2010 21:04
Localisation : Brive la Gaillarde (Correze 19)

Re: Début de documentation minimaliste

Message par Geeks »

Plop Pat,
Patjabix a écrit :Je vais être exigeant, mais cela utilise encore trop de terme technique qui risquent d'être peu connu de la plupart d'entre nous.
A titre d'exemple, je met en rouge ce qui mériterait une définition en langage commun ;)
Non, tu n'est pas exigent. Tu a envie comme moi de faire découvrir des termes qui pour moi paraissent tellement évident qu'ils font partie intégrante de mon langage quotidien :lol:

Ok pour ce qui est en rouge. Je rajoute dans mon glossaire. J'attaque de ce pas le Glossaire. Il va faire suite à mon article précédente et sera à sa suite. Ainsi, on ne cherchera pas partout les informations. On saura, pour nous qui avont ce forum que le premier post est en permanence à débattre. J'ajouterais seulement une note avec un lien l'article premier. :Up:
A défaut d'avoir la science infuse, j'infuse la science. - Racleur de fond depuis Pons 2014.
Sous-marin en état de repos sur cale : Minimog 01
Avatar de l’utilisateur
gagouze
Messages : 1961
Inscription : 24 janv. 2010 22:39
Localisation : Brest (29)

Re: Début de documentation minimaliste

Message par gagouze »

Une precison quand tu parles de liason séries à 9600 Bauds est ce quelle ce fait par le port USB ?

Qu'est qu'un Baud (Attention diférent du bit/S = nombre valeur binaires (0 ou 1 ) transmisse par seconde ?
Etienne
Un Galathée
Un voilier caboteur en construction : Le Narval
Un classe Alfa en construction.
Avatar de l’utilisateur
Geeks
Messages : 3593
Inscription : 03 juil. 2010 21:04
Localisation : Brive la Gaillarde (Correze 19)

Re: Début de documentation minimaliste

Message par Geeks »

gagouze a écrit :Une precison quand tu parles de liason séries à 9600 Bauds est ce quelle ce fait par le port USB ?
Oui, elle se fait par le port USB !
A défaut d'avoir la science infuse, j'infuse la science. - Racleur de fond depuis Pons 2014.
Sous-marin en état de repos sur cale : Minimog 01
Avatar de l’utilisateur
gagouze
Messages : 1961
Inscription : 24 janv. 2010 22:39
Localisation : Brest (29)

Re: Début de documentation minimaliste

Message par gagouze »

Pourquoi tu parle de débit en bauds et pas en bit/s :?:

les information transmissent sont binaire entre la carte et le PC :roll: :?:
Etienne
Un Galathée
Un voilier caboteur en construction : Le Narval
Un classe Alfa en construction.
Avatar de l’utilisateur
Geeks
Messages : 3593
Inscription : 03 juil. 2010 21:04
Localisation : Brive la Gaillarde (Correze 19)

Re: Début de documentation minimaliste

Message par Geeks »

Par ce que logicielement parlant, l'arduino utilise une commande nomé serial(). Pour l'initialisé, on préfère la mettre sur 9600bauds.

Dans ce système, des symboles sont transmis / seconde. C'est des symboles, pas des bits ;)

P.S: Mise à jour avec le glossaire : ICI
A défaut d'avoir la science infuse, j'infuse la science. - Racleur de fond depuis Pons 2014.
Sous-marin en état de repos sur cale : Minimog 01
Avatar de l’utilisateur
Geeks
Messages : 3593
Inscription : 03 juil. 2010 21:04
Localisation : Brive la Gaillarde (Correze 19)

Re: Début de documentation minimaliste

Message par Geeks »

Bonjour,

Mise à jour de la documentation avec, cette fois les divers capteurs et leurs utilités.

Petit rappel, c'est le premier POST.

A bientôt. :trinque:
A défaut d'avoir la science infuse, j'infuse la science. - Racleur de fond depuis Pons 2014.
Sous-marin en état de repos sur cale : Minimog 01
Répondre