Versions Compared

Key

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

Cette page présente les différentes composantes physiques qui se retrouve 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

All voltage values given on this page are using a GND pin as reference. All GND pins are connected to one another, so using any of them in all situation is acceptable.

Page table of content

Table of Contents
Components physical layout

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 are the way for robot controllers like the CrcDuino to interact with the outside world. They are .100” pitch male terminals. These are widely used in the hobby electronics world, making it easy to find compatible sensors and actuators.

To use the I/O in your code, use the appropriate:

NoteTo avoid damaging the micro-controller, the current drawn from any individual 

(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 or SS I/O pin of the CrcDuino should never exceed 20mA and must never exceed 40mA. The total current drawn from all the  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 or SS I/O pin of the CrcDuino must never exceed  et SS ne doit quant à lui jamais dépasser 200mA.

Analog inputs

Analog inputs are used to transform voltage from the outside world into a digital value that can be used for calculation by the micro-controller.

Note

Analog Inputs are not to be mistaken with Analog Channels, which are the joystick of your remote controller. Many sensors (like ultrasonic range finders and light Infrared Light sensors) "produce an output signal or voltage which is generally proportional to the quantity being measured", as well said by this great reference website.

4 analog pin sets, called ports, are available on the board. Each port consists of 3 pins:

  • SIG: The signal pin, the pin to apply the voltage you want to read to.

  • 5V: Continuous 5V voltage pin. Most sensors require this continuous 5V feed to operate. If the LED marked “5V” right above the “DIG” mark is not lit, no 5V continuous signal will be available on those pins.

  • GND: Ground pin.

The board will transform the voltage between a given SIG pin and GND into a digital value thanks to the 10-bit analog to digital converter built into the micro-controller. Analog pins can read voltage values ranging from 0V to 7.5V and transforms them into a digital value ranging from 0 to 1023 when using 

Entrées analogues

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

Note

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

Le CRCduino possède 4 groupes de ports analogues. 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 peuvent lire un voltage entre 0V et 7.5V, converti proportionnellement en une valeur entre 0 et 1023, à l’aide de CrcLib::GetAnalogInput().

Info

For more information on how analog to digital converter work and how to interpret the value returned by Pour en apprendre plus sur les circuits de conversion analogue-digital (ADC) et sur comment interpréter les valeurs retournées par CrcLib::GetAnalogInput()refer to this website and the référez-vous à ce site et à la page GetAnalogInput() page.

Digital

Entrées/sorties (I/O) digitales

Digital I/O are used to read or write digital signals. A digital signal is a signal that can only take 2 values: True or False.

  • True is often represented by the number 1, or HIGH in the Arduino jargon, and is characterized by the presence of voltage.

  • False is often represented by the number 0, or LOW in the Arduino jargon, and is characterized by the absence of voltage.

12 digital pin sets, called ports, are available on the board. Each port consists of 3 pins:

  • SIG: The signal pin, the pin that will read or give the signal.

  • 5V: Continuous 5V voltage pin. Most sensors require this continuous 5V feed to operate. If the 5V LED right above the “DIG” mark is not lit, no 5V continuous signal will be available on those pins.

  • GND: Ground pin.

Digital input

Use CrcLib::SetDigitalPinMode() to configure a digital I/O as an input. Once configured, use CrcLib::GetDigitalInput() to read wether voltage is applied on the SIG pin of the concerned port or not.

  • The input voltage threshold for the HIGHLOW transition is around 2.1V.

  • The input voltage threshold for the LOWHIGH transition is around 2.6V.

Digital output

UseCrcLib::SetDigitalPinMode() to configure a digital I/O as an output. Once configured, use CrcLib::SetDigitalOutput() to read wether voltage is applied on the SIG pin of the concerned port or not.

Info

For more information on how to use Digital I/O, refer to the  SetDigitalPinMode() , GetDigitalInput() and SetDigitalOutput() pages.

Info

Note that a 10kΩ pull-up resistor is connected to all digital pins of the CrcDuino board. Google is a great place to learn about pull-up resistors (and its sister, the pull-down resistor), but this page is a good introduction.

PWM outputs

12 PWM pin sets, called ports, are available on the CrcDuino. Each port consists of 3 pins:

  • SIG: The signal pin, the pin that will read or give the signal.

  • 5V: Continuous 5V voltage pin. Most sensors require this continuous 5V feed to operate.

    • PWM port #1 to #4: No 5V voltage is supplied on the center pin. These ports should therefore only be used for applications that do not require a 5V continuous power. Standard and continuous servos won't work on these ports. Electronic Speed Controllers (ESCs, like the Victor SPx) will work, since they take their control power from the 12V battery instead of the 5V supply from the 3-wire control cable.

    • PWM port #5 to #8: These 4 ports are supplied by the same power supply. A maximum total of 1A can be drawn from the 5V pin of ports #5 to #8. If the 5V LED marked “A” right above the “PWM” mark is not lit, no 5V continuous signal will be read on the 5V pin of PWM #5 to #8.

    • PWM port #9 to #12: These 4 ports are supplied by the same power supply. A maximum total of 1A can be drawn from the 5V pin of ports #9 to #12. If the 5V LED marked “B” right above the “PWM” mark is not lit, no 5V continuous signal will be read on the 5V pin of PWM #9 to #12.

  • GND: Ground pin.

Info

For more information on how to use PWM I/O, refer to the InitializePwmOutput() and SetPwmOutput() pages.

Note

Although SIG pins of the PWM ports are linked to PWM capable pins on the Mega2560 chip, CrcLib uses them as "Servo PWM", using the servo.h standard Arduino library to control them instead of the native Arduino function analogWrite(). Refer to the Micro-controller section below for possible timer conflicts.

Therefore, analogWrite() can be used on a SIG pin if it has been set as an OUTPUT using pinMode() and has not been initialized using CrcLib::InitializePwmOutput(). Using analogWrite() is not recommended to control a servomotor or a motor controller. For more information, visit 

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

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

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 digitales, 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é à toutes les broches digitales 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

Everything you've ever wanted to learn about PWM signals and servo-motors is explained on these pages written by John Salt. They are must reads for all members of the robot sub-teamTout 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

Communication ports

Communication ports are used to communicate with the outside world using various communication protocols relying on a series of timely organized digital impulses

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

No CrcLib functions are wrote to be used with the communication port I/O pins. Their pinMode() are not set by CrcLib::Initialize(), so they should be set by the programmer.

SPI Communication Port

The

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) port is a set of 4 digital I/O pins that adds SPI communication capabilities to the CrcDuino when used with the Arduino standard SPI library. The port consists of 6 pinsest un groupe de 4 I/O digitales 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: The  La broche Slave Select pin.

  • SCK: The La broche Serial Clock pin.

  • MOSI: The La broche Master Output, Slave Input pin.

  • MISO: The La broche Master Input, Slave Output pin.

  • 5V: Continuous  Alimentation continue 5V voltage pin. If the 5V LED right above the DIG mark is not lit, no 5V continuous signal will be available on this pin. Si la DEL au-dessus de l’inscription « DIG » est éteinte, l’alimentation n’est pas disponible.

  • GND: Ground pin Mise à la terre.

Port de communication I2C

Communication Port

The Le port Inter-Integrated Circuit (I2C, pronounced prononcé I-squared-C ou I-deux-C) port is a set of 2 interrupt-capable digital I/O pins that adds I2C communication capabilities to the CrcDuino when used with the Arduino standard Wire library . The port consists of 4 pinsest un groupe de 2 I/O digitales 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: The  La broche Serial Data Line pin. This pin is aligned with the “MISO” mark of the SPI port. Cette broche est alignée à l’inscription « MISO » du port SPI.

  • SCL: The La broche Serial Clock Line pin. This pin is aligned with the “MOSI” mark of the SPI port. Cette broche est alignée à l’inscription « MOSI » du port SPI.

  • 5V: Continuous  Alimentation continue 5V voltage pin. If the 5V LED right above the DIG mark is not lit, no 5V continuous signal will be available on this pin. Si la DEL au-dessus de l’inscription « DIG » est éteinte, l’alimentation n’est pas disponible.

  • GND: Ground pin Mise à la terre.

Port de communication SERIAL

Communication Port

The serial Le port série, also known as UART or USART, is a set of 2 interrupt-capable digital I/O pins that adds UART communication capabilities to the CrcDuino when used with the native Arduino Serial communication functions. It is linked to Serial Port #1 of the ATMEGA2560-16AU micro-controller controlling the CrcDuino. The port consists of 4 pinsaussi appelé UART, est un groupe de 2 I/O digitales 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: The  La broche TX pin. This pin is aligned with the “MISO” mark of the SPI port. Cette broche est alignée à l’inscription « MISO » du port SPI.

  • TRX1: The La broche RX pin. This pin is aligned with the “MISO” mark of the SPI port. Cette broche est alignée à l’inscription « MOSI » du port SPI.

  • 5V: Continuous  Alimentation continue 5V voltage pin. If the 5V LED right above the DIG mark is not lit, no 5V continuous signal will be available on this pin. Si la DEL au-dessus de l’inscription « DIG » est éteinte, l’alimentation n’est pas disponible.

  • GND: Ground pin Mise à la terre.

Encoder Port

Encoder ports are meant to be used to read digital signals coming from a quadrature encoder

Ports Encodeur (ENCO)

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

Note

No CrcLib functions has currently been prepared to be used with the encoder ports I/O pins. These pins are set as INPUT by CrcLib::Initialize().

ENCO Port

The encoder port is a set of 2 interrupt-capable digital I/O pins that are meant to read digital signals coming from a single quadrature encoder when used with an encoder library. 1 encoder needs two separate inputs. We recommend using Paul Stoffregen’s library named Encoder, as detailed here. The port consists of 4 pins:

Encoder port pin close-upImage Removed
  • ENCO_A: The pin reading the A-channel of the encoder. This pin is aligned with the “MISO” mark of the SPI Communication port.

  • ENCO_B: The pin reading the B-channel of the encoder. This pin is aligned with the “MOSI” mark of the SPI Communication port.

  • 5V: Continuous 5V voltage pin. If the 5V LED right above the DIG mark is not lit, no 5V continuous signal will be available on this pin.

  • GND: Ground pin.

Micro-controller

The micro-controller is the brain of a robot. This black chip is where the magic happens. The chip reads information (inputs) from the outside world (the robot's sensors, the remote controller, etc.), treats this information according to the program downloaded inside it and then enacts the appropriate action (through outputs) to the outside world (the robot's servo-motors, ESCs, etc.). To learn more about micro-controllers and how they work, here's a good read.

The micro-controller controlling the CrcDuino is a ATMEGA2560-16AU. It is the same chip that equips the ArduinoMega2560. Therefore, if native Arduino functions are used, many of the examples on the web related to the Arduino Mega 2560 will apply. Refer to CrcLib.h for the #define instructions mapping the native Arduino pin names to the pin names detailed here.

Interrupt capabilities

The following pins are interrupt capable pins, meaning that they can be used to trigger interrupt service routines instead of their usual use as I2C or Serial pins. Interrupt-capable pins could also be used as regular digital IO pins if needed.

In the CRC Robotics Competition context, interrupt capable pins would mostly be used to monitor motor encoder tracks but they can be used for any other task requiring interrupt input capability. If you do not use more than a single encoder on a robot, we recommend that you use the ENCO port to monitor it, to keep the I2C and Serial communication capability of the board available.

Note

The pins must be first set as INPUT using the native Arduino function pinMode(). Using CrcLib::SetDigitalPinMode() to do so will trigger the CrcLib Error ModeAucune fonction CrcLib n’a été conçue pour interagir avec les ports encodeurs.

Le port ENCO est un groupe de 2 I/O digitales 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-upImage Added
  • 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 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 des interrupt 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

Micro-controller timers - information for advanced users

The

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

Le ATMEGA2560-16AU is equipped with 6 timers. If you use the native Arduino function possède 6 « timers ». Si vous utilisez la fonction native Arduino analogWrite(), make sure the PWM outputs used do not rely on timers that are used by CrcLib functions. For more information, refer to this linkassurez-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 timer. Used by Utilisé par CrcLib::Update().

  • Timer1: timer 16bit timer.

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

  • Timer3: timer 16bit timer.

  • Timer4: timer 16bit timer.

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

Power terminals and power supply circuits

These green terminals power the CrcDuino with electricity. Internal circuitry brings the 12V power coming from the robot battery to a more convenient 5V and 3.3V. Refer to this page for more information!

The total supply of the following 3 power supplies is PTC limited to

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é par PTC à 2.35A @ 12V.

    • Les broches 5V pins of  des ports PWM ports #5 to #8 are supplied by a dedicated à #8 sont alimentées par une source de 1A @ 5V power supplydédiée.

    • Les broches 5V pins of  des ports PWM ports #9 to #12 are supplied by a dedicated 1A @5V power supply.5V pins of all DIO, ANA and communication/encoder ports are supplied by a dedicated à #12 sont alimentées par une source de 1A @ 5V dédiée.

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

  • The Le micro-controller is supplied by a dedicated 5V power supply which is PTC limited at contrôleur est alimenté par une source de 5V dédiée qui est limitée par PTC à 300mA @ 12V.

  • The Xbee module is supplied by a Le module XBee est alimenté par une source dédiée de 3.3V voltage regulator. This voltage regulator is fed by the 5V micro-controller power-supply.

Status LEDs

These LEDs are used for debugging purpose.

  • CPU: CPU power indicator. Lits when 3.3V is fed to the Xbee module, which also implies that 5V is fed to the micro-controller. Beware: this LED is back fed by the micro-USB connector and will therefore light up if the USB cable is connected to the board and a computer, even if no 12V supply is applied to the power terminals.

  • ST: Status indicator. Flashes periodically to indicate the program is running normally. Will change state approximately each second when running the most basic program, containing only CrcLib::Initialize() and CrcLib::Update()

  • Fail: Failure indicator. Lits when the board is in Error mode. Refer to the Error Codes page for more information.

  • X1: XBee status light X1. Lits when the Xbee module is at the ON state.

  • X2: XBee status light X2. Lits when the Xbee module is connected to another Xbee module. When the connection is lost, it may take a couple of seconds before the LED goes out.

  • X3: XBee status light X3. Flashes when the Xbee module is operating properly.

Info

Special behavior: ST and Fail flash alternatively when the factory initial program is loaded into the micro-controller.

Neopixel LED

The Neopixel is an RGB LED light used by CrcLib for error diagnosis. Refer to the Debugging - CrcLib Error Codes  page to understand what error each color pattern corresponds to.

Reset Button

When the reset button is pressed, power to the micro-controller is cut. When released, the micro-controller powers back up and starts executing its code from the beginning.

Info
Output behavior on chip reset

When the micro-controller is reset, some of your outputs might be set to HIGH automatically for a short period of time by the micro-controller even if they are initialized as INPUT in your code. It is a "normal" behavior of the AVR chip caused by its internal operating sequence upon reset. A chip reset happens, among other cause, when you press the reset button, when a new sketch is uploaded or when it is powered on.

XBee Module - Optional

The Xbee module is an optional device that can be easily installed or removed from the CrcDuino. The Xbee module is required to use the remote controller capabilities made possible by CrcConnect. For more information, refer to the CrcConnect page.

Note

It is recommended to install/remove the module while the CrcDuino is powered off.

To install, simply align the pins of the module with the CrcDuino socket and insert them into it. Make sure that the polarity is right by respecting the edge marks on the board.

To uninstall, simply remove the module from the socket.

Temperature sensor - Optional

Although not factory installed, a LM35D temperature sensor can be installed on every CrcDuino board and its data accessed using the analog input defined as CRC_LM35D. It can be easily soldered in the dedicated holes right below the “Q240” marks on the board, respecting the pin polarity indicated by the truncated oval mark on the board.

Board Revision

Since CRC Robotics always wants to improve, different hardware generations exist to keep up to date with technological advances and/or improve the design and functionality of the board. Because of these hardware changes, stuff might be wired differently on the board, sometime causing the pin numbers associated with certain functionality on the chip change between hardware revision. To avoid problems, the most up to date CRCLib associated with the hardware revision should be used.

  • 9880A: Generation A. Initial Beta release.*

  • 9880B: Generation B. Improved power supply circuitry to better handle battery voltage drops caused by power motors in-rush current. No impact for CrcLib.

*All 9880A boards in circulation have been upgraded to be equivalent to a 9880B board
  • . 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 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 Neopixel

La LED 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 couleur.


Bouton Reset

Lorsque le bouton reset est appuyé, 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 comme INPUT dans votre programme. C’est un comportement « normal » de la puce AVR causé par la séquence interne d’opération 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 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 board. 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 de voltage causé 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 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" )