jpickup / Kitronik-Pico-Motor-Driver-Board-MicroPython

class and sample code for Kitronik Pico Motor Driver - 5331

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Other languages: FRANCAIS

Kitronik-Pico-Motor-Driver-Board-MicroPython

Kitronic Motor Driver

A class and sample code to use the Kitronik Motor driver board for Raspberry Pi Pico. (www.kitronik.co.uk/5331)

This is the MicroPython version. For CircuitPython see here

To use save PicoMotorDriver.py file onto the Pico so it can be imported

Import the library and construct an instance

import PicoMotorDriver
board = PicoMotorDriver.KitronikPicoMotor()

This will setup the correct pins to drive the motors.

Drive a motor:

Motor Driver with DC motor

board.motorOn(motor, direction, speed)

where:

  • motor => 1 or 2
  • direction => f or r
  • speed => 0 to 100

The following example drives the both motors in opposite direction.

import PicoMotorDriver
board = PicoMotorDriver.KitronikPicoMotor()
board.motorOn(1, 'f', 100)
board.motorOn(2, 'r', 50) # turning slower

See also the following example scripts:

  • SingleMotorTest.py: Driving one motor at the time (in both direction with speed increase/decrease) script.
  • AllMotorTest.py: test various combination of speed for the both motor (like on a 2 wheels robot).

Stop a motor:

board.motorOff(motor)

where:

  • motor => 1 or 2

Drive a Stepper:

Motor driver with Stepper

Rotating in steps

board.step(direction,steps)

where:

  • direction => f or r
  • steps => how many steps to make

See also the StepperTest.py example script.

Rotating an angle

board.stepAngle(direction, angle)

where

  • direction => f or r
  • angle => how many degrees to move

Default parameters

The stepper code assumes 200 steps per revolution (1.8 degrees per step) and only does full steps.

There are defaulted parameters for

  • stepper speeds: default 20mS pause between steps,
  • hold position when finished stepping: off - saves energy
  • how many steps per rev: 200. Look at the function headers and function comments in PicoMotorDriver.py for more detail if you need to change them.

Troubleshooting

This code is designed to be used as a module. See: https://kitronik.co.uk/blogs/resources/modules-micro-python-and-the-raspberry-pi-pico for more information

About

class and sample code for Kitronik Pico Motor Driver - 5331

License:MIT License


Languages

Language:Python 100.0%