![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| Luận văn tốt nghiệp Nếu bạn thắc mắc vì sao chúng tôi muốn phổ biến các luận văn tốt nghiệp? Xin xem tại đây |
![]() |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
|
|
#1 |
|
Đệ tử 4 túi
Tham gia ngày: Nov 2008
Bài gửi: 84
: |
áp driver cấp cho Ir hiện tại là bao nhiêu?
em nghĩ bị quá dòng, PWM base 1khz , độ rộng xung 25% là thời gian khá dài ah. Cục nguồn cho motor bác dùng nguồn dì. bao lớn ah? thay đổi nội dung bởi: nhatson.elec, 07-04-2009 lúc 10:51 PM. |
|
|
|
|
|
#2 |
|
Đệ tử 6 túi
Tham gia ngày: Apr 2006
Bài gửi: 125
: |
Em mới chỉ làm cho nó quay mà chưa được, nên chưa hàn cảm biến dòng vào, hàn vào tháo ra không được à, con này em phải nhờ đứa bạn mua hộ hixhix
còn mạch vòng đk thì em đã làm với con động cơ nhỏ rồi, thuật toán tương tự nhau thôi, vấn đề bây giờ là cái mạch lực nó không chạy còn áp cấp cho IR là 12V, logic là 5V |
|
|
|
|
|
#3 |
|
Đệ tử 6 túi
Tham gia ngày: Apr 2006
Bài gửi: 125
: |
Em đã làm được cái động cơ này quay với con IR2103
con IR2110 thì chỉ khác con IR2103 là nó cả 2 đầu vào HI và LI đề là đầu vào tích cực cao, nó cũng không có bộ tạo deadtime bên trong, không có phần logic chống ngắt mạch do mở 2 van cùng lúc Em post đoạn code config pwm lên đây các bác xem có đúng không hộ em Code:
_PTSIDL = 0; // pwm time base run in idle mode _PTOPS = 0; // pwm time base postscale select bit 1:1 _PTCKPS = 0; // pwm time base input clock prescale select bit // 11 -> 1:64 // 10 -> 1:16 // 01 -> 1:4 // 00 -> 1:1 // PTMR config (PWM time base register) // PTPER config (PWM time base priod register) PTPER = (Fcy/Fpwm - 1); // SEVTCMP config (special event compare register) SEVTCMP = PTPER; // PWMCON1 config _PMOD3 = 0; // PMODx = 1 pwm I/0 pin pair is in the independent ouput mode // PMODx = 0 pwm I/0 pin pair is in the complementary output mode _PMOD2 = 0; _PMOD1 = 0; _PEN3H = 1; // =1 to enable for pwm output _PEN3L = 1; _PEN2H = 1; _PEN2L = 1; _PEN1H = 1; _PEN1L = 1; // PWMCON2 config // DTCON1 config (dead time control register) _DTAPS = 3; // Dead time unit A prescale select bit // = 3 -> 1:8 // = 2 -> 1:4 // = 1 -> 1:2 // = 0 -> 1:1 _DTA = 63; // Unsigned 6 bit Dead time value bits for dead time unit A // FLTACON config (Fault A control register) // FLTBCON config // OVDCON config (Override control register) OVDCON = 0x0000; // all pwm pin are control by the value in the corresponding POUTxx bit // POUTxx = 0 PDC1 =(unsigned int) (PTPER *0.4); PDC2 =(unsigned int) (PTPER *0.4); PDC3 =(unsigned int) (PTPER *0.4); PWMCON2 = 0x0F00; //Postscale = 1:16 PTCON = 0x8000; //Kich hoat module PWM Delay_ms(10); SD = 0; // day la chan shutdown của IR Delay_ms(1); _POUT1L = 1;// bat may chan Lowside để nạp điện đầy cho tụ, sẵn sàng chạy _POUT2L = 1; _POUT3L = 1; Code:
void BLDC_test_forward(void){
if((HallA == 0) & (HallB == 1) & (HallC == 1)){ // CASE 1
OVDCON = (1 << BL) + (1 << CH_P); // BL & CH
return;
}
if((HallA == 0) & (HallB == 0) & (HallC == 1)){ // CASE 2
OVDCON = (1 << BL) + (1 << AH_P); // BL & AH
return;
}
if((HallA == 1) & (HallB == 0) & (HallC == 1)){ // CASE 3
OVDCON = (1 << CL) + (1 << AH_P); // CL & AH
return;
}
if((HallA == 1) & (HallB == 0) & (HallC == 0)){ // CASE 4
OVDCON = (1 << CL) + (1 << BH_P); // CL & BH
return;
}
if((HallA == 1) & (HallB == 1) & (HallC == 0)){ // CASE 5
OVDCON = (1 << AL) + (1 << BH_P); // AL & BH
return;
}
if((HallA == 0) & (HallB == 1) & (HallC == 0)){ // CASE 6
OVDCON = (1 << AL) + (1 << CH_P); // AL &CH
return;
}
}
Code:
#define AL 0 #define AH 1 #define BL 2 #define BH 3 #define CL 4 #define CH 5 #define AL_P 8 #define AH_P 9 #define BL_P 10 #define BH_P 11 #define CL_P 12 #define CH_P 13 |
|
|
|
|
|
#4 |
|
Đệ tử 6 túi
Tham gia ngày: Apr 2006
Bài gửi: 125
: |
Nguồn ở đây em dùng nguồn 24V lấy từ 2 cái acquy 12V nối nối tiếp, mỗi con dung lượng khoảng 4Ah thôi
|
|
|
|
![]() |
|
|