Oh and Hello Again,

For the record, everything does work as expected if I think differently. I 
was thinking tank style w/ one of the L298 drivers being front left and 
back left on the bot.

Seth

P.S. "My bad." I actually forgot to review the schematic again and again. I 
forgot about how the drivers were set up on the MotorCape.

On Tuesday, March 12, 2019 at 12:29:46 PM UTC-5, Jason Kridner wrote:
>
> Several responses below...
>
> On Monday, March 11, 2019 at 9:13:43 PM UTC-4, Mala Dies wrote:
>>
>> Oh and Sir,
>>
>> One last thing...there are many ways to fix this "issue." There was a 
>> nice person on Freenode at #beagle that was kind enough to help me w/ 
>> software ideas in Python. 
>>
>
> Probably 'zmatt'.
>  
>
>>
>> ...
>>
>> I could rewire the motors, use this person's software, and/or change the 
>> complete idea of the software entirely. 
>>
>> Seth
>>
>> P.S. I was thinking that the MotorCape, w/ the placement of the L298 
>> drivers, was in accordance w/ the schematic. I think while the Cape is in 
>> accordance w/ the schematic, I should not expect anything other than 
>> rewiring my motors (well...two of them anyhow). If I was to use the 
>> software from Freenode, it may get more complicated on my end but may be 
>> worth it (learning and trying new things in software programming is the 
>> idea). So um, this is what I am hinting towards right now. Should I expect 
>> the MotorCape to run in a loop if all motors are told to move forward b/c 
>> of the placement of the L298 drivers? 
>>
>
> The cape itself isn't running code, so I'm not sure what you mean. The 
> PWMs will run free, so, once you set the drive strength, they'll keep 
> driving even if you don't update things in the software.
>  
>
>> Yea, I think that is it for now. I will try to stay patient. I have too 
>> many ideas and little time. I am showing off the bot, BeagleBone Black 
>> Wireless, and MotorCape at a tiny Maker Faire soon. Um...yep. That is all 
>> for now. Sorry for the PS crap and this elongated explanation. 
>>
>
> Cool. We'll try to help.
>  
>
>>
>> On Sunday, March 10, 2019 at 10:45:23 PM UTC-5, Jason Kridner wrote:
>>>
>>> Can you take a picture of how you have it wired?
>>>
>>
> Thanks. Looks right from what I can see, but I don't see the motor wiring 
> itself. Seems to match 
> https://github.com/beagleboard/capes/tree/master/beaglebone/Motor. 
>  
>
>>
>>> On Sun, Mar 10, 2019 at 11:33 PM Mala Dies <[email protected]> wrote:
>>>
>>>> Hello Once More,
>>>>
>>>> Just for reference, the web application comes up w/ me enabling a 
>>>> .service file on the BBBW. The website has worked w/ other BBBW related 
>>>> flask-motor-html pages and motor movement.
>>>>
>>>
> You are testing the motors with simple code first, right?
>  
>
>>
>>>> ...
>>>>
>>>> Another factor is this...the bot, this four motor machine, moves w/ one 
>>>> board w/ the same software but not the other BBBW w/ the same software. 
>>>>
>>>
> That simply tells me they are not the same. Can you find the difference?
>  
>
>>
>>>> Seth
>>>>
>>>> P.S. If you have any ideas, please do not hesitate to ask any questions 
>>>> for more info. and/or give advice. I have this date coming up and I want 
>>>> to 
>>>> have this bot working for this specific date, e.g. w/ the BBBW, MotorCape, 
>>>> and four motors.
>>>>
>>>
> Hooking an oscilliscope up to see the output at the motors is always 
> helpful.
>  
>
>>
>>>> On Sunday, March 10, 2019 at 10:18:29 PM UTC-5, Mala Dies wrote:
>>>>>
>>>>> Hello,
>>>>>
>>>>> I have a BBBW and MotorCape. I have tested some motors on each of the 
>>>>> screw connectors on the MotorCape. Success! Anyway, when controlling four 
>>>>> motors at once, I have come across some issues.
>>>>>
>>>>
> Do you know if you are providing enough current in to the board? Can you 
> monitor the voltage at the input and the output with a scope to see if 
> there is droop?
>  
>
>>
>>>>> ...
>>>>>
>>>>> My issue pertains to a Flask application w/ HTML to control the four 
>>>>> motors via a website online.
>>>>>
>>>>> Here is some software to test out if you have the MotorCape:
>>>>>
>>>>> #!/usr/bin/python3
>>>>>
>>>>> # w/ help from #beagle on Freenode
>>>>>
>>>>> from flask import Flask, render_template
>>>>> import Adafruit_BBIO.GPIO as GPIO
>>>>> import Adafruit_BBIO.PWM as PWM
>>>>> import time
>>>>>
>>>>> class Motor:
>>>>>    def __init__(self, dir_pin, pwm_pin, pwm_freq):
>>>>>        self.dir_pin = dir_pin
>>>>>        self.pwm_pin = pwm_pin
>>>>>        self.value = 0
>>>>>
>>>>>         PWM.start(pwm_pin, 0, pwm_freq)
>>>>>        GPIO.setup(dir_pin, GPIO.OUT)
>>>>>
>>>>>     def set(self, value):
>>>>>        assert -100 <= value <= 100
>>>>>        if (value < 0) != (self.value < 0):
>>>>>            # changing direction
>>>>>            PWM.set_duty_cycle(self.pwm_pin, 0)
>>>>>            GPIO.output(self.dir_pin, value < 0)
>>>>>        PWM.set_duty_cycle(self.pwm_pin, abs(value))
>>>>>        self.value = value
>>>>>
>>>>> motor1 = Motor(dir_pin="P8_18", pwm_pin="P9_16", pwm_freq=2000)
>>>>> #motor2 = Motor(dir_pin="P8_16", pwm_pin="P9_14", pwm_freq=2000)
>>>>> #motor3 = Motor(dir_pin="P8_14", pwm_pin="P8_13", pwm_freq=2000)
>>>>> motor4 = Motor(dir_pin="P8_26", pwm_pin="P8_19", pwm_freq=2000)
>>>>>
>>>>> app = Flask(__name__)
>>>>> @app.route("/")
>>>>> @app.route("/<state>")
>>>>>
>>>>> def updates(state=None):
>>>>>    if state == "F":
>>>>>        motor1.set(100)
>>>>>        motor4.set(100)
>>>>>        time.sleep(.2)
>>>>>    if state == "L":
>>>>>        motor1.set(0)
>>>>>        motor4.set(85)
>>>>>        time.sleep(.2)
>>>>>    if state == "R":
>>>>>        motor1.set(85)
>>>>>        motor4.set(0)
>>>>>        time.sleep(.2)
>>>>>    if state == "S":
>>>>>        motor1.set(0)
>>>>>        motor4.set(0)
>>>>>        time.sleep(.2)
>>>>>    if state == "REV":
>>>>>        motor1.set(-75)
>>>>>        motor4.set(-75)
>>>>>        time.sleep(.2)
>>>>>    if state == "REV_L":
>>>>>        motor1.set(-75)
>>>>>        motor4.set(0)
>>>>>        time.sleep(.2)
>>>>>    if state == "REV_R":
>>>>>        motor1.set(0)
>>>>>        motor4.set(-75)
>>>>>        time.sleep(.2)
>>>>>
>>>>>     template_data = {
>>>>>        "title" : state,
>>>>>    }
>>>>>    return render_template("boboIV.html", **template_data)
>>>>>
>>>>> if __name__ == "__main__":
>>>>>    app.run(host="0.0.0.0", port=5000, debug=True)
>>>>>
>>>>> ...
>>>>>
>>>>
>>>>> Everything is "Pythonic" in the software but this C & P did not do it 
>>>>> justice. You can see why. Anyway...here is the HTML software too.
>>>>>
>>>>> <!DOCTYPE html>
>>>>> <html lang="en">
>>>>> <head>
>>>>>  <title>{{ status }}</title>
>>>>>  <meta charset="utf-8">
>>>>>  <meta name="viewport" content="width=device-width, initial-scale=1">
>>>>>  <link rel="stylesheet" href="
>>>>> https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css";
>>>>> >
>>>>>  <script src="
>>>>> https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js";></
>>>>> script>
>>>>>  <script src="
>>>>> https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js";
>>>>> ></script>
>>>>> </head>
>>>>> <body>
>>>>>
>>>>> <div class="jumbotron text-center">
>>>>>  <h1>MotorCape and BBBW!</h1>
>>>>>  <p>This is a quick example on making motors move!</p> 
>>>>> </div>
>>>>>  
>>>>> <div class="container">
>>>>>  <div class="row">
>>>>>    <div class="col-sm-4 text-center">
>>>>>      <h3>Agent One</h3>
>>>>>      <p>More text and fun makings in life...</p>
>>>>>      <p>Get ready to control some motors!</p>
>>>>>    </div>
>>>>>
>>>>>     <div class="col-sm-4 text-center">
>>>>>      <h3>Agent Two</h3>
>>>>>      <p>This bunch of online buttons will make your motors move</p>
>>>>>      <!--  <img src=" http://0.0.0.0/?"; "action=stream" alt="Unable 
>>>>> to get video feed" width="300" height="300"> -->
>>>>>      <a href="/F" id="on" class="button">FORWARD</a>
>>>>>      <br><br>
>>>>>      <a href="/L" id="on" class="button">LEFT</a>
>>>>>      <a href="/R" id="on" class="button">RIGHT</a>
>>>>>      <br><br>
>>>>>      <a href="/S" id="on" class="button">STOP</a>
>>>>>
>>>>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/c43cea0e-1b0e-4ffa-8ecd-a920fd53c158%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to