Thông báo

Collapse
No announcement yet.

Adc

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

  • #16
    Nguyên văn bởi vo_cam Xem bài viết
    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
    OK cám ơn vo_cam nhiu

    Comment


    • #17
      Nguyên văn bởi vo_cam Xem bài viết
      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 !
      bác Vo_cam ơi!
      Em loay hoay mãi với cái hàm read_adc mà không được, vẫn cái bài thay đổi biến trở của em đấy nhưng khi nạp vào cho chip và trong cả mô phỏng nữa cũng không thấy đèm sáng.
      Khi e sử dụng câu lệnh này và sử dụng ngắt trong ADC thì lại chạy ngon lành (OCR0 = adc_data[0])
      Attached Files

      Comment


      • #18
        Nguyên văn bởi vo_cam Xem bài viết
        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 !
        như thế này thì chỉ điều xung của từng kênh riêng lẻ thôi, bài của em đầu tiên là mình đặt 1 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ó sao cho nó chỉ đc chạy ở trong khoảng 0-Vmax thôi.
        Giúp em với!
        Em không biết phải giải quyết nó thế nào cả
        Em đã đọc được giá trị của từng kênh ADC rồi nhưng không biết xử lý nó thế nào để thỏa mãn được bài toán của mình.
        Last edited by dodanh; 19-03-2009, 17:26.

        Comment


        • #19
          Mình lập trình như thế này không biết có đúng không mong các cao thủ chỉ giúp
          #define PWM1 OCR1A
          #define PWM2 OCR2
          M1= adc_data[0];
          M2= adc_data[1];
          PWM1=M1;
          PWM2=M2*M1/0xff;
          Last edited by dodanh; 21-03-2009, 09:24.

          Comment


          • #20
            Mọi người ơi giúp mình với, buồn quá!

            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