RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

Các vấn đề ADC/DAC trong PIC

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts

  • dipkevu
    replied
    Vout mặc định bạn ơi! Vout là chân số 3 LM35 sẽ dc đưa vào chân pic(ADC) để đọc nếu dùng khuyếch đại thuật toán như ban cũng hợp lý nhưng sao đưa vào adc khi đã có Vout để đọc, mình cũng hơi mơ màng, theo như bạn, bạn có thể vẽ thử và gởi hình lên dc ko bạn! giúp mình nhen!

    Leave a comment:


  • duong_act
    replied
    Nếu là tôi : Tôi để nguyên +Vref và -Vref ( mặc định nối VDD và VSS ). Tín hiệu từ LM35 có dải từ -550mV đến 1500mV sẽ được đưa qua OPAMP để thực hiện cộng và nhân điện áp thành dải từ 0V đến khoảng gần 5V. Thực hiện cho ADC đọc điện áp này => tính toán => xong.

    Leave a comment:


  • dipkevu
    replied
    hình như ko dc bạn ơi! nếu cộng dùng op am hay dùng cổng đảo op am từ -5v sang 5v thì khác nào ta cấp nguồn (-Vref=+5V)
    mà cấu hình cho pic là sao vậy bạn!
    gần nộp đồ án 2 rồi, bạn giúp mình với!

    Leave a comment:


  • quanghuy_125
    replied
    Nguyên văn bởi dipkevu Xem bài viết
    thank bạn nhưng mình chưa rõ lắm!
    cộng ở chỗ nguồn( -Vref)-chân số 4 của PIC 16F877A hả bạn!
    mục đích để làm gì vậy bạn
    Bạn à Vss ở đây mang giá trị âm=.> Vậy âm của âm = dương rùi.
    Cái phần nguyên lý bạn hãy xem datasheet của LM35 nha....

    Đúng rùi bạn ạ RA2 đó và bạn phải cấu hình cho PIC nữa nhé

    Leave a comment:


  • dipkevu
    replied
    thank bạn nhưng mình chưa rõ lắm!
    cộng ở chỗ nguồn( -Vref)-chân số 4 của PIC 16F877A hả bạn!
    mục đích để làm gì vậy bạn

    Leave a comment:


  • dipkevu
    replied
    uhm! thank ban!
    R2=- Vss/50uA, điện trở âm luôn hả bạn
    còn Nửa ADC có hiểu điện áp âm để xử lý xuất giá trị âm lên LCD ko z bạn
    read=read_adc();
    lcd init();
    hangcot(1,1);
    printf(hangcot," %u ",read);
    dưới đây là toàn bộ code mình viết và hình proceus sau khi dc sửa lại

    Click image for larger version

Name:	Untitled.gif
Views:	1
Size:	172.6 KB
ID:	1387516
    #include <16F877A.h>
    #device *=16 adc=10
    #include <lcd_4bit.c>
    #include <math.h>
    #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT

    #use delay(clock=20000000)
    #use fast_io(d)
    #byte porta=0x05
    #byte portd=0x08
    signed int8 read; // nhiet do am duong nen co dau

    void main()
    {
    set_tris_a(1); // thiet lap pin porta.0 lam chan xuat du lieu
    set_tris_d(0);

    // Khoi tao cho ngat ngoai
    enable_interrupts(INT_EXT);
    ext_int_edge(H_TO_L);
    enable_interrupts(GLOBAL);

    // khoi tao ADC
    setup_adc(adc_clock_internal); // thoi gian lay mau bang xung clock
    setup_adc_ports(AN0); // xac dinh chan lay tin hieu analog va dien the chuan
    set_adc_channel(0); //chon kenh bien doi ADC la kenh 0
    delay_ms(100); // tao tre 50ms


    while(TRUE)
    {
    lcd_init();
    read=read_adc();
    read =floor(read*0.488758553); //làm tròn nhiet do
    hangcot(1,1);
    printf(hienthi,"nd am duong");
    hangcot(2,2);
    printf(hienthi," %u ",read);



    }
    }

    Leave a comment:


  • quanghuy_125
    replied
    Nguyên văn bởi dipkevu Xem bài viết
    biết là vậy rồi! nhưng làm sao để đọc dc giá trị âm của lm35-->xử lý-->xuất ra LCD
    đây là hình ảnh trên proceus, mong các bác giúp đỡ!
    [ATTACH=CONFIG]76750[/ATTACH]
    Ý của bạn là đọc giá trị âm về nhiệt độ à???
    Sơ đồ bạn đưa có phần không đúng rùi R2 là phải lối với -Vss
    R2= - Vss/ 50uA
    V OUT=+1,500 mV at +150˚C
    = +250 mV at +25˚C
    = −550 mV at −55˚C

    Leave a comment:


  • duong_act
    replied
    Cộng điện áp âm với 1 điện áp dương là hằng số sau đó đưa vào ADC. Cộng có thể dùng OP-AMP.

    Leave a comment:


  • dipkevu
    replied
    biết là vậy rồi! nhưng làm sao để đọc dc giá trị âm của lm35-->xử lý-->xuất ra LCD
    đây là hình ảnh trên proceus, mong các bác giúp đỡ!
    Click image for larger version

Name:	Untitled.jpg
Views:	1
Size:	115.3 KB
ID:	1387457
    Last edited by dipkevu; 24-10-2013, 09:23.

    Leave a comment:


  • quanghuy_125
    replied
    Nguyên văn bởi dipkevu Xem bài viết
    anh có thể nói rõ hơn dc ko anh, e đang cần xử lý giá trị am ADC đọc dc để hiển thị LCD, nhưng ADC ko doc dc giá trị âm,thuật toán ntn z a? e dùng nguồn +-5 như anh nói,mong anh giúp đỡ!
    Cài đặt Vff-=-5V, Vff+=+5V ...

    Leave a comment:


  • dipkevu
    replied
    Nguyên văn bởi ThanhPhuc Xem bài viết
    Bạn nên xem lại datasheet phần AD, với Ref - khi đo điện áp âm kết quả luôn luôn =0.
    Theo mình bạn nên dùng nguồn đối xứng +-2,5V,với đầu vào AD dùng mass 0V,với đầu ra dùng mass
    -2,5V khi lập trình nên xử lý phần hiển thị điện áp âm(hiển thị dấu -).
    Chúc bạn thành công.


    anh có thể nói rõ hơn dc ko anh, e đang cần xử lý giá trị am ADC đọc dc để hiển thị LCD, nhưng ADC ko doc dc giá trị âm,thuật toán ntn z a? e dùng nguồn +-5 như anh nói,mong anh giúp đỡ!

    Leave a comment:


  • dipkevu
    replied
    anh có thể nói rõ hơn dc ko anh, e đang cần xử lý giá trị am ADC đọc dc để hiển thị LCD, nhưng ADC ko doc dc giá trị âm,thuật toán ntn z a? e dùng nguồn +-5 như anh nói,mong anh giúp đỡ!

    Leave a comment:


  • imlanglavang
    replied
    Hi chào các anh em
    mình đang làm về con 18F4550 mình có một vấn đề này cần các anh em chỉ bảo giúp
    có nghĩa là con này nó có thể đọc được adc ,nhưng mà mình có thể sử dụng con này đọc hai kênh adc riêng biệt sau đó đưa ra các kênh riêng biệt(ví dụ như là đưa ra hai cổng hiển thị lên led nhưng giá trị riêng biệt của từng cổng đó )

    Leave a comment:


  • ngocdientu
    replied
    code adc

    Nguyên văn bởi totite Xem bài viết
    Tất nhiên rùi! Nếu không thì dùng cái gì để đọc data về? Nhưng nếu bạn dùng con serial AD thì chỉ cần 2 chân thôi.
    ai cho minh xin 1 code lap trinh adc pig 18f4550 dung de thay doi time nhấp led ở port d.thank all

    Leave a comment:


  • binhdtvt44
    replied
    các bác cho em hỏi tần số lấy mẫu của ADC trong Pic có thay đổi được không, nếu thay đổi được thì phải làm như thế nào vậy ạ? Em chưa dùng Pic bao giờ mong các bác chỉ giáo, em đang cần chức năng AD này để làm trên FPGA.
    Thanks alot !

    Leave a comment:

Về tác giả

Collapse

lick Tìm hiểu thêm về lick

Bài viết mới nhất

Collapse

Đang tải...