1
我想在Atmega 16控制器的幫助下使用L6234驅動器IC驅動BlDC電機。驅動電機的邏輯在第9頁的電機驅動器IC L6234數據表中給出。以下是link for datasheet。所以,根據數據表,我寫了一個代碼來驅動我的電機。這是我的代碼: -無法使用帶ATmega16的L6234運行BLDC電機
#define F_CPU 8000000UL
#include<avr/io.h>
#include<avr/interrupt.h>
#include<util/delay.h>
#define hall1 (PINC & 1<<1) // connect hall sensor1
#define hall2 (PINC & 1<<2) //connect hall sensor2
#define hall3 (PINC & 1<<3) //connect hall sensor3
void main()
{
DDRC=0XF0;
DDRB=0XFF; //output as In1=PB.0 ,In2=PB.1, In3=PB.2, En0=PB.3 ,En1=PB.4, En3=PB.5
while(1)
{
if((hall3==4)&(hall2==0)&(hall1==1)) // step1
{
PORTB=0X19;
}
if((hall3==0)&(hall2==0)&(hall1==1)) // step2
{
PORTB=0X29;
}
if((hall3==0)&(hall2==2)&(hall1==1)) // step3
{
PORTB=0X33;
}
if((hall3==0)&(hall2==2)&(hall1==0)) // step4
{
PORTB=0X1E;
}
if((hall3==4)&(hall2==2)&(hall1==0))// step5
{
PORTB=0X2E;
}
if((hall3==4)&(hall2==0)&(hall1==0))// step6
{
PORTB=0X34;
}
}
}
但是,當我運行此代碼時,我的電機不工作。所以,任何人都可以告訴我,我的代碼中的錯誤在哪裏。
我試試這個代碼,但工作不正常電機我們可以驅動這個電機驅動器L6234與PWM幫助 –
看一看這個[示例](http://www.atmel.com/images/AVR443。 zip)來自Atmel。它運行驅動程序並使用PWM控制。 – UncleO