Đo dòng điện xoay chiều bằng vi điều khiển PIC

0
576
Đo dòng điện xoay chiều bằng vi điều khiển PIC

Đo dòng điện xoay chiều hoặc dòng điện xoay chiều bằng vi điều khiển picTrong bài này, chúng ta sẽ thảo luận về cách đo dòng điện xoay chiều bằng cách sử dụng biến dòng và vi điều khiển Pic. Sau khi đọc phần này, bạn sẽ có thể thiết kế Ampe kế xoay chiều sử dụng vi điều khiển PIC16F877A . Nó là một nhiệm vụ rất quan trọng trong các dự án vi điều khiển pic . 

Những gì bạn sẽ học trong Đo dòng điện xoay chiều bằng vi điều khiển PIC

  • Cách sử dụng máy biến dòng để đo dòng xoay chiều
  • Cách tốt nhất để giao tiếp CT với vi điều khiển PIC16F877A là gì
  • Viết mã đầu tiên của bạn để đo dòng điện AC

Trong phần đầu tiên, chúng tôi sẽ cung cấp chi tiết về máy biến dòng và trong phần tiếp theo, chúng tôi sẽ nói về việc đo điện áp từ phía thứ cấp của CT và sau đó hoạt động của mã sẽ được giải thích.

Cách sử dụng Biến dòng để Đo dòng điện xoay chiều bằng vi điều khiển PIC

  • CT(Current transformer) được sử dụng để đo dòng điện cao xoay chiều có bậc nghìn Ampe.
  • Nó giảm dòng điện xoay chiều xuống giá trị thấp hơn để có thể dễ dàng đọc được với sự trợ giúp của bộ vi điều khiển. Khả năng giảm bậc của máy biến dòng phụ thuộc vào định mức của máy biến dòng và tỷ lệ bậc xuống dòng của nó.
  • Giả sử bạn có một máy biến dòng với tỷ lệ dòng 100: 10 Ampe. Dòng sơ cấp trung bình của máy biến áp là 100 Amp và dòng thứ cấp là 10 Amp. bạn không thể sử dụng biến dòng này để đo dòng điện hơn 100 Amp.
  • Bằng cách đo dòng điện thấp phía thứ cấp, chúng ta có thể dễ dàng chuyển đổi nó thành giá trị dòng điện sơ cấp bằng cách sử dụng công thức tỷ lệ hiện tại. Tôi sẽ thảo luận trong phần sau của cuộc thảo luận này về cách sử dụng tỷ lệ bước xuống này trong phần lập trình.

Làm thế nào để biến đổi dòng điện thành điện áp?

Chúng tôi không thể đo trực tiếp dòng điện. Đầu tiên, chúng ta chuyển đổi dòng điện phía thứ cấp thành điện áp. Chúng ta có thể sử dụng một giá trị đã biết của tải điện trở. Chúng tôi đo điện áp trên điện trở đã biết này. Sau đó, chúng ta có thể chuyển đổi điện áp đo được này thành dòng điện. Chúng ta có thể sử dụng công thức định luật ohm để chuyển đổi điện áp thành dòng điện.

V = IR 
I = V / R

Như bạn thấy trong sơ đồ mạch này, chúng tôi sử dụng một điện trở tải R1 để chuyển đổi dòng điện thành điện áp. Trong mạch này, một bộ chia điện áp được sử dụng. Nhưng chúng ta cũng có thể sử dụng một bộ khuếch đại hoạt động để giảm điện áp trên điện trở tải.

 Đo dòng điện xoay chiều bằng vi điều khiển PIC

Cách đo dòng điện phía thứ cấp của CT

Bây giờ chúng ta sẽ xem cách cảm nhận dòng điện xoay chiều với phía thứ cấp. Có nhiều phương pháp để đo dòng điện xoay chiều thấp, bạn cũng có thể đo bằng cách sử dụng ampe kế xoay chiều. Nhưng nếu bạn muốn thực hiện một số thao tác điều khiển và muốn gửi giá trị dòng điện đo được đến một nơi khác. Bạn phải sử dụng một số loại hệ thống thông minh.
Ví dụ: bạn muốn tạo một mạch bảo vệ hiện tại và thông số kỹ thuật của mạch như sau
nếu dòng điện chạy qua một đường dây lớn hơn 100 Ampe, cần thực hiện hành động điều khiển để vận hành
Current > 100 Amplere , Relay = open
Otherwise if current < 100 Ampere , Relay = close

Để tạo ra loại hệ thống thông minh như vậy, chúng ta có thể sử dụng điện tử tương tự và kỹ thuật số, nhưng tốt hơn là sử dụng điện tử kỹ thuật số vì vấn đề chi phí là một mối quan tâm. Trong hướng dẫn này, chúng ta sẽ sử dụng vi điều khiển PIC để đo dòng điện xoay chiều là PIC16F877A.

Các thành phần phần cứng

  1. PIC16f877A
  2. CT(curent transformer)
  3. Một bộ khuếch đại thuật toán như một bộ khuếch đại vi sai

Mạch Đo dòng điện xoay chiều bằng vi điều khiển PIC

Bộ khuếch đại hoạt động hoạt động như một mạch dịch chuyển mức điện áp hoặc bộ khuếch đại chênh lệch. 

Mạch khuếch đại vi sai

Để đo dòng điện xoay chiều bằng vi điều khiển pic, chúng ta phải sử dụng mô-đun ADC của vi điều khiển PIC. Để sử dụng mô-đun ADC, chúng tôi sẽ chuyển đổi dòng điện thành dạng điện áp bằng cách sử dụng điện trở shunt .1 ohm trên CT và chúng tôi sẽ đo điện áp rơi này trên điện trở shunt. Sau đó, điện áp giảm này có thể dễ dàng chuyển đổi thành dòng điện trở lại. Ví dụ điện áp rơi trên điện trở shunt .1 ohm = 8v
sau đó theo luật ohm
V = IR 
I = V / R 
I = 8 / .1 = 8A
nhưng vấn đề là ADC của vi điều khiển pic không bao giờ có thể đo điện áp lớn hơn 5 volt. Do đó, để giải quyết vấn đề này, chúng ta có thể sử dụng các bộ khuếch đại chênh lệch. Bởi vì, bằng cách điều chỉnh độ lợi của bộ khuếch đại chênh lệch, chúng ta có thể giảm điện áp xuống thấp hơn 5 vôn. Sơ đồ sau đây cho thấy mạch của CT và giao diện bộ khuếch đại khác biệt. bạn có thể sử dụng bất kỳ op-amp nào như LM741 , TL074.
 Đo dòng điện xoay chiều bằng vi điều khiển PIC

Sơ đồ mạch với vi điều khiển pic

Đây là sơ đồ mạch giao tiếp cảm biến dòng điện với vi điều khiển pic. Nối mặt thứ cấp của CT với các điểm được hiển thị trên giản đồ. Sau đó, Kết nối song song điện trở shunt với cảm biến hiện tại. Mạch khuếch đại chênh lệch chuyển đổi điện áp dưới độ lớn 5-volt. Nó cũng dịch chuyển mức điện áp xoay chiều từ cực âm sang cực dương. Kết nối đầu ra của bộ khuếch đại khác biệt với RA1 hoặc kênh tương tự một trong PIC16F877A.

 Đo dòng điện xoay chiều bằng vi điều khiển PIC

 Đo dòng điện xoay chiều bằng vi điều khiển PIC

Code đo dòng điện AC sử dụng PIC16F877A

// These lines define that LCD is connected
// with PORTB pins from RB2 to RB7
sbit LCD_RS at RB2_bit;
sbit LCD_EN at RB3_bit;
sbit LCD_D4 at RB4_bit;
sbit LCD_D5 at RB5_bit;
sbit LCD_D6 at RB6_bit;
sbit LCD_D7 at RB7_bit;

// These lines set the direction PORTB pins 
// All pins as a digital output pins
sbit LCD_RS_Direction at TRISB2_bit;
sbit LCD_EN_Direction at TRISB3_bit;
sbit LCD_D4_Direction at TRISB4_bit;
sbit LCD_D5_Direction at TRISB5_bit;
sbit LCD_D6_Direction at TRISB6_bit;
sbit LCD_D7_Direction at TRISB7_bit;

float v;  // variable to store results

// across shunt resistor and finds the peack

Lcd_out(2,8,txt1);          // displays measured current on LCD
delay_ms(1000);
}

Lcd_Init();      // It will initialize the library of LCD which is included in Mikro C for Pic
ADCON0.ADCS0=1;     
ADCON0.ADCS1=1;
ADCON1.ADCS2=1;
ADCON0.ADON=0;

while(1)
{
Lcd_out(2,1, "Current:");   // it will display " Current " in second line of LCD
current_READ();               // call current_READ() function to measure current 
delay_ms(1000);
}
}
  • Code dùng để đo dòng thứ cấp của CT. bạn có thể dễ dàng tính toán dòng điện chính theo tỷ lệ dòng điện CT của mình bằng cách sử dụng công thức khẩu phần hiện tại.
  • Bạn chỉ cần thêm một dòng nữa trong một hàm hiện tại được viết ở trên nếu bạn có hiểu biết cơ bản về lập trình vi điều khiển.
  • Code  được viết bằng Mikro c cho trình biên dịch pic .
  • Chỉ cần tải mã này lên thiết bị PIC16F877A của bạn và thực hiện kết nối theo sơ đồ mạch được đưa ra ở trên.

LEAVE A REPLY

Please enter your comment!
Please enter your name here