Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Tip

Cette page présente les différentes composantes différents composants physiques qui se retrouve retrouvent sur une carte électronique CrcDuino. C’est une lecture assez chargée, mais elle en vaut la peine!

View the english version of this page.

Info

Toutes les valeurs de voltage indiquées sont par rapport à la broche GND. Celles-ci sont toutes connectées entre elles, alors elles peuvent toutes être utilisées à votre guise.

Table des matières de la page

Table of Contents

Agencement des éléments


I/O

Les I/O (entrées/sorties) sont la manière qu’a votre CRCduino pour interagir avec le monde extérieur. Elles sont toutes disponibles par des broches mâles de .100”. Ces dernières sont très typiques dans le monde de l'électronique amateure, et il sera donc facile de trouver des capteurs et actuateurs compatibles.

Pour utiliser les I/Os dans votre code, référez-vous à:

Note

Pour éviter d’endommager le micro-contrôleur, le courant soutiré à chacune des broches  SIGMISOMOSISCK ou SS ne devrait jamais dépasser 20mA et ne peut en aucun cas dépasser 40mA. Le courant total tiré de l’ensembles des broches SIGMISOMOSISCK et SS ne doit, quant à lui, jamais dépasser 200mA.

Entrées

analogues

analogiques

Les entrées analogues analogiques sont utilisées pour mesurer un voltage provenant du monde extérieur et pour transformer cette mesure en valeur numérique utilisable par le micro-contrôleur.

Note

Ne confondez pas les entrées analogues analogiques avec les « channels » analogues analogiques de votre télécommande. Plusieurs capteurs (tels que les capteurs de distance par ultra son ultrason et les capteurs d’infrarouge) produisent un signal où le voltage est proportionnel à la valeur mesurée (vous pouvez vous référez référer à cet cette excellente page (en anglais) pour en apprendre plus).

Le CRCduino possède 4 groupes de ports analoguesanalogiques. Chaque groupe possède 3 broches:

  • SIG: La broche où appliquer le signal duquel à mesurer le voltage.

  • 5V: Sortie 5V continue. Plusieurs capteurs s’alimentent à partir d’un 5V continu, disponible ici à prix réduit. Si la DEL marquée “5V“ au-dessus de la banque “DIG” n’est pas allumée, la sortie 5V sera désactivée.

  • GND: Broche « Ground ».

Le CRCduino traduira le voltage appliqué entre SIG et GND en une valeur numérique de 10-bits grâce à son ADC intégré. Les broches analogues analogiques peuvent lire un voltage entre 0V et 7.5V, converti proportionnellement en une valeur entre 0 et 1023, à l’aide de CrcLib::GetAnalogInput().

Info

Pour en apprendre plus sur les circuits de conversion analogueanalogique-digital numérique (ADC) et sur comment interpréter les valeurs retournées par CrcLib::GetAnalogInput()référez-vous à ce site et à la page GetAnalogInput().

Entrées/sorties (I/O)

digitales

numériques

Les entrées/sorties digitales numériques sont utilisées pour lire ou écrire des signaux digitauxnumériques. Un signal digital numérique est un signal qui ne peut prendre que les valeurs vrai ou faux.

  • Vrai est souvent représenté par le nombre 1, ou la valeur HIGH dans le monde Arduino. L'état est manifesté par la présence d’un voltage sur une broche.

  • Faux est typiquement représenté par le nombre 0, ou la valeur LOW dans le monde Arduino. L'état est manifesté par l’absence d’un voltage sur une broche (mise à la terre, ou GND).

Le CRCduino comporte 12 groupes de broches DIG, appelés ports. Chaque port est composé de 3 broches:

  • SIG: La broche « signal », celle qui lit ou émet le signal.

  • 5V: Alimentation continue 5V. La plupart des capteurs ont besoin de cette alimentation pour fonctionner. Si la DEL 5V directement au-dessus de la marque « DIG » est éteinte, l’alimentation ne sera pas disponible (il n’y a pas de batterie connectée pour fournir la puissance requise).

  • GND: Mise à la terre.

Entrée digitale

Entrées numériques

Utilisez CrcLib::SetDigitalPinMode() pour configurer un port I/O comme entrée. Une fois configuré, vous pouvez utiliser CrcLib::GetDigitalInput() pour lire si un voltage est appliqué à la broche SIG correspondante.

  • Le seuil de déclenchement pour la transition HIGHLOW est d’environ 2.1V.

  • Le seuil de déclenchement pour la transition LOWHIGH est d’environ 2.6V.

Sortie digitale

Sorties numériques

UtilisezCrcLib::SetDigitalPinMode() pour configurer un port I/O comme sortie. Une fois configuré, vous pouvez utiliser CrcLib::SetDigitalOutput() pour appliquer ou non un voltage à la broche SIG correspondante.

Info

Pour plus d’information sur comment utiliser les I/O digitalesnumériques, référez-vous aux pages SetDigitalPinMode() {FR} GetDigitalInput() {FR} SetDigitalOutput() {FR} .

Info

Veuillez noter qu’une résistance « pull-up » de 10kΩ est connecté connectée à toutes les broches digitales numériques du CRCduino. Google est un excellent endroit pour en apprendre plus sur les « pull-up » (et leurs cousines, les « pull-down »), mais cette page est une bonne introduction (en anglais).

Sorties PWM

12 groupes des broches PWM, appelés ports, sont disponible sur le CRCduino. Chaque port comporte 3 broches:

  • SIG: La broche signal, qui émettra le signal.

  • 5V: Alimentation continue 5V. La plupart des petits servos de hobby ont besoin de cette alimentation.

    • Ports PWM #1 à #4: Aucune alimentation 5V. Ces ports devraient donc n’être utilisés que pour des applications qui n’ont pas besoin d’une alimentation. La plupart des servos standards et continus ne fonctionneront donc pas. Les contrôleurs de vitesse (ESCs, comme les Victor SPx) fonctionneront quant à eux, puisqu’ils tirent leur alimentation du 12V de la batterie plutôt que du 5V du connecteur 3-câbles.

    • Ports PWM #5 à #8: Ces 4 ports sont alimentés par la même source de puissance. Un maximum de 1A peut être tiré de cette source. Si la DEL marquée « A » au-dessus de l’inscription « PWM » est éteinte, l’alimentation pour les ports #5 à #8 n’est pas disponible.

    • Ports PWM #9 à #12: Ces 4 ports sont alimentés par la même source de puissance. Un maximum de 1A peut être tiré de cette source. Si la DEL marquée « B » au-dessus de l’inscription « PWM » est éteinte, l’alimentation pour les ports #9 à #12 n’est pas disponible.

  • GND: Mise à la terre.

Info

Pour plus d’information sur comment utiliser les I/Os PWM, veuillez vous référer aux pages InitializePwmOutput() {FR} et SetPwmOutput() {FR} .

Note

Même si les broches SIG des ports PWM sont liées aux broches PWM de la puce Mega2560, la CrcLib les utilisent comme des « PWM servo », à l’aide de la librairie standard servo.h plutôt que la fonction native analogWrite(). Pour en savoir plus sur les possibles conflits de « timer », référez-vous à la section micro-contrôleur ci-dessous.

En bref, analogWrite() ne peut être utilisée sur une broche SIG que si celle-ci a été définie comme OUTPUT à l’aide de pinMode() et n’a pas été configurée par CrcLib::InitializePwmOutput(). L’utilisation de analogWrite() n’est pas recommandée pour contrôler des servomoteur ou des contrôleurs de moteur. Pour plus d’information, visitez https://gist.github.com/ajfisher/8c5146bff264b88d04cc (en anglais).

Info

Tout ce que vous avez toujours voulu savoir sur les signaux PWM et les servos est expliqué sur ces pages écrites par John Salt (en anglais). Tous les membres de l'équipe qui travaillent sur le robot devraient les lire

Ports de communication

Les ports de communication sont utilisés pour communiquer avec le monde extérieur à l’aide de différents protocoles basés sur des impulsions et signaux précis et organisés.

Note

La CrcLib ne s’occupe pas des ports de communication. Pour les configurer, pinMode() devrait être utilisée directement.

Ports de communication SPI

Le port Serial Peripheral Interface (SPI) est un groupe de 4 I/O digitales numériques qui donnent au CRCduino la possibilité de communiquer par SPI à l’aide de la librairie Arduino SPI standard. Les 6 broches sont:

SPI Port Pins close-up
  • SS: La broche Slave Select.

  • SCK: La broche Serial Clock.

  • MOSI: La broche Master Output, Slave Input.

  • MISO: La broche Master Input, Slave Output.

  • 5V: Alimentation continue 5V. Si la DEL au-dessus de l’inscription « DIG » est éteinte, l’alimentation n’est pas disponible.

  • GND: Mise à la terre.

Port de communication I2C

Le port Inter-Integrated Circuit (I2C, prononcé I-squared-C ou I-deux-C) est un groupe de 2 I/O digitales numériques capables d’interrupts qui donnent au CRCduino la possibilité de communiquer par I2C à l’aide de la librairie Arduino standard Wire . Les 4 broches sont:

I2C pins close-up
  • SDA: La broche Serial Data. Cette broche est alignée à l’inscription « MISO » du port SPI.

  • SCL: La broche Serial Clock. Cette broche est alignée à l’inscription « MOSI » du port SPI.

  • 5V: Alimentation continue 5V. Si la DEL au-dessus de l’inscription « DIG » est éteinte, l’alimentation n’est pas disponible.

  • GND: Mise à la terre.

Port de communication SERIAL

Le port série, aussi appelé UART, est un groupe de 2 I/O digitales numériques capables d’interrupts qui donnent au CRCduino la possibilité de communiquer par un port série à l’aide des fonctions natives Serial de Arduino. Ce port est connecté au lien série #1 du micro-contrôleur ATMEGA2560-16AU à la base du CRCduino. Les 4 broches sont:

Serial port pins close-up
  • TXD1: La broche TX. Cette broche est alignée à l’inscription « MISO » du port SPI.

  • TRX1: La broche RX. Cette broche est alignée à l’inscription « MOSI » du port SPI.

  • 5V: Alimentation continue 5V. Si la DEL au-dessus de l’inscription « DIG » est éteinte, l’alimentation n’est pas disponible.

  • GND: Mise à la terre.

Ports Encodeur (ENCO)

Les ports encodeurs sont faits pour lire les signaux provenant d’un encodeur à quadrature.

Note

Aucune fonction CrcLib n’a été conçue pour interagir avec les ports encodeurs.

Le port ENCO est un groupe de 2 I/O digitales numériques capables d’interrupts qui donnent au CRCduino la possibilité de lire les signaux d’encodeurs à quadrature lorsqu’utilisées avec la librairie Encoder de Paul Stoffregen décrite ici (en anglais). Les 4 broches sont:

Encoder port pin close-up
  • ENCO_A: La broche du signal A de l’encodeur. Cette broche est alignée à l’inscription « MISO » du port SPI.

  • ENCO_B: La broche du signal B de l’encodeur. Cette broche est alignée à l’inscription « MOSI » du port SPI.

  • 5V: Alimentation continue 5V. Si la DEL au-dessus de l’inscription « DIG » est éteinte, l’alimentation n’est pas disponible.

  • GND: Mise à la terre.


Micro-contrôleur

Le micro-contrôleur est le cerveau du robot. C’est une petite puce chargée de lire (entrées) l'état du monde extérieur (les capteurs du robot, la manette, etc.), d’interpréter cette information en fonction du programme qui lui est donné, puis d’effectuer les actions appropriées (sorties) sur le monde extérieur (les servos du robot, les contrôleurs de moteur, etc.). Pour en apprendre plus sur les micro-contrôleurs, une bonne introduction ce se trouve ici (en anglais).

Le micro-contrôleur contrôlant le CrcDuino est le ATMEGA2560-16AU. C’est la même puce à la base du Arduino Mega2560. Ainsi, si les fonctions natives Arduino sont utilisées, plusieurs des exemples tirés de l’internet pour le Mega 2560 fonctionneront directement. Pour le nom des broches, vous pouvez lire la page suivante: CrcLib: accéder aux broches IO.

Interrupts

Les broches suivantes sont capables d’interrupts, c’est-à-dire qu’elles peuvent être utilisées pour déclancher déclencher des interrupt interrupts service routines au lieu de leur rôle I2C ou UART. Ces broches pourraient aussi être utilisées comme des broches I/Os régulières si le besoin se présente.

Dans le contexte de la compétition CRC, les broches capables d’interrupts sont principalement utiles pour suivre l'état des moteurs à l’aide d’encodeurs, mais elles peuvent être utilisées pour n’importe quelle tâche. La CRC recommande d’utiliser en priorité le port ENCO pour garder la possibilité d’utiliser les ports I2C et Serial.

Note

Les broches doivent être déclarées comme INPUT à l’aide de la fonction native Arduino pinMode(), plutôt qu'à l’aide de CrcLib::SetDigitalPinMode().

  • CRC_I2C_SDA

  • CRC_I2C_SCL

  • CRC_SERIAL_TX1

  • CRC_SERIAL_RX1

  • CRC_ENCO_A

  • CRC_ENCO_B

« Timers » du micro-contrôleur - pour utilisateurs avancés

Le ATMEGA2560-16AU possède 6 « timers » timers. Si vous utilisez la fonction native Arduino analogWrite(), assurez-vous que les ports PWM n’ont pas besoin de ce même « timer » timer. Pour plus d’information, référez-vous à ceci (en anglais).

  • Timer0: timer 8bit. Utilisé par CrcLib::Update().

  • Timer1: timer 16bit.

  • Timer2: timer 8bit. Utilisé par CrcLib::Update().

  • Timer3: timer 16bit.

  • Timer4: timer 16bit.

  • Timer5: timer 16bit. Utilisé par CrcLib::InitializePwmOutput() et CrcLib::SetPwmOutput().


Terminaux de puissance et sources d’alimentation

Les terminaux verts du CRCduino servent à alimenter celui-ci. Les circuits internes s’assurent que le 12V qui vient de la batterie soit transformé dans les 5V et 3.3V dont le CRCduino a besoin. La page Alimenter le CrcDuino contient plus d’information !

  • L’alimentation totale des 3 sources de puissance est limité limitée par PTC à 2.35A @ 12V.

    • Les broches 5V des ports PWM #5 à #8 sont alimentées par une source de 1A @ 5V dédiée.

    • Les broches 5V des ports PWM #9 à #12 sont alimentées par une source de 1A @ 5V dédiée.

    • Les broches 5V des porst ports DIG, ANA et de communication/encodeurs sont alimentées par une source de 0.350A @5V dédiée.

  • Le micro-contrôleur est alimenté par une source de 5V dédiée qui est limitée par PTC à 300mA @ 12V.

  • Le module XBee est alimenté par une source dédiée de 3.3V. Celle-ci est alimentée à même la source de 5V du micro-contrôleur.


DELs d'état

Ces DELs sont utilisées à des fins de déverminage.

  • CPU: Alimentation du CPU. S’allume quand le 3.3V est alimenté au XBee, ce qui implique que le micro-contrôleur est aussi alimenté. Note: Cette DEL est aussi active lorsque le micro-contrôleur est alimenté par micro-USB, même s’il n’y a pas de batterie connectée.

  • ST: Indicateur Statut. Clignote périodiquement pour indiquer que le programme roule correctement. Change d'état environ à chaque seconde pour un programme simple.

  • Fail: Indicateur d’erreur. S’allume lorsque le CRCduino est en mode d’erreur. Lisez Déverminage - Codes d'erreur CrcLib pour plus d’information.

  • X1: Indicateur statut XBee X1. S’allume lorsque le XBee est branché et alimenté.

  • X2: Indicateur statut XBee X2. S’allume lorsque le XBee est connecté à un autre module XBee. Lors d’une déconnexion, la LED DEL peut prendre quelques secondes avant de s'éteindre.

  • X3: Indicateur statut XBee X3. Clignote lorsque le XBee fonctionne correctement.

Info

Comportement spécial: ST et Fail clignotent en alternance lorsque le programme initial de l’usine est programmé sur le micro-contrôleur.

LED

DEL Neopixel

La LED DEL RGB Neopixel est utilisée par la CrcLib pour le diagnostic d’erreur. Déverminage - Codes d'erreur CrcLib contient plus d’information sur la signification de chaque séquence de couleurcouleurs.


Bouton Reset

Lorsque le bouton reset est appuyéenfoncé, l’alimentation du micro-contrôleur est coupée. Lorsque relâché, le micro-contrôleur s’allume à nouveau et recommence son exécution du début.

Info
Sorties par défaut à la réinitialisation

Lorsque le micro-contrôleur s’allume, certaines sorties pourraient temporairement devenir HIGH automatiquement pour une courte durée, même si elles sont indiquée indiquées comme INPUT dans votre programme. C’est un comportement « normal » de la puce AVR causé par la séquence interne d’opération d’opérations lors du démarrage. Celle-ci se produit lorsqu’un « reset » se produit, mais aussi lorsqu’un nouveau sketch est téléversé ou que le CRCduino est alimenté pour la première fois.


XBee Module - Optionnel

Le module XBee est un module optionnel qui peut facilement être installé sur le CRCduino. Le module est requis pour pouvoir contrôler le CRCduino à distance avec un module CRCconnect. Pour plus d’information, référez-vous à la page CRCconnect.

Note

N’installez/retirez le module XBee que lorsque le CRCduino est éteint.

Pour l’installer, alignez simplement les broches du module avec le socket sur le CRCduino et insérez-les. Assurez-vous que l’orientation est correcte à l’aide des marques sur le CRCduino.

Pour le retirer, il s’agit de simplement tirer doucement dessus. Assurez-vous de ne pas plier les broches.


Capteur de température - Optionnel

Même s’il n’est pas installé en usine par défaut, un capteur LM35D peut être installé sur chaque CRCduino. Son état peut ensuite être lu à l’aide de l’entrée analogue analogique définie comme CRC_LM35D. Il peut facilement être soudé sur les trous correspondants directement sous l’inscription « Q240 », dans l’orientation indiquée par l'ovale tronqué marqué sur la plaquette.


Révision du CRCduino

La CRC cherche toujours à s’améliorer. Par conséquent, plusieurs révisions ont été produites au fil des années pour garder le CRCduino à jour et améliorer ses capacités. À cause de ces changements, certains fils pourraient être connectés différemment sur le boardla carte. Pour éviter certains problèmes, la dernière révision de la CrcLib devrait toujours être utilisée.

  • 9880A: Génération A. Révision initiale beta.*

  • 9880B: Génération B. Alimentation améliorée pour mieux soutenir les brusques changement changements de voltage causé causés par le « in-rush » provoqué par les moteurs de puissance. Aucun impact logiciel.

*Tous les 9880A en circulation ont été mis à jour pour être équivalent équivalents aux 9880B.


Articles liés

Filter by label (Content by label)
sorttitle
excerptTyperich content
cqllabel in ( "ar-es_analogique" , "ar-es_mli" , "ar-es_comm" , "ar-es_digitale" )