L298 PWM Problem

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Dear all;

I try to move 2 motor with L298N motor driver card and MSP430G2553. I
tried some basic codes, but right motor does not work. When I give energy
to right  motor can move. So, problem is not in motor. But, when I tried
to move both motors only one motor can move (the motor that is driven by
IN1 and IN2. I added code to below. I can not find my error. Could you
help me please?


#include <msp430.h>  

int main(void) {
    WDTCTL = WDTPW | WDTHOLD;    // Stop watchdog timer
    DCOCTLCA%LDCO_1MHZ;
    BCSCTL1CA%LBC1_1MHZ;
    P1DIR |= BIT6; //Set pin 1.6 to the output direction.
        P1SEL |= BIT6; //Select pin 1.6 as our PWM output.
        TA0CCR0 = 255; //Set the period in the Timer A0 Capture/Compare 0
register to 255

        TA0CCTL1 = OUTMOD_7;
        TA0CCR1 = 255;
        TA0CTL = TASSEL_2 + MC_1; //TASSEL_2 selects SMCLK as the clock
source, and MC_1 tells it to count up to the value in TA0CCR0.


        P1DIR|=BIT1+BIT2+BIT3+BIT4;
        P1OUT|=BIT1+BIT3;
        P1OUT&=~(BIT2+BIT4);

}
BIT1=IN1;
BIT2=IN2;
BIT3.=IN3;
BIT5=IN4;

     Both enable pins are connected P1.6 PWM output. I hope you can
provide information. Regards.
---------------------------------------
Posted through http://www.EmbeddedRelated.com


Re: L298 PWM Problem
Quoted text here. Click to load it
MSP430G2553. I tried some codes, but right motor does not work. When I
give direct energy from a supply to right  motor without using motor
driver or micrroprocessor it can turn. So, problem is not in motor. But,
when I tried

Quoted text here. Click to load it
can turn (the motor that is driven by IN1 and IN2. I added code to below.
I can not find my error. Could you

Quoted text here. Click to load it
0

Quoted text here. Click to load it


---------------------------------------
Posted through http://www.EmbeddedRelated.com


Re: L298 PWM Problem
On 27.3.17 06:49, engineergc wrote:
Quoted text here. Click to load it

(Code clipped, TV)

1. It does not speed up a response to send the same question
    multiple times. It may annoy potential responders.

2. There is no way to answer to your questions without the
    schematic diagrams of the electronics.

3. This has a strong smell of homework / school project. Is it?

--  

-TV



Re: L298 PWM Problem
On Mon, 27 Mar 2017 14:39:42 +0300, Tauno Voipio wrote:

Quoted text here. Click to load it

Indeed.


Or at least a pin-by-pin description of the signals you're sending out,  
including the frequency of the PWM signal.

--  
Tim Wescott
Control systems, embedded software and circuit design
We've slightly trimmed the long signature. Click to see the full one.
Re: L298 PWM Problem
Quoted text here. Click to load it
when

Quoted text here. Click to load it
is

Quoted text here. Click to load it
error.

Quoted text here. Click to load it

    Hi Tim,

    I send same question two time because edit option is not exist. In
first time I made some gramer mistakes therefore I wanted to correct them,
since edit option is not available I added fixed form of my question as
comment.

    I draw pin connections by using Fritzing program. but I can not add it
to here. How I can add my schematic to here?

   Since I can not add schematic I made pin connections description
below.

P1.1>>IN1
P1.2>>IN2
P1.3>>IN3
P1.4>>IN4
P1.6>>ENA&ENB(I connected pwm output to both ENA and ENB pins of L298
motor driver card.

Also Motor outputs are connected to OUT1,OUT2,OUT3 and OUT4 connectors as
respectively.

Then, GND of MSP430 and gnd of 9V battery are connected to GND connector
of L298.

    By using this code or another code I can not turn both motor
simultaneously.Only one motor can turn.


***SECOND CODE***
    Also I tried many another codes. I added one of them to below. In this
code I adjusted frequency of motor as 20 khz. If frequency is equal to 20
khz, period of motor is equal to T=1/f=1/20000 50us. I used clock source
as SMCLK. SMCLK is supplied from DC0 and DCO is adjusted to 1MHZ.
Therefore I write TA0CCRO50% and I adjusted TA0CCR130%.


#include <msp430.h>  

int main(void) {
    WDTCTL = WDTPW | WDTHOLD;    // Stop watchdog timer
    DCOCTLCA%LDCO_1MHZ;
        BCSCTL1CA%LBC1_1MHZ;

    P1DIR |=BIT2; //PWM output
    P1SEL |=BIT2;

    TA0CCR0 = 50;  
    TA0CCTL1 = OUTMOD_7;
    TA0CCR1 = 30;  
    TA0CTL = TASSEL_2 + MC_1;

    P1DIR |=(BIT1+BIT3);
    while(1) {
    P1OUT &=~(BIT1);
    P1OUT|=(BIT3);
    }
}

    Then I made pin connections.
P1.2>>ENA
P1.1>>IN1
P1.3>>IN2
    
    This code can turn motor(motor that connected to OUT1 and OUT2) as
fastly. But if I try to turn other motor with this code, motor can not
turn.

I connected to pwm output P1.2 to ENB and P1.1 to IN3 and P1.3 to IN4.
    I spend many time to find my error. Why I can not turn 2 motors
simultaneously with PWM? Where is my fault? Could you help me please?



---------------------------------------
Posted through http://www.EmbeddedRelated.com


Re: L298 PWM Problem
On 29.3.17 14:15, engineergc wrote:

Quoted text here. Click to load it

1. Are you attempting to run two motors and the processor from a single
    9V battery (IEC 6F22)?

2. Have you noticed that the MSP processor has to have an output high
    voltage at most L298 voltage feed - 2.5V?

--  

-TV


Re: L298 PWM Problem
Quoted text here. Click to load it
as

Quoted text here. Click to load it
connector

Quoted text here. Click to load it

I am feeding msp430 from computer via USB and I fed two motors with single
9V battery from L298 +12V connector.
---------------------------------------
Posted through http://www.EmbeddedRelated.com


Re: L298 PWM Problem
Quoted text here. Click to load it
as

Quoted text here. Click to load it
connector

Quoted text here. Click to load it

   I fed MSP430 from computer via USB and I fed two motors from single 9V
battery.
---------------------------------------
Posted through http://www.EmbeddedRelated.com


Re: L298 PWM Problem
On 29.3.17 15:04, engineergc wrote:
Quoted text here. Click to load it

The IEC 6F22 battery is probably too small to run even a single motor
reliably, lest two. Have you tried to run both motors together from the
single battery at the same time?

--  

-TV



Re: L298 PWM Problem
On Wed, 29 Mar 2017 18:58:15 +0300, Tauno Voipio wrote:

Quoted text here. Click to load it

(Tauno means without the chip, BTW -- just running two motors in parallel  
straight off the battery).


--  
Tim Wescott
Control systems, embedded software and circuit design
We've slightly trimmed the long signature. Click to see the full one.
Re: L298 PWM Problem
On Sun, 26 Mar 2017 22:49:54 -0500, engineergc wrote:

Quoted text here. Click to load it

IIRC the L298 is a fairly slow device -- how fast is your PWM?

--  
Tim Wescott
Control systems, embedded software and circuit design
We've slightly trimmed the long signature. Click to see the full one.
Re: L298 PWM Problem
On 27.3.17 06:49, engineergc wrote:
Quoted text here. Click to load it


Have you read the datasheet and application notes at
<http://www.st.com/en/motor-drivers/l298.html>?

--  

-TV



Re: L298 PWM Problem
Quoted text here. Click to load it
energy

Quoted text here. Click to load it
tried

Quoted text here. Click to load it
by

Quoted text here. Click to load it

I read datasheet many times. But I can not find problem.


---------------------------------------
Posted through http://www.EmbeddedRelated.com


Re: L298 PWM Problem
Quoted text here. Click to load it
you

Quoted text here. Click to load it
  
    Hi;
    I send same question two time because edit option is not exist. In
first time I made some gramer mistakes therefore I wanted to correct them,
since edit option is not available I added fixed form of my question as
comment.

    I draw pin connections by using Fritzing program. but I can not add it
to here. How I can add my schematic to here?

   Since I can not add schematic I made pin connections description
below.

P1.1>>IN1
P1.2>>IN2
P1.3>>IN3
P1.4>>IN4
P1.6>>ENA&ENB(I connected pwm output to both ENA and ENB pins of L298
motor driver card.

Also Motor outputs are connected to OUT1,OUT2,OUT3 and OUT4 connectors as
respectively.

Then, GND of MSP430 and gnd of 9V battery are connected to GND connector
of L298.

    By using this code or another code I can not turn both motor
simultaneously.Only one motor can turn.


***SECOND CODE***
    Also I tried many another codes. I added one of them to below. In this
code I adjusted frequency of motor as 20 khz. If frequency is equal to 20
khz, period of motor is equal to T=1/f=1/20000 50us. I used clock source
as SMCLK. SMCLK is supplied from DC0 and DCO is adjusted to 1MHZ.
Therefore I write TA0CCRO50% and I adjusted TA0CCR130%.


#include <msp430.h>  

int main(void) {
    WDTCTL = WDTPW | WDTHOLD;    // Stop watchdog timer
    DCOCTLCA%LDCO_1MHZ;
        BCSCTL1CA%LBC1_1MHZ;

    P1DIR |=BIT2; //PWM output
    P1SEL |=BIT2;

    TA0CCR0 = 50;  
    TA0CCTL1 = OUTMOD_7;
    TA0CCR1 = 30;  
    TA0CTL = TASSEL_2 + MC_1;

    P1DIR |=(BIT1+BIT3);
    while(1) {
    P1OUT &=~(BIT1);
    P1OUT|=(BIT3);
    }
}

    Then I made pin connections.
P1.2>>ENA
P1.1>>IN1
P1.3>>IN2
    
    This code can turn motor(motor that connected to OUT1 and OUT2) as
fastly. But if I try to turn other motor with this code, motor can not
turn.

I connected to pwm output P1.2 to ENB and P1.1 to IN3 and P1.3 to IN4.
    I spend many time to find my error. Why I can not turn 2 motors
simultaneously with PWM? Where is my fault? Could you help me please?
---------------------------------------
Posted through http://www.EmbeddedRelated.com


Site Timeline