PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > PIC - Thiết kế và Ứng dụng

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 28-05-2008, 05:57 PM   #1
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Nhờ giúp đỡ về BLDC cho bạn kiennd.fsoft

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:
Code:
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,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 01:15 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam