Chào các Pro e đang làm bài toán đo tần số nhưng đòi hỏi độ chính xác rất cao sử dụng dsPIC nhưng chưa tìm được phương pháp hợp lí mong các cao thủ chỉ hướng.
Thông báo
Collapse
No announcement yet.
Dùng dsPIC đo tần số với độ phân giải 0.004Hz.
Collapse
X
-
có 2 dạng đếm tần số : direct counter và reciprocal counter .
direct counter sẽ đếm số xung đưa vào trong 1s và kết quả thu được là Hz
reciprocal counter xác định chu kỳ của 1 xung và suy ra tần số f=1/T
nếu time base 1s ==> chính xác đến 1Hz
nếu time base 10s ==> 0,1Hz
.... riêng reciprocal do đo thời gian .... nên có thể nội suy
việc đếm với thời gian quá dài có thể bất lợi do nhiễu phát sinh , sai lệch !
Cả 2 phương pháp trên ===> kết luận :
Nếu là được độ chính xác vậy thì mấy hãng sản xuất máy đo tần số như agilent , leader , tektronix ... sẽ mua cám về để ăn dần
thời gian time base phụ thuộc rất nhiều vào cái thạch anh REF ( thời gian mẫu ) ... những thạch anh chuẩn xác này thì cực hiếm và đắt tiền ( thạch anh có độ chính xác rất cao , ít phụ thuộc nhiệt độ ... có bộ sinh nhiệt tự động để bù nhiệt ...)
ngoài ra độ chính xác còn phụ thuộc nguồn điện , phần mềm ( riêng khoản lập trình firmware flash ) là đã vứt rồi ! ( chí ít gọi là tạm được cũng phải chơi CPLD hoặc những dòng PLD , FPGA
KẾT LUẬN 2 : Không khả quan . Hết
( Độ phân giải khác hoàn toàn với độ chính xác ... nếu phân giải đến phần nghìn thì làm cái direct counter cũng ok ... còn độ chính xác đến phần nghìn , chục nghìn của Hz ... thì thua luôn !
qua hãng agilent , anritsu hỏi xem có máy đo đạt chính xác đó không !Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
Độ phân giải với độ chính xác là khác nhau, dù rằng nó thường đi với nhau và tỉ lệ thuận. Ví dụ cái DMM anh em mình dùng có phân giải 2000 count, chính xác 1% (ứng với 20 count).
f = n/t (n: số xung, t: thời gian)
Độ phân giải 0.004 Hz tương ứng với độ phân giải khó biết us (về mặt thời gian).
Tớ ví dụ:
- Nếu bạn muốn đo tần số 100Hz với độ phân giải 0.004Hz, tức là bạn phải phân biệt được 100Hz và 100.004Hz.
Giả sử mỗi phép đo được thực hiện trong thời gian khoảng 1s, tức là bạn sẽ đếm khoảng 100 xung. Trong trường hợp này t của bạn sẽ có giá trị:
t1 = n/f1 = 100/100Hz = 1s (đương nhiên, đúng với giả thiết)
t2 = n/f2 = 100/100.004Hz = 0.99996s
delta_t = |t1-t2| = 1s - 0.99996s = 0.00004s = 40us
>> 40us thì quá dễ giải quyết với vi điều khiển, dùng 98C2051 vẫn OK.
- Nhìn ở trên tớ thấy
delta_t = |t1-t2| = |n/f1 - n/f2| = n*|1/f1 - 1/f2|
delta_t = n*|1/f1-1/f2|
Nhìn vào công thức ta thấy luôn:
+ delta_t không thể quá nhỏ vì bộ xử lý của ta sẽ không phân biệt được
+ để tăng delta_t ta có thể tăng n (số xung đếm vào), cái này sẽ làm tăng chu kỳ lấy mẫu
+ với một giới hạn xử lý (delta_t nhỏ nhất có thể phân biệt) ta có thể suy ra tần số ta có thể đo được (liên quan với cả độ phân giải)
delta_t = n*|1/f1-1/f2| = n*|1/f1-1/(f1+delta_f) ≈ n*delta_f/f12 (thử lại với ví dụ trên thấy đúng)
>> với chip AT89S52 tớ có thể đếm thời gian chính xác cỡ 4Tcy (4 chu kỳ máy) tương ứng 4us với thạch anh 12MHz → bài toán của bạn: có thể đếm tần số tối đa
fmax2 = n*delta_f/delta_t = Tsample*f *delta_f/delta_t (Tsample: chu kỳ đo, f: tần số vào, ở đây f=fmax)
fmax2 = Tsample*fmax*delta_f/delta_t
fmax = Tsample*delta_f/delta_t = 1s*0.004Hz/4us = 1000Hz
fmax = 1000Hz
fmin = tự tính
(fmax = 1000Hz, phân giải 0.004Hz, bộ của bạn hơi bị chính xác cao đấy, cứ nhìn số 999.996 mà xem)
Comment
-
>> với chip AT89S52 tớ có thể đếm thời gian chính xác cỡ 4Tcy (4 chu kỳ máy) tương ứng 4us với thạch anh 12MHz → bài toán của bạn: có thể đếm tần số tối đa
còn độ phân giải (VD 4 số ) 1KHz 1.000 ... độ chính xác 1Hz VD 0.999 Khz , 1.000 Khz , 1.001 KhzModule RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
Cám ơn các bác đã cho ý kiến. Có lẽ e đưa ra dữ liệu bài toán chưa đủ. Bài toán của e cụ thể như sau.
đo tần số nằm trong khoảng 800 đến 4000Hz với độ phân giải là 0.004Hz tức là 100Hz và 100.004Hz sẽ phải phân biệt được.
E đã dùng input captures của dspic với Ftcy = 16M.
ví dụ ta đo tần số f = 851.004 Hz chẳng hạn.
đo tần số này thì 1 chu kì của f = (16.000.000/851.004) = 18801.3217 chu kì của Ftcy.
dùng capture của dsPIC thì đo 1 chu kì của f sẽ được 18801 chu kỳ của Ftcy trong thanh ghi của PIC
-> thời gian 1 chu kỳ của tần số f là: t = 18801/16 = 1175.0625 (us) -> f = 1/t = 851.01856 (Hz). tần số đo được này sai 0.01456 >0.04 Hz.
nếu muốn chính xác hơn thì phải đo từ 10 chu kỳ. lúc đó ta tính được t = 1175.08125 -> f = 851.00498 (Hz) so với 851.004 thì sai số là 0.00098 < 0.004Hz coi như thỏa mãn yêu cầu đề bài. Nhưng đây là tính toán lý thuyết trên thực tế nếu dùng bộ captures của dsPIC thì timer được sử dụng là 16bit thế nếu đo 10 chu kỳ sẽ xảy ra tràn timer ít nhất là 3-4 lần. mỗi lần tràn này đều sẽ làm trễ đi một khoảng thời gian nhất định phải ko ạ.
ai đã làm qua cách này có chỗ nào cao minh chỉ điểm giúp e với|
Comment
-
Cái 16M ở đây là tần số dao động e thiết lập trên dsPIC. Dùng tần số đó để lấy mẫu giả sử đo trong 1s thì 800 chu kì của f(fin) sẽ được 16.000.000 chu kì của chíp nên cái 16M/800 là tỉ lệ của 2 cái tần số này để tính toán theo lý thuyết thôi.|
Comment
-
Dùng vòng lặp kiểm tra, nếu TMRIF bật thì cộng thêm 65536.
Nếu mình không nhầm thì sử dụng chế độ Capture vẫn dùng được ngắt Timer (bạn xem lại trong datasheet), nếu thế thì có thể đếm 1 biến phụ trong ngắt.
@bác Dương: cái này chỉ nói là độ phân giải 0.004Hz chứ không nói phải chính xác đến 0.004Hz. Như bác nói, để đảm bảo độ chính xác của phép đo thì cần tần số mẫu chính xác (thạch anh đếm thời gian) - vấn đề của linh kiện. Nếu chúng ta có giải thuật xử lý đúng thì khi lắp thạch anh "chuẩn" vào sẽ chính xác, phải không bác.
Tiện thể, em viết nốt
Δt < Tsample * Δf / f
đây là yêu cầu độ phân giải (độ chính xác) đếm thời gian trong phương pháp đếm đồng thời thời gian và số xung.
với Tsample=n/f (n: số xung, f: tần số xung; Tsample không cố định)Last edited by KnowMore; 25-02-2012, 01:14.
Comment
-
Bạn phải tính thêm độ trễ của ngắt.Quá trình reset timer.Đo tần số cao thì phải lấy nhiều chu kì rồi.Mà bạn đâu nói đến độ chính xác đâu nhỉ.Do đó 2 kết quả có sai nhau thì đâu vấn đề gì.800.004 và 800.001 chỉ là giá trị hiển thị thôi.Kô ai nói 800.004 chính xác còn 800.001 kô chính xác., , ,
Comment
-
Nguyên văn bởi rptdnmqs Xem bài viếtBạn phải tính thêm độ trễ của ngắt.Quá trình reset timer.Đo tần số cao thì phải lấy nhiều chu kì rồi.Mà bạn đâu nói đến độ chính xác đâu nhỉ.Do đó 2 kết quả có sai nhau thì đâu vấn đề gì.800.004 và 800.001 chỉ là giá trị hiển thị thôi.Kô ai nói 800.004 chính xác còn 800.001 kô chính xác.
Con dspic cũng vậy ... không phải lúc nào nó cũng chạy như lúc nào ( sẽ có lúc nhanh lúc chậm ) ... mà sự thay đổi này rất nhỏ ( do yếu tố phát sinh nhiệt hoặc nhiệt môi trường ) ...
Tuy thay đổi nhỏ nhưng lại là lớn trong những bài toán chính xác .Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
Về tác giả
Collapse

Bài viết mới nhất
Collapse
-
bởi dinhthuong80Cái này cũng như video của bác kia test, máy đo vận tốc gió nhỏ quá, đo tại 1 điểm không chính xác lắm, vì tùy loại cánh quạt mà gom gió hay tản gió khác nhau. Nhưng nhờ kênh nước ngoài bác giới thiệu mà em được thấy thực tế 1 cây quạt...
-
Channel: Điện tử gia dụng
hôm nay, 14:54 -
-
bởi tuyennhanXem thêm anh này để thêm số liệu từ part 1 đến 4 https://www.youtube.com/watch?v=FtZvjXpZSSY
-
Channel: Điện tử gia dụng
hôm nay, 12:43 -
-
bởi appongthoMã lỗi H-30 H-31 H-32 H-33 tủ lạnh Panasonic là gì?
https://appongtho.com/loi-h30-31-32-...anh-panasonic/
Các mã lỗi H-30, H-31, H-32, H-33 trên tủ lạnh Panasonic đều phản ánh sự cố xảy ra trong hệ thống xả đá tự động, khiến lớp tuyết không được làm tan kịp...-
Channel: Điện tử gia dụng
hôm nay, 10:23 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi NGULAUCái chỗ mà vandong1111 bôi đỏ không phải do chủ thớt nghĩ ra, cũng chẳng phải do TLM sáng tác. Mà nó có ghi trong giáo trình máy biến áp: https://www.hnue.edu.vn/Portals/0/Te...he-dien-tu.pdf
Sao trang không vào được bạn-
Channel: Điện tử công suất
Hôm qua, 12:06 -
-
bởi vi van phamBởi vậy khi nói kỹ thuật là phải nói chi tiết rõ ràng, chân vịt 3 cánh to tốc độ thấp lưu lượng mạnh nhất còn không chấp nhận, 6 cánh xếp chồng nhau người ta ko gọi là quạt mà gọi đó là máy nén khí. Lấy kinh nghiệm lý giải kỹ thuật thì đến tết mới xong....
-
Channel: Điện tử gia dụng
Hôm qua, 11:16 -
-
bởi dinhthuong80Cháu có chút thất vọng! Sao bác không lấy loại cánh 3 lá nhỏ với 5 lá nhỏ chẳng hạn (tỉ số sẽ 5/3, không phải 2/1); hay cánh kim loại 2 lá với 4 lá; Còn nếu bác thích loại 3 lá to kiểu tai voi thông dụng thì nếu cần sản xuất, làm 6 lá...
-
Channel: Điện tử gia dụng
Hôm qua, 11:09 -
-
bởi vi van pham1- 6 người chưa chắc mang 6 kg hàng trong 1 phút vì sức khỏe khác nhau.
2- Tương tự 3 cánh quạt to, độ nghiêng và diện tích 3 cánh chiếm hết 360 độ không gian cánh quạt, nếu 6 cánh thì dôi ra 3 cánh sẽ xếp nó vào nơi nào? kiến thức...-
Channel: Điện tử gia dụng
Hôm qua, 10:26 -
-
bởi dinhthuong80Đến giờ thì Đình Thường tôi thật sự cảm thấy tiền mình bỏ ra mua quạt và thiết bị đo, thời gian và công sức mình thí nghiệm đo kiểm và đưa lên đây giới thiệu cho mọi người thật là uổng phí!. Nói gì, đưa ra bằng chứng gì cũng...
-
Channel: Điện tử gia dụng
Hôm qua, 09:35 -
-
bởi tuyennhanTôi vào trang cafef xem thì không có số liệu gì vào tiếp trang nơi bán ở sin thì có số liệu thì thấy quạt 3 cánh lưu lượng gió kém hơn 5 cánh nhưng cstt nhỏ hơn và là quạt trần dc cánh nhỏ không có quạt bàn cánh to .
Vào trang của hãng...-
Channel: Điện tử gia dụng
Hôm qua, 07:35 -
-
bởi vi van phamMẹ từ đồng ruộng về, mồ hôi ướt đẩm mặt mẹ.
Mẹ ko còn sức vẩy cái nón nữa. Mẹ như cái motor hết pin.
Thằng quạt nhỏ cười toe toét quạt lấy , quạt để khoe chân lý quạt nhỏ mát hơn quạt to....
-
Channel: Điện tử gia dụng
Hôm qua, 07:19 -
Comment