Thông báo

Collapse
No announcement yet.

Thu thập số liệu với AVR

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

  • Thu thập số liệu với AVR

    Em đang làm cái mạch để thử với AVR (mega8535) với mục đích như sau:
    - Lấy số liệu là điện áp lần lượt từ 8 kênh của AD (portA). sau đó hiển thị lên led 7 thanh.
    - Không dùng con 74LS47.
    - Em mới học vi điều khiển và tìm hiểu AVR nên không biết cách thức làm công việc trên như thế nào.
    - Nhờ các bác đã làm quen rồi hướng dẫn em cái( các bước để làm được việc trên)
    - Nếu như bác nào gửi cho em code (bằng C thì càng tốt). Em đã loay hoay nhiều nhưng cảm thấy bí lắm.
    - Em gửi cái mạch lên để các bác giúp em nhé (có gì sai chỉ giúp em với), mạch nạp em đã có và thử ok rồi!!!!!!!!
    Cảm ơn các bác nhiều!!!!!!!!1
    3
    option1
    100.00%
    3
    option2
    0.00%
    0
    Last edited by hugo_hut; 31-05-2007, 22:30.

  • #2
    Treo con trở 10K từ chân RST lên nguồn rồi check tiếp nhé

    Comment


    • #3
      cho hỏi cái, bạn lấy Vref cho ADC theo chân nào, nếu theo AREF thì phải cấp điện áp chuẩn vào chân AREF chứ.
      Nguy hiểm của tuổi già là cháy nổ gì chả có phản ứng!

      Comment


      • #4
        Cac bac cho em hoi chut. em muon thu thap du lieu qua cong IA cua con ATmega16L can chu y den van de gi nhat ah

        Comment


        • #5
          mạch của bạn cơ bản như thế cũng được rồi, có điều phải chỉnh sửa thì mới hoạt động đc. Điện áp chuẩn bạn cấp vào chân nào mà chẳng thấy đâu thì làm sao nó chạy ổn định được. Còn nếu là mình thì mình sẽ dùng IC giải mã 7447 (5000d) lắp mạch ko phức tạp mấy lại dễ lập trình, tiết kiệm chân và dòng cho qua cũng tạm ổn. Đảm bảo led sáng tốt
          Nếu tôi chết đi, hãy chôn tôi với R,L,C...

          Bùi Đức Thọ
          (ductho0409@gmail.com)

          Comment


          • #6
            Nhìu cao nhân trong này wá

            Nguyên văn bởi phd31183 Xem bài viết
            cho hỏi cái, bạn lấy Vref cho ADC theo chân nào, nếu theo AREF thì phải cấp điện áp chuẩn vào chân AREF chứ.
            Cái mạch này là lấy internal Vref nên AREF nối với tụ 104 là được roài.
            Nguyên văn bởi atmega8 Xem bài viết
            mạch của bạn cơ bản như thế cũng được rồi, có điều phải chỉnh sửa thì mới hoạt động đc. Điện áp chuẩn bạn cấp vào chân nào mà chẳng thấy đâu thì làm sao nó chạy ổn định được. Còn nếu là mình thì mình sẽ dùng IC giải mã 7447 (5000d) lắp mạch ko phức tạp mấy lại dễ lập trình, tiết kiệm chân và dòng cho qua cũng tạm ổn. Đảm bảo led sáng tốt
            Tại sao lại phải tốn thêm 5k cho một cái mạch đơn giản như thế này nhỉ? Mà có tốn thêm thì phần mềm cũng có đơn giản đi mấy đâu?
            AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
            Xem thêm tại Online Store ---> Click here
            Mob: 0982.083.106

            Comment


            • #7
              Các bạn chú ý là lấy Vref " nội " thì không ổn đâu nhé.
              tình trạng 7805 lởm khởm là nguyên nhân dẫn đến sai và nhảy số . Ngoài ra không nói đến khi lập trình xử lý sẽ phát sinh nhiễu tăng giảm nguồn VREF nếu gặp những cái vòng hoặc giải thuật không tốt.

              Sử dụng Vref nội chỉ là bất đắc dĩ thôi . Nếu có điều kiện hoặc làm thêm mạch vref ở ngoài , có thêm điện trở tinh chỉnh vref thì càng tốt.

              -- Vref là giá trị mẫu để làm mốc chuẩn so sánh , bạn có thể lấy giá trị bất kì chứ không cứ .
              Tốt nhất là nên lấy giá trị = số lần của mức ADC ta sẽ dễ tính toán.

              VD : lấy Vref = 2,55V hay 2,56V ==> với ADC 8 bit thì được 2,56/ 256 =
              0,01V = 10mV 1 mức .

              ==> kết quả (V): = số ADC x 0,01

              ( Cái này thì dễ và cơ bản với những người đã học ADC rồi - không bàn )

              --- Các đầu vào chỉ đọc mức tối đa 5V . 256 mức nếu ADC 8 bit . Độ phân giải cao hơn khi ADC 10 bit ... 12bit ...v.v.
              Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

              Comment


              • #8
                Cái Vref nội dùng cũng được nhưng khi dùng thì cho mcu vào chế độ sleep để lấy giá trị AD chính xác hơn !
                Mạch nạp Little Programmer
                MSC-51,AVR,EEPROM ... etc

                Site Fukusei shop :

                Comment


                • #9
                  Nguyên văn bởi queduong Xem bài viết
                  Các bạn chú ý là lấy Vref " nội " thì không ổn đâu nhé.
                  tình trạng 7805 lởm khởm là nguyên nhân dẫn đến sai và nhảy số . Ngoài ra không nói đến khi lập trình xử lý sẽ phát sinh nhiễu tăng giảm nguồn VREF nếu gặp những cái vòng hoặc giải thuật không tốt.

                  Sử dụng Vref nội chỉ là bất đắc dĩ thôi . Nếu có điều kiện hoặc làm thêm mạch vref ở ngoài , có thêm điện trở tinh chỉnh vref thì càng tốt.
                  Dĩ nhiên là dùng Vref chuyên dụng thì tốt hơn rồi. Nhưng tôi nghĩ cái internal Vref 2.56V của AVR cũng tốt chứ. Còn cái AVCC thì có lẽ bị ảnh hưởng bởi nguồn cung cấp như bác nói.
                  Nguyên văn bởi phucthinhel Xem bài viết
                  Cái Vref nội dùng cũng được nhưng khi dùng thì cho mcu vào chế độ sleep để lấy giá trị AD chính xác hơn !
                  Cái này thì trong phần ADC Noise Canceller của datasheet nói rất rõ rồi. Nếu lập trình bằng Code Vision thì có cả module cho nó luôn.
                  AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
                  Xem thêm tại Online Store ---> Click here
                  Mob: 0982.083.106

                  Comment


                  • #10
                    Bon chen phát. Tôi đã làm với ADC của Atmega16, với 2 kênh vào, 1kênh đo nhiệt độ từ 0 đến 100 độ C hiển thị trên LED 7 thanh, 1 kênh đo ánh sáng hiển thị giá trị trên LED 7 thanh theo lux, dùng Vref nội, chạy rất ổn định.Nói chung chỉ phụ thuộc sự ổn định của tín hiệu đầu vào thôi.Cái quan trọng là lập trình thế nào thôi.
                    Để dùng 8 kênh bạn phải thiết lập trong thanh ghi ADCMUX.
                    Đặt chế độ ngắt khi ADC chuyển đổi xong.
                    kiểm tra từng bit trong thanh ghi adcmux để chuyển đến chương trình phục vụ ngắt hợp lý(tức là nếu là kênh 1 thì chuyển đến chương trình phục vụ ngắt của kênh 1...)
                    Nếu ko dùng 7447 thì bạn nối trực tiếp 8 chân(1 dấu chấm) của 2 led 7 thanh với một cổng nào đó(trừ A). Rồi lập trình đưa dữ liệu thay cho con 7447 ví dụ hiện số 8 bạn đưa dữ liệu 11111110 (tùy theo led của bạn là anode hay catot chung).Nhưng tôi nghĩ bạn nên dùng giải mã thì hơn vừa tiết kiệm chân, vừa khó lập trình hơn 1 chút ^_^
                    Sao tôi không thấy mạch của bác.Chắc là thành viên mới nên ko dc xem
                    |

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    Đang tải...
                    X