AVR與L298進(jìn)行直流電機(jī)控制
打開motor.h更改以下內(nèi)容即可。
//PD4,PD5 電機(jī)方向控制
#define moto_en1 PORTD |= 0x10
#define moto_en2 PORTD |= 0x20
#define moto_uen1 PORTD &=~ 0x10
#define moto_uen2 PORTD &=~ 0x20
軟件核心介紹:
通過控制電機(jī)的IN1和IN2改變方向,
IN1和IN2不同時(shí),電機(jī)轉(zhuǎn)動(dòng);
IN1和IN2相同時(shí),電機(jī)急停。
硬件連接電路圖
avr+N298控制電機(jī)輸入信號(hào)與電機(jī)工作方式
N298電機(jī)控制芯片引腳圖
電機(jī)控制資料包括 所有電機(jī)控制例子源程序,L298數(shù)據(jù)手冊(cè),連接電路圖。
今天有人反映,程序有點(diǎn)小問題
程序中這里的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
}
另外注意如果,啟動(dòng)時(shí)的PWM占空比太低 電機(jī)是轉(zhuǎn)不起來的,
void main(void)
{
//初始工作
init_devices();
while(1)
{
}
}
及這里的for_ward(0);
如果改為for_ward(5);電機(jī)轉(zhuǎn)不起來
評(píng)論