PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Điều khiển nguồn (http://www.picvietnam.com/forum/forumdisplay.php?f=70)
-   -   mạch buck-boost (http://www.picvietnam.com/forum/showthread.php?t=3690)

tronghung101 13-03-2009 01:44 PM

mạch buck-boost
 
em đang cần làm mạch buck-boot, đầu vào là nguồn điện 35v, đầu ra trong khoảng từ 10 đến 50V, có giao tiếp với máy tính để nhập điện áp ra từ pc. các anh giúp em với!

rongnho3i 24-03-2009 03:27 PM

Bạn vào microchip.com tìm với từ khóa PFC,hoặc AN106 hoặc AN 1208,những dự án đó làm đầy đủ về boost-buck đó

rongnho3i 24-03-2009 04:31 PM

1 Attachment(s)
Bạn đọc cái này xem

huyhoang220288 24-03-2009 06:02 PM

ban co the contact voi minh qua email huyhoang220288@yahoo.com mình sẽ chỉ dẫn cụ thể cho bạn mà bạn ở đâu đấy HN hay HCM :((=)):((=))

tronghung101 24-03-2009 08:36 PM

à em định làm theo sơ đồ nguyên lý: em định dùng timer 1 đẻ xác định chu kì trích mẫu, mỗi khi có ngắt thì đọc dữ liệu từ adc và đọc từ pc. so sánh để tăng hay giảm thời gian làm việc của bộ pwm. Nhưng em chưa biết nên chọn chu kì trích mẫu là bao nhiêu? nếu viết tất cả công việc trong chương trình phục vụ ngắt có được không? các anh thử xem cho em với! cảm ơn các anh nhé !

tronghung101 26-03-2009 09:15 PM

1 Attachment(s)
quên mất ,đây là sơ đồ nguyên lý của em:các anh xem thử xem có được không rùi góp ý cho em nha

namqn: sau này bạn nên dùng dạng .jpg hay .gif thay cho .bmp nhé.

rongnho3i 31-03-2009 05:30 PM

Bạn nên dùng Mosfet thay cho mấy con trans.Như con Irfp 460 chẳng hạn.

rongnho3i 31-03-2009 05:31 PM

Mail bạn là gi?Mình gửi tài liệu về cái này cho.Mình đã làm rùi.hi.

rongnho3i 01-04-2009 11:27 AM

bạn thử vào đây tham khảo nhé
http://www.microchip.com/stellent/id...pnote=en027652

ltpbkis 03-04-2009 09:15 PM

Mosfet!
 
Các bác cho em hỏi?
Liệu có thể dùng tín hiệu ra của chân PWM để điều khiển mở mosfet (IRF 540) không nhỉ?
Nếu không thì có cách nào để điều khiển Mosfet ?
Mạch ứng dụng của mình là mạch buck converter Vi điều khiển của mình là DSPIC 30F 4011! Mình chỉ cần điều khiển 1 con mosfet thì dùng con IR 2110 liệu có điều khiển được không nhỉ?
Mong các bác chỉ giáo!
Thanks alot and Good luck !!

tungnh 04-04-2009 01:32 PM

Trích:

Nguyên văn bởi ltpbkis (Post 24316)
Các bác cho em hỏi?
Liệu có thể dùng tín hiệu ra của chân PWM để điều khiển mở mosfet (IRF 540) không nhỉ?
Nếu không thì có cách nào để điều khiển Mosfet ?
Mạch ứng dụng của mình là mạch buck converter Vi điều khiển của mình là DSPIC 30F 4011! Mình chỉ cần điều khiển 1 con mosfet thì dùng con IR 2110 liệu có điều khiển được không nhỉ?
Mong các bác chỉ giáo!
Thanks alot and Good luck !!

OK Tuy nhiên Xung PWM tù VĐK fải qua khối cách ly (ví dụ qua opto 6N136 kết hợp vơi con NOT để làm vuông tín hiệu ) sau đó đưa vào Fet.

tronghung101 11-04-2009 09:20 AM

1 Attachment(s)
em viết chương trình như thế này với kết nối LCD và ấn phím. nhưng sao mô phỏng không được, các anh chỉ cho em với!!
Code:

#include <16f877A.h>
#include <def_877a.h>
#device *=16 ADC=8
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, BROWNOUT, LVP, NOCPD, NOWRT
#use delay(clock=10000000)
#use Fast_IO(C)

#include <lcd_lib_4bit.c>

#priority INT_EXT,int_timer1
#bit C0=portC.0
#bit C1=portC.1
#bit C7=portC.7
int8 Vref;
int16 value,duty;
int8 tempt,disp;
int8 high,low;

#INT_EXT
void ngat_ngoai()
{
  if(C0==0)
      {
          Vref=5;
          tempt=26;// gia tri ADC ung voi dau ra 5V la 26.
          duty=375;
          //chon chu ki lam viec ban dau la 0.15ms=0.1us*4*duty
      }
  if(C1==0)
      {
        Vref=12;
        tempt=63;
        //gia tri ADc la 63
        duty=625;
        //chon chu ki lam viec ban dau la 0.25ms=0.1us*4*duty
      }
  if(C7==0)
      {
        Vref=24 ;
        tempt=126;
        duty=825;
        //chon chu ki lam viec luc dau la 0.33ms=0.1us*4*duty;
       
      }
}
#INT_TIMER1
void ngat_timer1()
{
  disable_interrupts(int_timer1);
  setup_timer_1(T1_INTERNAL|T1_DIV_BY_4);
  set_timer1(64911);
  value=read_adc();
  enable_interrupts(int_timer1);
}
Void convert_bcd(int8 x)
{
  high=x/10 + 0x30;
  low=x/10+ 0x30;
}
Void LCD()
{
  delay_ms(10);
  disp=(float)(value*5)/255;
  disp=disp*10;
  convert_bcd((int8)(disp));
  lcd_putcmd(0xC0);
  printf(lcd_putchar, "V = ");
  lcd_putchar(high);
  lcd_putchar(low);
}
void main()
{

lcd_init();
Vref=0;// chon Vref bang 0
duty=0;
//----------------------------------------------------------------
setup_timer_1(T1_INTERNAL|T1_DIV_BY_4);
set_timer1(64911);            //chon chu ki trich mau la 10ms
//--------------  ---------------------
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_4,311,1);//chon chu ki mang la 0.5ms
set_pwm1_duty(duty);
while(1)
    {
      if(value<tempt) duty=duty+12;//neu V<5V thi tang chu ki lam viec len 4.8us
      if(value>tempt) duty=duty-12;//neu V>5V thi giam chu ki lam viec di 4.8us
      set_pwm1_duty(duty);
//----------------------------------------   
      lcd_putcmd(0x80);
      printf(lcd_putchar,"nhap gia tri dat");
      LCD();
     
    }
}


namqn 11-04-2009 05:09 PM

Trích:

Nguyên văn bởi tronghung101 (Post 24649)
em viết chương trình như thế này với kết nối LCD và ấn phím. nhưng sao mô phỏng không được, các anh chỉ cho em với!!
...

Như thế nào là không được? Bạn nhận được thông báo lỗi gì từ Proteus?

Mạch của bạn sẽ tạo ra điện áp âm từ mạch phản hồi điện áp (R7 + R8), làm sao AN0 có thể đọc được điện áp đó?

Thân,

tronghung101 13-04-2009 09:20 PM

em đã chỉnh lại cho phép ngắt ngoài trong chương trình chính rồi. khi mophorng bằng proteus thì điện áp ra lúc nào cũng bằng 0. proteus cnahr báo về ADC conversion clock possible invalid. em không biết sửa kiểu ji` nữa.

tranquangtrung 21-04-2009 09:29 PM

anh tungnh
anh co the noi ro hon hoac port sơ đồ mạch lên cho anh em xem với được không
em cũng đang gặp khó khăn khi điều xung PWM ra từ PIC6F877A xong điều khiển đóng mở con Fet song vẫn chưa được
vậy cần phải mắc con Fet như thế nào trong trường hợp trên hả anh


Múi giờ GMT. Hiện tại là 12:18 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam