/
CrcDuino: détails matériels

CrcDuino: détails matériels

Cette page présente les différents composants physiques qui se 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.

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


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 à:

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 analogiques

Les entrées 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.

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

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

  • 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 analogiques peuvent lire un voltage entre 0V et 7.5V, converti proportionnellement en une valeur entre 0 et 1023, à l’aide de CrcLib::GetAnalogInput().

Entrées/sorties (I/O) numériques

Les entrées/sorties numériques sont utilisées pour lire ou écrire des signaux numériques. Un signal 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é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.

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.

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.

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.

Ports de communication SPI

Le port Serial Peripheral Interface (SPI) est un groupe de 4 I/O 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 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:

  • 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 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:

  • 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.

Le port ENCO est un groupe de 2 I/O 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:

  • 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 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éclencher des 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.

  • 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. Si vous utilisez la fonction native Arduino analogWrite(), assurez-vous que les ports PWM n’ont pas besoin de ce même 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é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 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 DEL peut prendre quelques secondes avant de s'éteindre.

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


DEL Neopixel

La 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 couleurs.


Bouton Reset

Lorsque le bouton reset est 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.


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.


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 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 la 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 changements de voltage 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 équivalents aux 9880B.


Articles liés

Related content

CrcConnect: détails du module
CrcConnect: détails du module
Read with this
Connecter le CrcDuino à un ordinateur
Connecter le CrcDuino à un ordinateur
More like this
Programmer le CrcDuino
Programmer le CrcDuino
Read with this
CrcDuino Hardware Details
CrcDuino Hardware Details
More like this
GetBatteryVoltage() {FR}
GetBatteryVoltage() {FR}
Read with this
English Section - Introduction Page
English Section - Introduction Page
More like this