软件环境: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改变方向,
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);
假如改为for_ward(5);电机转不起来