#middleware #real-time #copper #raspberry-pi

yanked cu_rp_sn754410

Rust library for controlling the SN754410 motor driver on the Raspberry Pi for Copper

1 unstable release

0.2.3 Sep 11, 2024

#24 in #copper

Apache-2.0

245KB
2.5K SLoC

Copper Driver for the TI SN754410 Quadruple Half-H Driver

Overview

The SN754410 is a quadruple half-H driver that can be used to drive motors, solenoids, and other inductive loads. It can drive up to 1A of current at 4.5V to 36V. The driver is capable of driving two motors in both directions using the 2 PWMs generators from the Raspberry Pi.

The SN754410 chip

Compatibility

OS: Linux on Rapsberry Pi.

hardware: Texas Instrument SN754410

It can drive a DC motors like the MG513P2012:

The MG513 motor

Wiring

Kicad diagram of the connections

Usage

Using this driver

Add the following to your Cargo.toml:

[dependencies]
cu-rp-sn754410 = "0.2.3"

In your Copper RON config file, add the following:

    tasks: [
        (
            id: "dst",
            type: "cu_rp_sn754410::SN754410",
        ),
    ]

There is no config for this driver.

When you connect this driver to the rest of the system you need to use the cu_rp_sn754410::MotorMsg message type.

    cnx: [
        (src: "src",  dst: "dst",   msg: "cu_rp_sn754410::MotorMsg"),
    ],

In this message the field current_power is the power that you want to apply to the motor. It is a value between -1.0f32 and 1.0f32. The negative values are for the reverse direction.

Dependencies

~10–22MB
~333K SLoC