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
-
Nguyê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
-
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
-
bởi nhathung1101Muốn đặt gì thì cũng phải có thông tin cơ bản. Việc nhỏ thế này mà phải dấu giếm thì người lớn không thèm làm đâu.
Cho bạn 3 ngày, không là sẽ xóa.-
Channel: Đặt hàng
Hôm qua, 22:02 -
-
Trả lời cho Hỏi cách điều chế xungbởi nhathung1101Schmit Trigger là chuẩn với điều kiện rise > 0,8V.
Bí thì dùng vi với tích gì đó, miễn đừng nói phân kẻo chó ở đây lại sủa nhặng.-
Channel: Kỹ thuật điện tử tương tự
Hôm qua, 21:57 -
-
bởi trungautMình cần đặt hàng thiết kế chế tạo mạch nghịch lưu 3 pha để cài đặt các thuật toán điều khiển động cơ FOC, DTC, ... Xin liên hệ trungaut@gmail.com để bàn chi tiết. Xin cảm ơn diễn dàn đăng tin!
-
Channel: Đặt hàng
Hôm qua, 14:27 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi tuyennhanCách ly dây điện vào , bộ nguồn và đèn khỏi khung xe thì có rò thật cũng không lo bị giật .
-
Channel: Điện tử dành cho người mới bắt đầu
21-12-2024, 08:56 -
-
Trả lời cho Hỏi cách điều chế xungbởi thetungBạn cho qua cái Tờ ri gơ Sờ mít ấy ......
-
Channel: Kỹ thuật điện tử tương tự
16-12-2024, 11:26 -
-
Trả lời cho Hỏi cách điều chế xungbởi nguyendinhvanCó gì mà khó ?
Răn cưa vuông đây
...-
Channel: Kỹ thuật điện tử tương tự
15-12-2024, 23:36 -
-
Trả lời cho hỏi về tụ điệnbởi ndp62Chữ " VENT" không phải là tên hãng sx tụ đâu ,vó thế là 1 ký hiệu liên quan tụ lowesr ?
-
Channel: Điện thanh
15-12-2024, 18:24 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi bqvietTrừ trường hợp công suất (rất) thấp, hầu như tất cả các loại nguồn xung thông thường đều có tụ nhỏ 1 - 10nF nối giữa sơ cấp và thứ cấp, để thoát nhiễu và để chống hiện tượng tương tự tĩnh điện. Vụ này đã thảo luận vài...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 22:02 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi namlangnhoE thử 3 cái nguồn nó đều giống nhau. Nên e làm tiếp địa luôn.
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 19:58 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi mèomướpDạ chú sắm con át chống giật và thay nguồn tổ ong khác cho an toàn ạ. Đa phần nguồn xung đều xả nhiễu của bên thứ cấp về điện lưới qua 1 con tụ nên cảm giác tê sẽ khó xác định rõ ràng là do rò điện hay là nó vốn vậy...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 18:51 -
Comment