![]() |
|
Tài trợ cho PIC Vietnam |
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 |
![]() |
#1 |
Đệ tử 5 túi
Tham gia ngày: Jun 2008
Bài gửi: 112
: |
![]() ** Em muốn làm một thiết bị ,dùng để đo hệ số công suất cos của lưới điện.
nhưng em gặp phải một số khó khăn cần các bác giúp đỡ !!!!! ý tưởng của em như sau: - dùng một thiết bị ,mạch điện hay thuật toán nào đó để tách hai đại lượng là dòng điện I và điện áp U - sau đó lấy một mốc thời gian để xác định xem, tín hiệu dòng điện I và điện áp U,đại lượng nào xuất hiện trước và thoi gian trễ ( chênh lệch về thời gian xuất hiện giữa hai tín hiệu ) giua hai tín hiệu la bao nhiêu ? vdk pic sẽ giam sát và đo khoảng thời gian lệch nhau này . dựa vào khoảng thời gian này và tần số của lưới điện. pic sẽ tính ra được độ lệch pha giữa hai tín hiệu U và I >> từ đó tìm ra hệ số công suất cos của lưới điện ** Theo các bác,ý tưởng của em có thực hiện được không? ** ta phải sử dụng thiết bị gì để tách hai tín hiệu U và I ?? ..... mong các bác góp ý và giúp đỡ !! thanks... |
![]() |
![]() |
![]() |
#2 | |
Trưởng lão PIC bang
|
Trích:
Hệ số công suất và cos(phi) không phải cùng một đại lượng, chúng chỉ bằng nhau khi dòng điện và điện áp của bạn đều là hình sin (điều này hiện nay hiếm khi xảy ra vì đủ loại tải phi tuyến đang được nối vào lưới điện). 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 |
|
![]() |
![]() |
![]() |
#3 |
Đệ tử 5 túi
Tham gia ngày: Jun 2008
Bài gửi: 112
: |
![]() vui quá !! đọc được những lời nhận xét , góp ý của bác em rất vui ....
Ý tưởng về thiết bị này đã theo em từ rất lâu rồi ,nhưng vẫn chưa thực hiện được... Giờ thì em đã may mắn gặp được người có thể giúp em ( bác đã từng thực hiện ý tưởng trên bằng số...thật tuyệt...) Bác hướng dẫn giúp đỡ em nhé (em sẽ dùng pic để thực hiện ) thanhk..bác nhiều nhiều.. Bác cho em hỏi chút chút : - làm thế nào để tách hai tín hiệu điện áp U và dòng điện I - bằng cách nào để xác định khoảng thời gian trễ ( độ chênh lệch về thời gian ) giữa hai tín hiệu U và I Bác có tài liệu về vấn đề này thì gửi cho em nhé !! Địa chỉ mail của em là : picpen@gmail.com **** mong nhận hồi âm của bác càng sớm càng tốt *** |
![]() |
![]() |
![]() |
#4 | |
Trưởng lão PIC bang
|
Trích:
Và sau 11 năm thì tôi không nghĩ người đó còn giữ những tài liệu đó làm gì. Tôi có thể giúp bạn ý tưởng, nhưng tìm hiểu và thực hiện nó là việc của bạn. Tuy nhiên, bạn phải cho tôi biết bạn định làm gì với đề tài này (kinh doanh chăng). 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 |
|
![]() |
![]() |
![]() |
#5 |
Đệ tử 5 túi
Tham gia ngày: Jun 2008
Bài gửi: 112
: |
![]() hic hic !! em là dân kỹ thuật thứ thiệt mà ,chỉ biết mầy mò với với đống linh kiện chuyên ngành thôi ,chứ có biết kinh doanh gi gi đâu ..
em là sinh viên năm thứ 3 chuyên ngành ĐIỆN TỰ ĐỘNG HÓA khi học môm KỸ THUẬT ĐIỆN và ĐIỆN TỬ CÔNG SUẤT ,em được biết nếu hệ thống điện của một xí nghiêp nào đó có hệ số công suất nhỏ hơn một giới hạn nhất định thì sẽ bị cơ quan ngành điện phạt tiền vì đã làm tổn hao điện năng vô ích. từ đó em đặt ra câu hỏi ?? làm thế nào và bằng cách nào ta xác định được hệ số công suất của lưới điện???? cho đến khi em được tiếp cận với VDK PIC ,em thấy pic rất mạnh và có nhiều ứng dụng rộng rãi thì em nghĩ ngay đến việc dùng pic để thực hiện ý tưởng trên...... Em muốn thực hiện đề tài trên vì: - em không muốn ý tưởng của mình mãi chỉ là ý tưởng trên lý thuyết ,sách vở giấy bút ,nó phải được thưc hiện nếu có thể - vì đam mê kỹ thuật - và nếu em thực hiện được đề tài này ,có thể em sẽ hoàn thiện và phát triển đề tài này và dùng làm đề tài tốt nghiệp sau 2 năm nữa. đó là tất cả những suy nghĩ của em !! Em rất mong nhận được ý kiến đóng góp của bác cũng như tất cả các thành viên trên diễn đàn Cám ơn Bác !!!! cám ơn tất cả các thành viên trên diễn đàn Tôi yêu " PICVIETNAM" ......THANKS |
![]() |
![]() |
![]() |
#6 |
Trưởng lão PIC bang
|
À, tôi chỉ muốn nắm chắc rằng lòng tốt của tôi không bị lợi dụng cho mục đích kinh doanh thôi.
Về ý tưởng của bạn, bạn có thể thực hiện như sau (tôi nói trước rằng phương pháp này không có gì nổi bật cả, và không phản ánh đúng hệ số công suất của những lưới điện có tải phi tuyến, tải điện tử công suất): - Bạn dùng một mạch so sánh (comparator) và điện trở đủ lớn, cùng với mạch ghim điện áp để phát hiện thời điểm điện áp đi qua giá trị 0. - Bạn dùng một biến dòng để cách ly và chuyển dòng điện của lưới thành điện áp, và cũng dùng mạch so sánh để phát hiện thời điểm dòng điện đi qua giá trị 0. Đưa các tín hiệu trên về PIC (có thể cách ly bằng opto-coupler cho an toàn với người dùng), và dùng Timer 1 để đo thời gian giữa hai điểm 0 đó, cũng như thời gian của chu kỳ điện áp lưới, từ đó bạn có thể tính ra góc lệch pha, và cosine của nó. Bạn thử tìm trên mạng những mạch điện trên và post lên đây, tôi sẽ cho biết mạch nào thích hợp với mục đích của bạn. Bạn cũng nên làm gì đó thay vì để tôi làm hết, nó sẽ giúp bạn hiểu rõ hơn vấn đề. Các từ khóa có thể dùng với Google: zero crossing detector, voltage sign detector, clamping circuit, clamp circuit. 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 |
![]() |
![]() |
![]() |
#7 |
Đệ tử 5 túi
Tham gia ngày: Jun 2008
Bài gửi: 112
: |
Cám ơn bác đã chỉ giáo, em sẽ cố gắng ,khi nào gặp khó khăn em sẽ lên diễn đàn tìm bác và mọi người nhờ giúp đỡ ..thanks.............
|
![]() |
![]() |
![]() |
#8 |
Nhập môn đệ tử
Tham gia ngày: May 2011
Bài gửi: 1
: |
Chào thầy namqn, nay e xin hỏi lại 1 lần nữa về vấn để đo cosphi dk bằng pic.
Em dùng Lm339 tạo xung vuông như thầy đã đề cập, e dùng dòng và áp đỉnh để so sánh. E dùng led để kiểm tra output. Thì e gặp tình huống led sáng mờ khi ở mức ko, như vậy ta lắp 1 zenner để vào cổng XOR 7486 sau đó đưa vào pic dc ổn định ko ah? Hay chỉ cần opto thôi? E còn thắc mắc về capture mode của pic: CCPxM3:CCPxM0: CCPx Mode Select bits 0000 = Capture/Compare/PWM disabled (resets CCPx module) 0100 = Capture mode, every falling edge 0101 = Capture mode, every rising edge 0110 = Capture mode, every 4th rising edge 0111 = Capture mode, every 16th rising edge 1000 = Compare mode, set output on match (CCPxIF bit is set) 1001 = Compare mode, clear output on match (CCPxIF bit is set) 1010 = Compare mode, generate software interrupt on match (CCPxIF bit is set, CCPx pin is unaffected) 1011 = Compare mode, trigger special event (CCPxIF bit is set, CCPx pin is unaffected); CCP1 resets TMR1; CCP2 resets TMR1 and starts an A/D conversion (if A/D module is enabled) 11xx = PWM mode Như vậy làm sao nạp giá trị cho capture hiểu mình dùng xung cạnh lên hay xuống ạ? E chưa từng lập trình trên pic nên còn mù mờ lắm. À e dùng mplab để viết code ạ ![]() Mong thầy giúp cho |
![]() |
![]() |
![]() |
#9 |
Đệ tử 1 túi
Tham gia ngày: Mar 2010
Bài gửi: 12
: |
dùng pic đo hệ số công suất lưới điện
anh ơi!
em muốn đo hệ số COSj của lưới điện dùng ngắt ngoài trên chân RBO của pic 16f877a em đã đuă dòng và áp sau khi chuyển từ song sin sang sóng vuông(em dùng opamp) và cho qua con 74ls86 để so pha rồi bây giờ không biêt viêt chương trình làm sao anh có thể giúp em được không? . em dung timer1. phần đo điện áp và dòng điện thì em đã làm chạy rồi em cám ơn anh nhiều!!! |
![]() |
![]() |
![]() |
#10 |
Đệ tử 7 túi
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: TP HCM
Bài gửi: 190
: |
Do cosphi lưới điện dùng 74ls86
Lúc trước bạn ocean_86 có hỏi, tui có ý kiến như sau:
Nếu bạn tạo được tín hiệu xung vuông áp và dòng có "bề rộng" như nhau như hình bên dưới, thì giải thuật tính: theo hình: dòng trễ t0 so với tín hiệu áp. u=u0*sin(wt); i=i0*sin(w(t-t0). Góc lệch pha wt0. cosphi=cos(wt0)=cos(2*pi*f*t0). w radian/s, do đó góc tính theo radian, tính theo độ là trớt wớt. Dùng "mọi chiêu" để đo được t0 là ok thui!!!!!!!!!!!. Tui thấy các cao thủ hay dùng ADE7753 hay hơn!!!!!!!!. Để các cao thủ cho ý kiến thêm vậy!!!!!!! |
![]() |
![]() |
![]() |
#11 |
Đệ tử 1 túi
Tham gia ngày: Mar 2010
Bài gửi: 12
: |
cám ơn picpen
mình đã so pha như vậy rồi đó còn đây là chương trình của mình, mình viết mà nó không chạy(không đo được khoảng thời gian lệch pha đó) #INCLUDE <16F877A.h> //#include <math.h> #DEVICE *=16 ADC = 10 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, BROWNOUT, NOLVP, NOCPD, NOWRT #USE DELAY (CLOCK = 12000000) #INCLUDE <lcd_lib_4bit.C> //================================================== ============================ // DINH NGHIA THANH GHI, PORT, CAC CHAN #byte PORTA = 0x05 #byte PORTB = 0x06 #byte PORTC = 0x07 #byte PORTD = 0x08 #byte PORTE = 0x09 #byte TRISA = 0x85 #byte TRISB = 0x86 #byte TRISC = 0x87 #byte TRISD = 0x88 #byte TRISE = 0x89 #bit RB7 = 0X06.7 #bit RB6 = 0X06.6 #bit RB5 = 0X06.5 #bit RB4 = 0X06.4 char BANG[90]={0x01,0x03,0x05,0x06,0x08,0x0A,0x0C,0x0D,0x0F, 0x11,0x13,0x14,0x16,0x18,0x19,0x1B,0x1D,0x1E,0x20, 0x22,0x23,0x25,0x27,0x28,0x2A,0x2B,0X2D,0x2E,0x30, 0x32,0x33,0X34,0x36,0x37,0x39,0x3A,0x3C,0x3D,0x3E, 0x40,0x41,0x42,0x44,0x45,0x46,0x47,0x49,0x4A,0x4B, 0x4C,0x4D,0x4E,0x4F,0x50,0x51,0x52,0x53,0x54,0x55, 0x56,0x57,0x58,0x59,0x59,0x5A,0x5B,0x5C,0x5C,0x5D, 0x5D,0x5E,0x5F,0x5F,0x60,0x60,0x61,0x61,0x61,0x62, 0x62,0x62,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, 0x64}; int16 temp2,k; int16 a1,b1,c1, state; #int_timer1 #int_ext void ngat() { if(k=0) { set_timer1 (0); ext_int_edge(l_to_h); k = 1; } else { temp2=get_timer1(); ext_int_edge(h_to_l); k = 0; state = 1; } } void main() { k=0; temp2 = 0; state = 0; output_bit (pin_D2, 0); // DK RS output_bit (pin_D3, 1); // DK CS enable_interrupts(global); enable_interrupts(int_ext); ext_int_edge (l_to_h); enable_interrupts(int_timer1); setup_timer_1(t1_internal|t1_div_by_1); while(true); { if(state=1) { temp2 = get_timer1(); temp2=bang[temp2-90]; state = 0; a1=temp2/100; temp2=temp2%100; b1=temp2/10; c1=temp2%10; } } lcd_putcmd(0xc0); printf(lcd_putchar,"COS = "); lcd_putchar(a1 + 0x30); printf(lcd_putchar,"."); lcd_putchar(b1 + 0x30); lcd_putchar(c1 + 0x30); } rất mong các cao thủ giúp đỡ em. thanks!!! |
![]() |
![]() |
![]() |
#12 |
Đệ tử 7 túi
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: TP HCM
Bài gửi: 190
: |
Hì, các cao thủ đâu hết rồi sao chẳng ai giúp bạn vậy nhỉ!!!!!!!!!. Tui đang lu bu quá chưa thử chương trình cho bạn được, nhưng nhìn sơ sơ thấy là "trớt wớt":
- Cái lệnh if(state==1); if(k==0), còn như bạn thì vdk treo luôn mới phải!!!!!!!!. - Khi xung lên mức 1 thì bạn mới nên set timer!!!!!!!. - Tạo chu kỳ 1, 2 giây mới đọc và tính tần số 1 lần, như vậy vdk còn rảnh để làm việc khác. - Tui nghĩ như bạn thì nên kích 1 nút nhấn và đếm thời gian bấm nút bằng timer, thành công cái lập trình này rồi mới tính tới cái "chiện" chơi tiếp đo tần số!!!!!!!!. Bạn làm thử đi, có gì tui,....hay các cao thủ võ lâm mới giúp bạn tiếp được!!!!!!!!!!!!! |
![]() |
![]() |
![]() |
#13 | |
Đệ tử 1 túi
Tham gia ngày: Mar 2010
Bài gửi: 12
: |
Trích:
minh pót bài lâu rồi mà chẳng cao thủ nào giúp cả.hihihi |
|
![]() |
![]() |
![]() |
#14 |
Đệ tử 1 túi
Tham gia ngày: Jul 2010
Bài gửi: 15
: |
cái này khó quá ít ai làm được,(cao nhân mắc bệnh vô phương trị) hẹn lại nhen dùng pic đo hệ số công suất lưới điện
|
![]() |
![]() |
![]() |
#15 |
Đệ tử 4 túi
Tham gia ngày: Mar 2007
Nơi Cư Ngụ: Da Nang
Bài gửi: 69
: |
Thử xem ý tưởng dưới đây, tôi đã thử trên Proteus thấy nó hoạt động được.
Mạch điện đi kèm hoạt động như sau: Khi nhấn button thì đo 1 lần, kết quả đo được chuyển vào biến thoiGianDo, việc tính cos phi dựa vào thời gian này và một biến int0Truoc để biết ngắt nào xãy ra trước để tính toán âm hoặc dương. Trên mạch điện, khi thay đổi góc pha của một nguồn xoay chiều, ta nhấn button sau đó pause hoạt động của mạch, xem giá trị trên biến thoiGianDo sẽ thay đổi. Vì không có thời gian nên tôi chỉ viết đến thế. các bạn bổ sung thêm LCD hoặc 7segments cho hoàn hảo hơn và cho mạch điện 1/2 giây sẽ đo tự động một lần chứ không cần nhấn phím. Mạch điện vào chỉ để mô phỏng, trên thực tế sẽ khác tùy theo ý tưởng của từng người. Chúc thành công. |
![]() |
![]() |
![]() |
|
|