E đang làm con ATmega16, dùng ADC trong, với Vin thay đổi dùng biến trở. Mọi người chỉ cho em cách đọc giá trị ADC khi thay đổi Vin. (dùng ngắt). Cảm ơn nhiều!
Thông báo
Collapse
No announcement yet.
Chỉ cho em phần ADC.
Collapse
X
-
nếu cần độ chính xác tương đối thì bạn sử dụng Vref nội là 2.56V còn sai số thì tùy, bạn xem trong datasheet ở đoạn phía dưới gần cuối ấy.
còn nếu cần chính xác cao thì dùng nguồn Vref bên ngoài nối vào chân Vref.
cần chú ý là khi set để sử dụng Vref nội thì chân Vref cần được để hở hoặc mắc tụ 104 xuống mass.
và Vin phải nhỏ hơn Vref.nếu lớn hơn thì dùng cầu điện trở để chia xuống.
để đọc ADC về thì bạn có thể sử dụng timer để đọc hoặc cho vòng lặp tùy thích. phần này trong codevision có hỗ trợ khá nhiều. bạn chỉ cần đọc datasheet tí và set các thông số là chạy ok.
thân!
Comment
-
bạn nên chú ý là dải điện áp hoạt động của ADC vi điều khiển ATMEGA16 là 5v.nếu bạn dùng ADC 8 bít có nghĩa là độ phân giải của ADC sẽ là 5000(mV)/256= 20mV.và nếu như điện áp đầu vào bạn đọc từ tín hiệu điện áp ngoài lớn hơn 5v bạn cần dùng 1 cầu chia áp để có thể dùng ADC một cách chính xac.
Comment
-
chắc bạn nhầm tí chỗ này.Nguyên văn bởi thanh48ctu Xem bài viếtbạn nên chú ý là dải điện áp hoạt động của ADC vi điều khiển ATMEGA16 là 5v.nếu bạn dùng ADC 8 bít có nghĩa là độ phân giải của ADC sẽ là 5000(mV)/256= 20mV.và nếu như điện áp đầu vào bạn đọc từ tín hiệu điện áp ngoài lớn hơn 5v bạn cần dùng 1 cầu chia áp để có thể dùng ADC một cách chính xac.
để chân Vin ko bị khét thì cần giới hạn ở mức đó. còn để ADC đọc được giá trị chính xác tại chân Vin thì nó phải được giới hạn từ GND tới Vref. và khi đó độ phân giải của bộ adc sẽ là (Vref/2^sobit adc).
Comment
-
Bạn nói thế chứng tỏ là bạn chưa đọc Datasheet rồi, đối với AVR hay bất kìa VĐK nào việc đầu tiên khi nghiên cứu cũng là đọc Datasheet sau đó tham khảo code mẫu (làm việc nhanh hơn).
Tiện đây mình ngó lại Datasheet của con Mega16 thì thấy ghi tạm lại mấy thanh ghi cho bạn:
ADMUX: thanh ghi cho phép chọn Vref (ngoài hoặc Vref nội) và chọn Kênh ADC
ADCSCRA: thanh ghi điều khiển và thông báo trạng thái ADC (cái này muốn rõ xem lại sơ đồ khối trong Datasheet)
ADCH và ADCL: 2 thanh ghi thông báo giá trị ADC đọc được
Ngoài ra để làm với ngắt bạn phải set thêm bit cho phép ngắt ADC trong phần ngắt ngoại vi nữa.
Nếu làm AVR GCC thì lên mạng nhờ bác Google tìm hộ: ADC AVR là ra nhiều project ng ta đã viết sẵn.
Nếu làm bằng CodeVision thì đọc help rùi làm thử theo nó 1 tẹo là ra, chả phải nhớ thanh ghi nhiều lắm.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Nên mua máy phay CNC cũ, máy mới phổ thông hay máy chất lượng cao? Góc nhìn từ bài toán sản xuất thực tếbởi nguyendinhvanNgày trước, khi KT đang tăng trưởng, một cái máy tự động cũ tầm trung, thì khoảng 5 năm là hoàn vốn. Nhưng hiện tại, mọi việc đều chậm trễ, cạnh tranh, nên theo các xếp tính thì phải hơn 10 năm làm việc ngon lành thì mới hoàn vốn....
-
Channel: Máy công cụ
Hôm qua, 20:23 -
-
Trả lời cho cách làm led Hao Quang.có pro nào biết k nhỉ ???bởi StatusHello! I'm from Kazakhstan. Can anyone share the HEX file with me? The download link in post 50 doesn't work.
-
Channel: Vi điều khiển họ 8051
18-12-2025, 00:05 -
-
bởi mylinhattChào anh em cơ khí,
Trong quá trình tư vấn đầu tư thiết bị cho xưởng, mình gặp rất nhiều câu hỏi kiểu: “Nên mua máy phay CNC cũ để tiết kiệm, chọn máy mới phổ thông cho yên tâm, hay cố gắng lên máy chất lượng cao để làm hàng khó?”. Thực tế, đây không phải câu hỏi chỉ về...-
Channel: Máy công cụ
17-12-2025, 13:38 -
-
Trả lời cho Vấn đề về tốc độ quaybởi nguyendinhvanSử dụng động cơ servor, hoặc lắp thêm một cái encoder vào động cơ bước. Encoder sẽ kiểm soát động cơ có quay hoặc đứng im.
-
Channel: Điện tử truyền hình
14-12-2025, 19:50 -
-
bởi Andrea14Chào mọi người,
Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...-
Channel: Điện tử truyền hình
12-12-2025, 12:42 -


Comment