Arduino MKR Motor Carrier
Want to connect several motors and sensors to your mechatronic project? The Arduino MKR Motor Carrier is the perfect companion for Arduino MKR boards as it will allow you to rapidly prototyping and build your projects.
- Tech Specs
The MKR Motor Carrier is an MKR add-on board designed to control servo, DC, and stepper motors. The Carrier can also be used to connect other actuators and sensors via a series of 3-pin male headers.
The summary of features is shown below:
- Compatible with all the boards in the MKR family
- Four servo motor outputs
- Four DC motor outputs (two high performance + two standard performance)
- Sensing of current feedback for the high-performance motors
- Two inputs for encoder sensors
- Four inputs for analog sensors (3-pin compatible)
- Possibility to read the status of the batteries
- ON-OFF switch with Power ON LED
- LiPo battery connector (2S or 3S compatible) and power terminal block for alternative power source
- LEDs to visually indicate the direction of the rotation of the DC motors
- On-board processor for automated control of some of the outputs
- I2C connector as a 4-pin male header
Want to connect several motors and sensors to your mechatronics project? The Arduino MKR Motor CARRIER is the perfect companion for Arduino MKR boards as it will allow you to rapidly prototyping and build your projects.
The MKR Motor Carrier (also known as MKR motor carrier board) is an MKR add-on board designed to control servo, DC, and stepper motors. The Carrier can also be used to connect other actuators and sensors via a series of 3-pin male headers.The summary of features is shown below: Compatible with all the boards in the MKR family Four servo motor outputs Four DC motor outputs (two high performance + two standard performance) Sensing of current feedback for the high-performance motors Two inputs for encoder sensors Four inputs for analog sensors (3-pin compatible) Possibility to read the status of the batteries ON-OFF switch with Power ON LED LiPo battery connector (2S or 3S compatible) and power terminal block for alternative power source LEDs to visually indicate the direction of the rotation of the DC motors On-board processor for automated control of some of the outputs I2C connector as a 4-pin male header
ATSAMD11 ( Arm Cortex-M0+ processor)
Max current (MC33926)
5 Amps Peak, RMS current depending on the degree of heat sink provided
Max current (DRV8871)
3 Amps peak, current limited by current sense resistor.
6.5 to 12.6V
Reverse current protection
Over Temperature shutdown protection (for DC motor drivers)
On board voltage regulator
Terminal block and 3 pin/4 pin header connector
The MKR Motor Carrier features two MC33926 motor drivers for high-performance DC motor control with direct connection to the MKR1000, current feedback, and capacity for up to 5 Amps (peak). In addition, there are two DRV8871 drivers that are controlled from a SAMD11 microcontroller that communicates with the MKR1000 via I2C (SPI optional). The SAMD11 is also used to control the servos, read the encoders, and read the battery voltage. There is an interrupt line connecting the SAMD11 (on PA27) and the MKR board.
Note that for extended use or high-current motors, an extra heatsink (and eventually a fan) might be required for the drivers.
When plugging the MKR1000 and the Motor Carrier, some of the pins will stop being available for you to use in your code, as they will be needed to control some of the features of the Carrier. For example, the current feedback from the two MC33926 drivers is connected directly to some of the analog pins on the MKR1000. The following list explains which pins of the MKR1000 are used to control the Carrier:
- Analog pin A3 for current feedback from Motor3
- Analog pin A4 for current feedback from Motor4
- Digital pin D2 for IN2 signal for Motor3
- Digital pin D3 for IN1 signal for Motor3
- Digital pin D4 for IN2 signal for Motor4
- Digital pin D5 for IN1 signal for Motor4
- Digital pin D6 for Interrupt signal from the SAMD11 to the MKR1000
- Digital pin D11 for the SDA signal (I2C)
- Digital pin D12 for the SCL signal (I2C)
Also, some pins can optionally be connected via a soldering jumper or a 0 Ohm resistor. These pins are:
To use the Carrier, you will need to plug an MKR board (the MKR1000, MKR Zero, or other) on the headers at the center of the board. Make sure the MKR board is connected in the proper direction. You can do this by making sure the info printed on the side of the headers are matching for both the MKR board and the Motor Carrier.Once the board is properly connected to the Motor Carrier, you can start programming the board. To control the motors, you will need to import the MKR Motor Carrier library. You can find more information about the library here. If you want to read more about how to install a library then you follow this link.When working with motors, you will need an external source to feed the motor drivers and power up the motors. You can do this by connecting a LiPo Battery to the battery connector or using an external power source and connecting it to the VIN input on the terminal block. It is recommended to do these operations with the power switch at the OFF position. Once the external power is connected to the board, the power switch can be turned on.
- Digital pin D1 for the SF signal from the MC33926 drivers (optional)
- Digital pin D7 for the SPI SS signal (optional)
- Digital pin D8 for the SPI MOSI signal (optional)
- Digital pin D9 for the SPI SCK signal (optional)
- Digital pin D10 for the SPI MISO signal (optional)
DocumentationThe Arduino MKR Motor Carrier is open-source hardware! You can contribute to the design using the following files: