Ai có mạch, phương pháp gì hay cùng Post lên cho các anh em tham khảo !!!!
Thông báo
Collapse
No announcement yet.
Mạch đo tần số điện lưới dùng MCU
Collapse
X
-
Đầu tiên làm mạch nắn và khuếch đại, chuyển mức, biến phasa K*PI thành xung. Tốt nhất nên dùng thêm 1 tầng trigơr smitt để chống nhiều(nếu chân MCU đã có thì ko cần tầng này).Nguyên văn bởi www9vanAi có mạch, phương pháp gì hay cùng Post lên cho các anh em tham khảo !!!!
-Anh dùng ngắt ngoài, mỗi lần có ngắt thì đọc giá trị timer(x=65536-TimerH*256-TimerL) và nạp giá trị 0 cho timer(TimerH=TimerL=0). Vậy ta tính được 1/2 chu kỳ-->nhân 2 rồi nghịch đảo sẽ ra tần số. Nên tính trung bình tăng độ chính xác.
Ví dụ mã nguồn như sau:
Khởi tạo
{
Cho phép ngắt ngoài.
chạy timer1 16 bit;
}
Ngắt ngoài:
{
x+=65536-(T1H<<8+T1L);
T1H=T1L=0;
if(++i=2)
{
Lấy nghịch đảo giá trị x là tần số;
x=0;
}
//Chú ý thêm một số lệnh để chặt chẽ lời giải.
Nhưng theo em thì nên giải ý tưởng này là hay nhất:
-
Lời giải như sau:
Gọi số lần tràn của T1 là i;
Gọi số lần ngắt của pha k*pi là j;
Dùng 2 ngắt: T1 và ngắt ngoài.
Ngắt T1:
{
i++;
}
Ngắt ngoài:
{
if(++j=100)
{
T1ON=0;
Đọc giá trị Timer1: x=65536-(T1H<<8+T1L);
T1H=0;
T1ON=1;
T1L=0;
x+=65536*i;
Tần số = 50/x;//trong đó x là tổng số xung của CLKT1 trong 100 lần phase K*pi
i=0;
j=0;
}
}
Comment
-
Dùng ngắt đếm thì đúng rồi ! nhưng hãy cẩn thận cới tần số cỡ 400hz trở lên nhé ( với tần số thấp thì không sao nhưng với tần số cao thì có vấn đề , bạn nào làm rồi thì sẽ biết ) ! Mình đã làm cách này rồi . đầu vào của mình chỉ đơn giản dùng con diode và con điện trở sao đó đưa vào con opto và đầu ra đưa cào chân ngắt thôi .
Nếu muốn tăng độ chính xác thì nên dùng con đếm chuyên dụng , như là con PCF8583 ( dùng mode đếm ) khi đó cứ sau 1s thì cập nhật data trong nó là xong , còn chê mắc thì dùng con 4020 hoặc 4040 cũng xong thôi tính chính xác rất cao nữa !Mạch nạp Little Programmer
MSC-51,AVR,EEPROM ... etc
Site Fukusei shop :
Comment
-
Cách đơn giản nhất là dùng 1 bộ phát xung chuẩn , sau đó dùng mạch AND để and giữa xung chuẩn và tần số cần đếm , đầu ra đưa vào int.
Chương trình chỉ cần đếm số xung là suy ra được tần số cần đo.
F=n*fx.
(fx:tần số phát chuẩn
n : số xung đếm được
F :tần số cần đo.
Sai số phụ thuộc chủ yếu vào tần số phát chuẩn
)
Comment
-
có rất nhiều cách đo tần số khác nhau, tuy nhiên ta hay chọn lấy 1 phương pháp đạt nhưng tiêu chí sau:
+ ổn định
+ sai số nhỏ
+ Ngoài 1 MCU ->Dùng thêm ít nhất các linh kiện, IC có thể -> ít hỏng hơn, tiêu thụ năng lượng ít hơn.
+ Dễ thực hiện hay nói cách khác là tính khả thi cao.
lưu ý ở đây là đo tần số điện lưới (50Hz) -> yêu cầu về sai số là quan trọng nhất
Thông thường f trên lưới quốc gia chỉ cho phép dao động từ 49,80Hz -> 50,20Hz
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
04-05-2026, 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
04-05-2026, 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!
04-05-2026, 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 -

Comment