PDA

View Full Version : Nhờ giúp đỡ về BLDC cho bạn kiennd.fsoft


namqn
28-05-2008, 05:57 PM
Bạn kiennd.fsoft có PM cho tôi đoạn code sau nhờ giúp đỡ, tuy nhiên lý do được đưa ra là bạn ấy không biết cách post code lên diễn đàn. Do đó, tôi post code của bạn ấy lên đây, nhờ các bạn có khả năng giúp đỡ cho bạn kiennd.fsoft:
define position6 0x18

// dinh nghia cac chan ghep noi voi senso Hall

#define HallA PIN_A2
#define HallB PIN_A3
#define HallC PIN_A4
//dinh nghia chan lay tin hieu encoder
#define Fusell_A PIN_C0
#define fusell_B PIN_C1
//dinh nghia chan lay tin hieu overcurren
#define Overcurren PIN_E1
//dinh gnhia chan overvol
#define Overvol PIN_E2
//dinh nghia chan lay tin hieu overtemperation
#define Temperation PIN_E0
//chuong trinh con tao PID mem





//xac dinh cac chan lay tin hieu ra la cac chan PWM

#byte portB = 0xFF

//viet chuong trinh chinh
void main()
{
//thiet lap che do cho portB la chan output

set_tris_B(0x00);

//thiet lap che do input cho cac chan noi voi senso Hall
set_tris_A(11111111);

//bat dau voi vong lap cung tin hieu Hall dieu khien dong co chay

while(1)
{
//truong hop 1
if((HallA==0) && (HallB==0) && (HallC==1))
{
output_B(position1);
delay_ms(500);
}
output_B(0x00);
delay_ms(10);
//truong hop 2
if(( HallA==0) && (HallB==0) && (HallC==0))
{
output_B(position2);
delay_ms(500);
}
output_B(0x00);
delay_ms(10);
//truong hop 3
if (( HallA==1) && (HallB==0) && (HallC==0))
{
output_B(position3);
delay_ms(500);
}
output_B(0x00);
delay_ms(10);
//truong hop 4
if (( HallA==1) && (HallB==1) && (HallC==0))
{
output_B(position4);
delay_ms(500);
}
output_B(0x00);
delay_ms(10);
//truong hop 5
if ((HallA==1) && (HallB==1) && (HallC== 1))
{
output_B(position4);
delay_ms(500);
}
output_B(0x00);
delay_ms(10);
//truong hop 6
if ((HallA==0) && (HallB==1) && (HallC==1))
{
output_B(position5);
delay_ms(500);
} else
output_B(0x00);
delay_ms(10);



}

}

Nhân đây cũng xin nhắn với các bạn khác là không nên PM cho tôi những vấn đề cơ bản, vì các bạn sẽ có nhiều cơ hội nhận được sự trợ giúp từ cộng đồng PVN hơn là từ bản thân tôi (vốn đang khá bận vào thời điểm này). PVN phát triển nhờ vào cộng đồng chứ không phải nhờ cá nhân admin, supermod, hay mod nào.

Thân,