mọi người cho mình hỏi mình muốn dùng Píc6f877a để điều chế 2 xung từ 2 chân ccp1 và ccp2 nhưng có tần số khác nhau vd như 10Khz và 15khz thì có làm được không và làm như thế nào.Và nếu không được thì mình có thể làm cho xung1 high-->low nhưng xung2 thì low--> high được không. tức là trong 1 chu kỳ thì mức thấp trước juj mới đến mức cao ấy?
Thông báo
Collapse
No announcement yet.
Pwm pic16f877a
Collapse
X
-
Bác ơi cho e xin nốt cái công thức tính điện áp điNguyên văn bởi caovanhuong Xem bài viếtCode:/* Công thuc tinh goc kich triac: do 1 buoc nhay ADC la 4.88mV => khi ngo vao ADC =5V thi gia tri thu duoc la 1023. tan so luoi dien la 50Hz => 1/2 chu ky=10ms => goc kich lon nhat tuong ung 180do là 10ms. giá tr? sau khi chuyehn doi ADC la 1023. ma ta chi can 10ms => ta chia 1023/102.3 se ra duoc 10ms. 180do=10ms => ap dung cong quy tac tam suat ta tinh duoc goc kich = (thoi gian kich*180)/10. vd sau khi phat hien diem zero va sau do 3ms ta kich triac thi goc_kich= 3*180/10=54do Công thuc tinh nhiet do: LM35 co muc dien ap ra la 10mV/oC. 1 buoc ADC la 4.88mV => ap dung cong tac tam suât ta tinh duoc nhiet_do= (gai tri ADC*4.88)/10 vd: nhiet do la 30oC => dien ap ra cua LM35 la 300mV => ADC thu duoc =61 => nhiet_do=(61.5*4.88)10=30oC Công thuc tinh dien ap:*/

bác có mạch mô phỏng thì cho e xin luôn đc không
e đang làm bài tập lớn phần đo điện áp dùng con pic này, mong bác giúp đỡ
tks bác trước. nếu tiên bác gửi luôn vào mail cho e đc không, cảm ơn bác nhiều: ngocnam.dhgt@gmail.com
Comment
-
Anh Cao Văn Hưởng còn cái mạch nguyên lý không cho em tham khảo với ạ....mail của em: hoxuanson16091991@gmail.com. Thank anh trước...!!Nguyên văn bởi caovanhuong Xem bài viếtnếu thay đổi góc kích của triac bằng PWM thì không được. bác chỉ cần kích bình thường, nhưng phải tính toán được góc kích. tần số lưới điện là 50Hz => T=1/f=1/50=20ms => 1/2 T là 10ms tương ứng với 180 độ.
bác tham khảo cái này em viết cho con PIC16F877A, đo nhiệt độ, điện áp, và hiển thị góc kích lên LCD
Code://=================================================================== ========== // Ten chuong trinh: Hien thi nhiet do, dien ap, goc pha // Nguoi thuc hien : Cao Van Huong // Email : caovanhuong@webdien.com // Cell phone : // Ngon ngu : CCS-C 4.107 // Ngay thuc hien : 3/5/2010 //****************************************************************************** // MCU : PIC16F877A // Crystal : 20MHz // Sensor : LM35D // Display : LCD 2x16 //****************************************************************************** // Ngay hoan thanh : 3/5/2010 // Ky ten : Cao Van Huong //=================================================================== ========== #include <16F877A.h> #include <def_877a.h> #fuses NOWDT,HS,NOPUT,NOPROTECT,NODEBUG,NOBROWNOUT,NOLVP,NOCPD,NOWRT #device *=16 adc=10 //khoi tao ADC 10bit #use delay(clock=20000000) #include <lcd_lib.c> //khai bao chuong trinh con LCD #bit led_bao=portb.4 //gán led bao hieu la portb.4 #bit xung_kich=portc.0 //gán xung kich triac la portc.0 int8 nhiet_do; int16 a,b; float goc_kich,dien_ap,c; #int_ext //khoi tao ngat ngoai void ngat_ngoai() //chuong trinh xu ly ngat khi phat hien diem zero { delay_ms(c); //c la goc kich xung_kich=1; //tao xung kich delay_us(10); //thoi gian ton tai xung_kich xung_kich=0; //ngat xung kich } // ***********************khai báo các chuong trinh con************************* void do_nhiet_do(); void do_dien_ap(); void do_goc_kich(); void bao_dong(); void hien_thi(); //**************************chuong trinh chinh********************************** void main() { trisa=0x0b; //khoi tao thanh ghi trisa co A0 A1 A3 nhan analog trisb=0x01; //khoi tao thanh ghi trisb co bit b0 nhan du lieu trisc=0x00; //khoi tao thanh ghi trisc xuat du lieu trisd=0x00; //khoi tao thanh ghi trisd xuat du lieu setup_ADC_ports(AN0_AN1_AN3); //cau hinh AN0 AN1 AN3 nhan analog, Vref=Vdd setup_ADC(adc_clock_internal); enable_interrupts(int_EXT); //cho phep ngat ngoai enable_interrupts(GLOBAL); //cho phep ngat toan cuc ext_int_edge(L_TO_H); //khai bao ngat ngoai tac dong canh len lcd_init(); // khoi tao lcd lcd_putcmd(0x80); lcd_putc("Do an tot nghiep"); lcd_putcmd(0xc0); lcd_putc("SV:............."); delay_ms(1000); while(1) { do_nhiet_do(); //goi chuong trinh con do_nhiet_do do_dien_ap(); //goi chuong trinh con do_dien_ap do_goc_kich(); //goi chuong trinh con_do_goc_kich bao_dong(); //goi chuong trinh con bao_dong hien_thi(); // goi chuong trinh con _hien_thi } } // ***************************chuong trinh con********************************** void do_nhiet_do() //chuong trinh con do nhiet do { set_ADC_channel(0); //doc du lieu analog tu kenh AN0,do nhiet do delay_us(10); a=read_adc(); //luu du lieu ADC vao a nhiet_do=(a*4.88)/10; } void do_dien_ap() //chuong trinh con do dien ap { set_ADC_channel(1); //doc du lieu analog tu kenh AN1, do dien ap delay_us(10); b=read_adc(); //luu du lieu ADC doc tu AN1 vào b dien_ap=b*0.21506; } void do_goc_kich() //chuong trinh con do goc kich { set_ADC_channel(3); //doc du lieu analog tu kenh AN3, do goc kich delay_us(100); c=read_adc(); //luu du lieu ADC doc tu kenh AN3 vào c c=c/102.3; //chu ky luoi dien la 10ms => goc kich lon nhan la 180 ung voi 10ms goc_kich=(c*180)/10; //10ms ung voi 180 do => ap dung quy tac tam xuat de tim goc kich } void bao_dong() //chuong trinh con bao dong { if(nhiet_do>=70) { led_bao=1; } else { led_bao=0; } } void hien_thi() //chuong trinh con hien thi { lcd_putcmd(0x80); //gui lenh dieu khien lcd printf(lcd_putc,"Nd:%u Volt:%fV",nhiet_do,dien_ap); //in gia tri cua nhiet do,dien ap len lcd lcd_putcmd(0xc0); //gui lenh dieu khien lcd printf(lcd_putc,"goc_kich:%f",c); //in gia tri goc kich len man hinh lcd } /* Công thuc tinh goc kich triac: do 1 buoc nhay ADC la 4.88mV => khi ngo vao ADC =5V thi gia tri thu duoc la 1023. tan so luoi dien la 50Hz => 1/2 chu ky=10ms => goc kich lon nhat tuong ung 180do là 10ms. giá tr? sau khi chuyehn doi ADC la 1023. ma ta chi can 10ms => ta chia 1023/102.3 se ra duoc 10ms. 180do=10ms => ap dung cong quy tac tam suat ta tinh duoc goc kich = (thoi gian kich*180)/10. vd sau khi phat hien diem zero va sau do 3ms ta kich triac thi goc_kich= 3*180/10=54do Công thuc tinh nhiet do: LM35 co muc dien ap ra la 10mV/oC. 1 buoc ADC la 4.88mV => ap dung cong tac tam suât ta tinh duoc nhiet_do= (gai tri ADC*4.88)/10 vd: nhiet do la 30oC => dien ap ra cua LM35 la 300mV => ADC thu duoc =61 => nhiet_do=(61.5*4.88)10=30oC Công thuc tinh dien ap:*/
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamCa sĩ AI cũng có vài loại, có ca sĩ chuyên và không chuyên.Ca sỉ chuyên thì là Synthesizer V, còn không chuyên thì là Suno. Ca sĩ chuyên thì mệt với nó lắm, phải biết nhạc và biết cả ngôn ngữ của nó để điều khiển, còn ca sĩ không chuyên thì...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 21:33 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Chúc mừng bác có ca khúc hay tặng bà xã nhé! Nếu muốn hát đúng ý mình thì bác chịu khó... thuê ca sĩ nha!!!!😁😁😁...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 15:43 -
-
bởi dinhthuong92Trong các công thức không có mặt L bạn. Trước mình nghĩ cứ phải có L cơ....
-
Channel: Nguồn!
Hôm qua, 15:35 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamCháu nghe thử trên youtube xem sao? : https://www.youtube.com/watch?v=Opm0BszTmFQ...
-
Channel: Tâm tình dân kỹ thuật
02-05-2026, 21:23 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Cháu không vào được để nghe thử. Mời bác nghe thử bản phối điệu Techno này xem thế nào nhé! Chúc bác vui.
( Cháu nhìn lyrics và cứ thế một mmạch hát demo rồi đưa vào suno. nó hát đạt 80% melody!)...-
Channel: Tâm tình dân kỹ thuật
27-04-2026, 17:00 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Bài này cháu phải "Creat" trên 30 lần rồi cắt ghép mới tạm có hồn tí đó bác. Quá nản luôn!!!
HẸN ƯỚC XUÂN SANG
Sáng tác: Hoàng Đình Thường
Hòa âm & hát: Suno AI
---25/04/2026----
[Verse 1]
Gió...-
Channel: Tâm tình dân kỹ thuật
25-04-2026, 11:05 -

Comment