Thông báo

Collapse
No announcement yet.

Adc

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Adc


    các pro xin chỉ giáo:
    mỗi kênh ADC có 2 thanh ghi ADCH,ADCL hay toàn bộ các kênh chỉ có 2 thanh ghi này thôi. Nếu mỗi kênh có 2 thanh ghi đó thì giả sử có các biến trở gắn vào các kênh đó thì khi thay đổi biến trở thì giá trị của nó được lưu vào các thanh ghi trên. vậy làm thế nào để gọi được giá trị của từng biến trở này. Em dùng codevision để lập trình. Em chưa rõ về ADC lắm xin mọi người giúp đỡ

  • #2
    Nguyên văn bởi dodanh Xem bài viết
    các pro xin chỉ giáo:
    mỗi kênh ADC có 2 thanh ghi ADCH,ADCL hay toàn bộ các kênh chỉ có 2 thanh ghi này thôi. Nếu mỗi kênh có 2 thanh ghi đó thì giả sử có các biến trở gắn vào các kênh đó thì khi thay đổi biến trở thì giá trị của nó được lưu vào các thanh ghi trên. vậy làm thế nào để gọi được giá trị của từng biến trở này. Em dùng codevision để lập trình. Em chưa rõ về ADC lắm xin mọi người giúp đỡ
    Mỗi lần đọc adc ta chỉ có thể đọc được trên một kênh duy nhất và giá trị adc cũng sẽ chỉ lưu vào cặp thanh ghi độc nhất vô nhị ADCH:ADCL, do vậy để đọc nhiều biến trở gắn trên nhiều kênh thì bạn phải đọc lần lượt từng kênh và lưu lần lượt nó vào các thanh ghi riêng biệt mà bạn muốn, nôm na nó như sau:
    -đọc kênh adc0 xong avr sẽ đưa ra kết quả nằm trong cặp ADCH:ADCL --> ta copy giá trị trong ADCH:ADCL sang cặp thanh ghi khác.
    -đọc kênh adc1 ....................copy giá trị trong ADCH:ADCL sang cặp thanh ghi khác nữa.
    -.........tương tự....

    chúc bạn học tốt.
    Mấy ai định nghĩa được tình yêu.
    Có gì đâu một buổi chiều.
    Kề dao lên cổ yêu hay chết .
    Gật đầu cái rụp thế là yêu.

    --------
    Apple

    Comment


    • #3
      OK! cám ơn bác Apple. Có nghĩa là khi có bất kì một biến trở thay đổi giá trị thì nó sẽ được lưu vào cặp thanh ghi ADCH, ACDL.
      Bây giờ e có bài toán như thế này mong anh chỉ cho e hướng giải quyết như thế nào:
      Điều khiển chuyển động của một loại xe theo phương pháp PWM dùng ba biến trở:
      + Biến trở đặt tốc độ
      + Biến trở tiến lùi
      + Biến trở xoay trái phải
      Đầu ra là 4 kênh PWM dùng cho 4 van thủy lực
      Đầu tiên anh nói cho e cách điều khiển cho nó đi thẳng đã
      Ban đầu đặt biến trở đặt tốc độ ở một tốc độ nhất định Vmax
      sau đó dùng biến trở tiến lùi để điều khiển tốc độ của nó. Tốc độ này chỉ cho phép trong khoảng 0<V<Vmax. khi biến trở này ở vị trí lớn nhất thì tốc độ chỉ là Vmax thôi

      Comment


      • #4
        Ko phải mỗi lần một biến trở thay đổi là nó lưu vào ADCh:ADCL, bạn cho avr đọc kênh nào thì nó mới đọc kênh đó, muốn đọc hết ta phải cho nó đọc lần lượt từng kênh.
        Bài toán của bạn, Bạn có thể nói rõ hơn ko, tại sao dk động cơ mà lại dùng van thủy lực nhỉ.
        Last edited by apple; 16-01-2009, 22:14.
        Mấy ai định nghĩa được tình yêu.
        Có gì đâu một buổi chiều.
        Kề dao lên cổ yêu hay chết .
        Gật đầu cái rụp thế là yêu.

        --------
        Apple

        Comment


        • #5
          Van thủy lực ở đây là để điều tiết lượng dầu, khi van thủy lực mở nhỏ thì lượng dầu cấp cho động cơ ít và động cơ quay chậm, van mở lớn hơn thì động cơ quay nhanh hơn. Đây là bài toán thực tế còn trong mô hình thì anh chỉ cần nói cho e cách lập trình để thay đổi được độ rộng xung khi mà ta thay đổi biến trở.

          Comment


          • #6
            Nguyên văn bởi dodanh Xem bài viết
            Van thủy lực ở đây là để điều tiết lượng dầu, khi van thủy lực mở nhỏ thì lượng dầu cấp cho động cơ ít và động cơ quay chậm, van mở lớn hơn thì động cơ quay nhanh hơn. Đây là bài toán thực tế còn trong mô hình thì anh chỉ cần nói cho e cách lập trình để thay đổi được độ rộng xung khi mà ta thay đổi biến trở.
            Chào bạn !! Xin góp chút ý kiến về bài toán của bạn .
            Giả sử 3 biết trở của bạn được đặt tên và V1,V2,V3
            V1 nối với kênh ADC0
            V2 nối với kênh ADC1
            V3 nối với kênh ADC2
            trong chương trình bạn khai báo thêm 3 biến nữa để lưu giá trị ADC của 3 biến trở : M1,M2,M3
            Định nghĩa 3 kênh điều xung (trong ATmega8):
            #define PW1 OCR1A
            #define PW2 OCR1B
            #define PW3 OCR2
            đọc giá trị lần lượt của 3 biến trở và lưu giá trị đó lại :
            M1=read_adc(0);
            M2=read_adc(1);
            M3=read_adc(2);
            // khi đó bạn sẽ thiết lập giá trị của 3 kênh điều xung tương ứng là :
            PWM1=M1;
            PWM2=M2;
            PWM3=M3;

            Như vậy là cả 3 vận tốc của bạn đều được điều chỉnh theo giá trị của biến trở mỗi khi bạn điều chỉnh
            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

            Comment


            • #7
              Ok cám ơn bạn mình sẽ thử xem thế nào có gì thì sẽ trao đổi tiếp.
              Chúc bạn và mọi người đón tết thật vui vẻ!

              Comment


              • #8
                Thay đổi độ sáng tối của đèn led


                mình muốn thay đổi độ sáng tối của đèn bằng cách thay đổi giá trị của biến trở, không biết đoạn code mình viết dưới đây có đúng không xin mọi người chỉ giáo.
                Attached Files

                Comment


                • #9
                  PWM=read_adc(0);
                  một câu lệnh trên của bạn là không cần thiết !
                  0945061338(vocam.h@gmail.com,lehanhdtk3@gmail.com)
                  ||
                  PROGRAMING(C,ASM),HARDWARE,LMD,RTC,GPRS,GPS....ALL OF VDK

                  Comment


                  • #10
                    Oh! vậy tại sao khi mình mô phỏng bằng Protues lại không được nhỉ?

                    Comment


                    • #11
                      Nguyên văn bởi dodanh Xem bài viết
                      Oh! vậy tại sao khi mình mô phỏng bằng Protues lại không được nhỉ?
                      Mô phỏng ADC hả bạn !? hay là PWM !
                      Mình mô phỏng cả 2 vẫn thấy ok mà !
                      bạn nhớ cấp nguồn vcc cho chân AREF nhé
                      0945061338(vocam.h@gmail.com,lehanhdtk3@gmail.com)
                      ||
                      PROGRAMING(C,ASM),HARDWARE,LMD,RTC,GPRS,GPS....ALL OF VDK

                      Comment


                      • #12
                        Nguyên văn bởi vo_cam Xem bài viết
                        Mô phỏng ADC hả bạn !? hay là PWM !
                        Mình mô phỏng cả 2 vẫn thấy ok mà !
                        bạn nhớ cấp nguồn vcc cho chân AREF nhé
                        Ok cám ơn mình mô phỏng được rồi
                        Khi sử dụng ADC thì 2 chân Avcc, AREF mình nối qua cuộn cảm lên nguồn và 1 tụ xuống âm nguồn có được không? hay chỉ cần nối 2 chân đó lên nguồn thôi

                        Comment


                        • #13
                          Thường thì mình chỉ nối chân AREF với nguồn 5v là mô phỏng OK!
                          0945061338(vocam.h@gmail.com,lehanhdtk3@gmail.com)
                          ||
                          PROGRAMING(C,ASM),HARDWARE,LMD,RTC,GPRS,GPS....ALL OF VDK

                          Comment


                          • #14
                            Nguyên văn bởi vo_cam Xem bài viết
                            Thường thì mình chỉ nối chân AREF với nguồn 5v là mô phỏng OK!
                            ý mình hỏi là trong thiết kế mạch cứng chứ không phải trong mô phỏng

                            Comment


                            • #15
                              trong phần cứng nối chân AREF với nguồn 5v , chân AVCC nối như bạn càng tốt còn mình thì chỉ nối một con tụ , một chân vào chân AVCC chân còn lại nối xuống mass, chạy ngon lành !
                              OK
                              0945061338(vocam.h@gmail.com,lehanhdtk3@gmail.com)
                              ||
                              PROGRAMING(C,ASM),HARDWARE,LMD,RTC,GPRS,GPS....ALL OF VDK

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X