Package: cl57t-raspberry-pi-stepper-drive
Raspberry PI Stepper Driver for CL57TThis is a library to drive a stepper motor with a CL57T stepper driver and a Raspberry Pi.This code is still experimental, so use it on your own risk.This library is programmed in pure Python. The performance of Python is not good enough to drive the motor with high speed.
So if you move the motor with high speed and this library the motor will lose steps.This library is a fork ofcl57t-raspberry-pi-stepper-drive. Please check out this repo for more context.the Documentation of the CL57T can be found here:CL57T - DatsheetThe code is also available onPyPI.InstallationInstallation with PIPpip3installcl57t-raspberry-pi-stepper-driveWiringPin CL57Tconnect toFunctionCOM,ENA-, DIR-, PUL-GND of Raspberry PiGND for VDD and SignalsALMGPIO 26 (pin 37)receive an error signal from stepper driverENAGPIO 19 (pin 35)enable the motor outputDIRGPIO 13 (pin 33)set the direction of the motorPUL/STEPGPIO 6 (pin 31)moves the motor one step per pulseHOMING_SENSORGPIO 5 (pin 29)optional, used for homing the stepperThe GPIO pins can be specific when initiating the class.Sample Code#pylint: disable=wildcard-import#pylint: disable=unused-wildcard-import#pylint: disable=unused-import#pylint: disable=duplicate-code"""test file for testing basic movement"""fromcl57t_raspberry_pi_stepper_drive.CL57TStepperDriverimport*print("---")print("SCRIPT START")print("---")# Pinout# GPIO 26 (pin 37): ALM# GPIO 19 (pin 35): ENA# GPIO 13 (pin 33): DIR# GPIO 6 (pin 31): PUL/STEP# GPIO 5 (pin 29): HOMING_SENSOR#-----------------------------------------------------------------------# initiate the CL57T class# use your pins for pin_en, pin_step, pin_dir here#-----------------------------------------------------------------------stepper=CL57TStepperDriver(pin_en=19,# GPIO 19 (pin 35): ENApin_step=6,# GPIO 6 (pin 31): PUL/STEPpin_dir=13,# GPIO 13 (pin 33): DIRpin_homing_sensor=5,# GPIO 2 (pin 29): HOMING_SENSORmicrostepping_resolution=1600,gearwheel_diameter_mm=56,# HTD 36 5M 09loglevel=Loglevel.DEBUG,)#-----------------------------------------------------------------------# set the loglevel of the libary (currently only printed)# set whether the movement should be relative or absolute# both optional#-----------------------------------------------------------------------stepper.cl57t_logger.set_loglevel(Loglevel.DEBUG)stepper.set_movement_abs_rel(MovementAbsRel.ABSOLUTE)print("---\n---")#-----------------------------------------------------------------------# activate the motor current output#-----------------------------------------------------------------------stepper.set_motor_enabled(True)stepper.set_acceleration(800)stepper.set_max_speed(800)stepper.do_homing()stepper.set_acceleration(1600*10)stepper.set_max_speed(10000)stepper.set_homing_position_mm(400)stepper.run_to_position_mm(1000)stepper.run_to_position_mm(400)#-----------------------------------------------------------------------# move the motor 1 revolution#-----------------------------------------------------------------------# stepper.run_to_position_steps(9)                             #move to position 400# stepper.run_to_position_steps(0)                               #move to position 0### stepper.run_to_position_steps(400, MovementAbsRel.RELATIVE)    #move 400 steps forward# stepper.run_to_position_steps(-400, MovementAbsRel.RELATIVE)   #move 400 steps backward### stepper.run_to_position_steps(400)                             #move to position 400# stepper.run_to_position_steps(0)                               #move to position 0#-----------------------------------------------------------------------# deactivate the motor current output#-----------------------------------------------------------------------stepper.set_motor_enabled(False)print("---\n---")#-----------------------------------------------------------------------# deinitiate the CL57T class#-----------------------------------------------------------------------delstepperprint("---")print("SCRIPT FINISHED")print("---")AcknowledgementsThis library is a fork ofTMC2209_Raspberry_Pi.The code to run the stepper motor is based on the code of theAccelStepper Library from Mike McCauley.The main focus for this are Test setups, as Python is not fast enough for high motor speeds.Feedback/ContributingIf you encounter any problem, feel free to open an issue on the Githubissue page.
Feedback will keep this project growing and I encourage all suggestions.
Feel free to submit a pull request on the dev branch.