From d7c4ba7ea85f5b954ae83df4f8435730e381523b Mon Sep 17 00:00:00 2001 From: gavin Lyons Date: Sun, 18 Apr 2021 20:33:58 +0100 Subject: [PATCH] version 3.0 --- Documentation/28BYJ.md | 4 +- Documentation/Nema11A3967Easy.md | 45 ++++++------ Documentation/Nema11A4988.md | 44 ++++++------ Documentation/Nema11DRV8825.md | 34 ++++----- Documentation/Nema11L298N.md | 9 ++- Documentation/Nema11TB6612FNG.md | 6 +- Documentation/Servo_RPI_GPIO.md | 24 +++---- Documentation/Servo_pigpio.md | 84 ++++++++--------------- Documentation/changelog/CHANGELOG.md | 8 ++- Documentation/{ => matrix}/matrix.ods | Bin README.md | 94 +++++++++++-------------- RpiMotorLib/RpiMotorLib.py | 68 +++++++++++------- RpiMotorLib/RpiMotorScriptLib.py | 2 +- RpiMotorLib/rpi_dc_lib.py | 1 + RpiMotorLib/rpi_pservo_lib.py | 95 ++++++++++++++++++-------- RpiMotorLib/rpiservolib.py | 78 ++++++++++++++------- images/DRV8825pinout.jpg | Bin 41349 -> 35486 bytes images/Microstepping_Data.jpg | Bin 17480 -> 0 bytes images/TB6612FNGpinout.jpg | Bin 55494 -> 26447 bytes images/wiringdiagram1.jpg | Bin 76034 -> 43233 bytes setup.py | 6 +- test/A3967_Nema_Test.py | 59 +++++++++++----- test/A4988_Nema_Test.py | 44 ++++++++---- test/BYJ_Motor_Test.py | 40 ++++++++--- test/DRV8825_Nema_Test.py | 42 ++++++++---- test/L298_Step_Test.py | 39 ++++++++--- test/ServoGPIOTest.py | 79 +++++++++++++-------- test/ServoPIGPIOTest.py | 80 ++++++++++++++-------- test/TB6612FNG_DCMot_Test.py | 61 +++++++++-------- test/TB6612FNG_Nema_Test.py | 27 +++++++- 30 files changed, 638 insertions(+), 435 deletions(-) rename Documentation/{ => matrix}/matrix.ods (100%) delete mode 100644 images/Microstepping_Data.jpg diff --git a/Documentation/28BYJ.md b/Documentation/28BYJ.md index 3a0a44b..ba93dd8 100644 --- a/Documentation/28BYJ.md +++ b/Documentation/28BYJ.md @@ -80,7 +80,7 @@ Software -------------------------------------------- The library file RpiMotorLib.py contains the class which controls -the motor. +the motor. The test file in the test folder is called BYJ_Motor_Test.py. When initialize class pass a name and motor type The class is called BYJMotor @@ -130,7 +130,7 @@ to initialize. verbose output off , in half step mode, with an init start delay of 50mS The second function is called to stop the motor when the motor is moving. -motor_stop() +motor_stop(), if you wish to stop motor before end of its run. You can also stop with keyboard interrupt. ```sh diff --git a/Documentation/Nema11A3967Easy.md b/Documentation/Nema11A3967Easy.md index 0aed46d..c1ea36c 100644 --- a/Documentation/Nema11A3967Easy.md +++ b/Documentation/Nema11A3967Easy.md @@ -18,9 +18,7 @@ should work with any similar type motor. It has 200 steps per revolution, and can operate at at 60 RPM. It was a step to angle ratio of 1.8 degrees per step. -The key to successful stepper motor control is identifying the wires - -that is which one is which. You will need to determine -the A, B, C and D wires. +You will need to determine the A, B, C and D wires. With our example motor these are green, blue, black and red. coil 2. @@ -70,11 +68,20 @@ MS1/MS2 : These digital inputs control the microstepping mode. Connect to RPI GP Possible settings are (MS1/MS2) : full step (0,0), half step (1,0), 1/4 step (0,1), and 1/8 step (1,1). -Enable, Reset, PFD and Sleep pins can be left unconnected. They are not supported in this library at present. +Enable, Reset, PFD and Sleep pins can be left unconnected. +They are not supported in this library at present. +The User can control them externally with GPIO. -![ScreenShot motor pinout](https://raw.githubusercontent.com/gavinlyonsrepo/RpiMotorLib/master/images/a3967pinout.jpg) +RST (reset) : This normally high input signal will disable all output drivers when pulled low. +SLP (sleep) : This normally high input signal will minimize power consumption the output drivers when pulled low. +ENABLE : This normally low input signal will disable all outputs when pulled high. +PFD : This one is complicated - please see the datasheet for more information. + + +Also do NOT disconnect motor when in operation, as it will damage controller. +![ScreenShot motor pinout](https://raw.githubusercontent.com/gavinlyonsrepo/RpiMotorLib/master/images/a3967pinout.jpg) In addition there are two bridges/jumpers on the Easy driver SJ1 and SJ2. SJ1 is jumper APWR and can be left alone, see datasheet for details. @@ -84,13 +91,17 @@ to work with RPI, note diagram for location of SJ2 in bottom left. ![ScreenShot motor pinout](https://raw.githubusercontent.com/gavinlyonsrepo/RpiMotorLib/master/images/a3967jumper.jpg) -Also do NOT disconnect motor when in operation, as it will damage controller. +There are 4 step modes for A3967. -![ScreenShot mircostep data](https://github.com/gavinlyonsrepo/RpiMotorLib/blob/master/images/Microstepping_Data.jpg) +| MicroStep| Step increment degrees | Steps for 1 revolution(360) | +| ------ | ------ | ------ | +| Full | 1.8 | 200 | +| Half | 0.9 | 400 | +| 1/4 | 0.45 | 800 | +| 1/8 | 0.225 | 1600 | - Microstep Resolution Truth Table. +Microstep Resolution Truth Table. - | MS1 | MS2 | Resolution | | --- | --- | --- | | L | L | Full step | @@ -98,20 +109,13 @@ Also do NOT disconnect motor when in operation, as it will damage controller. | L | H | Quarter step | | H | H | Eighth step | -There are 4 step modes for A3967, NOTE the A3967 only goes as far as 1/8 step -Above is the step-resolution of Motor step per degree, - -* Full mode: 200 steps is one revolution. 1.8 degree per step = 360 -* Half mode: 400 steps is one revolution 0.9 degree per step = 360 -* ... and so on. - - Software -------------------------------------------- The library file RpiMotorLib.py contains the class which controls -the motor. The class is called A3967EasyNema. +the motor. The class is called A3967EasyNema. +The test file is called A3967_Nema_Test.py. init method 3 inputs. 1. direction type=int , help=GPIO pin connected to DIR pin of IC @@ -134,11 +138,14 @@ Microstep Resolution pins MS1-MS2 of IC 6. initdelay, type=float, default=1mS, help= Initial delay after GPIO pins initialized but before motor is moved. +Another function is called to stop the motor when the motor is moving. +motor_stop(), if you wish to stop motor before end of its run. +You can also stop with keyboard interrupt. + Example: ```sh - import RPi.GPIO as GPIO diff --git a/Documentation/Nema11A4988.md b/Documentation/Nema11A4988.md index a8e15b9..eaacd68 100644 --- a/Documentation/Nema11A4988.md +++ b/Documentation/Nema11A4988.md @@ -18,9 +18,7 @@ should work with any similar type motor. It has 200 steps per revolution, and can operate at at 60 RPM. It was a step to angle ratio of 1.8 degrees per step. -The key to successful stepper motor control is identifying the wires - -that is which one is which. You will need to determine -the A, B, C and D wires. +You will need to determine the A, B, C and D wires on the stepper motor. With our example motor these are green, blue, black and red. coil 2. @@ -42,9 +40,7 @@ Good info! [A4988 How to Setup with A4988 Arduino, Blog by DroneBot Workshop](https://dronebotworkshop.com/stepper-motors-with-arduino/) -The A4988 is a very common and inexpensive stepper motor controller. -Other than the controller and motor it only requires one other part, -a decoupling capacitor that is mounted physically close to the controller. +The A4988 is a very common and inexpensive stepper motor controller, With a heatsink the device can handle up to 2 amperes. Pinout of the A4988 module: @@ -81,38 +77,33 @@ but you should check your motor connections to be sure they are correct. Connect 5 GPIO pins to MS1, MS2, MS3, STEP and DIR. NOTE in this figure MS1 and MS3 are not connected. - +Connect Reset to Sleep. Connect pi Vcc 5V and GND to A4988 at VDD and GND -Note that there is an additional component not shown , in this circuit. -This is essential to decouple the power supply. Any value from 47uf up will suffice, +The capacitor is essential to decouple the power supply. Any value from 47uf up will suffice, try and mount the capacitor as close to the A4988 VMOT and GND pins as possible. -Connect up capacitor and Motor leads +Connect up capacitor and Motor leads. Advisable to carry out a Current Adjustment before using motor, see links at top of section for instructions. - -Connect Reset to Sleep - Also do not disconnect motor when in operation, as it will damage controller. -![ScreenShot A4988 mircostep data](https://github.com/gavinlyonsrepo/RpiMotorLib/blob/master/images/Microstepping_Data.jpg) - -There are 5 step modes for A4988, NOTE the A4988 only goes as far as 1/16 step -Above is the step-resolution of Motor step per degree, - -* Full mode: 200 steps is one revolution. 1.8 degree per step = 360 -* Half mode: 400 steps is one revolution 0.9 degree per step = 360 -* ... and so on. - +There are 5 step modes for A4988. +| MicroStep| Step increment degrees | Steps for 1 revolution(360) | +| ------ | ------ | ------ | +| Full | 1.8 | 200 | +| Half | 0.9 | 400 | +| 1/4 | 0.45 | 800 | +| 1/8 | 0.225 | 1600 | +| 1/16 | 0.1125 | 3200 | Software -------------------------------------------- The library file RpiMotorLib.py contains the class which controls -the motor. The class is called A4988Nema. +the motor. The class is called A4988Nema. Test file is called A4988_Nema_Test.py The class is initialized with four arguments. (direction_pin, step_pin, mode_pins, motor_type): @@ -146,12 +137,17 @@ help="Write pin actions", 6. initdelay, type=float, default=1mS, help= Intial delay after GPIO pins initialized but before motor is moved. +Another function is called to stop the motor when the motor is moving. +motor_stop(), if you wish to stop motor before end of its run. +You can also stop with keyboard interrupt. + Example: Should do a 180 degree turn. To run A stepper motor clockwise in Full mode for 100 steps. for step delay of .01 second. verbose output off , with 50mS init delay. - + + ```sh diff --git a/Documentation/Nema11DRV8825.md b/Documentation/Nema11DRV8825.md index 659a7b2..8741cb8 100644 --- a/Documentation/Nema11DRV8825.md +++ b/Documentation/Nema11DRV8825.md @@ -22,11 +22,7 @@ Info. The DRV8825 is a very common and inexpensive stepper motor controller, -designed by pololu. -Other than the controller and motor it only requires one other part, -a decoupling capacitor that is mounted physically close to the controller. -With a heatsink the device can handle up to 1.5 amps per coil. -Six different step resolutions: full-step, half-step, 1/4-step, 1/8-step, 1/16-step, and 1/32-step +designed by pololu.With a heatsink the device can handle up to 1.5 amps per coil. Pinout of the DRV8825 module: @@ -58,31 +54,29 @@ that is common on several bipolar motors but you should check your motor connections to be sure they are correct. Connect 5 GPIO pins to MS0, MS1, MS2, STEP and DIR. -NOTE in this figure MS pins are not connected. - Connect pi gnd to DRV8825 at GND. Connect Reset and sleep together and to pi 5V. +Connect up capacitor and Motor leads. -Note that there is an additional component not shown , in this circuit. -This is essential to decouple the power supply. Any value from 47uf up will suffice, +The capacitor is essential to decouple the power supply. Any value from 47uf up will suffice, try and mount the capacitor as close to the DRV8825 VMOT and GND pins as possible. -Connect up capacitor and Motor leads - Advisable to carry out a DRV8825 Current Adjustment before using motor see info links at top of section. Also do not disconnect motor when in operation, as it will damage controller. - It is also possible and valid to connect up the DRV8825 in another alternative minimal wiring type as per A4988 section see first info links at top of section bottom of page. -![ScreenShot DRV8825 mircostep data](https://github.com/gavinlyonsrepo/RpiMotorLib/blob/master/images/Microstepping_Data.jpg) +There are 6 step modes for DRV8825, +Six different step resolutions: full-step, half-step, 1/4-step, 1/8-step, 1/16-step, and 1/32-step -There are 6 step modes for DRV8825, NOTE the DRV8825 only goes as far as 1/32 step -Above is the step-resolution of Motor step per degree, - -* Full mode: 200 steps is one revolution. 1.8 degree per step = 360 -* Half mode: 400 steps is one revolution 0.9 degree per step = 360 -* ... and so on. +| MicroStep| Step increment degrees | Steps for 1 revolution(360) | +| ------ | ------ | ------ | +| Full | 1.8 | 200 | +| Half | 0.9 | 400 | +| 1/4 | 0.45 | 800 | +| 1/8 | 0.225 | 1600 | +| 1/16 | 0.1125 | 3200 | +| 1/32 | 0.05625 | 6400 | Resolution truth table used in code. @@ -96,7 +90,7 @@ The library file RpiMotorLib.py contains the class which controls the motor. The class is called A4988Nema. This class handles both A4988 and Drv8825. The only difference from a user POV is when you instantiate the class the user passes the motor type and also user can now use -1/32 microstep for DRV8825. +1/32 microstep for DRV8825. The test file is called DRV8825_Nema_Test.py See for more details [A4988 software Section](Nema11A4988.md) diff --git a/Documentation/Nema11L298N.md b/Documentation/Nema11L298N.md index 15d254c..ac47841 100644 --- a/Documentation/Nema11L298N.md +++ b/Documentation/Nema11L298N.md @@ -111,7 +111,7 @@ Same software as 28BYJ-48 but with minor change in class definition for verbose output. The library file RpiMotorLib.py has a class which controls the motor with one -main function. +main function. The test file in the test folder is called L298_Step_Test.py. When initializing the class pass a name and motor type. The class is called BYJMotor. @@ -124,7 +124,7 @@ BYJMotor(name, motor_type) to calculate degree in verbose output two options currently Nema and 28BYJ. Set to Nema for this component -The function is called motor_run- moves stepper motor based on 7 inputs. +The first function is called motor_run- moves stepper motor based on 7 inputs. motor_run(GPIOPins, wait, steps, counterclockwise, verbose, steptype, initdelay) (1) GpioPins, type=list of ints 4 long, help="list of @@ -154,7 +154,10 @@ help="Turn stepper counterclockwise" (7) initdelay, type=float, default=1mS, help= Intial delay after GPIO pins initialized but before motor is moved, gives time for GPIO to initialize. - + + he second function is called to stop the motor when the motor is moving. +motor_stop(), if you wish to stop motor before end of its run. You can also stop with keyboard interrupt. + Example: To run A stepper motor connected to GPIO pins 18, 23, 24, 25 (18-IN1 23-IN2 24-IN3, 25-IN4) for step delay of 0.1 second for 50 step control signal sequence, in clockwise direction, diff --git a/Documentation/Nema11TB6612FNG.md b/Documentation/Nema11TB6612FNG.md index 2c9796f..a453a52 100644 --- a/Documentation/Nema11TB6612FNG.md +++ b/Documentation/Nema11TB6612FNG.md @@ -107,7 +107,7 @@ Same software as 28BYJ-48 but with minor change in class definition for verbose output. The library file RpiMotorLib.py has a class which controls the motor with one -main function. +main function. The test file in the test folder is called TB6612FNG_Nema_Test.py When initializing the class pass a name and motor type. The class is called BYJMotor. @@ -120,7 +120,7 @@ BYJMotor(name, motor_type) to calculate degree in verbose output two options currently Nema and 28BYJ. NB **Set to Nema for this component** -The function is called motor_run- moves stepper motor based on 7 inputs. +The 1st function is called motor_run- moves stepper motor based on 7 inputs. motor_run(GPIOPins, wait, steps, counterclockwise, verbose, steptype, initdelay) (1) GpioPins, type=list of ints 4 long, help="list of @@ -150,6 +150,8 @@ help="Turn stepper counterclockwise" GPIO pins initialized but before motor is moved, gives time for GPIO to initialize. +The second function is called to stop the motor when the motor is moving. +motor_stop(), if you wish to stop motor before end of its run. You can also stop with keyboard interrupt. Example: diff --git a/Documentation/Servo_RPI_GPIO.md b/Documentation/Servo_RPI_GPIO.md index 0ee241b..74d0760 100644 --- a/Documentation/Servo_RPI_GPIO.md +++ b/Documentation/Servo_RPI_GPIO.md @@ -15,14 +15,14 @@ Should Work on any servo with 20mS duty cycle or 50Hz frequency, tested on. (Check if your servo matches the freq/duty cycle specifications, most should) -[Datasheet SG90](http://www.micropik.com/PDF/SG90Servo.pdf) -[Datasheet Hs422](https://cdn.sparkfun.com/datasheets/Robotics/hs422-31422S.pdf) -[Datasheet MG996R](http://www.datasheetcafe.com/mg996r-datasheet-digital-servo/) +[Datasheet SG90,](http://www.micropik.com/PDF/SG90Servo.pdf) +[Datasheet Hs422,](https://cdn.sparkfun.com/datasheets/Robotics/hs422-31422S.pdf) +[Datasheet MG996R.](http://www.datasheetcafe.com/mg996r-datasheet-digital-servo/) The following data applies to the SG90 servo. The servo has 3 wires one for gnd(brown) 5v power(red) and signal(orange/yellow). -I have verified that it is safe to drive a single servo from the 5 volt rail on Rpi. +It is generally safe to drive a single small servo from the 5 volt rail on Rpi. However It is possible to damage your Raspberry Pi by drawing too much current out of a pin(spikes or low current power supply on the pi). It is best to power it from a 5 Volt source other than a Raspberry Pi rail. @@ -34,29 +34,23 @@ the sum of that current and the board's 700 mA doesn't exceed the supply you p From the data sheet , we see these servos expects a frequency of 50 Hz on the control line and the position it moves to depends on the pulse width of the signal. 50Hz gives a period of 20mS (Freq = 1/Period) - These servo has a range of 180 degrees. The Raspberry Pi controls the servo by outputting a PWM signal of varying duty cycle on a GPIO pin connected to signal pin of servo. - For the Raspberry Pi we do not have a change pulse width method for PWM, -but we can change the Duty Cycle. Note that: - -Duty Cycle = Pulse Width * Frequency +but we can change the Duty Cycle. Note that: Duty Cycle = Pulse Width * Frequency Given a 50 Hz frequency we can calculate the required duty cycle for any pulse width. For example: - We need a 1.5 ms pulse to center the servo, or a Duty Cycle = 0.0015 * 50 = 0.075 (i.e 7.5%). Similarly, 1 ms pulse (- 90 degrees or 0 degrees) requires a Duty Cycle = 0.001 * 50 = 5% 2 ms pulse (+ 90 degrees or 180), Duty Cycle = 0.002 * 50 = 10% - Thus the duty cycle range should be from 5 - 10% with the center at 7.5%. Every servo is different, so you will need to calibrate it for the best performance. -I found 7.5 for center , +It was found 7.5 for center , 11 for max duty percentage or left position (180 degress) and 2 for min duty percentage or right postion (0 degrees) Check datasheet for recommend pulse width and calibrate accordingly. @@ -81,7 +75,6 @@ The equation of the line using the point slope formula = y-y1=m(x-x1) . We want to find point (x,y) Where y is required pulse duty cycle percentage and x is the given degree. For default values this works out as DutyCycle = 1/18* (DesiredAngle) + 2. - So for default values 90 degree or midpoint is 7.0. @@ -96,11 +89,10 @@ precise control the user can pick the pigpio library which uses hardware based timing. The disadvantage being they must install another an extra dependencies. - The library file has a single class which controls the servo The class is called SG90servo but works for all listed as tested. -The class is called SG90servo and their are four methods are +The class is called SG90servo and their are five methods are (1) servo_sweep - sets up a continuous sweep from two points Center-wait-min-wait-max-wait-min- and so on until user quits or set limit reached. @@ -111,6 +103,8 @@ Center-wait-min-wait-max-wait-min- and so on until user quits or set limit reach (4) servo_move_step - moves servo from two points in timed steps. +(5) servo_stop - this will stop the servo if you wish to stop servo before end of its run. +You can also stop with keyboard interrupt. ### Import library and intialise the class diff --git a/Documentation/Servo_pigpio.md b/Documentation/Servo_pigpio.md index a8aa813..1dcdfaf 100644 --- a/Documentation/Servo_pigpio.md +++ b/Documentation/Servo_pigpio.md @@ -8,87 +8,57 @@ Hardware Should Work on any servo with 20mS duty cycle or 50Hz frequency, tested on. -* Tower pro Digital micro servo SG90 -* Hitec HS422 servo -* Tower pro MG996R Servo +Tower pro Digital micro servo SG90 +Hitec HS422 servo +Tower pro MG996R Servo +(Check if your servo has a range of 0-180 degrees and matches the freq/duty cycle specifications, most should) -(Check if your servo has a range of 0-180 degrees and -matches the freq/duty cycle specifications, most should) - -[Datasheet SG90](http://www.micropik.com/PDF/SG90Servo.pdf) -[Datasheet Hs422](https://cdn.sparkfun.com/datasheets/Robotics/hs422-31422S.pdf) -[Datasheet MG996R](http://www.datasheetcafe.com/mg996r-datasheet-digital-servo/) +Datasheet SG90 Datasheet Hs422 Datasheet MG996R The following HW description applies to the ultra common SG90 servo. -The servo has 3 wires one for gnd(brown) 5v power(red) and signal(orange/yellow). -I have verified that it is safe to drive a single servo from the 5 volt rail on Rpi. -However It is possible to damage your Raspberry Pi by drawing -too much current out of a pin(spikes or low current power supply on the pi). -It is best to power it from a 5 Volt source other than a Raspberry Pi rail. -You can still control it from the Raspberry Pi if you use a common ground, -but just get the power (red wire) from an external source. -The Pi draws approximately 700 mA from the +5 V supply. You may draw current from the +5 V pins provided -the sum of that current and the board's 700 mA doesn't exceed the supply you provide to the board. +The servo has 3 wires one for gnd(brown) 5v power(red) and signal(orange/yellow). +I have verified that it is safe to drive a single servo from the 5 volt rail on Rpi. However It is possible to damage your Raspberry Pi by drawing too much current out of a pin(spikes or low current power supply on the pi). It is best to power it from a 5 Volt source other than a Raspberry Pi rail. You can still control it from the Raspberry Pi if you use a common ground, but just get the power (red wire) from an external source. The Pi draws approximately 700 mA from the +5 V supply. You may draw current from the +5 V pins provided the sum of that current and the board's 700 mA doesn't exceed the supply you provide to the board. -From the data sheet , we see these servos expects a frequency of 50 Hz -on the control line and the position it moves to depends on the pulse width of the signal. -50Hz gives a period of 20mS (Freq = 1/Period) +From the data sheet , we see these servos expects a frequency of 50 Hz on the control line and the position it moves to depends on the pulse width of the signal. 50Hz gives a period of 20mS (Freq = 1/Period) These servo has a range of 180 degrees. -The Raspberry Pi controls the servo by outputting a PWM signal of varying -duty cycle on a GPIO pin connected to signal pin of servo. +The Raspberry Pi controls the servo by outputting a PWM signal of varying duty cycle on a GPIO pin connected to signal pin of servo. Duty Cycle = Pulse Width * Frequency Given a 50 Hz frequency we can calculate the required duty cycle for any pulse width. -Excepted values of pulse width for many standard servos are -1. 1.5 ms pulse( to center the servo or 0 or 90 degrees or center postion) -2. 1 ms pulse (- 90 degrees or 0 degrees or "min postion ") -3. 2 ms pulse (+ 90 degrees or 180 or "max postion ") +Excepted values of pulse width for many standard servos are -Note: 1mS = 1000uS The pigpio module uses Pulse width in microseconds -So the SW methods take uS as parameters. +1.5 ms pulse( to center the servo or 0 or 90 degrees or center postion) +1 ms pulse (- 90 degrees or 0 degrees or "min postion ") +2 ms pulse (+ 90 degrees or 180 or "max postion ") +Note: 1mS = 1000uS The pigpio module uses Pulse width in microseconds So the SW methods take uS as parameters. -However every servo is different, so you will need to calibrate it for the best performance. -Check datasheet for recommend pulse width and calibrate accordingly. -Some cheap hobby servos can vary widely. -The software will only accept values from 500-2500uS or 0 in event of turning "off". +However every servo is different, so you will need to calibrate it for the best performance. Check datasheet for recommend pulse width and calibrate accordingly. Some cheap hobby servos can vary widely. The software will only accept values from 500-2500uS or 0 in event of turning "off". -The software includes a method to convert degrees to pulse width in uS. -for user convenience, this method is also used internally in one of the other methods -If user prefers working in degrees they can pass result to the other methods -which want pulse duty cycle percentage. +The software includes a method to convert degrees to pulse width in uS. for user convenience, this method is also used internally in one of the other methods If user prefers working in degrees they can pass result to the other methods which want pulse duty cycle percentage. -This method works as follows imagine we have two points on a graph. -(x1, y1) (x2, y2). -Where 1 is servo right position 0 degree. -Where 2 is servo left position 180 degree. -Where x is degree and y is pulse width. -Y 1 and Y2 are calibrated by user = default (1000, 2000). +This method works as follows imagine we have two points on a graph. (x1, y1) (x2, y2). Where 1 is servo right position 0 degree. Where 2 is servo left position 180 degree. Where x is degree and y is pulse width. Y 1 and Y2 are calibrated by user = default (1000, 2000). -(x1 , y1) = ( 0,1000 ) -(x2, y2) = (180,2000). +(x1 , y1) = ( 0,1000 ) +(x2, y2) = (180,2000). -To get slope of line m = (y2-y1)/(x2-x1). -The equation of the line using the point slope formula = y-y1=m(x-x1) . -We want to find point (x,y) -Where y is required pulse width and x is the given degree. -For default values this works out as PulseWidth = 5.55555*(DesiredAngle) + 1000. +To get slope of line m = (y2-y1)/(x2-x1). The equation of the line using the point slope formula = y-y1=m(x-x1) . We want to find point (x,y) Where y is required pulse width and x is the given degree. For default values this works out as PulseWidth = 5.55555*(DesiredAngle) + 1000. + +So for default values 90 degree or midpoint is 1500. -So for default values 90 degree or midpoint is 1500. - Software for Servo by pigpio library -------------------------------------------- -Remember to start to pigpio daemon every time you want to use it or at -startup. By typing sudo pigpiod. +NB , Remember to start to pigpio daemon every time you want to use it or at +startup. By typing sudo pigpiod in terminal The library file rpi_pservo_lib.py has a single class -which controls the servo +which controls the servo. Test file is called ServoPIGPIOTest.py. The class is called ServoPigpio and it contains four methods: @@ -101,6 +71,8 @@ Center-wait-min-wait-max-wait-min- and so on until user quits or set limit reach (4) servo_move_step - moves servo from two points in timed steps. +(5) servo_stop - this will stop the servo if you wish to stop servo before end of its run. +You can also stop with keyboard interrupt. ### Import library and intialise the class @@ -114,6 +86,8 @@ The class takes four parameters on init 2. Freq, type=int, default=50, help=control freq of servo in Hz 3. y_one, type=float, default = 1000 ,help=pulse width min in uS of servo % for 0 degrees 4. y_two type=float, default = 2000 , help=pulse width max in uS of servo % for 180 degrees +5. pigpio_addr, type=string default=None, help=host name where pigpio is running +6. pigpio_port, type=int default=None, help=port number where pigpio is running y_one and y-two are used by methods numbered 3 and 4. diff --git a/Documentation/changelog/CHANGELOG.md b/Documentation/changelog/CHANGELOG.md index 7c285eb..3edcf98 100644 --- a/Documentation/changelog/CHANGELOG.md +++ b/Documentation/changelog/CHANGELOG.md @@ -46,5 +46,9 @@ Version control history: * version 2.7-8 050919 * Added Support for TB6612FNG motor controller both stepper and DC motor - - +* version 3.0-1 150421 + * Pull request number eight merged. + * Added Motor-stop method to all stepper motors classes + * Added Servo-Stop method to all servo classes + * Servo pigpio: make pigpio host and port configurable + diff --git a/Documentation/matrix.ods b/Documentation/matrix/matrix.ods similarity index 100% rename from Documentation/matrix.ods rename to Documentation/matrix/matrix.ods diff --git a/README.md b/README.md index dd23d39..2f08589 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,6 @@ Table of contents * [Table of contents](#table-of-contents) * [Overview](#overview) * [Installation](#installation) - * [Information script](#information-script) * [Files](#files) * [Dependencies](#dependencies) * [Components](#components) @@ -24,45 +23,34 @@ Overview * Title: Raspberry pi motor library. * Description: -A python 3 library for various motors and servos to connect to a raspberry pi. +A python 3 library for various common motor controllers and servos to connect to a raspberry pi. +These components are some of the most widely used by community. There are three categories in library. -Stepper motors , Dc Motors and Servos. +Stepper motors, DC Motors and Servos. The end user can import this library into their projects and then control the components with short snippets of code. The library is modular so user can just import/use the section they need. -* Main Author: Gavin Lyons -* URL: https://github.com/gavinlyonsrepo/RpiMotorLib +* Main Author: Gavin Lyons , [website.](https://gavinlyonsrepo.github.io/). +* Project URL: [URL LINK](https://github.com/gavinlyonsrepo/RpiMotorLib) * History: CHANGELOG.md is at repository in documentation. -* Contributers: [Erez Levanon](https://github.com/erezlevanon) * Copyright: Copyright (C) 2018 Gavin Lyons. See LICENSE.md in documentation. -* Contact: github or glyons66@hotmail.com. +* Pull requests,bug reports, suggestions for new components and features welcome. Installation ----------------------------------------------- The library was initially tested and built on a raspberry pi 3 model b, Raspbian jessie 8.0 and python 3.4.2. -It was also tested for Python (3.5.3) and Raspbian stretch 9.9 . +It was also tested for Python (3.5.3) and Raspbian stretch 9. Also for Windows 10 users See issue number 2 at project Github URL. -Make sure that python 3.5.3 and pip have been installed on your machine, then: +Make sure that python 3 and pip have been installed on your machine, then: ```sh sudo pip install rpimotorlib ``` -Information script -------------------------------------------- -A small script is installed to display version and help information. -Run the information script by typing. -RpiMotorScriptLib.py -[options] - -| Option | Description | -| --------------- | --------------- | -| -h | Print help information and exit | -| -v | Print version information and exit | - Files ----------------------------------------- rpiMotorLib files are listed below: @@ -73,10 +61,20 @@ rpiMotorLib files are listed below: | RPiMotorLib/rpiservolib.py | servo python library RPi.GPIO PWM file | | RPiMotorLib/rpi_pservo_lib.py | servo python library pigpio PWM file | | RPiMotorLib/rpi_dc_lib.py | DC python motor library file | -| RPiMotorLib/RpiMotorScriptLib.py | small script with meta data about library | | documentation/*.md | 14 markdown library documentation files | | test/*Test.py | 12 python test files | | /usr/share/doc/RpiMotorLib/README.md | This help file | +| RPiMotorLib/RpiMotorScriptLib.py | small script with meta data about library | + +A small script is installed to display version and help information. +Run the information script by typing. +RpiMotorScriptLib.py -[options] + +| Option | Description | +| --------------- | --------------- | +| -h | Print help information and exit | +| -v | Print version information and exit | + Dependencies ----------- @@ -98,65 +96,49 @@ Components ---------------------- Şeparate help files are in documentation folder to learn how to use library. -Click on the relevant URL in help file section. +Click on the relevant URL link in tables below. Test files used during development are in test folder of repo. Example snippets are also available in some of the documentation files. +There is a libre office spreadsheet file in the Documentation folder called Matrix, +which shows which class is used for which controller, +or consult the docstring of the appropriate python file. 1. Stepper motors | Motor | Motor controller| Help File URL link | | ----- | ----- | ----- | | Unipolar 28BYJ-48 | ULN2003 driver module | [ URL ](Documentation/28BYJ.md)| -| Bipolar Nema 11 | L298N H-Bridge controller module | [ URL ](Documentation/Nema11L298N.md) | +| Bipolar Nema 11 | TB6612FNG Dual Driver Carrier | [ URL ](Documentation/Nema11TB6612FNG.md) | +| Bipolar Nema 11 | L298N H-Bridge controller module | [ URL ](Documentation/Nema11L298N.md) | | Bipolar Nema 11 | A4988 Stepper Driver Carrier | [ URL ](Documentation/Nema11A4988.md)| | Bipolar Nema 11 | DRV8825 Stepper Driver Carrier | [ URL ](Documentation/Nema11DRV8825.md) | | Bipolar Nema 11 | A3967 Stepper Driver aka "easy driver v4.4" | [ URL ](Documentation/Nema11A3967Easy.md)| -| Bipolar Nema 11 | TB6612FNG Dual Driver Carrier | [ URL ](Documentation/Nema11TB6612FNG.md) | + +Note: NEMA 11 bipolar stepper motors where used in tests but most other bipolar 4-pin motors of similar type +should work as well. 2. DC motors | Motor | Motor controller| Help File URL link | | ----- | ----- | ----- | -| DC Brushed Motor | L298N Motor controller module. | [ URL ](Documentation/L298N_DC.md) | -| DC Brushed Motor | A transistor. | [ URL ](Documentation/Transistor_DC.md) | -| DC Brushed Motor | L9110S Motor controller module. | [ URL ](Documentation/L9110S_DC.md) | -| DC Brushed Motor | DV8833 Motor controller module. | [ URL ](Documentation/DRV8833_DC.md) | -| DC Brushed Motor | TB6612FNG Dual Motor Driver Carrier| [ URL ](Documentation/TB6612FNG_DC.md) | - +| DC Brushed Motor | L298N Motor controller module. | [ URL ](Documentation/L298N_DC.md) | +| DC Brushed Motor | L9110S Motor controller module. | [ URL ](Documentation/L9110S_DC.md) | +| DC Brushed Motor | DV8833 Motor controller module. | [ URL ](Documentation/DRV8833_DC.md) | +| DC Brushed Motor | TB6612FNG Dual Motor Driver Carrier| [ URL ](Documentation/TB6612FNG_DC.md) | +| DC Brushed Motor | A transistor. | [ URL ](Documentation/Transistor_DC.md) | + 3. Servos | Servo | Link | | ----- | ----- | | Servo software timing | [ RPi.GPIO module PWM ](Documentation/Servo_RPI_GPIO.md) | -| Servo hardware timing | [ pigpio library module PWM ](Documentation/Servo_pigpio.md) | - +| Servo hardware timing | [ pigpio library module PWM ](Documentation/Servo_pigpio.md) | -Notes ------------------------------- - -There are two different options for controlling the servo. +Note: There are two different options for controlling the servo. When using Rpi_GPIO option you may notice twitching at certain delays and stepsizes. This is the result of the implementation of the RPIO PWM software timing. If the application requires precise control the user can pick the pigpio library which uses hardware based timing. The disadvantage being they must install -another dependency. - -NEMA 11 bipolar stepper motors where used in tests but most other bipolar 4-pin motors of similar type -should work in place of Nema 11. - -There is a libre office spreadsheet file in the Documentation folder called Matrix, -which shows which class is used for which controller, -or consult the docstring of the appropriate python file. - - - - - - - - - - - - +a dependency. + diff --git a/RpiMotorLib/RpiMotorLib.py b/RpiMotorLib/RpiMotorLib.py index 8135200..85298f7 100755 --- a/RpiMotorLib/RpiMotorLib.py +++ b/RpiMotorLib/RpiMotorLib.py @@ -12,12 +12,11 @@ # Bipolar Nema Stepper motor A4988 Driver = A4988Nema class # Bipolar Nema Stepper motor DRV8825 Driver = A4988Nema class # Bipolar Nema Stepper motor A3967 Easy Driver = A3967EasyNema class -# author :Gavin Lyons -# Date created :See changelog at url -# Version ;See changelog at url +# Main author :Gavin Lyons +# Version :See changelog at url # url :https://github.com/gavinlyonsrepo/RpiMotorLib # mail :glyons66@hotmail.com -# python_version :3.4.2 +# python_version :3.5.3 # ========================== IMPORTS ====================== # Import the system modules needed to run rpiMotorlib.py @@ -28,6 +27,7 @@ # ==================== CLASS SECTION =============================== class StopMotorInterrupt(Exception): + """ Stop the motor """ pass class BYJMotor(object): @@ -38,8 +38,6 @@ def __init__(self, name="BYJMotorX", motor_type="28BYJ"): self.motor_type = motor_type GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) - # This array is used to make the cursor "spin" - # while the script is running. self.curser_spin = ["/", "-", "|", "\\", "|"] self.spin_position = 0 self.stop_motor = False @@ -53,6 +51,7 @@ def print_cursor_spin(self): self.spin_position = 0 def motor_stop(self): + """ Stop the motor """ self.stop_motor = True def motor_run(self, gpiopins, wait=.001, steps=512, ccwise=False, @@ -168,7 +167,7 @@ def print_status(enabled_pins): print(motor_error) print("RpiMotorLib : Unexpected error:") else: - # print report status if everything went well + # print report status if everything went well if verbose: print("\nRpiMotorLib, Motor Run finished, Details:.\n") print("Motor type = {}".format(self.motor_type)) @@ -197,15 +196,20 @@ def __init__(self, direction_pin, step_pin, mode_pins, motor_type="A4988"): (2) step_pin type=int , help=GPIO pin connected to STEP of IC (3) mode_pins type=tuple of 3 ints, help=GPIO pins connected to Microstep Resolution pins MS1-MS3 of IC - (4) motor_type type=string, help=TYpe of motor two options: A4988 or DRV8825 + (4) motor_type type=string, help=Type of motor two options: A4988 or DRV8825 """ self.motor_type = motor_type self.direction_pin = direction_pin self.step_pin = step_pin self.mode_pins = mode_pins + self.stop_motor = False GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) + def motor_stop(self): + """ Stop the motor """ + self.stop_motor = True + def resolution_set(self, steptype): """ method to calculate step resolution based on motor type and steptype""" @@ -222,10 +226,10 @@ def resolution_set(self, steptype): '1/8': (1, 1, 0), '1/16': (0, 0, 1), '1/32': (1, 0, 1)} - else: + else: print("Error invalid motor_type: {}".format(self.motor_type)) quit() - + # error check stepmode if steptype in resolution: pass @@ -243,7 +247,7 @@ def motor_go(self, clockwise=False, steptype="Full", help="Turn stepper counterclockwise" (2) steptype, type=string , default=Full help= type of drive to step motor 5 options - (Full, Half, 1/4, 1/8, 1/16) + (Full, Half, 1/4, 1/8, 1/16) 1/32 for DRV8825 only (3) steps, type=int, default=200, help=Number of steps sequence's to execute. Default is one revolution , 200 in Full mode. (4) stepdelay, type=float, default=0.05, help=Time to wait @@ -254,6 +258,7 @@ def motor_go(self, clockwise=False, steptype="Full", GPIO pins initialized but before motor is moved. """ + self.stop_motor = False # setup GPIO GPIO.setup(self.direction_pin, GPIO.OUT) GPIO.setup(self.step_pin, GPIO.OUT) @@ -262,19 +267,23 @@ def motor_go(self, clockwise=False, steptype="Full", try: # dict resolution self.resolution_set(steptype) - time.sleep(initdelay) for i in range(steps): - GPIO.output(self.step_pin, True) - time.sleep(stepdelay) - GPIO.output(self.step_pin, False) - time.sleep(stepdelay) - if verbose: - print("Steps count {}".format(i)) + if self.stop_motor: + raise StopMotorInterrupt + else: + GPIO.output(self.step_pin, True) + time.sleep(stepdelay) + GPIO.output(self.step_pin, False) + time.sleep(stepdelay) + if verbose: + print("Steps count {}".format(i+1), end="\r", flush=True) except KeyboardInterrupt: print("User Keyboard Interrupt : RpiMotorLib:") + except StopMotorInterrupt: + print("Stop Motor Interrupt : RpiMotorLib: ") except Exception as motor_error: print(sys.exc_info()[0]) print(motor_error) @@ -313,9 +322,14 @@ def __init__(self, direction_pin, step_pin, mode_pins): self.direction_pin = direction_pin self.step_pin = step_pin self.mode_pins = mode_pins + self.stop_motor = False GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) + def motor_stop(self): + """ Stop the motor """ + self.stop_motor = True + def motor_move(self, stepdelay=.05, steps=200, clockwise=False, verbose=False, steptype="Full", initdelay=.1): """ motor_move, moves stepper motor based on 6 inputs @@ -351,6 +365,7 @@ def ms_steps_pins(): GPIO.output(self.mode_pins, resolution[steptype]) # setup GPIO + self.stop_motor = False GPIO.setup(self.direction_pin, GPIO.OUT) GPIO.setup(self.step_pin, GPIO.OUT) GPIO.output(self.direction_pin, clockwise) @@ -361,15 +376,20 @@ def ms_steps_pins(): try: for i in range(steps): - GPIO.output(self.step_pin, False) - time.sleep(stepdelay) - GPIO.output(self.step_pin, True) - time.sleep(stepdelay) - if verbose: - print("Steps count: {}".format(i)) + if self.stop_motor: + raise StopMotorInterrupt + else: + GPIO.output(self.step_pin, False) + time.sleep(stepdelay) + GPIO.output(self.step_pin, True) + time.sleep(stepdelay) + if verbose: + print("Steps count {}".format(i+1), end="\r", flush=True) except KeyboardInterrupt: print("User Keyboard Interrupt : RpiMotorLib:") + except StopMotorInterrupt: + print("Stop Motor Interrupt : RpiMotorLib: ") except Exception as motor_error: print(sys.exc_info()[0]) print(motor_error) diff --git a/RpiMotorLib/RpiMotorScriptLib.py b/RpiMotorLib/RpiMotorScriptLib.py index d6a161b..787671a 100755 --- a/RpiMotorLib/RpiMotorScriptLib.py +++ b/RpiMotorLib/RpiMotorScriptLib.py @@ -15,7 +15,7 @@ import argparse import sys -__version__ = "2.7-8" +__version__ = "3.0-1" __author__ = "Gavin Lyons" __url__ = "https://github.com/gavinlyonsrepo/RpiMotorLib" diff --git a/RpiMotorLib/rpi_dc_lib.py b/RpiMotorLib/rpi_dc_lib.py index 6a04bc9..a8bd577 100755 --- a/RpiMotorLib/rpi_dc_lib.py +++ b/RpiMotorLib/rpi_dc_lib.py @@ -233,6 +233,7 @@ def dc_clean_up(self): self.motor_pwm.stop() GPIO.output(self.pin, False) + class TB6612FNGDc(): """ Class to control DC motor via TB6612FNGDC motor controller 6 methods 1. __init__ 2. forward diff --git a/RpiMotorLib/rpi_pservo_lib.py b/RpiMotorLib/rpi_pservo_lib.py index 06d0f69..bbe7ad1 100755 --- a/RpiMotorLib/rpi_pservo_lib.py +++ b/RpiMotorLib/rpi_pservo_lib.py @@ -17,7 +17,9 @@ import pigpio # ==================== CLASS SECTION =============================== - +class StopServoInterrupt(Exception): + """ Stop the servo """ + pass class ServoPigpio(object): """A Class to control a servo with pigpio library PWM by raspberry pi @@ -26,21 +28,42 @@ class ServoPigpio(object): 5. servo_move_step """ - def __init__(self, name="servoY", freq=50, y_one=1000, y_two=2000): + def __init__(self, name="servoY", freq=50, y_one=1000, y_two=2000, + pigpio_addr=None, pigpio_port=None): """ init method for class - 4 inputs + 6 inputs (1) name, default=servoY, type=string, help=name of instance (2) Freq, type=int, default=50, help=control freq of servo in Hz (3) y_one, type=float, default = 1000 , help=pulse width min in uS of servo % for 0 degrees (4) y_two type=float, default = 2000 , help=pulse width max in uS of servo % for 180 degrees + (5) pigpio_addr, type=string default=None, help=host name where pigpio is running + (6) pigpio_port, type=int default=None, help=port number where pigpio is running """ - self.name = name self.freq = freq self.y_one = y_one self.y_two = y_two + self.pigpio_addr = pigpio_addr + self.pigpio_port = pigpio_port + self.stop_servo = False + + def servo_stop(self): + """ Stop the servo """ + self.stop_servo = True + + def _get_pi_servo(self): + """ Function to set make pigpio host and port configurable """ + args = {} + + if self.pigpio_addr is not None: + args["host"] = self.pigpio_addr + + if self.pigpio_port is not None: + args["port"] = self.pigpio_port + + return pigpio.pi(**args) def servo_sweep(self, servo_pin=7, center=1500, minduty=1000, maxduty=2000, delay=0.5, verbose=False, initdelay=.05, sweeplen=1000000): @@ -63,8 +86,9 @@ def servo_sweep(self, servo_pin=7, center=1500, minduty=1000, maxduty=2000, help= is number of times to execute sweep. """ if verbose: - print("RpiMotorLib: Servo Sweep running , press ctrl+c to quit") - pi_servo = pigpio.pi() # Connect to local Pi. + print("RpiMotorLib: Servo Sweep running") + self.stop_servo = False + pi_servo = self._get_pi_servo() if not pi_servo.connected: print("RpiMotorLib : failed to connect to pigpio Daemon") exit() @@ -79,19 +103,23 @@ def servo_sweep(self, servo_pin=7, center=1500, minduty=1000, maxduty=2000, time.sleep(delay) try: while sweeplen > 0: - pi_servo.set_servo_pulsewidth(servo_pin, minduty) - if verbose: - print("Moved to min Pulse width = {}".format(minduty)) - time.sleep(delay) - pi_servo.set_servo_pulsewidth(servo_pin, maxduty) - if verbose: - print("Moved to max Pulse width = {}".format(maxduty)) - print("Number of loops left = {}".format(sweeplen)) - sweeplen -= 1 - time.sleep(delay) - + if self.stop_servo: + raise StopServoInterrupt + else: + pi_servo.set_servo_pulsewidth(servo_pin, minduty) + if verbose: + print("Moved to min Pulse width = {}".format(minduty)) + time.sleep(delay) + pi_servo.set_servo_pulsewidth(servo_pin, maxduty) + if verbose: + print("Moved to max Pulse width = {}".format(maxduty)) + print("Number of loops left = {}".format(sweeplen)) + sweeplen -= 1 + time.sleep(delay) except KeyboardInterrupt: print("CTRL-C: RpiMotorLib: Terminating program.") + except StopServoInterrupt: + print("Stop Servo Interrupt : RpiMotorLib: ") finally: if verbose: print("\nRpiMotorLib, Servo Sweep finished, Details:.\n") @@ -100,6 +128,7 @@ def servo_sweep(self, servo_pin=7, center=1500, minduty=1000, maxduty=2000, print("min Pulse width = {}".format(minduty)) print("max Pulse width = {}".format(maxduty)) print("Time delay = {}".format(delay)) + print("Init delay = {}".format(initdelay)) print("Verbose = {}".format(verbose)) print("Servo control frequency = {}".format(self.freq)) print("Number of Sweeps not completed = {}".format(sweeplen)) @@ -125,22 +154,29 @@ def servo_move(self, servo_pin, position=1500, (5) initdelay, type=float, default 50mS help= A delay after Gpio setup and before servo moves """ - pi_servo = pigpio.pi() + self.stop_servo = False + pi_servo = self._get_pi_servo() pi_servo.set_mode(servo_pin, pigpio.OUTPUT) time.sleep(initdelay) pi_servo.set_PWM_frequency(servo_pin, self.freq) try: - pi_servo.set_servo_pulsewidth(servo_pin, position) - time.sleep(delay) + if self.stop_servo: + raise StopServoInterrupt + else: + pi_servo.set_servo_pulsewidth(servo_pin, position) + time.sleep(delay) except KeyboardInterrupt: print("CTRL-C: RpiServoLib: Terminating program.") + except StopServoInterrupt: + print("Stop Servo Interrupt : RpiMotorLib: ") else: if verbose: print("\nRpiMotorLib, Servo Single Move finished, Details:.\n") print("Moved to pulse width = {}".format(position)) print("servo pin = {}".format(servo_pin)) print("Time delay = {}".format(delay)) + print("Init delay = {}".format(initdelay)) print("Verbose = {}".format(verbose)) finally: if verbose: @@ -180,8 +216,8 @@ def servo_move_step(self, servo_pin, start=10, end=170, stepdelay=1, """ if start > end: stepsize = (stepsize)*-1 - - pi_servo = pigpio.pi() + self.stop_servo = False + pi_servo = self._get_pi_servo() pi_servo.set_mode(servo_pin, pigpio.OUTPUT) time.sleep(initdelay) pi_servo.set_PWM_frequency(servo_pin, self.freq) @@ -189,13 +225,18 @@ def servo_move_step(self, servo_pin, start=10, end=170, stepdelay=1, start_dc = self.convert_from_degree(start) pi_servo.set_servo_pulsewidth(servo_pin, start_dc) for i in range(start, end+stepsize, stepsize): - end_pwm = self.convert_from_degree(i) - if verbose: - print("Servo moving: {} {} ".format(end_pwm, i)) - pi_servo.set_servo_pulsewidth(servo_pin, end_pwm) - time.sleep(stepdelay) + if self.stop_servo: + raise StopServoInterrupt + else: + end_pwm = self.convert_from_degree(i) + if verbose: + print("Servo moving: {:.5f} {} ".format(end_pwm, i)) + pi_servo.set_servo_pulsewidth(servo_pin, end_pwm) + time.sleep(stepdelay) except KeyboardInterrupt: print("CTRL-C: RpiServoLib: Terminating program.") + except StopServoInterrupt: + print("Stop Servo Interrupt : RpiMotorLib: ") except Exception as error: print(sys.exc_info()[0]) print(error) diff --git a/RpiMotorLib/rpiservolib.py b/RpiMotorLib/rpiservolib.py index 71ba08f..d4df1dc 100755 --- a/RpiMotorLib/rpiservolib.py +++ b/RpiMotorLib/rpiservolib.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -""" +""" # ========================= HEADER =================================== # title :rpiservolib.py # description :Part of a RpiMotorLib python 3 library for motors @@ -18,6 +18,10 @@ # ==================== CLASS SECTION =============================== +class StopServoInterrupt(Exception): + """ Stop the servo """ + pass + class SG90servo(object): """class to control a servo with GPIO PWM by raspberry pi""" @@ -30,14 +34,18 @@ def __init__(self, name="SG90servoX", freq=50, y_one=2, y_two=12): (3) y_one, type=float, default = 2 ,help=pulse min duty cycle of servo % for 0 degrees (4) y_two type=float, default = 12, help=pulse max duty cycle of servo % for 180 degrees """ - self.name = name self.freq = freq self.y_one = y_one self.y_two = y_two + self.stop_servo = False GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) + def servo_stop(self): + """ Stop the servo """ + self.stop_servo = True + def servo_sweep(self, servo_pin=7, center=7.5, minduty=3, maxduty=11, delay=0.5, verbose=False, initdelay=.05, sweeplen=1000000): """servo_sweep 8 inputs, moves servo in sweep loop @@ -60,7 +68,8 @@ def servo_sweep(self, servo_pin=7, center=7.5, minduty=3, help= is number of times to execute sweep. """ if verbose: - print("RpiMotorLib: Servo Sweep running , press ctrl+c to quit") + print("RpiMotorLib: Servo Sweep running") + self.stop_servo = False GPIO.setup(servo_pin, GPIO.OUT) time.sleep(initdelay) # set pin and freq @@ -72,19 +81,24 @@ def servo_sweep(self, servo_pin=7, center=7.5, minduty=3, time.sleep(delay) try: while sweeplen > 0: - pwm_servo.ChangeDutyCycle(minduty) - if verbose: - print("Moved to min position = {}".format(minduty)) - time.sleep(delay) - pwm_servo.ChangeDutyCycle(maxduty) - if verbose: - print("Moved to max position = {}".format(maxduty)) - print("Number of loops left = {}".format(sweeplen)) - sweeplen -= 1 - time.sleep(delay) + if self.stop_servo: + raise StopServoInterrupt + else: + pwm_servo.ChangeDutyCycle(minduty) + if verbose: + print("Moved to min position = {}".format(minduty)) + time.sleep(delay) + pwm_servo.ChangeDutyCycle(maxduty) + if verbose: + print("Moved to max position = {}".format(maxduty)) + print("Number of loops left = {}".format(sweeplen)) + sweeplen -= 1 + time.sleep(delay) except KeyboardInterrupt: print("CTRL-C: RpiMotorLib: Terminating program.") + except StopServoInterrupt: + print("Stop Servo Interrupt : RpiMotorLib: ") finally: if verbose: print("\nRpiMotorLib, Servo Sweep finished, Details:.\n") @@ -93,6 +107,7 @@ def servo_sweep(self, servo_pin=7, center=7.5, minduty=3, print("min position = {}".format(minduty)) print("max position = {}".format(maxduty)) print("Time delay = {}".format(delay)) + print("Init delay = {}".format(delay)) print("Verbose = {}".format(verbose)) print("Servo control frequency = {}".format(self.freq)) print("Number of Sweeps not completed = {}".format(sweeplen)) @@ -112,33 +127,38 @@ def servo_move(self, servo_pin, position=7.5, (2) position, type=float, default=7.5, help=The dutycycle position of servo to move to (3) delay, type=int, default=0.5, - help=Time to wait (in seconds) before move after setup + help=Time to wait (in seconds) after move (4) verbose, type=bool type=bool default=False help="Output actions & details", (5) initdelay, type=float, default 50mS help= A delay after Gpio setup and before servo moves - + example: to move the servo connected to GPIO pins 7 for step delay of .5 second to postion 11 with non-verbose output servoMove(7, 11, .5, False) """ - + self.stop_servo = False GPIO.setup(servo_pin, GPIO.OUT) time.sleep(initdelay) pwm_servo = GPIO.PWM(servo_pin, self.freq) - try: - pwm_servo.start(position) - time.sleep(delay) + if self.stop_servo: + raise StopServoInterrupt + else: + pwm_servo.start(position) + time.sleep(delay) except KeyboardInterrupt: print("CTRL-C: RpiServoLib: Terminating program.") + except StopServoInterrupt: + print("Stop Servo Interrupt : RpiMotorLib: ") else: if verbose: print("\nRpiMotorLib, Servo Single Move finished, Details:.\n") print("Moved to position = {}".format(position)) print("servo pin = {}".format(servo_pin)) print("Time delay = {}".format(delay)) + print("Init delay = {}".format(initdelay)) print("Verbose = {}".format(verbose)) finally: if verbose: @@ -186,23 +206,29 @@ def servo_move_step(self, servo_pin, start=10, end=170, stepdelay=1, stepsize = (stepsize)*-1 GPIO.setup(servo_pin, GPIO.OUT) + self.stop_servo = False time.sleep(initdelay) pwm_servo = GPIO.PWM(servo_pin, self.freq) try: start_dc = self.convert_from_degree(start) pwm_servo.start(start_dc) for i in range(start, end+stepsize, stepsize): - end_pwm = self.convert_from_degree(i) - if verbose: - print("Servo moving: {} {} ".format(end_pwm, i)) - pwm_servo.ChangeDutyCycle(end_pwm) - time.sleep(stepdelay) + if self.stop_servo: + raise StopServoInterrupt + else: + end_pwm = self.convert_from_degree(i) + if verbose: + print("Servo moving: {:.5f} {} ".format(end_pwm, i)) + pwm_servo.ChangeDutyCycle(end_pwm) + time.sleep(stepdelay) except KeyboardInterrupt: - print("CTRL-C: RpiServoLib: Terminating program.") + print("CTRL-C: RpiMotorLib: Terminating program.") + except StopServoInterrupt: + print("Stop Servo Interrupt : RpiMotorLib: ") except Exception as error: print(sys.exc_info()[0]) print(error) - print("RpiServoLib : Unexpected error:") + print("RpiMotorLib : Unexpected error:") else: if verbose: print("\nRpiMotorLib, Servo move finished, Details:.\n") diff --git a/images/DRV8825pinout.jpg b/images/DRV8825pinout.jpg index a9658767e0ee8efa847df8a4e18b07423d7f90f2..8e4e525df7c0d8f560c52a35c69759c5cd8a99c0 100644 GIT binary patch literal 35486 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 literal 41349 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�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 D+Ug_g diff --git a/images/Microstepping_Data.jpg b/images/Microstepping_Data.jpg deleted file mode 100644 index 2c86f26eacaa3c126df61ae68f8bf66357030fe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17480 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 C5Q-iE diff --git a/images/TB6612FNGpinout.jpg b/images/TB6612FNGpinout.jpg index c66e26253b8672875422e095431c4aef8801b995..59ba7a54d1ecc7218b22d9698b1e18006cdb1ed0 100644 GIT binary patch delta 26045 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 literal 55494 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%0A0tc9H~;oWcV~SKDVl zb7FZ)81z(VfIo^+5_Y!jK*>Al99?$>{1~w4uu!*umI1+S32rUH{&F|K0V+X5j+ik{3YohY*dUfnq&HmLYVL zs7JXS)fWhbH?x}(YwM-4md~C>H*tZ?u&z3Vh2qn^4fi(5(+c0NC;kcD^d2U28=h(> z1FGBI)?6Nv{UGZJR53b?qzXaoTC)?B-#I81@letm6s6Nmom3=)_r0Us@{tY2hNrrf zRqD0oh}X|2SrowYsWWCRO{CLJ_tGM);;oxQLpVQ429wu%oLtW5%(SM@R#dL)MXxP@gvoece#=SjX<98 z@`nCS2kYlg*Nxx0z|#ool!au^;ni4JwW2s#37qVBLk3Qt1IjWaNG}g5l8Z*rq-#L?qu!N?7IfDw6xG)`MbM(Dwf1C zkqncDY{f+iJ(hHXG@^A8c_z4MAM#Al$7XGf$jjc0 zEUvu#g+8w0dyi}mZPW5OAj^1(a|5z75$LQX^@$dZl1)_E7;Ej%FD2K3n`WW$mv>sB zdxKG?30Wps*IWnO%Az# zpPH1-AdkiJ@!zC($M;Y&kPY(NoNnH~Zh=vpX;HYWvYDx;NN!he@~p9m-vgosfG}aO zoKUjj*|v5YvFA;m;X)93JqPPDLhcoi)c31(1?_;M@8CtwXk=))40api7{Zqk4z(vL z9i7Kg9h{7#L5`a}0|CPe{6+d+KR*xrJQRqs;6>dyP1KGnXL!i$n<^f|BH7LnpVq;+ zJ8At%Yyx9}YQf@-dyP2MZ0sG)dGk1nF_K1VmFZKFegKp@7&>}2SZ3%~w1S5$(VHjb z(zLO&~-Z4vJY)EcA~f;ZsH?8nIn&Vplj zQ3qOd^1#3>$`+gZt=0@ndl#M3;T3$>h_JS%zeA{xIs z%!>v4Q}hGtkc%f7iG8ZYg>!)pO)Y5O6+WxJF0Rw=9NrwL=p`3#LdhFj8(#;a6-6K| z@iGKrzi|an1{%`GvUjxJMW)xig)=u3R~$XQar(|Fc%$%5-0n4^UTvji>ORK9rR!+= zUMw3D+{I393=K9dcj`=CD&I@uj9E)1d1V92<7N)a4qb9P>e%smr$B?gK#)gctUp6d zPP?Q9qIN5;eYI=~%HQ)#dwxdq{xcz&#%ki3BvTBfg924B_Y!*RqGNlR?}qmcX@=rv zTp-dhUo{X<;p5@vZ&bBtwlLpq+myp&&ECTaD3}~3k=mPltKTJuUj_#d7fc9TyN~bWJmH4xc2*)O;XxFryC5#tV^i8i{v*6Z^X8$@RPZ`<9%O**-xfMt)m0u0)+#~_)*b`Lx}9&)a!$%e-#hJ=P%!0R8ck6u4LDMH@r}q`qtD#tsR(=DWm(NE8TTyO#)2 z|KZiBXs8P?Yyg{&E^||Eqghwf*HpZmh47vLVN%QC)1`~GJA7K~_!teOT0)1;4RqA_ zftv*L3ofaUy})|B7}kDJz>KNc?fp*n=m~VS4(gEwTUejLm-jB58U1f)7qykVlxZ6o zA@Mm8DJkZQn)OQA!O@6a854B4?~0uC_?Ajdwcl#1%^m8dhn)6^erBY`5J8A4p|-o~ z3|vMB<{*VU9)xPy?!mAO#t=MD?q5eiyi?!Qhrs=<+rM_4gn>x+9wR@_iD(SF$% z4T%`#lz*E1Gmp5LVKGEoBpcr;e7x+~Se7>rBOXLzqZ zRdM+tfJ{9V5d+uzWY$33Q!&qb#;+D#VcMm;75?y@(S2i1n;KFVU`pO@k% ziBQ#D4O^xR@n?A!7G&KePx_-p4t9GlSG*chN%<=BSEaYt8whnohAOa1rr6KO*dfKF zLAp`;&*-!5G7z_Fiwi%WRkB}J!B)ez*^g1qS3p5(j7!9c9B)V40nf(L33>Pxpb|S> zmP?3BW)u{_X64B*>3B^FpR3U5;{BhMg!jd)?mYk>?I1McwA;tTJ!2kX-F&a>lgU|H zUoKlPw+ft{w=3ndV%XESD!K0)3v!;G+Oc-t>2q|CvuZpMqeV6cdZ7`&=@zBaCT|E3 zoIU237st52?W#7pJlEnmQ!|p7X9lm8Z~i2{2>-BpQW-IW zAn#2F-J97e{zS)@w5AX1Tt`p3H&)F0f^}SiTl99`m|cX)k*Fsa+O$k| zvb~1$B)%Lr%K5!Gt^N%?lQbbaprVe{(j6H&vIZBhIePT#hjQ8-<_$ri& zpQMOKKs#jaNKa=;QQ>0Sm~0IB(s7Gk2K<(o1My+aQx|O!WU^;&j%Z3YGn@BAzGB&p zZ>AE;0W8tdx`QSdCrC$%fuc=K9?W2e>QzfxFHE_s44*=bcEz!qm(o!>Ln} z-3R2_D~!5!oW0-ixU5apTznkt&%9?FwSlO%1J+YQH_;p6CB;d6D!cPF`W<%?8NN~) zu!-ap9&;ajAd@)BMRd-4+A%aL47Pf|)14*-aXvyOetp?b@Dp)1Gr7d%^+qg?_13So z&i4AeLWLa!__*hfbryM6wAFftIDMwi!3ckW6U$j5Tz#6>oAgs`830faZ*^07W?v)n z)Y$T){UTBtldi%|6L`y3`1c)#MvgDssYHy3?ZotLOVT4EZ}Mok_2&&bXJ6g|l9>C$ zhKytkDW@8`ies`_9hU_yQpHe9IB1&5=JSHlX_2B?o35K6UI(y@mkg!-5qReZf2{!C zf;r#FYu=MrO5}p75Xu48wsIAtyRhpG2N=kcTe_c4Omno#dc;~QgNpk|MHskJ2}Gec zLtau9vyutRB`EpHC@0^iz9ZNd)=m)iG%Y+Hl`OKwd*8HL7~QNFa_i?qZ{p_(4??)^ zBW^ZPXt1o39e)VqEUS3sRQ8_eGHUbf^VdH~rSz5BN1+^v?-L9!7rrIled91#U;v+Q zyYJdj4Hc4=!guPkFzw4wZnH@swV?t!I8uYu8Y(y+3o5+If)5WmYaP~bJp#{~a&mY{ zN^$sSZE)j~8S#~(9iJ{!W_0RoYE_MC)QGtwN1>op4Y>ix>hCYN>Qe6@!h%ZgTD)16 z!8wGWUy`$u175;on#Hrz4R=&cjmV!$%E#PBS$C$Q*L$REhxZ*W%UxY4QW}V@+uc)U zvs2JsmBgrDdDh;DAdlbUD>h+4%6`_*`|plZk*}(_K*{Sjv5!dpP)&LV zgdinMTTo=6ec!0I4YUaLAL`C*T8dnYn((i9=QYD)GJE#HO2tU(HZdc|a>{n+>u>pu zAIU{ZrS(e~Hj-ph_ZBItg@BwwqXu+1f;+mRCWvVe&uz&jd2lyA`H>1hF!v>>y}}+X zqLsAL8V#3`2`JY;!T#3sbf9@~CfK`753);C96;RTEvrHLhFT%%%Dscgir6Y$ZMf=P z??sXksz1X6Y(hsR_j3s1O^np%KT1$an_*(78`rYH@wJk&QVLOJ&U||uO=0RL?A4h* zd}+;zWn@Hhs^B8KxjASNCuK!$2?)aG{7#C6%zfX4?#0uJ_>6JU8%b@9cNHN7{i}9G zLGO|4E9=p@D<_$k1vHs6z8QBQr+gw&Llx@!MD5Hm;0j>GKml4=H5B!_YBH$&%)2gn zl)btq;kdZ_-QyrV7+xQ-LHbrr12Ok$gr3VRxU;zMj1to=7goyB-vvjP^rLz%3(3Ggm4Z?Pu^$NFGex zBMOi?eHThI#`}Jem;-Rn_F`B&l7kr_)w-_$R&>_N9Oh05I&oipvKgd3t3!#iVB%| z8E%cOUBz)8`8&|l9t-fatYj_$#?o;3%fuc`dMxWGjeI1*(G)5MagS!9b{_%R>oVX0zbWSl;2V z7#s*T?oAp+TmgRq|2IPwR{Ws**ck43*#6r#bPr2Be?YC?bj^DO4)fvBT&-Jp^kAa@G^oOk;E<((m%ckcYTDHyJ)GX5mrzxg%k?|$w2ul)MQ zojj{Jzy6ciWc?$rUY3itu#mx}&xsN27r!mBLT0|bI;`j`0L~rag5jm_aHZSa_r9mi z4drrcW)UYkh&Hp9Vi=M9nDvrbJ{9STiDiUz8#In z9jTjPfZDQBIa6rlepBU*7pl0+SVS4s637XVS-d) zBG8f8B&>@QErX37i%~#};M9-t(*pH=b;nDt^TnVTEwmMgST|@4_Y9&?D@~ zek>VIaCrzP$CAQvLsB$AK=8L5f9#>ozki*=N(u%yTJEoRvtt;0aPGH1v3Nf0Z%+F= z_dhlA@34OCv~;~WlG9>5+KwcE^typPW09^Q(-P7Ou@+;-sdFxNO^r5PD9)Btty<5p zJ{LrYG%s7Y*uo#}NMNJe{^_1chYJq$ZI-X-rM}NP`c3g1xqSm4OXgg7bFyg_m+_8h z3h@OMIlsrA!A{@- zo}D)}R$4Xb=1h`mha4V@$py{`?E0=G8x0~ezI6GHG(l$wCcOtXdxE%%?~)PqkKVYi zvPK0=?^4FpXP*kW{J^7 zZVTLCs3^B>nc}asu9m8gRRr`2@gN@R<#&!|*QR%m@AHDgxZ*hoKy0g1HzW+F*mw*4 ziXl-vE&Vn%9;mUtMbPP}f~B@;;kI-{R*Sz+$#dG4w1qR&nFrlnkuVkt!Ju<@#Zlgq zl;(`SE`R6l8?UH#Qc^mY)j2MeDg}N7i$m+X&Sf0@Ey|D!q;KGxeIIr?*@S=&bzW$b(c?7mb4bS_m7Z8y=Mgl3+45UdWKs&a~xk$?^sh*F@jIFiJv2OYV7fBo<>H;D zz7xe%3nF4=R`zqIc&}20q8OwYxI+`QJ!iL}h)yFcG3rs4*2(3s$FJ`-YYVoA;c-fV z^El!u)NfVYE2Nxtl;Su`z8C1jW$+UB__dWkc9!rQNq0PQY_+S@I}ciLs24YBaVv~s zu6xZ(`f=GHL{(L(4=!RZ-;82AZV@Yjde>|ehPC^>5`QT2R^EdM6pz1(FCFhDZ6s7^ zvZUcSBh-F?lgHM*20`f3-1XYGBdlaleg0oX7qUAD=7-1V3Y}kz+N6caKeA5CMjam) zBD@EuCd9j}g=koDDak}{#z4w|4;mlE(p$d9r8huQhs8s}Ic!+$IC6_T+^u$3oFce) zCCXO4`Xxu@z$U4D;=g}G`HK_n65+df+zvy6^XjA0E77c_YL6!NEJnOF3R1<==Xq>| zl4I!^uagm~s=7h@$1HTB#7%DrHEc~;kLZpyoAU{9QkqshzZ=h+9j3#o<*Puk>xz3J z@_(G<+y6B=*!bcneI|pHtPvMy6hc30&ShQ_-l)O#=FS2Gm^p?e6)eeevTa@;8~8W? zuElILeyl_5IP*lieKSRa>cbmiB|_KN)FI^eC&{{K$#Nxle^F$RtY+yva4XmG*~g3+pFG|LKZ(^PkdhVx@BEplde?b|gn9l7AxF0`Uypp{B`k#|UDVxs#)|sIU>WsaO29K~*%|YlR#h?U7>9vCaZBIF?-JMb>*@u( zNtMC6Bo92)IKs1YmVGK8AeVaEXgB7sZ_;JGANJW2=fbawXIZ_&nPfrET4hF-LfhVy zsiDwDR4~-P8lLnT`^=~bDskc`Jrk8bbvu4R^vB*S3uH;)X?y%GxK4xnJ1KRfypzmL z+cD~$H6{n1B~{x%+8Jh3bmqtYp1Hj09C06pdqfZ_503zwbN@q&efWE@21-8MH*Y&b z!>@Sp<6ORnA_s*M=vf#M2=@;@Zx@yps*g)LF+J97u=BbQEoT_zv0v_-(DQk4 z+6dnc2q_9DR8;5m1tm(ZKkm$>l6|&BB`QF&HPZ@4(bkovWoCAHK0Gicn(#ThF9Jj) zgCAudCgU}$?|%RF4b8XWlthkpRg2c2*?HU*3_A(xd5?_s7NIc9B*{jF#=EKiZXyTJ z1d2$r%o*wDt<94Hb6RVcmlI}Yk7y`9H2W~h0&<6;1}#R2Z)y*we@~QSXv??sx@qFx z+~Shx2ZzzDGj^%VIeavKNQ)jRe0adDL%vrd{jy)dDxbBxu!(pO#AtNLGW#3q_61{fewV#`x-GDZWS?N!L~$j-p7v<%r6RF;hf%q3q6!8alM3OfF-aa8}7k23{dP?f+SSM z0+uR?6h{tw3SrAHVF)$MZ8pX~w^(x`h7&I$#m-xKvB6j{PP+UbR!aVDtB~7M-0dZB z0SqBK!o2?9ElNT^loi3zM7k7Q-{8ENz}DM#h$T2-s64wsv*=*>nc2^2{}_NFh(9*? zM0WjQYH>^(k_DFFvxIyNwZlg7;rgEd_j}yFBp&40C8>!Tmaq>i8i0d7h9;S{YFpo5 zc2__)y!-2t*bbKPALHvf~Q)d_+kVwpNK>oDx9LdFOJ1K-5uhfO3wnX~G3qv-ph!1NrA9tPD znpNzKotkbRcPyL5zNbYFZ zhC&f;IN87uPtPm6UBR1KHPYUDRoBmc>}y6mhd@@tie6_^cC6xsNtNxRAH&GnHh?8G zvjR@~ZOl~M-bQS`^<~U)V)KOPP3kZD7Y>%(se2=#@uYa$W1OI(7|jRaus?wJJ6Q_cAud8%ZpQyKk0q;;R``uyEwcRTBGwo;TBf_&LnJ3E`3s0z&qyBfYb4| znq3#O$}~^5%lNqP_w7*-${!j>mG4>wp+-u`;>1>p`3--6ld>GXxO?*+jsBaMgX zbPYqtI2Sp72WT#0FEYOi9uRYM!&0{%c~VUn2l?U$ZEQ+r9bkJJ)G6qhsNUm<7J*+T z)*~cknJaLa01K)a{tpg2AEuU7G66Y?$_dhOL-Y zhUsKi_+;YogmW#QJY43TW`jPID}K!;A>?lRDTu-eaRo&G5@yobxrDbx4XnVZagxTV zkCVIQ&K%<}Y!n>s#r#&rk7WL;?SK6|e1$92Z^bnd%ZU7)zjd1BlXg!$ZhKdfjJ= zxK8TLBUK+m90+#XIS^q! zd$fCl_jznN!i0(T4W0S5j^%MAFD$~e&m9@An5dNQO1*HiW9L}|;g{c+Z-VKox_$g( z$shZ#&fLF%{jqZqd3u@fB=?-l|7bYzTPagQd8}Gg(p>mTQ~My_J|y|*MN=}~8B?Xx zg#en^W>NOB`rCfX8qG7eseQ%p@8L%uk_n%N$c@;I4pza_u)|lt4Q4j&Tv;glA?oG; z#-yO;@|`T$mE*-1&B(oq{VSlysJ3>b0m29ec{4}T5;&STrZQnCDQ84@`nJ_XNZ4Mq zRj+r>B$CT?3GPQ3CJSqEEQXOyGk+O$4eYV}5 zWFL2)EkIltO~GK0`*fP~9vF}n`7CSVAM`$1leY&dEEzG#LOsSA1}%SDCKlk#w#hlM z(n$Vk;9kZA5IFmal~@v-h?{YzE21WzOt>uPI0f_ z1oAF;oTK#JL^j7B@2bqQ?1fvyo(I7`&DkFqo4$LgW-~!3Jd_(3<$;{d&^4r|3`rK6SF?x7XA5mKJlKU79|;i2y%zX2P@Dbh~g+O7?HyXQ%^mE^i{;qZQ+CN1$VRh zo01KmDlll7AW?@#Ra@9cEzOAj3B#+$@qQ@Ma-?1xCF6P@>*S7V`!-CvrLmnjI{g6;}XGR$;U z-KWd@I4aw|aI?-f-E(a8w@{9@PyzV!+nFv-pt#MP$Iy%c2 zP7RersdKC?{fG6xIkG)G@Hz(iSEr`Y;czjp^r$Rd$Kof%Cp@ud>p;BoMK*cb-i2?) zeVe3OiZo%@yK^ z5d6j5s!9k&94}AGyiWsV7;X^v6O^>)^@zQwp(*Lq%+L_^GO?M^1lhiLdS8U@SurRv zWSKhcyT4tIR5_$65#r!t@I{%hcWhWqQPA;*h|xD4LRLY?bK9b-cd*oRsKXjZ(wQSC zUyYla8JQ%@A%8B{TiW&Kl=Ca#;hIZ(}eZt&pq6U7feAB3`<>oGfkS@ z$+Hh3FMi!3+oY)?@CC?~J?C4DPN21oRp^fynQodO)cv~yEa9XPcb4Pbpp|(o*6<+m zPHCE^nHYhL(Lr(Ih7uoNZai88s_vW+g6}yYS$fV}{&UV6Q^j|5)I7WRTiMa$7t3Ug z%QCL`^Bb8jG>x4XE-YkT39KH5Yu&4CC&j0Xm;Rbd`F^c9yA>5a4MH3Br{OJw5sxq1fW5RoJREETW7YAwY0Q zOM+~?Bs)6R!(#%85&IAPB-q9a6Uy*dgz(2k25PqX?Y) zk`Tj-<8-)r8!x;rGn>MTb`;E8=)ZGMXmRX9j?YE;}3(Y z4Z*%XAa}aBzv(lo1Wnx&@8d`z2}iqI`WbcRex1Q&j}%{=E}h?fcu~>x*~Rxmek`xh zKePI5#>fS%rcP4u7u=sEuqd|p>!lgmHT1lC5l(*k3CCC1&maD=kBFQIr7$mpeJIee zbirJX3$wk%j%@>rFVtWIDrnq-gtd1YHZiKTtRf~5BG(zqQ~H-ZM->XV?0d+r{4FTI zGd}#>S$c&lajW;7GPAZJehos z>X=V)Cg$QklW@HBw*?@Os&k0=PaAhjwe}o?J8Yg+%Ih=uExual9{7kvkFVcHGGBxNqH42tKLAWgY;QLPvE9Ek{a=B?7e$iA`EUnV)-a|3AcGrBTx?KBEw?rtAn_k7ZmUv3=s# zVB5YIeFfN*`upzGq6jx*G7dFr30ji46;h3U(y~-{P~saG#HS=PhCqTv161kcB`oK- zd$p)j;956qfSo5)A$=_PK1eyF(`Ig%JY_3Vp!1Twv+4cFw~@uvq2B|p&42897iV5$ThQ5$`3v7Rxbrz1^ETQRAdftl63@&X&5zu}-i6xfQ9pUs;LJ zp5XI}(_nGh8I&&|j_POhn|)!9J?rn-09b)an#*DvdyLFS8mq6wbFUMLI9;VMDo{>zvr%1L z#ym-L3}>diRhJv8AXQM4hl5ImA}h{U?X3~3c7osItm)p)+6FVUhMrj-!pqBd8A3Bu$m-*iUpIX@2ul zxa@0~Z%QarJQ7?9TCd#JM&0Q4m8Xw{)gC*2O>ApwjD9IZ`fNwu+6I*v9wMJ!c-zlx zjKtWm^3H9W(csB&Jdik?2!s#TSCi`VSNcsfoUaNA4FL$wunqb1n)YS?4|(q$4OjQ} z508@QMh&7SLx`FvL6kwFMVOH2i4qb-^b&o9AbJa;C($De(d!VM=$&9jFTspD7?bzp z{$l#u-nHI8W;y$uV_$pkv(MRA`COkppmR-@jOXA;N-*qFRIdh+vMdh= zeLT*p+CKM?oR_yXWWf0b=+t8gkJZl-k9qVugP2I3kmNr-bCF9cL{RamOczJ+;rY!+ zRF_DtiD|t#(rjtA>80 zD9H*E$@|zubc{Nd@?h}sH0p*m;Zxk#=3sHljD49XYnK?XqpGdl^VJQF>TyT>0eiA+ z3Q^c9++?x6#K~&SEzdKWwJNnFu@^bIT*H}mGYOAu8OMp0h=%QmLfp=OpkiD0^$+@0 z9fM7Ns9mYo;kvc%--XjN+qfi=Nq7*d(~z@7wlPxstk2)wruR`azmT>JvPnW+^Jad9 z%nLBVh0!OUnpf|*QZN>4^ zI`iog7I5|qS7Nh}Ru)G$8d^#NUY7GlS#ca4mG;u8h?!=?5*CXr*Ka$S)uUG9;9bw z7r`sr)1xQuk_baLRUi608uzkVIqdPaBbjbu@R;>diD^S+RikRm&IEgiI&HDAWsBudpmHml z{Mq>a3Fm~&0yAC=vli}ASLLtbpy|j*$*L+tegnix%Hd1~TKtMcYXCv!04XOtxjEr# z)2)bQFB3h7+RXvY6`WmPYMX&~3jR7b8GO(mSm=pa{_qPk#RenSnh}7CLIwC?4fBV! zHs8VDW&ivxwg&nQ>e z=B!gBffP`z=+*xwsuNft|53I2xWF%v0Q|WnJe~{i2~(=KF6=J=I#o-^-+jms)b0sx z9ErIC$3+~>2%P3|uYmv8Em>Z|Or)dD!|JP(^1>Tqzy8p;kEn}elI2Cw2GWwfIMF&{ z0+OSUz=}Ra>vYb2!9NzrOlGcfI>iD=2qh_O*U#&}KzwjrAPmK{aH>eTRlrOxnH=`$ z%4HYbh_C8H^@Q|AFfpzZ0B3NFE<75My2`Cv9+h}imN(@Ak%FcyXo;8ZB6)&&l&3Vk zRC7E!({uM>=Y&~_94tG z`bAn`Me`Rq0Wn?TeZ~266jCfBlV`DfK)gx3DZ>2npl2Dbc24B`rP-FdQPkw&>$EpO zyiwGQJ&@<%D7vY3kw#5)^oy>C+(N2MJUL}cE5gdHTSMnCxE?7TE1fbMse#|jd=gWZ z>AZR^hu?=d@EEZ`(NE{aDLrmA z4hyeM`YE_^Jl$bhwOuB;&;mM?l?6p{a9CVE^i{amd9Ynwr^(JX+bwg-aXD*sk=-k* zqPP6RlCZNtM4o}->`Z}U%`oZL`h*n8<&#q=jw}_14V~Y+Rt8G&HyaoTvnUZ8IXU$HR43bbgkX1?BTJnP7&CM^qWaIuh$dP$g~mJLoGr+QwNB zEbVJ_F>e$0QeD371cE2}8nQvlYr30Pz=nr0P)8x!E-PsjNhhVC1`eNR4xMcCiK(6N zJf7@a&`JAo8(;n{K{}iF9(1Dn25UA#rnCqS80%L~GCN-{(vY>^qA9e!JfB)@T+D1A zDU_RaL;Zm<1>2W?mPN9_!zNA1e)i7!%VUUaIgt`6qiad!layaH@x=pHlcLt60D^1y zAiPp&UGlJu(D%Mz=5ARVB=_q(J}PL|>w6V6pA}zXB$vu3s+y?2&0k7vH6(CXj+DN9 zCOuQqpZe@l2dl6U=}5WfbWLWhfnyVmy0LwAcFgW_)k(sEIUMaY35(w}IQFa&|Do#S zMm=JxxuO%_&Dwr;$H78zW2V>Hm(F)=yaUh6Z8sv7X|d;_;CX7{ugiDi3ZT4RG5Lud zG8HN(3l8+|?I4~lmsfF<83))Lh6y@v(`JSE0ztOm)9o@Dq zBL^d6MYw)8=`6}$Pjj!&swgtvsHR&27+Er(MvE)4r@kfO4HWl@*DNtigzeZxzZ}_2 zI~$MXA8n@fs?ft4M1H|*;7a@#&m1moJH7k@8AgqwS*VUV+pTvyy$D|2ihUY4+FSuY z7yW$l=ToDs8b$YW20?wDvSqwX8bTLaY1GMoAK+qvU3%z@GxdeJ}|8T=2L~oI~ z&#P~dJJ^rgpC*0OQS4$_ z#2&4{V58yqO|tA>Alm%Ool-SgN|!8cH)LhiTG*jIu)HpqzTjdH?K4XA_4X+4SEQO+ z3;{td;6OJmlpqOi-3ZNLMLIv|$f4#T^e4M-Us1ky&6BJ3>WP^}tVB$-!Bp{E_i-sG zQv?&PqV;wZiS}*J5O3khxW{Y9@n1tIBbb7NZZnYGo0KVfcTblv5S5&^FNK4f^W=Z_ zuV`!J%fkhjA}?=XH=1d%0hzftpC>AlPb!9IG=9}Mz2Gehh zhK#Po4^5f%u#2w0yFv^^E=lRgTjZ3anz_A9m%t&F4(xZ%_}jd{xF5z`%4nLdwQXhN z`3Y*4hzXWKu%wsg#a_jBghrCJi_zJR6a@P*^1YdL_oY#9)0Jv2UGuT9moo>hO`Y#~S%v8IA(V<}1#;4*jJ85QA#7G`2~O?-CS)OWcQC9{ zA`f{qdcXKO@5;B%lGnj4{4r!Q{ghhTDqT=CEW`vHfoE4(2*sPDIdwFg?lpg82^I+o zgpjsa314*Wovp}niKsi{$LTE|Ym7ES9{;el6-C#Eyxf+DUZ{+xzaHzHCC@;9C%zJ# zKAUZdk>rxpRy-18HN`!hH?Tai{KOUkz$lRKi3VJvJU>H;@sJ`f7IbJ5+TYAqb614A zV}5)(M{e~MtMF$SH4)%9N0_AWKM(4Z?mCy;oT%rE!9?=4g}DtIUQh5RgAG*s@nfKE zCWsJWrf%oGQ;+v^^w8!oViugBUt8|$|FSG}Pf zvE==zT^7Y8h}zw28nG#HbtGOq3>p_W!MsbnHo-BpzOx(d*T0yoKCgCO*YzlQ@z6W*NB4*ZZiWH^BAOxsjI}Uo@A7&Q9(>p+$9NI%POQ|T zrB1^;MMk1W2OwV;*i{4Fx|rb%S1+kCJC;ir+r&1}>KC0)#l0iBH+|M@meOWtg{BT5??-%_bogrC$QhSM(SgnPUu#b( z4XD9D*)O&oJmlE@C3NBs*x8c+I>KwIrq26%ci-~fR~{G_SausvpHI)7p6<`RnE6QJ zk{-;=>s%&Ja8vN;TD6VZJMWt7c4-484(N{Ir^rU_+pAW>$)BuNB!X^qxJA8QKyZy) zt6@K;@jt7NJPxm2s{BRVT(bro);LDm3F&SXbdq~szpnGeKTSZ;BLD>hQMyAavl&r!qp(y)zAsYOP1@G&ioomU%5J;I^!=Br|J zt-MN4msHcvoo}n^CR8L!G$+si4wbwr`mAGcNyv8LEC&3s;pa4N!v1 zl>73*w)sOG8Ja6xEO49UkqB>1TrR;dIhw;X6m{cKg0m98LT%SW?9S^_t^7@w4o`zS zPGY^wHZlsdJ~6i^Yi+YD9ZT|Yug+vke&*G^eHr?^@4^Eh)-iCyOW~rdLcKtTnux@F z&qsCeJ>Be%wW$U)H>D{~eW~Eczg(By^nR<7j0%O`MNJ+KYhq1Mpe96WV_vEP%S;I7 zO9_?Iau6igJd#fQ_H56Jf6e-SpgE^Rr_W>ro^2B0r;fEc(>patHnx11?3f#;2`H{v zZF&AwdL=`LWwZ=$G8NM0BSiU#{7 z2q33n#6!CgU&NNxxc^+^Bmd&|g#((Z->xtK31j+B_dMw#A&4IbkMp;LU;S^Yj{W&L z`+y$Wh7aDNI-w6cLNLOIZcP%-xbgbjFR;?*Bo6T1av&6Iu)+j?1~Arr2q$naa~qj= zM?tH+(g6Y(?u0JDTK9KV&l2djdg9@hfJ=gs=(A<$*SCiI9H zFbLIKpLnaF+#v+nvgNtFgK!b)xi&J5uU#TVzg2+k<5lgoayP!V zKeZQ7i4W8VLDto!vQZ1T{f1v4L^468#(uE3?43Qjsmf^o-m8Y^QxORvIz|n=F1ySJ zhFxvtKW+qRk_aWZGLpt0v}^zw9iOU4B&V*>i)0Aj40=MsczCVk{U-^EC=F{8qTZ<2 z8(B>ohh7}XSzLNaFrQtmgC`+|%-3_1GY70pYaA$_jkzzabX~dGL(f~P!Al1vIq@Bz zV^pg#eOA{L?I`+;C^eToa8L$xd|cxFG{$;bSo7){km)fvG};LQQ4>w+4o7>?5^rEJn-9t!xsLY&zr|!sT@Yp5Hd>O zTcExOURoC_%D=<(;G@P5|uO zRfMSBpybh0e4`HrYl`HZPsB=ws=gr$4_~wE;x0V5_biKp1Mm&j{u;&e>sEyi+YE9{ z-o5A9y@#mk!>fj;H$t8hP-W%hyXioG`qwryBscO{V6YfZWWFh`d98_WR>iBBK6k zy>j`ZHuilIJlzo%`8SrTJ-cy(_ty$Z{f7VZP(x?$qD+<=wf>`W%Dh;vKv!5Dn=4{Z=j()mVY}sY1pdch7ow5`$`IgX8QgJ|Rll@{px#30t~m zo0BG$$J|r|9`*At!X0BS^Xsj!>0Hs;e)QS&%=~8%tNf&n-?K&Wn}81|yVHs=UzttN zDIJKoZA2@9eplmp`xzn(9E8{YG(By~ExNB?Tb9`G(8hC~wx~8g8);)<2IfI=4FF_p z`Te}k?fcqS)h}PS@syz?(}P*+d}bbAsA@P0yAlsYZi1iK^O za#0{L$rTFAm!#*-)A@2f_ukSdyhRfmtQ$?BVC!o$q!9th|GnP}B$RKSd+5nnZzA3`!z^kUFJp;Yi8^zMi@@vPGF+ zPKkxn!F%StUJ*Ku2(Os8nOES9gv+=@bL@FoRHMk^TX)kfQ||H=)V$J<ngepGux&gGp%Qaxr&Ur1e&s8l`*SAV>RqY4!1g=C&kkS0%!+;aEh+u`>AVH zW|)Zr54f-J!v&h5s2&Ht@K7c2orJa6Z{>&KPa7+SQgp`i>MRRMO^Y77UEE3_2Q5LO z3{`V%zZ!2cZc3-@nVa1Yl7OhuT_BSIxr~8(1A#oOqjw<%Lz1;i+Ivzx51Q*byqmIH z#TYkz+~$<6{BNkdYNYRcKtD#aCnQTs=SeJ1KHy4LihtQyQ~q^Sl>fOJH_jK0M<@qS9 zR%AENxEZ~|G@CFJxelTUvQ+si7POO(s(+Eiur@%J{~LRY0Oxt0yw zq%U@MSDl@C+ynW=%QQ@FRMIGdND?TeX%7z!USI?D}VkTBMsyIjUF;M4jxBS## za?BL#S?{bf_&&#;Pze^?))!4Y3Tt#w8UHYDd3Ik{z485PP$6&32bpExh*YTy-+S6n zLIa;%qPK^>V-aB~Y9l3wtOt=z;_7w2>Q$-SFF%9$njL)-#ASG0f@r;q?UJW2jxW4y zf89v@l-Hf-{Pr=v!_yu^I9+I~&brbtxfn6B>RCg~>={o^tt<#4Ww<#R6$8Gvcxi2$ zp_RA5?LH?Tuhn-DF$E_@&(=?{iK|_nXq0y-mu}_?m)=B?VC#j-uayip-m&&F+@oI0 zA}ik!+5kt_S9Pp?6M+o^On|p2?&~&mSsUqmDC-qfqoR%q^dT`9-?&s?{dvMfExVx0 z!$mUP(h#z?oIxEY$KBf`-9ezms;0bgI@F4Wyrg)^D?D-q#KD2$Sc(shS*&n#|M|`_ zb^0ATN09Mhbvhl6f3bfz%#W?Wbi>C_nqed6u9N2gaTsqLaU8AYfQAC7M8Rqa{#O1W z`do+8Y(i2~BucI%v-QGT5*|A89uiUxk3p%mdhR!Vrk`>5ArEdfxVEparCB0k z6|z0e?kyNd^MO{mQ~3ZQ^QA~tQ!f44dmj%=X@y;Y$7Xt-}z-l_GD1w;u2MiFLtBRcc8h zBi7rF#D7|mY!i#Z9tXM|GW*`a#V(#Xy)^-c$m@T?`FGaxpUI!z`Y`(bzFlJ~{X07H zCHYqe9WIjrAZ#$9=a@jJ&0tm97ci2S{XRW{z4e+~1GlpcVoM7hOS)x_`6@5<8E1-q z(+sNqnwhTO=&#A~#57KVD4KPR*I5IF!bVM0N2g8~9dLG>zhhusZ3vR))XxRQe#;?@ zkHXgovjhSd`)Lix#d$6Pvt#deNroiG2tt2q3laQ2ox?jDePVB}`9)mXXzqICACfd% z$A44`sJqakg<}i=C7-Ex!UM!}za!pK+(*}v02*A~0OXSTzYcZ%Mk}F!Z@J>wI{Qy| zOTu4lAoqWP9Dae|WVkW-RGK0FL>0hjMRWh_kfmSl4i zT%60185$3>-gBdkw7B24O+*Wu3q~bYz@C@0wDLtQSyvX*Fxkpx}OR61!pi7_K2L{H88;+VWC&-%H*dCjR zraKOG6;hDYxthxMfIPXz-OikT4>e#;nPU*9f?Y!&--O&wjIev9u6Xs`nr>~!6fTiK zkDRd~_<9`!IjI0x9oq{fccRBXdZYWpydQ4+PK<~?ul1Ze$6{gwwg}$`%x}t z&#m4M7Yp7j5U3fb|FQm2O;^v=VCcl{=s7^NMbfr#S+d`$UGegm@Xrys?Axm^>DWFw zi@R#_#wq4EcYcaE&bu}@-I){w&>8*%H$>8>$PVwZ!|qOSFWZl8{k4=$gMk|OHYyVi zxiNQsfi#r?B5!3h7yrN62#9xpw{Q1E07(Y_=~x38xCU%n#l9JTe*nm{x?7*AdtcZi;g82SwDjFq8QWq*B2kZ!>vrG zzR$L{Y6q@4w{~~>7boM)KjXEs)oQaBuO${3nW_`H$cxjvDzWjlr-!;^g=p~j(;V}Dq`cXrk`mXT|$H%fN{o98tcnksSOV%GoECB<&g&T zNX@Rn1kE-139$|l+HIsQum^-9K=8s3QAejzd-`&`*$UPNZH2`>mG)K6>ZPykNN;@)gEg!DB^>&K4DSwW3P6k;@UJ$$u^XrfcG) zRc}e4M>%bQR8nlbJXxuix#qCrq%r2_?dlwnUMJraRwIzym~{~AGF=;gl*>e!uy9G# zv2@AB9L}g}QIRZG(gyn#2h^LDDW1+i`V%h}VW z$2VWzpGcWEvkCGvh)~I4SG<2aF-}dH=Ma@PHzxmVG1`PYVe=qTj`h3ex)tf&Tu>ne zoBRb5-V9nFeVGpi8J&x(JI1pwJ+a!!Z1Tj;t}qVpV3qN>d-U@G3Q;NT+YX{5jLV(Z zRBBztFVa$RP$$O73|zdxznh;nv=VdeYhscJi#yLG{?2DxmyHy|L6NG)P+Phyx{N`Z zyrr`8huxq3zwJ+Hhqe-i5!gGB0Zq^`1np8x#OZ8J%PFClD79bCvoMV zI3<+JB*nj5=fP=b9x~8*HVSHB;QJQLk%Xk?_QM$p^QV zh`^r&ZP--R*FIuUV`~2@qoh3G2`CROC~5$%pWuB)L-u&uDUu!6zG*gXBJPK7?RDvH z9Z+Y^!VJ>j7Y{`p98phsH7|DQk?{n{K=Nt0dSP1YGS8;o&I@`*%K196_y>PGx_v9M zc+PH%R6KY7@m^ulyb8LkmINfg^@edi*PO$=FXxBJW)=^!*|0K;p1wIVetM{o&j=N# zA)hrT#H~9n*^o{A`LU@wSK+n0ECDJP68Jc2ndsEnEHhgIz1b9;LKVS-pYe*>9SFC= zT-`gu;T$Hu8edVIA&)tjBdrL>P;cfYK--BRh&79#l>$E3+?V+#6iDppsDy0 zHAkJI=PF%)Jl1>}_5A6FHC_&Z!CsX+oe-$D94Uk zI)7Rb2eyZY=OmAFOct`s@KMKdb}ey-s7DdlwwgH~(I|A3+rK=@yn)@HU3~y9 zm&#zyOkGGBa=$KPb{d5>kF7i>>AVaN>5m>?*LHF^+*d zfn@kB@nO6h5IWqB=H90NeE;b9*5u6-H`DvIa~zS0p=_Mp%Z9P)C8mA~xUYGOXP z$lpY)!l-LZ9qo`2c;8Wt4BD1q1IhD1VuJhtz4ueLG=Uh{A7?AtFdbPtm{XE~+UOLO zsck53;>vcl`K)VZ2*ktr+YzVN_u(i&)isO7DJ$~9hhc!ZL_RJRr_jvj4gIzH7yTTm zp-&E_D6SWEzSt-}t^u~F5PH~8Svd1N$_ww+rUZSD-&jqzQf^$X!6Y zrvxbe7fvvMqK>q}3$8HvtJB~kcfbycySx8og*lrtPRr)bzIMlOZ`hg8Z-b4>>FfyD zAmz`M*Qs*rw!yES1<%47&U)d~CQf*qDSV-v0K{+p)mHspfzufF6P6!bGyV(n4+*`1 zt@>@2a2|^(a`>_>lF`&udGjVKA04rJzA8-hk+b{Nu^iI0Ez8@9FZ#=X!O0E$6X*8- zN-J0a^$>cn&52s$6RafH`3{ z)531u1z4!g)ctM`dlaiSj_#C{Ua~cc;{YuaE0Y4;Bao~YR51#aLa<8vQxStBlvX`@$EhJAU^|~H)`R6pEge01?^AE zDXxWJp2_{50Oa?0y(M$wut*$f%I+dCVv%8l8*_LSj7^wGqoGx)olw5Li6&C(dh4A% zZH`iv^B=_GU@}f+c9n^tl-g~>MOgbFjUPWYs|iR=AhW9vXh6?}&e&SpNuH}32QIJ* z^MXjadAZd6UcT^tKJ)1Yp15f~w6bVr~79&fESCvv&&bYAJ2keTwJE z$#)hfxeg>xTcB*1m$Ep@aeXK_i=V0@H_nO+0e)N6v-?Ggt!mcxYPiOgCpkT?w>d1h zes~}r;x3@GU+W}wxTNRY~cfry7#iJysR{x=8xpMFI9 z1>3)qr2iRNNRK$E-v{Facq75B=ND}T+Oev|x5z9nw0<_n3`1$)YrB9Gqvaal2H9wP z=GEvwe>pv=<||`{6_yJK<8tFAVQuCoXJc>-1rlH{u+0ud?*GnEK{3LkJ>Z{DYR*ae zcAg#`oMruYcT2Ug)z5;(>cVOYejN6qMF?QLL~uK#oel?uJyFtHyU70i#Ywm2B~Owp zFHZX`00feY|+z_g!=qlSn7t`Bh)V*=I~jM@))s1? zi8!?U;)8eN6vj^H9*hW`jmJj{_H8q_D&YC%o1WKQ-12m6$~~W7WFv0{822!8%LdZX z0qkCo&a|l8Vc`I;qfp^hx-LlH)uj80Q9?vxiMUB_Y+rj?!xWBLo*yx1r|T8`B&dJq z;~S?N-Q?ZIEK$x%Jno$iHYWzv`ry%w-$0^>o}~O^z03!1wCM@luu!FB&pSza5gWaeAK` zyb6ZeoQc@C-PnBC<3wJojiErt=O%f#C2$g7Y~ittA?MG!=%VN9R}gQKe9b5o*ut@V z?+8)&c+;@o!~N&La)NO`;8p6 zOAr?-jmJBV?;#c_>!YQts$9sf@q0@!Igr8sEZ`_#j@lrM`;0o3mrr$mOK2iB&I>(UTS<2)0VG;JrqH%z~!S{4Mcpih83aOu3MqHXrwIYguL z1&!;EgY4;0ZffuwGwH;3Z97tlucmCP5AI!3Yb6P8ZAHaomYY4pShX3{ueDDd9LG>C z*FEY362la;Ou5Y(Rp2WTsdQ^E;C~adRX^KE|5Qifs8aNgWGM(q?sIh z=_6{8X?klyg(@YG+4k9kt*aK+bZQFZ8$-0K)%m09d2b5yNK@`?y!YcPg@zw=>+cw_ z#SziJFT65KCJ4UZmO#`^!uvV`4S$hM1qQ=yx?G%iQ#2{BF0jz@>nKrckj4kU?g6mp z^sz>OTg`TtOv~mO+{KPBuJ)>I(vq`9OLr@|eq5G}g_10UmH!*k4jit%bpAr%V4Y!7 zt5R->SXD$QKG2Ayl>`zWpTS{aty`gPU$`90(@^_vn*CL>m3@pZ!fJ07-hS+jCV=lPyKw$AvFO`pcc&qOmuK7$v*Gw@*IcgPkM;XxY;-Prkgm zJZ3LdF!L!|s}Eou3MO461vGIR(x!(y?{mN)8P|0(i zf|ovnR^jxKK#i}&K-+M!Ox?qzM4POD{$q(byt4TBmA6&S7rjWxK)$YU3G;iCZ}I$P zgaKUggt*;Nwc(}e<4eaBM11$duj~D0^0oG49wiJb@=f?jp;&cZ%T$heJW*S?AMvvg z`g~vW`+Iq7kP`n#ogXa;$;`>{k*&ajqJJ_o+R2 zW3ISO2_SA_0S_#U2nT5&#l133*FE#EhiF`>68<0_3Sv-_r}OGwW9#N|1BhzIpj6Pc z>T)0n5_<0Qxa5Fyczet+1xL1o3~Y2*EH@tdt{ zGGt?dCic$qh{ZL0l2{n@@I-7sqDimu?`8A9m+K1gZinaKR}#NKuHOJ!m0tjnIsnhu zkmvc6=J*fS>i_BQf2~Oi?I?J^^w|A4EoOS!tPk{36RS>$;qLeaItF&W z42Z=&%4UMEqwzqVk6#b)WHy^}RiFFoN8B_Q1cCy&xEui31O~LdvsD-Ys*V?gML-Xn z34n3aYz?G0ANXp7q#hawbodqjn_zBCks{z}A8x}T2`7Ng96P*y^^(oFQ4aGS;@|3l z|C^}Fx5nA}PooTbk^ffDzlq`+x$?hkbJH0dh3Ca!y2v_ieE=dTsar$v3isVpvfltV zz-3Q~6){IiN6IT7$-$ZZY_PNq1+#N}gVT;5Z1lF`$mec?P-SFfY*M>SncnKCL{+{Y zMd#@S@FB&?-AGEwLJF&gR-utmMpAep1zwM zJ(qT^0&)GQOqii0T#NvqgGwZv`Sq*3C^xLoo@#t~f6_^rep<=kYRGOZpX= zetb@Fn%*xj6^D;PoGI5nu-6SfHuwel9n_uo;_pmbK2^*CVe&r*jHH=fzc{iS-`MFx zD!*)D6?ofio$0~yl+k`{Y|7pSf$MA9jeC)Ck7;wM-H%s4U|?M`?&dVc8?Q`kn=WDB zeoS?|Yx%(WV=#3THT5awL1crLX(g411I@P>rQ{nZeICK)8YRI4b-3_=jfWw)r~?5EHEzh$v&6ll@WMsQXxTb$xAc zvM`Gao6NGs>kL}A4D5#a^H>_3yZey)$AijP{B>|B{x*D-C=ZU}g`?FQ=XPAaa6Z!? zd$`bz^SKMJ?sML_8NV#bCojvJkr?L+Yr1Y=(V@3)Q)CDt@QV1i_(`J&PA|R-sE!9- zJ~2EbfU^@?=KjUUKLLu#>pe?_KObv2K2~J%%IzUF!)^hVp-J%|>5q>w>(@yjaI>2m z8|L0%8ZT##Xp(zmghrrKlu-0#%qk53@Dv6;SmVY$jGp*Dkwu()D-|Q}=@isQ)4JQ! zP0+V2SxM59uF3cyOXMtji1wB`4#W(Gfm$$x#8_B)7lA3KEsL`oqCE1N6Fd!BI{3Vr z;$~i~U(@L)!dY&~>*U}u_`saM)VI`UUr*KY@<&T6cXbuN*4T66<~1(vp?53p+LGM% zkAU`={}chU5;{kb7&hp)kNKzXwM2`gUr8(u(f}LLG$OAghzTd;?yU`FNf7+EHniE7 zc0O8uxRZ|z<4HT3Ct|oa*;^cULt0cE2Fjpc$nyaW9Vh|mFzAD7V7JiAqEWPlnq_2T zraXisUDt@OHfHR!>ut%$@`JzL<-8-&CZ3@Onc|l z;FJE1qozSVOYDu$Ku*yHBakSfh*%Wjyu2gV$1Y*RT)Y2pM>3{PoIWwZSqCPcu@1w; zYBXYwqb0TP9qxR?b7e%>OudA!4J`b2l@v4S zk+e2GVR}HACXg8c@XB=w24*GF?fSKd<1|e6Wq>ki9mh>*VFXqgY5kpX*oXKPI16;S z$WIo4qV~Wu^f#0Ke&Y5&PxPoSWh2&or?bzJS@6J0aL*EmBx<68ZR?c&r@#L$0n9vj zb@0_&=zIES&3Te)CBi=TPa$e?7z;Ok{K+O z8N8RWh{R{Aw}DTOfsPHCHO(||RGM&6s=ql|sA9pN;)M30OX`_ty6{0n5K;p0jE|c* zsKbIDGEGjDci%4V{SaGt?PHHfU$m^|^tC~TedG(VlOv4bD!emR?&uTXDRjCJV1u`x zK~@2~i&7ZF7Y+fZ2K3Jbvte)MpMst?5r0TL^ZG+#`frIfe@NUmpP4Z~C;ful{R2eu z=K|NTH(6QHbe7O6Va$Ag8-)NyJ(}y)wkm*DnWw}L;wG!$_IB_C1^}^u{EY_rbHP`2 znd@7@b1%dnz57F!r1$Sm|E&pTwVQBLJ@mZuqaIZOH%4KeNR7Qf8(uHvg%m z!+-9Aui;U33NYz}#Lfu6F*koMRGKOOZM2a8Z0g^h&;NY1)&l-7M(bZs=5M3*w<%(_ z;NWZHx*}4FN)7Cx?`D0y75KvEh28d3J_^<8Vu^2lyEBml|3>DMY-~>dc_DIbw$(fp zme6vWnCw4IHrqcY z;o%>XuxTbjwlS#dZ?pN|=hn`cZvXNndHz3|H2JqC$^WaV2+vP3PCVsk#lJnMKO_$S zxhcL?Om5y6Vk!Q8+ME9|?dJ+}(z}JdV1J%s|9Wm_+o~M%%KsnlJSvMC1MP^`TJnrs zTHr1XX7YLRuDZpj+ZCOl1Typfo|~Y-%2l=NuB+J)wKo`Xh895*bfZ&mT zJ#lX(2Rk?k0PqLT`=|&kzd(7wj;KPpzd!IFi2sK_urLk?d+-%>A&ubih=+*37EAra zTF#CCOXKVUHtV!c`#hg;dEte0@{woR>|-|mEM*Q`%39KL9$F2Kw8Lzi5f>>ymO9yH zj*|-h1&S=quT+2Io)n4c`bJ=%Fl|pUsSeIt_(9|9!SL85H@Z^L;@N8{L&7Dp*U)tj z%p`%v0?19-azkmaln_!EsruLp9ZT{iMK8;KjJqu(_?{<7nfuN|X7A#huTd+Mj4qzD z`?u*)U=rYa^AWIHP|ae5Yq2;bd2knA?=qM`1z2i}FKV$-mrN$Z(Gz*q6{GG>70elH z{QdV)rx_^FMIEK(@pLeUm)ZWk=CM!Xm*o7R7k9Vm<-s5b#PxO<+jjim%ZbVSc68)D z!m-Y|gVT2yP(96`s<#EuQzR|tP&C~T9AgeV8b;%q1$sZIOYRF-+tW(=`Kj6PWz#L= zCAuOR>h(v8;Fr`{IWhKz23SO>d()$hS2Jl{?&yc zp%30N*pW9y_jyab&l_7Z9H!^iee&f#(WK8ZQ4b`8I&03h33{b=akN4Y4=*j=<@vXM zNb6a2r#VRpuTU{eW*M{;BJgxGwhQTRGho>Tr~%GeQjvDsmMP%q&_)8hzBmW)L?Z$5hU1nF*Fjc6IDgoU#= zYJA;e`& zjR^Wr#J#B6ZHJMYNY(d!u2AU6eKpK$P@&Q9cvjt0^(YQ`y+=W2KwRQh!O|e5-QbJF z%}?qLfsbcJ8pU-++Tqc6Uv#9@K|U;F`-MjLMDDO2=}nHk!t-#Eaqs_ga{Mu<2f$e0 zQ3gVEe&%>>n-^vZquU-$ipsAXPiZ=1-HLj=UT1`aqe0PiOAI&V8Cy2`-3N>9+8$Mo zHjm|R?y+Q%k1;k&3bK8b0kP;NPRc)g935fLOm%C%xd|+VHGBQZ7S8A=F6nT!O=rJy z`%eFvNWChO#vy8(M5d?H$NF?)#Tx%)+N{F^D-{FKez2~QjQI~#CDz1Cj~Fd`He zemLkF0a-UVLqg~ib^uzI^E>qpcn~$;kO$)H3ph@0AY7_m8S8wS%unz~*3SI5jfu76 zLjSETE>)^e0jJboMH3hnD1onGUk)7Q4#(?rjVQEj8fBjx5td#=0A8;DAQ;cr%nW?4 zQvgJ0%Q`SmKP%+=hK-d&_qWeG$C-gI&0oeL_TM`0t8ol2dJ12gJ&XP<#PT0xbN|PF zAI0x*>$L+B_nKq&M+Rd5CLH=79>X@|hhkp%Z(Vrj|2MjTC9O+omdDhI#s``;-D90jq8oL*vGdL})KCA1=HTB^@NzK^JNQ;4?-7XG;D8&8_W;%bTOQ>CEg; zClFRo6Uh(%pYpCds;P9_#}TBdQRy{~G>wKLpomHYrT0MuX}QdRh!Ifff*gSd%tVl0 zq=V9=BUL0piV9MsD-4)`)QE;2NOHIz_mw5CS?}I?b*=aQ$V$%2%E|ur-sju<`|WoA zv}sl7l&M@R52KX>du-(d;*EH{aE4;9SEP|wl)w#<0JS}WMud?ecwTWWESTEWS{xd4 zQNU_AuE##hvMQy_-__j@FI_Tlu!k+HIHn^g=H+J%GNI7a=)BR~wS>bHBi2^~5{P!l z{fq3Sq=~PG=tRz{gU$i4Xl<>5xd*RaUDuDIAFQ&vg@PLLxTrycr&1@ z@PaMeKyl}#KfL!#E9yPz!?TKh;@iC6dxY^Z__K!N4%&{QwXXKYiru@)42Sc2dv8t* z_Hmt~77PtaJ@8WssppR1jkff@u%VeKh0rZ@pG5BKDTRJ+E7BYu|K$>|%ZQ_?fi_Ci z;Qs#0Vi95lk9>hI?;R?A9m^W<+Rb65LOQj1#I0H`(ywsCr}yNEiW7&_`yc0ajUw^HeV6cpO@tai6`wsHK9r`r2;xyI5;9Eg=Dh_S4AZtzzo@GK~q5@g1CqLU7GzLZd`J8-Mjscz2nZ61Bt zaG=^*&T44-91jKi7GJ^_xM6fZFI+WUEE!QTfA-A9fyZS+mFn%Y9#u%CN* zwZvyw$BlS%S)S8Z@-l$(Ni`?Pc;&uTWg^d!GqkpU z09rY2U2WT+&t+_^&k#TPdg8jnoOXf^zjKcJ#uLA&h(M(8shO7A5QF|#k9=bu9jVh3 zFTc>uop?ATLW0Gx6sJj2^25DA^I0OPtl6EpA)@-1@x@{XW3G;9J#4f@eVNw~_R~Rt za@hhuLqnx0u#2>0fPtvf?yUXwPMVoD_Hzpk&x-GMpy5@f8MU;QO40-={Al@bXhlvI zW(S~N8}M+rA5cEBcz`7iG6%c3*O-}|dUNJd26Al(xNBG-o*<=A0OxDbzQUovzBd&D zSK>LAVis@~I2T|J1sa0o8lE2W=Y~2^qi4dIa1zYcEeP`qwvaXjfuHn4K5&bG|MA@& zz7#xuZw>>nwi7!8#)HV*BGC$nppV|Wx=cDh7UYb90Nl5f4tr@y0J_50y8jGWN4MMB z#bawckQ-YFc_vqy{LZ`n(fW1D^O@PKXUR~{97HyxKs%QTqKG(9nm%i5!sG@R=!4RE z!ue3_6mlW01%}>kw?YP%Y$s1Wq2?UA4>%)CK;+9n0(L%^&9>X=9ffXAqn2SDomUn2 z-CZAl$3N=xoG8$q;UdFX0k}*{Kn#zXfqS^~wy5toXgA3Be@7}N|E4V~KwIvp$+zHk z&yJ*tWTa=k-uL^y=g0Q;5&P$ND+)7JOP>?albmh-PhZPO^4suAqxpN~pyA$zw ziaUbx+xg?Yt6h6)w;cg?>cqO@m^}kD{75yk7SsTdfVmY2>$REb%_VIuHG14 zV*xB~`tx!a$8GX)%VVyEDJoz2C*e!}QA{BXSY>8} zH8>rbPcLiR6pS!TDxYuoqFhsXAxc5_u|Vfl!-zHu&B_D&H4ucgmcEKF=aeYabQhKS z6(cpfpU&NE@OM;_Q*(IJgR+)2YIidh6*W#PB^R$#A&fg+D3h-{6(ajHL>JsJGN)t5 zWa|_*#*OF9cMVAFzV~|?LR2=$cEaX{T6e>QN%-Bon$79-+fSq>7ATR@&tkQ`I1O(+ z4V?9Q!}ga|p)&1zk_K@Lc}8lzk#rt!!{cx?VuTHJ7~FrRN6cIqgVcWKYCWpeS6nqK zUaRa~e&U8nA@?4mGv+T!(N=BxN$Bx)o9in>j1~C#1}VhrI7!qu{K5lMLsD2thN~GA z&bTP=CW!j{Pw6DG?!A4UL}awi;_+9BW_vG4bWeplD79MLUmq27WZ?^|`ioCE)~9rL zjE~zCo*NA(DCAkbI(Qe8hY5EuSe!l{{#;(?>Q=g*w`SzxeR*l;72W%TrDPR%)T4&mtTu0ScM-Gr9O3aLi1xQ9wCaKE9J z%$c$P=vV+}Tg~bsi&yX&$ZkJVhvsq@%Q}|e6}7=O4v@zNuw%*8AwSf@dQN4m?YXSk z!}p58baRPyxbfrP%m@69`6y3Xd_3Eu1AO=+gpZR^Q<8nxa|pA4Dp}+|6?)oP&A0RF zk8AtbJ%~RnCI(Ubm=_&NO?>dTWu7U&$!Yf6Es1srx^y^XwUj_Go*NTaMmHJeUyJm!Gt{EJw$F0!EFrap)iY z1rHhY;lt4nffjvwTL=oCE(ixFWztVP2YDpG8Vu9qS!|&1%2i<9U(ItLT}wDeDoe(3 zFk`{S4q_ZffNAEzHIY_$UjRtQX?P1E3TBm&f}mMhVD5w8mcge@&2*{?r&s~ae}cC2 zxhC?|X~CBu=axj12Eva6CS(UK+h)3qjN9b4hsc#w5H}j&Gh0CWK{y2>as&J#NFKhF z`5h%XObqk`u-nGV098!FG2OCqqFl`1Zf=Cqpmtz#p(QDh;Ixyo*neh;&%dz5i=EG3 zKLa=1DIWssL1cq1M9i5n_txho1frC0;Jy7esmaAvjHx=Gszhnc1@|haf!*mP{pXM8 zaxiK`LBr+~?QXLJko%$*tg7Pq;P3SgbmEd;1e zj5hkp@+ZN;`1`C>=u;wa?}j@+Zi+j|PrmNW$V0(eDx}w_4xJ~x+x=)j?WpOl|A7}r zEPc;XU(ck@!>+Lb0ZPh&y_IZiLER^{@qM6(xXOK##|k3rLy;cpKhkZ;js8}dR|Y)W zCBBeDj!VDI`WYeIq{@Nt+#E#GfBJ|d&GLhDbP&*|$UB-Ug?X_?D3b?e36oAD39_o~ zS~B&PT5dCVR`p}(oplRvTFjX)pgI}+$9ssZ2}Rz9Xt_ib^bS1 zS-gh#7{Dq%Wgojar{(u@_@$(%4sV40ixJWi^JwY_jxWLEsPB zP}W&LlwxToLE$>gSKIP+lid~~JCY`~sB0RZ??i1duuOJnNoNO1*Wr;~(kuq}dqKxw zl{Tn3k$w+^#EYVsdz1b)Jq<%+z(JNMy0ARGw+pvn>M!;f4(tI1C^%-!2&lHd{&7X1 z91s}4y@GF8cpLZcE>GE>mrw@bg|6{WI zFI?UKhBn>ZLUe?@pF%CKL39AQetKADIaKA5Ymc5El1dgs$Q_7V%Df96j%yz`q!UT2 z%V13NPhd0sRzdNVwC>Pcx`*xqy*>=w<8n~?a{V2>Gg7g7QgQl<1@p)BtlK6ORk^K% h9cWAOX(>J~n6ha`%4IVx&rJ1ytvdhz{tj(@_$#H81J(cl literal 76034 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®Vy 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 diff --git a/setup.py b/setup.py index 6845d88..1cd1d9d 100644 --- a/setup.py +++ b/setup.py @@ -2,16 +2,16 @@ setup( name="rpimotorlib", - version="2.7", + version="3.0", author="Gavin Lyons", author_email="glyons66@hotmail.com", description="A python 3 library for various motors and servos to connect to a raspberry pi", - long_description="""# python 3 motor\n for various motors and servos\n to connect to a raspberry pi\n""", + long_description="""# python 3 library\n for various motors and servos\n to connect to a raspberry pi\n""", long_description_content_type="text/markdown", license="GPL", keywords="TB6612FNG L9110S DRV8833 A3967 L298 servo motor library raspberry pi 28BYJ-48 A4988 stepper DRV8825", url="https://github.com/gavinlyonsrepo/RpiMotorLib", - download_url='https://github.com/gavinlyonsrepo/RpiMotorLib/archive/2.7.tar.gz', + download_url='https://github.com/gavinlyonsrepo/RpiMotorLib/archive/3.0.tar.gz', packages=['RpiMotorLib'], data_files=[('', ['README.md'])], install_requires=['pip'], diff --git a/test/A3967_Nema_Test.py b/test/A3967_Nema_Test.py index a0de30f..8730c5e 100755 --- a/test/A3967_Nema_Test.py +++ b/test/A3967_Nema_Test.py @@ -1,37 +1,52 @@ #!/usr/bin/env python3 """ test example file for rpiMotorlib.py motor A3967 NEMA """ -import time +import time import RPi.GPIO as GPIO +# Next 3 lines for development, local library testing import +# Comment out in production release and change RpiMotorLib.A3967EasyNema to A3967EasyNema +#import sys +#sys.path.insert(0, '/home/pi/Documents/tech/RpiMotorLib/RpiMotorLib') +#from RpiMotorLib import A3967EasyNema +# Production installed library import from RpiMotorLib import RpiMotorLib -# 200 steps full revolution -# 400 half -# 800 1/4 -# 1600 1/8 -# __init__(self, direction_pin, step_pin, mode_pins): -# motor_move(self, stepdelay=.05, steps=200, clockwise=False, verbose=False, steptype="Full", - # , initdelay=.1): +""" +# Comment in To Test motor stop put push button to VCC on GPIO 17 +GPIO.setwarnings(False) +GPIO.setmode(GPIO.BCM) +GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) +""" def main(): """main function loop""" - - # ====== tests for motor A3967 NEMA ==== - - #GPIO pins + + # ====== Tests for motor A3967 NEMA ==== + + # Comment in To Test motor stop , put push button to VCC on GPIO 17 + # GPIO.add_event_detect(17, GPIO.RISING, callback=button_callback) + + # Full = 200 steps per revolution + # Half = 400 + # 1/4 = 800 + # 1/8 =1600 + + #GPIO pins GPIO_pins = (6, 13) # Microstep Resolution MS1-MS2 -> GPIO Pin direction= 26 # Direction -> GPIO Pin step = 19 # Step -> GPIO Pin - + # Declare an named instance of class pass GPIO-PINs + # (direction_pin, step_pin, mode_pins): mymotortest = RpiMotorLib.A3967EasyNema(direction, step, GPIO_pins) # ====================== section A =================== print("TEST SECTION A") + # motor_move(stepdelay, steps, clockwise, verbose, steptype, initdelay): input("TEST: Press for Test1 full mode full turn") mymotortest.motor_move(.005, 200 , False, True, "Full", .05) time.sleep(1) @@ -44,9 +59,11 @@ def main(): input("TEST: Press for Test4 1/8 mode full turn") mymotortest.motor_move(.006, 1600 , False, True, "1/8", .05) time.sleep(1) - + # ========================== section B ========================= print("TEST SECTION B") + + # motor_move(stepdelay, steps, clockwise, verbose, steptype, initdelay): input("TEST: Press for Test5 , full mode, init delay") mymotortest.motor_move(.005, 100 , False, True, "Full", 5) time.sleep(1) @@ -56,20 +73,28 @@ def main(): input("TEST: Press for Test7, full mode, no verbose") mymotortest.motor_move(.005, 100 , False, False, "Full", .05) time.sleep(1) + input("TEST: Press for Test8, full mode, slow small turn") mymotortest.motor_move(1, 3 , False, True, "Full", .05) time.sleep(1) +""" +# Comment in for testing motor stop +def button_callback(channel): + print("Test file: Stopping motor") + mymotortest.motor_stop() +""" + # ===================MAIN=============================== if __name__ == '__main__': - + print("TEST START") main() GPIO.cleanup() print("TEST END") exit() - - + + # =====================END=============================== diff --git a/test/A4988_Nema_Test.py b/test/A4988_Nema_Test.py index d3370de..ada3505 100755 --- a/test/A4988_Nema_Test.py +++ b/test/A4988_Nema_Test.py @@ -3,44 +3,51 @@ import time import RPi.GPIO as GPIO + +# Next 3 lines for development, local library testing import +# Comment out in production release and change RpiMotorLib.A4988Nema to A4988Nema #import sys #sys.path.insert(0, '/home/pi/Documents/tech/RpiMotorLib/RpiMotorLib') +#from RpiMotorLib import A4988Nema - +# Production installed library import from RpiMotorLib import RpiMotorLib -# 200 steps full revolution -# 400 half -# 800 1/4 -# 1600 1/8 -# 3200 1/16 -# __init__(self, direction_pin, step_pin, mode_pins , motor_type): -# motor_go(clockwise=False, steptype="Full", steps=200, stepdelay=.005, verbose=False, initdelay=.05) +""" +# Comment in To Test motor stop put push button to VCC on GPIO 17 +GPIO.setwarnings(False) +GPIO.setmode(GPIO.BCM) +GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) +""" def main(): """main function loop""" - # ====== tests for motor ==== + # Comment in To Test motor stop , put push button to VCC on GPIO 17 + # GPIO.add_event_detect(17, GPIO.RISING, callback=button_callback) + + # ====== Tests for motor ====== - #GPIO pins GPIO_pins = (14, 15, 18) # Microstep Resolution MS1-MS3 -> GPIO Pin direction= 20 # Direction -> GPIO Pin step = 21 # Step -> GPIO Pin - # Declare an named instance of class pass GPIO-PINs + # (self, direction_pin, step_pin, mode_pins , motor_type): mymotortest = RpiMotorLib.A4988Nema(direction, step, GPIO_pins, "A4988") + # ====================== section A =================== print("TEST SECTION A") + # motor_go(clockwise, steptype", steps, stepdelay, verbose, initdelay) input("TEST: Press to continue Full 180 turn Test1") - mymotortest.motor_go(False, "Full" , 100, .005, True, .05) + mymotortest.motor_go(False, "Full" , 100, .05, True, .05) time.sleep(1) input("TEST: Press to continue full 180 clockwise Test2") - mymotortest.motor_go(True, "Full" , 100, .005, True, .05) + mymotortest.motor_go(True, "Full" , 100, .05, True, .05) time.sleep(1) input("TEST: Press to continue full 180 no verbose Test3") - mymotortest.motor_go(False, "Full" , 100, .005, False, .05) + mymotortest.motor_go(False, "Full" , 100, .05, False, .05) time.sleep(1) input("TEST: Press to continue timedelay Test4") mymotortest.motor_go(True, "Full" , 10, 1, True, .05) @@ -52,6 +59,7 @@ def main(): # ========================== section B ========================= print("TEST SECTION B") + # motor_go(clockwise, steptype", steps, stepdelay, verbose, initdelay) input("TEST: Press to continue half Test1") mymotortest.motor_go(False, "Half" , 400, .005, True, .05) time.sleep(1) @@ -65,6 +73,13 @@ def main(): mymotortest.motor_go(False, "1/16" , 3200, .005, True, .05) time.sleep(1) +""" +# Comment in for testing motor stop +def button_callback(channel): + print("Test file: Stopping motor") + mymotortest.motor_stop() +""" + # ===================MAIN=============================== if __name__ == '__main__': @@ -75,6 +90,5 @@ def main(): print("TEST END") exit() - # =====================END=============================== diff --git a/test/BYJ_Motor_Test.py b/test/BYJ_Motor_Test.py index 2fa22cc..72205ce 100755 --- a/test/BYJ_Motor_Test.py +++ b/test/BYJ_Motor_Test.py @@ -5,41 +5,63 @@ import time import RPi.GPIO as GPIO + +# Next 3 lines for development local library testing import +# Comment out in production release and change RpiMotorLib.BYJMotor to BYJMotor #import sys #sys.path.insert(0, '/home/pi/Documents/tech/RpiMotorLib/RpiMotorLib') #from RpiMotorLib import BYJMotor +# Production installed library import from RpiMotorLib import RpiMotorLib +""" +# To Test motor stop put push button to VCC on GPIO 17 + GPIO.setwarnings(False) + GPIO.setmode(GPIO.BCM) + GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) +""" + +# Declare an named instance of class pass your name and type of motor +mymotortest = RpiMotorLib.BYJMotor("MyMotorOne", "28BYJ") def main(): """main function loop""" # ====== tests for motor 28BYJ48 ==== + # To Test motor stop , put push button to VCC on GPIO 17 + # GPIO.add_event_detect(17, GPIO.RISING, callback=button_callback) + + # Connect GPIO to [IN1 , IN2 , IN3 ,IN4] on Motor PCB GpioPins = [18, 23, 24, 25] - # Declare an named instance of class pass a name and type of motor - mymotortest = RpiMotorLib.BYJMotor("MyMotorOne", "28BYJ") + # Arguments for motor run function + # (GPIOPins, stepdelay, steps, counterclockwise, verbose, steptype, initdelay) time.sleep(0.1) input("Press to continue Test1") - mymotortest.motor_run(GpioPins,.01,256, True, True,"full",5) + mymotortest.motor_run(GpioPins,.05,128, True, True,"full", .05) time.sleep(1) input("Press to continue Test2") - mymotortest.motor_run(GpioPins,.01,512, False, True,"wave", .05) + mymotortest.motor_run(GpioPins,.001,256, False, True,"half", .05) time.sleep(1) input("Press to continue Test3") - mymotortest.motor_run(GpioPins,.01, 1, False, True,"half", 2) + mymotortest.motor_run(GpioPins,.01, 5, False, True,"half", 2) time.sleep(1) input("Press to continue Test4") - mymotortest.motor_run(GpioPins,.05, 50, True, True,"half", .05) + mymotortest.motor_run(GpioPins,.05, 50, True, True,"wave", .05) time.sleep(1) input("Press to continue Test5") - mymotortest.motor_run(GpioPins,.001,1000,False,False,"half", .05) + mymotortest.motor_run(GpioPins,.01,512,False,False,"half", .05) + +""" +# needed for testing motor stop +def button_callback(channel): + print("Test file: Stopping motor") + mymotortest.motor_stop() +""" - - # ===================MAIN=============================== if __name__ == '__main__': diff --git a/test/DRV8825_Nema_Test.py b/test/DRV8825_Nema_Test.py index d5d572d..ed7b371 100755 --- a/test/DRV8825_Nema_Test.py +++ b/test/DRV8825_Nema_Test.py @@ -3,37 +3,42 @@ import time import RPi.GPIO as GPIO + +# Next 3 lines for development, local library testing import +# Comment out in production release and change RpiMotorLib.A4988Nema to A4988Nema #import sys #sys.path.insert(0, '/home/pi/Documents/tech/RpiMotorLib/RpiMotorLib') +#from RpiMotorLib import A4988Nema - +# Production installed library import from RpiMotorLib import RpiMotorLib -# 200 steps full revolution -# 400 half -# 800 1/4 -# 1600 1/8 -# 3200 1/16 -# 6400 1/32 -# __init__(self, direction_pin, step_pin, mode_pins ,motor_type): -# motor_go(clockwise=False, steptype="Full", steps=200, stepdelay=.005, verbose=False, initdelay=.05) +""" +# Comment in to Test motor stop put push button to VCC on GPIO 17 +GPIO.setwarnings(False) +GPIO.setmode(GPIO.BCM) +GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) +""" def main(): """main function loop""" + # Comment in to Test motor stop , put push button to VCC on GPIO 17 + # GPIO.add_event_detect(17, GPIO.RISING, callback=button_callback) - # ====== tests for motor ==== - + # ====== Tests for motor ==== #GPIO pins - GPIO_pins = (14, 15, 18) # Microstep Resolution MS1-MS3 -> GPIO Pin + GPIO_pins = (14, 15, 18) # Microstep Resolution M0-M1-M2 -> GPIO Pin direction= 20 # Direction -> GPIO Pin step = 21 # Step -> GPIO Pin - + # Declare an named instance of class pass GPIO-PINs + #( self, direction_pin, step_pin, mode_pins ,motor_type) mymotortest = RpiMotorLib.A4988Nema(direction, step, GPIO_pins, "DRV8825") - + # ====================== section A =================== print("TEST SECTION A") + # motor_go(clockwise, steptype, steps, stepdelay, verbose, initdelay) input("TEST: Press to continue Full 180 turn Test1") mymotortest.motor_go(False, "Full" , 100, .005, True, .05) time.sleep(1) @@ -53,6 +58,7 @@ def main(): # ========================== section B ========================= print("TEST SECTION B") + # motor_go(clockwise, steptype, steps, stepdelay, verbose, initdelay) input("TEST: Press to continue half Test1") mymotortest.motor_go(False, "Half" , 400, .005, True, .05) time.sleep(1) @@ -65,11 +71,17 @@ def main(): input("TEST: Press to continue 1/16 Test1") mymotortest.motor_go(False, "1/16" , 3200, .005, True, .05) time.sleep(1) - input("TEST: Press to continue 1/32 Test1") mymotortest.motor_go(False, "1/32" , 6400, .005, True, .05) time.sleep(1) +""" +# needed for testing motor stop +def button_callback(channel): + print("Test file: Stopping motor") + mymotortest.motor_stop() +""" + # ===================MAIN=============================== if __name__ == '__main__': diff --git a/test/L298_Step_Test.py b/test/L298_Step_Test.py index fc6fb90..f0e9913 100755 --- a/test/L298_Step_Test.py +++ b/test/L298_Step_Test.py @@ -3,28 +3,42 @@ import time import RPi.GPIO as GPIO + +# Next 3 lines for development, local library testing import +# Comment out in production release and change RpiMotorLib.BYJMotor to BYJMotor #import sys #sys.path.insert(0, '/home/pi/Documents/tech/RpiMotorLib/RpiMotorLib') #from RpiMotorLib import BYJMotor +# Production installed library import from RpiMotorLib import RpiMotorLib +# Declare an named instance of class pass a name and type of motor +# type of motor(Nema) is case sensitive +mymotortest = RpiMotorLib.BYJMotor("MyMotorOne", "Nema") + +""" +# To Test motor stop put push button to VCC on GPIO 17 +GPIO.setwarnings(False) +GPIO.setmode(GPIO.BCM) +GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) +""" def main(): """main function loop""" # ====== tests for motor L298STepTest ==== + # To Test motor stop , put push button to VCC on GPIO 17 + # GPIO.add_event_detect(17, GPIO.RISING, callback=button_callback) + + # Connect GPIO to [IN1 , IN2 , IN3 ,IN4] on Motor PCB GpioPins = [19, 26, 21, 13] - #GpioPins = [19, 13, 21, 20] - # Declare an named instance of class pass a name and type of motor - - mymotortest = RpiMotorLib.BYJMotor("MyMotorOne", "Nema") - time.sleep(1) - # motor_run(gpiopins, wait, steps, ccwise, verbose, steptype, initdelay): + # Arguments for motor run function + # (GPIOPins, stepdelay, steps, counterclockwise, verbose, steptype, initdelay) input("Press to continue Test1") - mymotortest.motor_run(GpioPins,.5, 200, False, True,"full" ,1 ) + mymotortest.motor_run(GpioPins,.5, 20, False, True,"full" ,1 ) time.sleep(1) input("Press to continue Test2") mymotortest.motor_run(GpioPins,.1, 20 , False, True,"wave", 1) @@ -36,9 +50,16 @@ def main(): mymotortest.motor_run(GpioPins,.05, 25, True, True,"half", 1) time.sleep(1) input("Press to continue Test5") - mymotortest.motor_run(GpioPins,.02,25,False,False,"half", 5) + mymotortest.motor_run(GpioPins,.02,25,False,False,"half", 3) + + +""" +# needed for testing motor stop +def button_callback(channel): + print("Test file: Stopping motor") + mymotortest.motor_stop() +""" - # ===================MAIN=============================== diff --git a/test/ServoGPIOTest.py b/test/ServoGPIOTest.py index 8217a18..4b3237f 100755 --- a/test/ServoGPIOTest.py +++ b/test/ServoGPIOTest.py @@ -5,76 +5,95 @@ import time import RPi.GPIO as GPIO + + +# Next 3 lines for development, local library testing import +# Comment out in production release and change rpiservolib.SG90servo to SG90servo #import sys #sys.path.insert(0, '/home/pi/Documents/tech/RpiMotorLib/RpiMotorLib') +#from rpiservolib import SG90servo +# Production installed library import from RpiMotorLib import rpiservolib +""" +# Comment in To Test servo stop put push button to VCC on GPIO 17 +GPIO.setwarnings(False) +GPIO.setmode(GPIO.BCM) +GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) +""" + def main(): """main function loop""" - # ===== tests for servo SG90 ========== - # initialize - # name="SG90servoX", freq=50, y_one=2, y_two=12 + # ===== Tests for servo ========== + + # initialize (name, freq, y_one, y_two) myservotest = rpiservolib.SG90servo("servoone", 50, 3, 11) + + # Comment in To Test servo stop + # GPIO.add_event_detect(17, GPIO.RISING, callback=button_callback) + + # == Test 1 test method servo_move_step == - # section 1 - # servo_pin, start=10, end=170, stepdelay=1, - # stepsize=1, initdelay=1, verbose=False - print("test 1 test method servo_move_step") - input("Press to continue Test1a") + # (servo_pin, start, end, stepdelay,stepsize, initdelay, verbose) + print("Test 1: test method servo_move_step") + input("Press to continue Test 1a") myservotest.servo_move_step(26, 10, 180, .1, 5, 1, True) time.sleep(1) - input("Press to continue Test1b") + input("Press to continue Test 1b") myservotest.servo_move_step(26, 170, 10, .5, 20, 1, True) time.sleep(1) - input("Press to continue Test1b") + input("Press to continue Test 1c") myservotest.servo_move_step(26, 10, 50, 1, 1, 1, True) time.sleep(1) - - # section 2 - # test convert function + # == Test 2 convert function == + print("Test 2: test method covert degree to duty cycle function") input("Press to continue Test2") testdegree = float(input("What degree do you want?\t")) print("duty cycle percent = {} ".format(myservotest.convert_from_degree(testdegree))) - + # == Test 3 test method servo_sweep == - # section 3 - # servo_pin=7, center=7.5, minduty=3, - # maxduty=11, delay=0.5, verbose=False, initdelay=.05, sweeplen=1000000 - print("test 3 test method servo_sweep") - input("Press to continue Test3a1") + # (servo_pin, center, minduty, maxduty, delay, verbose, initdelay, sweeplen) + print("Test 3: test method servo_sweep") + input("Press to continue Test 3a") time.sleep(1) myservotest.servo_sweep(26, 7.5, 3, 11, .5, True, .05, 10) # sweep from center to max - input("Press to continue Test3a2") + input("Press to continue Test 3b") time.sleep(1) myservotest.servo_sweep(26, 7.5, 7.5, 11, .5, True, 2, 20) # sweep from center to min - input("Press to continue Test3a3") + input("Press to continue Test 3c") time.sleep(1) myservotest.servo_sweep(26, 7.5, 7.5, 3, .5, True, .05) + # == Test 3 test method servo_move == - # section 4 - # servo_pin, start=10, end=170, stepdelay=1, - # stepsize=1, initdelay=1, verbose=False + # servo_pin, position, delay, verbose, initdelay): print("test 4 test method servo_move") - input("Press to continue Test4b1") + input("Press to continue Test4a") time.sleep(1) - myservotest.servo_move(26, 12, .5, True) - input("Press to continue Test4b2") + myservotest.servo_move(26, 12, .5, True, 0) + input("Press to continue Test4b") time.sleep(1) - myservotest.servo_move(26, 2, .5, True) - input("Press to continue Test4b3") + myservotest.servo_move(26, 2, .5, True, 0) + input("Press to continue Test4c") time.sleep(1) - myservotest.servo_move(26, 7.5, .5, True) + myservotest.servo_move(26, 7.5, .5, True, 0) time.sleep(1) +""" +# Comment in for testing servo stop +def button_callback(channel): + print("Test file: Stopping servo") + myservotest.servo_stop() +""" + # ===================MAIN=============================== if __name__ == '__main__': diff --git a/test/ServoPIGPIOTest.py b/test/ServoPIGPIOTest.py index 61a907e..c6140a8 100755 --- a/test/ServoPIGPIOTest.py +++ b/test/ServoPIGPIOTest.py @@ -1,77 +1,101 @@ #!/usr/bin/env python3 """ test example file for: module rpiMotorlib.py file: rpi_pservo_lib class:ServoPigpio, -Run a servo using pigpio library RPI """ +Run a servo using pigpio library RPI +make sure to start pigpio dameon """ import time -import RPi.GPIO as GPIO -# import sys -# sys.path.insert(0, '/home/pi/Documents/tech/RpiMotorLib/RpiMotorLib') + +# Next 3 lines for development, local library testing import +#Comment out in production release and change rpi_pservo_lib.ServoPigpio to ServoPigpio +#import sys +#sys.path.insert(0, '/home/pi/Documents/tech/RpiMotorLib/RpiMotorLib') +#from rpi_pservo_lib import ServoPigpio + +# Production installed library import from RpiMotorLib import rpi_pservo_lib + +# Comment in To Test servo stop put push button to VCC on GPIO 17 +""" +import RPi.GPIO as GPIO +GPIO.setwarnings(False) +GPIO.setmode(GPIO.BCM) +GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) +myservotest = ServoPigpio("servoone", 50, 1000, 2000) +""" + def main(): """main function loop""" - # ===== tests for servo SG90 ========== - # initialize - # name="SG90servoY", freq=50, y_one=1000, y_two=2000) + # ===== Tests for servo ========== + + # Comment in To Test servo stop method + # GPIO.add_event_detect(17, GPIO.RISING, callback=button_callback) + + # initialize(name freq, y_one, y_two) myservotest = rpi_pservo_lib.ServoPigpio("servoone", 50, 1000, 2000 ) - - # Section 1 - # servo_pin, position=1500, - # delay=0.5, verbose=False, initdelay=.05 + + # == Test Section 1 method servo_move_step== + + # Args (servo_pin, start, end, stepdelay, stepsize, initdelay, verbose) print("\nTest 1x servo_move_step") - input("Press to continue Test1a") + input("Press to continue Test 1a") myservotest.servo_move_step(26, 15, 180, .1, 5, 1, True) time.sleep(1) - input("Press to continue Test1b") + input("Press to continue Test 1b") myservotest.servo_move_step(26, 170, 15, .5, 20, 1, True) time.sleep(1) - input("Press to continue Test1b") + input("Press to continue Test 1c") myservotest.servo_move_step(26, 10, 50, 1, 1, 1, True) time.sleep(1) - # section 2 - # test convert function - degree to pulse width + # == Test Section 2 degree to pulse width == + input("Press to continue Test2") print("\nTest 2x degree conversion function check") testdegree = float(input("What degree do you want?\t")) print("Pulse width micro seconds = {} ".format(myservotest.convert_from_degree(testdegree))) + # == Test Section 3 servo_sweep == - # full sweep section 3 testing sevro sweep - # servo_sweep(self, servo_pin=7, center=1500, minduty=1000, - # maxduty=2000, delay=0.5, verbose=False, initdelay=.05, sweeplen=1000000) + # args (servo_pin, center=, minduty,maxduty,delay,verbose,initdelay,sweeplen) print("\nTest 3x servo Sweep") - input("Press to continue Test3a1") + input("Press to continue Test 3a") time.sleep(1) myservotest.servo_sweep(26, 1500, 700, 2000, .5, True, .05, 10) # sweep from center to max - input("Press to continue Test3a2") + input("Press to continue Test 3b") time.sleep(1) myservotest.servo_sweep(26, 1500, 1500, 2000, .5, True, 2, 20) # sweep from center to min - input("Press to continue Test3a3") + input("Press to continue Test 3c") time.sleep(1) myservotest.servo_sweep(26, 1500, 1500, 800, .5, True, .05) - - # single move section 4 - # servoMove(servo_pin, position, delay, verbose) + #== Test Section 4 servo_sweep == + # servoMove(servo_pin, position, delay, verbose, initdelay) print("\nTest 4x servo_move test") - input("Press to continue Test4b1") + input("Press to continue Test 4a") time.sleep(1) myservotest.servo_move(26, 2000, .5, True,.05) - input("Press to continue Test4b2") + input("Press to continue Test 4b") time.sleep(1) myservotest.servo_move(26, 1000, .5, True,.5) - input("Press to continue Test4b3") + input("Press to continue Test 4c") time.sleep(1) myservotest.servo_move(26, 1500, .5, True,4) time.sleep(1) + +""" +# Comment in for testing servo stop +def button_callback(channel): + print("Test file: Stopping servo") + myservotest.servo_stop() +""" # ===================MAIN=============================== diff --git a/test/TB6612FNG_DCMot_Test.py b/test/TB6612FNG_DCMot_Test.py index 1f938ed..c922d7c 100755 --- a/test/TB6612FNG_DCMot_Test.py +++ b/test/TB6612FNG_DCMot_Test.py @@ -2,11 +2,12 @@ """ test example file for rpiMotorlib.py TB6612FNG DC motor 3 functions Motorone =one motor running , motortwo =second motor running, motorboth = both motors running""" -import time +import time import RPi.GPIO as GPIO #import sys #sys.path.insert(0, '/home/pi/Documents/tech/RpiMotorLib/RpiMotorLib') -from RpiMotorLib import rpi_dc_lib +#import rpi_dc_lib +from RpiMotorLib import rpi_dc_lib # ====== tests for DC motor driven by TB6612FNG ==== # TB66 -- GPIO RPI @@ -23,14 +24,14 @@ def motorone(): """ set of tests to run on one DC motor connected to A channel """ - print(" TEST: testing motor 1") + print(" TEST: testing motor 1") # Motorssetup MotorOne = rpi_dc_lib.TB6612FNGDc(AI1 ,AI2 ,PWA ,Freq,True, "motor_one") # ================ Motors one test section 1============= try: print("1. motor forward") MotorOne.forward(15) - input("press key to stop") + input("press key to stop") print("motor stop\n") MotorOne.stop(0) time.sleep(3) @@ -42,10 +43,10 @@ def motorone(): MotorOne.stop(0) print("motor stoped\n") time.sleep(3) - + print("3. motor backward") MotorOne.backward(15) - input("press key to stop") + input("press key to stop") MotorOne.stop(0) print("motor stopped\n") time.sleep(3) @@ -57,13 +58,13 @@ def motorone(): MotorOne.stop(0) print("motor stopped\n") time.sleep(3) - + print("5 brake check") MotorOne.forward(50) time.sleep(3) MotorOne.brake(0) print("motor brake\n") - + except KeyboardInterrupt: print("CTRL-C: Terminating program.") except Exception as error: @@ -72,22 +73,22 @@ def motorone(): finally: MotorOne.cleanup(False) - + def motortwo(): """ set of tests to run on one DC motor connected to B channel """ - print(" TEST: testing motor ") + print(" TEST: testing motor ") # Motorssetup MotorTwo = rpi_dc_lib.TB6612FNGDc(BI1 ,BI2 ,PWB ,Freq ,True, "motor_two") - + # ================ Motors two test section 1============= try: print("1. motor forward") MotorTwo.forward(15) - input("press key to stop") + input("press key to stop") MotorTwo.stop(0) print("motor stop\n") time.sleep(3) - + print("2. motor forward speed up") for i in range(15,30): @@ -95,16 +96,16 @@ def motortwo(): time.sleep(1) MotorTwo.stop(0) print("motor stop\n") - time.sleep(3) - - + time.sleep(3) + + print("3. motor backward") MotorTwo.backward(15) - input("press key to stop") + input("press key to stop") MotorTwo.stop(0) print("motor stop\n") time.sleep(3) - + print("4. motor backward speed up") for i in range(15,30): @@ -113,14 +114,14 @@ def motortwo(): MotorTwo.stop(0) print("motor stop\n") time.sleep(3) - - + + print("5 .brake check") MotorTwo.forward(50) time.sleep(3) MotorTwo.brake(0) print("motor brake\n") - + except KeyboardInterrupt: print("CTRL-C: Terminating program.") except Exception as error: @@ -128,26 +129,26 @@ def motortwo(): print("Unexpected error:") finally: MotorTwo.cleanup(False) - - + + def motorboth(): """ set of tests to run on two DC motors connected to A and B channel """ - print(" TEST: testing motor ") + print(" TEST: testing motor ") # Motorssetup MotorOne = rpi_dc_lib.TB6612FNGDc(AI1 ,AI2 ,PWA ,Freq,True, "motor_one both") MotorTwo = rpi_dc_lib.TB6612FNGDc(BI1 ,BI2 ,PWB ,Freq ,True, "motor_two both") - + # ================ Both Motors running ============= try: print("Both motors forward") MotorOne.forward(25) MotorTwo.forward(25) - input("press key to stop") + input("press key to stop") print("motor stop\n") MotorOne.stop(0) MotorTwo.stop(0) time.sleep(3) - + except KeyboardInterrupt: print("CTRL-C: Terminating program.") @@ -157,7 +158,7 @@ def motorboth(): finally: MotorOne.cleanup(False) MotorTwo.cleanup(False) - + # ===================MAIN=============================== if __name__ == '__main__': @@ -176,8 +177,8 @@ def motorboth(): finally: rpi_dc_lib.TB6612FNGDc.standby(Standby, False) GPIO.cleanup() - + exit() - + # =====================END=============================== diff --git a/test/TB6612FNG_Nema_Test.py b/test/TB6612FNG_Nema_Test.py index d412f4e..2a3b7c6 100755 --- a/test/TB6612FNG_Nema_Test.py +++ b/test/TB6612FNG_Nema_Test.py @@ -3,29 +3,42 @@ import time import RPi.GPIO as GPIO + +# Next 3 lines for development local library testing import +# Comment out in production release and change RpiMotorLib.BYJMotor to BYJMotor #import sys #sys.path.insert(0, '/home/pi/Documents/tech/RpiMotorLib/RpiMotorLib') #from RpiMotorLib import BYJMotor +# Production installed library import from RpiMotorLib import RpiMotorLib +""" +# To Test motor stop put push button to VCC on GPIO 17 +GPIO.setwarnings(False) +GPIO.setmode(GPIO.BCM) +GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) +""" def main(): """main function loop""" + # To Test motor stop , put push button to VCC on GPIO 17 + #GPIO.add_event_detect(17, GPIO.RISING, callback=button_callback) + # ====== tests for motor TB6612FNG StepTest ==== + # GPIO + # Declare an named instance of class pass a name and type of motor Motorname = "MyMotorOne" Motortype = "Nema" - # GPIO + mymotortest = RpiMotorLib.BYJMotor(Motorname, Motortype) A11 = 19 A12 = 26 B11 = 21 B12 = 13 GpioPins = [A11, B11, A12,B12] - # Declare an named instance of class pass a name and type of motor - mymotortest = RpiMotorLib.BYJMotor(Motorname, Motortype) time.sleep(1) input("Press to continue Test1") @@ -90,6 +103,14 @@ def main(): steptype = "wave" initdelay = 1 mymotortest.motor_run(GpioPins, wait ,steps ,ccwise ,verbose, steptype ,initdelay) + +""" +# used for testing motor stop +def button_callback(channel): + print("Test file: Stopping motor") + mymotortest.motor_stop() +""" + # ===================MAIN=============================== if __name__ == '__main__':