Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
các bạn ơi cho mình hỏi: Muốn sử dụng bộ ADC trong atmega 16 thi các chân 30(avcc); 31(gnd); 32(AREF) nối như thế nào vậy nhỉ?
thank các bạn nhiều.
AVCC là nguồn cho bộ ADC hoạt động.
GND là đất cho ADC.
AREF là điện áp chuẩn để ADC so sánh.
Như vậy để đơn ADC có thể nối chung với VCC của AVR, GND thì nối đất với toàn mạch rồi. Còn AREF thì tùy bạn, chỉ cần thỏa mãn: 0<AREF<=VCC là được. Nhưng lưu ý là AREF phải là điện áp ổn định,nếu không kết quả sẽ nhảy loạn như nhảy hip hop đó bác. hehehe
theo kinh nghiệm các anh truyền lại cho mình, mình làm thế này:
nếu chỉ có một nguồn thì nối nguồn==>Vcc==>cuộn dây khoảng 100uH==>Avcc==>tụ 104==>GND.
chân AREF nối luôn vào AVCC
tải chạy quét leb cũng nhiễu nhiều nhưng nói chung là ok
nguồn ổn áp bằng LM7805
còn nếu có nguồn độc lập khác nối làm chuẩn cho AREF thì càng ổn
Thiết kế chế tạo các loại máy xoáy nắp, chiết rót định lượng dùng trong dược phẩm và thực phẩm.
Mình thì dùng béng Vref bên trong AVR, mỗi con này thường có một bộ tạo vref chuẩn 2.56v, thực sự ổn định, Chân Vref bên ngoài chỉ cần 1 tụ 104 nối âm là ổn.
Điện áp chuẩn này nói chung là thích hợp cho nhiều ứng dụng ( chẳng phải là nhà sản xuất lại ngẫu nhiên tích hợp nó?)
Bít 6 và 7 trong thanh ghi ADMUX ấy, nếu để nó ở mức 1 tất, có nghĩa là chọn vref trong 2.56V. Nếu dùng Codevision AVR, chỉ việc tích và tích là xong thôi mà.
Hi chào bạn.
GND luôn phải nối đất
AVCC được nối lên nguồn (5V) khi bạn sử dụng nguồn làm điện áp so sánh
AREF được nối với điện áp so sánh chuẩn (3V, 4.1V...) khi bạn muốn dùng điện áp so sánh mà bạn có
Ngoài ra trong AVR còn có chế độ đặt điện áp chuẩn 2,56V theo mình thì không cần nối AVCC và AREF đi đâu hết
Chúc bạn thành công.
Thấy tốt thì thank cho một cái nhé.
Bít 6 và 7 trong thanh ghi ADMUX ấy, nếu để nó ở mức 1 tất, có nghĩa là chọn vref trong 2.56V. Nếu dùng Codevision AVR, chỉ việc tích và tích là xong thôi mà.
Anh Huy ơi , có thể hướng dẫn qua cho em về cách lập trình ADC không ? Thanks anh !
Anh Huy ơi , có thể hướng dẫn qua cho em về cách lập trình ADC không ? Thanks anh !
Oái, cậu này.... hic...! Ai nhỉ, nhìn kô nhận ra???
Mình cũng chỉ biết lập trình phèng phèng, gọi là sử dụng chức năng ADC của con AVR thôi. Bạn hỏi trọng tâm hơn, có gì biết, mình sẽ nói.
Anh Huy ơi , có thể hướng dẫn qua cho em về cách lập trình ADC không ? Thanks anh !
Nếu dùng C thì bạn có thể thử dùng Codevision , nó có đầy đủ các modul của AVR cần dùng modul nào thì tích chọn vào đó, nó sẽ tự động sinh mã, và bạn chỉ cần lập trình , và tất nhiên từ code do codevison sinh ra đó, có nhiều cái rất bổ ích cho bạn đó !
Chúc thành công !
0945061338(vocam.h@gmail.com,lehanhdtk3@gmail.com)
||
PROGRAMING(C,ASM),HARDWARE,LMD,RTC,GPRS,GPS....ALL OF VDK
Bạn có thể xem ví dụ này. Đây là mã dọc giá trị ADC do Codevision tự sinh cho mega16
#define ADC_VREF_TYPE 0x03
............
............
...........
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
Oái, cậu này.... hic...! Ai nhỉ, nhìn kô nhận ra???
Mình cũng chỉ biết lập trình phèng phèng, gọi là sử dụng chức năng ADC của con AVR thôi. Bạn hỏi trọng tâm hơn, có gì biết, mình sẽ nói.
Đố anh biêta em là ai ??? He he !!!
Anh cho em code chương trình ADC nhé , anh chỉ rrox cho em phần để thay đổi giá trị đưa lên VDK nhé , em cảm ơn .....!
để tạo được đoạn code này thì phải setting thế nào và sử dụng hàm read_adc(n) trong trường hợp nào, bạn có thể cho mình ví dụ được không?
Bạn vào chọn phần tự động sinh mã của Codevision, chọn module ADC ,
read_adc(n) ;
n=0,1,2...
với n chính số thứ tự của kênh ADC muốn đọc giá trị
Ví dụ bạn muốn đọc giá trị analog (điện áp ) của kênh ADC 0 và lưu giá trị này vào một biến là M khi đó sẽ viết code là :
M=read_adc(0);
0945061338(vocam.h@gmail.com,lehanhdtk3@gmail.com)
||
PROGRAMING(C,ASM),HARDWARE,LMD,RTC,GPRS,GPS....ALL OF VDK
Trục đầu ra của hộp số hành tinh xoắn ốc được kết nối với mặt bích của khách hàng thông qua một trục răng trong. Sau chưa đầy sáu tháng hoạt động, nó phát ra tiếng kêu lách cách và độ rơ lớn đáng báo động.
Chào các anh em nhé, mình dự định sắp tới sẽ đi học lái xe Ôtô, thi lấy bằng lái. Cụ thể mình sẽ học và thi lấy giấy phép lái xe hạng B. Thật sự mình là người chưa có kiến thức hiểu biết gì về Ôtô cả ? tất nhiên mình sẽ phải...
Theo sự hướng dẫn của bác, sau khi em kiểm tra tầng Vi sai sử dụng cặp c1815, tiếp đến là 1 con a1013, và cặp thúc sử dụng mje304g và mje305g, em đã tiến hành thay cặp Vi sai c1815 sau đó mở máy lên đo ngõ công suất DC 0,2V hai giây sau máy đo...
Bộ máy đa năng toàn diện cho học tập và làm việc hàng ngày
Đối với học sinh, sinh viên và người làm việc văn phòng, việc sở hữu một bộ PC cân bằng giữa học tập, công việc và giải trí là nhu cầu vô cùng thực tế. Combo Ryzen...
Dạ cháu đọc 1 số bài viết của bác vi... thì nhớ đc bác là 1 cụ già gần 80 tuổi, sức khỏe yếu. Đam mê và làm vc về kỹ thuật điện. Thích thơ ca. Có nhìu bài chia sẻ quý báu cho thế hệ sau. Tuy nhiên già rồi nên khái tính, bảo thủ, nhưng vẫn đáng kính ạ... còn lão nhathung... thì kiểu bố đời
Hãng nào tùy thích thôi bác! bây giờ các hãng đều hỗ trợ xem qua máy tính hay điện thoại đều được. Gắn Trước tiên mua về cắm nguồn set ip hết xong hãy lắp lên, cam poe chỉ cần 4 lõi là hoạt động bình thường nên 1 dây kéo cho 2 cam vẫn ok
Con số đấy biểu thị gần đúng thôi, cái đồng hồ đó có đảm bảo chính xác hay không? pin có cục lên 4v4 vẫn bình thường. Cái gì cũng có sai số trong phạm vi không quá lớn thì không ảnh hưởng gì đâu, bàn ngay ngón ngắn ngón dài mà
Comment