您的位置 首页 硬件

AVR与L298进行直流电机操控

软件环境:icc+avrstudio打开motorh更改以下内容即可。PD4,PD5电机方向控制definemoto_en1PORTD

软件环境:icc+avrstudio

翻开motor.h更改以下内容即可。

//PD4,PD5 电机方向操控
#define moto_en1 PORTD |= 0x10
#define moto_en2 PORTD |= 0x20
#define moto_uen1 PORTD &=~ 0x10
#define moto_uen2 PORTD &=~ 0x20

软件中心介绍:

经过操控电机的IN1和IN2改变方向, pwm操控速度。
IN1和IN2不一起,电机滚动;
IN1和IN2相一起,电机急停。

硬件衔接电路图

avr+N298操控电机输入信号与电机作业方式

N298电机操控芯片引脚图

电机操控材料包含 一切电机操控比如源程序,L298数据手册,衔接电路图。

今日有人反映,程序有点小问题

程序中这儿的IO初始化

void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00;
DDRC = 0x00;
PORTD = 0x00;
// DDRD = 0x80; // D7 PWM //参阅芯片手册
//这儿修正
DDRD =0xB0; //PD4 PD5 PD7 OUT
}

别的留意假如,启动时的PWM占空比太低 电机是转不起来的,

void main(void)
{

//初始作业

init_devices();

while(1)
{
for_ward(0); //默许速度工作 正
Delay1s(5); //延时5s
motor_stop(); //中止
Delay1s(5); //延时5s
back_ward(0); //默许速度工作 反
Delay1s(5); //延时5s
speed_add(20); //加快
Delay1s(5); //延时5s
speed_subtract(20); //减速
Delay1s(5); //延时5s
}

}

及这儿的for_ward(0); //默许速度工作 正
假如改为for_ward(5);电机转不起来

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/258229.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部