Performance DC Bricklet

Features

  • Controls one brushed DC motor with max. 36V and 10A (continuously)

  • Direction, velocity and acceleration controllable

  • Two configurable opto-coupled GPIOs for end-stops or similar

  • Status, error, direction and GPIO LEDs

  • Configurable overtemperature and overcurrent callbacks

Description

With the Performance DC Bricklet you are able to control one DC brushed motor (max. 36V and 10A (continuously)). With the provided API for many programming languages you can control the direction, velocity and acceleration of the connected motor. Additionally, the drive mode can be switched between Drive/Brake and Drive/Coast (see Drive Modes).

Besides methods to control the connected motor the API provide the possibility to measure current consumption or the input voltage. In case of overtemperature and overcurrent callbacks can be triggered.

The Bricklet comes with two opto-coupled inputs that can be configured as end-stops.

Six user-configurable status LEDs can be used to show the GPIO state, motor direction, errors and more.

Technical Specifications

Property

Value

Current Consumption

60mW (12mA at 5V) without motor

Maximum Motor Current

10A continous

Minimum/Maximum Input Voltage

6V/36V

PWM Frequency

Configurable, 1-50kHz, default 20kHz

Velocity

-32767 to 32767, full reverse to full forward, 0=stop

Acceleration/Deceleration

0 to 65535, velocity/s, increment for velocity/s

Dimensions (W x D x H)

80 x 80 x 22mm (3.15 x 3.15 x 0.87")

Weight

50g

Resources

Connectivity

The following picture depicts the different connection possibilities of the Performance DC Bricklet.

Performance DC Bricklet with caption

Test your Performance DC Bricklet

To test a Performance DC Bricklet you need to have Brick Daemon and Brick Viewer installed. Brick Daemon acts as a proxy between the USB interface of the Bricks and the API bindings. Brick Viewer connects to Brick Daemon. It helps to figure out basic information about the connected Bricks and Bricklets and allows to test them.

Connect the Performance DC Bricklet to a Brick with a Bricklet Cable. Connect a DC brushed motor and a suitable power supply to the Bricklet and a suitable power supply.

If you connect the Brick to the PC over USB, you should see a new tab named "Performance DC Bricklet" in the Brick Viewer after a moment. Select this tab.

Performance DC Bricklet in Brick Viewer

Before you can test your Bricklet you need to enable the driver chip by ticking the "Enable" checkbox. You have four sliders to control the velocity (forward and backward), the acceleration, deceleration and the PWM frequency which is used by the driver chip to control the connected motor.

On the right you see the input voltage and the current consumption. Below you find a graphical representation of the velocity of the motor.

Below the sliders you can test the "Full Brake" and change the driving modes (see here for more information).

After this test you can go on with writing your own application. See the Programming Interface section for the API of the Performance DC Bricklet and examples in different programming languages.

Drive Modes

There are two possible modes of motor controls:

  • Drive/Brake

    In this mode the motor is always either driving or braking, there is no freewheeling possible. A more linear correlation between PWM and velocity is an advantage of this mode. Therefore it is possible to accelerate more precise. Typically motors can be driven with slower velocities in this mode. Disadvantageous is a higher current consumption and a resulting faster heat-up of the driver chip.

  • Drive/Coast

    In this mode the motor is either driving or freewheeling. Advantageous is a lower current consumption and a resulting slower heat-up. The control of the velocity and acceleration is less precise, it can "lag behind".

Error LED

The red error LED has three different states:

  • Off: No error present.

  • 1s interval blinking: Input voltage too low (below 6V).

  • 250ms interval blinking: Overtemperature or overcurrent.

If an over-temperature or -current event occurs the motor will stop running and the driver will be turned off. You need to explicitely call the enable function to start the driver again.

Case

TBD

Programming Interface

See Programming Interface for a detailed description.

Language

API

Examples

Installation

C/C++

API

Examples

Installation

C/C++ for Microcontrollers

API

Examples

Installation

C#

API

Examples

Installation

Delphi/Lazarus

API

Examples

Installation

Go

API

Examples

Installation

Java

API

Examples

Installation

JavaScript

API

Examples

Installation

LabVIEW

API

Installation

Mathematica

API

Examples

Installation

MATLAB/Octave

API

Examples

Installation

MQTT

API

Examples

Installation

Perl

API

Examples

Installation

PHP

API

Examples

Installation

Python

API

Examples

Installation

Ruby

API

Examples

Installation

Rust

API

Examples

Installation

Shell

API

Examples

Installation

Visual Basic .NET

API

Examples

Installation

TCP/IP

API

Modbus

API