...
Info |
---|
All voltage values given on this page are using a |
Components
...
I/O
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.
...
Note |
---|
To avoid damaging the micro-controller, the current drawn from any individual |
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.
...
Info |
---|
For more information on how analog to digital converter work and how to interpret the value returned by |
Digital I/O
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.
...
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
HIGH
→LOW
transition is around 2.1V.The input voltage threshold for the
LOW
→HIGH
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 |
---|
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:
...
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-team: |
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.
...
Info |
---|
I2C and Serial pins ( |
SPI Communication Port
The 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 pins:
...
SS
: The Slave Select pin.SCK
: The Serial Clock pin.MOSI
: The Master Output, Slave Input pin.MISO
: The Master Input, Slave Output pin.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.
I2C Communication Port
The Inter-Integrated Circuit (I2C, pronounced I-squared-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 pins:
...
SDA
: The Serial Data Line pin. This pin is aligned with the “MISO” mark of the SPI port.SCL
: The Serial Clock Line pin. This pin is aligned with the “MOSI” mark of the SPI 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.
SERIAL Communication Port
The serial port, 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 pins:
...
TXD1
: The TX pin. This pin is aligned with the “MISO” mark of the SPI port.TRX1
: The RX pin. This pin is aligned with the “MISO” mark of the SPI 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.
Encoder Port
Encoder ports are meant to be used to read digital signals coming from a quadrature encoder.
Note |
---|
No CrcLib functions has currently been prepared to be used with the encoder ports I/O pins. These pins are set as |
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 quadrature encoder when used with an encoder library. We recommend using Paul Stoffregen’s library named Encoder, as detailed here. The port consists of 4 pins:
...
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.
Expand | ||
---|---|---|
| ||
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 The ATMEGA2560-16AU is equipped with 6 timers. If you use the native Arduino function analogWrite() , make sure the PWM outputs used do not rely on timers that are used by
|
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 2.35A @ 12V.
5V
pins of PWM ports #5 to #8 are supplied by a dedicated 1A @ 5V power supply.5V
pins of 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 0.350A @5V power supply.
The micro-controller is supplied by a dedicated 5V power supply which is PTC limited at 300mA @ 12V.
The Xbee module is supplied by a 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.
...
Info |
---|
Special behavior: |
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 resetWhen the micro-controller is reset, some of your outputs might be set to |
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.
...
*All 9880A boards in circulation have been upgraded to be equivalent to a 9880B board.
...
Articles liés
Filter by label (Content by label) | ||||||
---|---|---|---|---|---|---|
|