Thông báo

Collapse
No announcement yet.

Dùng 555 để làm ADC.

Collapse
This topic is closed.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #16
    ADC đơn giản có thể sử dụng với 1 khuyếch đại thuật toán (cái này có sẵn trong 1 số VDK như 89C2051 hoặc AVRtiny - khi đó sẽ tiết kiệm được con OPAM), tụ và tranzitor. Tham khảo trong giáo trình "Kĩ Thuật VDK với AVR" của Ngô Diên Tập và các Application note của AVR.

    Xem hình phía dưới. Cách sử dụng thế này:

    Khởi động timer, kéo chân nối với tụ điện xuống đất (chân này phải không có trở treo thì mới chính xác-chẳng hạn như port 0- hoặc dùng thêm 1 tranzito ngoài) để tụ xả hết điện tích, kéo chân này lên 1, tụ sẽ được nạp điện, cho timer bắt đầu đếm.

    Nguồn dòng do tranzito tạo nên sẽ nạp điện áp cho tụ tuyến tính theo thời gian, khi áp nạp vào tụ bằng áp cần so sánh thì chân ra của KDTT đảo dấu. Dừng timer và ta có giá trị đếm tỉ lệ với điện áp vào.

    Nếu không cần chính xác lắm thì sử dụng thẳng trở kéo mà không cần qua tranzito (khi đó đường tăng áp trên tụ sẽ có dạng phi tuyến).

    Thời gian nạp của tụ phụ thuộc vào dòng nạp hoặc hằng số thời gian của mạch RC.

    Nhược điểm chính của phương pháp này là thời gian chuyển đổi lớn (muốn chính xác thì cần thời gian lớn, dùng timer ---> phụ thuộc vào tốc độ của VDK).

    Ngoài ra do không có mạch giữ và lấy mẫu (sample & hold) thời gian chuyển đổi lại dài nên không sử dụng được với các ứng dụng có điện áp thay đổi nhanh.

    Ứng dụng tốt nhất cho bài toán đo và điều khiển nhiệt độ, khi mà điện áp vào thay đổi không nhanh và không cần tần số trích mẫu lớn.

    (số liệu của các linh kiện là không đúng, cần tính toán chính xác)
    PNLab
    Mạch nạp/debug ULink2, Jlink ARM USB
    Mạch nạp AVR, PIC, 8051, MSP430 USB
    Mạch phát triển STM32, ARM9, ARM11
    more...www.pnlabvn.com

    Comment


    • #17
      Đây cũng có thể coi là 1 ADC đơn giản dùng PIC16F628A(có comparator+Vref out)

      Comment


      • #18
        Cái này có trong thiết bị điều khiển nhiệt độ phòng hơi của bọn Tàu đấy! Cần lưu ý giữa mạch RC và mạch cấp nguồn dòng.
        PNLab
        Mạch nạp/debug ULink2, Jlink ARM USB
        Mạch nạp AVR, PIC, 8051, MSP430 USB
        Mạch phát triển STM32, ARM9, ARM11
        more...www.pnlabvn.com

        Comment


        • #19
          Nguyên văn bởi thaithutrang
          Đây cũng có thể coi là 1 ADC đơn giản dùng PIC16F628A(có comparator+Vref out)
          Nè Trang! Quên không xem kĩ! Sao cái đầu Analog input nó lại cấp nguồn cho mạch RC nhỉ?
          Hay là Vref out được tăng lên bằng VDK! Mạch RC chỉ để hạn chế tốc độ biến thiên điện áp vào phải không?
          Tớ mù tịt về PIC, nhưng cái này không dùng được cho 89 vì nó không có cơ chế này.
          PNLab
          Mạch nạp/debug ULink2, Jlink ARM USB
          Mạch nạp AVR, PIC, 8051, MSP430 USB
          Mạch phát triển STM32, ARM9, ARM11
          more...www.pnlabvn.com

          Comment


          • #20
            Hi hi.. cái gì bạn cũng muốn biết vậy? PIC đó có chức năng đẩy ra Vref. DÙng timer đo quảng thờigian nạp tụ. Có thể thiết kế khác đi, đảo thành 5V--RC(comparator)---GND, Tín hiệu--->comparator mà ko cần vref cũng đc.
            Dùng 89C2051 chế độ sau cũng đc.

            Comment


            • #21
              Nguyên văn bởi thaithutrang
              Đây cũng có thể coi là 1 ADC đơn giản dùng PIC16F628A(có comparator+Vref out)
              be carefful , vì có thể bị noise, phải buffer input.

              Comment


              • #22
                Đây chỉ là những ý tưởng thôi, còn thực tế nếu thiết kế đòi hỏi độ ổn định, chính xác, tốc độ... thì cần phải bàn nhiều

                Comment


                • #23
                  Co le em chua bao gio ap dung vao thuc te san xuat.

                  Nguyên văn bởi thaithutrang
                  Một số sensor dải áp ra nó không là 0V-->a V mà là aV-bV thì dùng ADC này lại hóa hay hơn.

                  Còn với điện áp nhất thiết phải 0V--->a V thì:
                  Hi hi...kính thưa đức vua analog. Dân nữ sẽ dùng sáng tạo hơn chút.
                  Em tạo đất ảo tại +a V thì vẫn đươc chứ?

                  Em nen thuc te hon mot chut. Cam bien cong nghiep co tin hieu ra tieu chuan va co do chinh xac lap lai rat cao. Cai do cua em chi de...xem cho vui thoi.

                  Than men.
                  MUỐN ĐÀO MỘT CÁI LỖ SÂU TRƯỚC TIÊN PHẢI ĐÀO NÓ ĐỦ RỘNG.

                  Comment


                  • #24
                    Nguyên văn bởi CHIBANG
                    voltage = 26150/pulse + 2.5
                    Là công thức giữa số xung và điện áp trong bài toán trên.
                    Điện áp tỷ lệ nghịch với số xung. Muốn đo điện áp, ta khởi động 1 timer và đếm số xung cho tới khi timer tràn,và tính ra điện áp theo công thức trên.
                    Hi,
                    Tuổi cao sức yếu rồi không còn đủ sức để tranh đấu nữa, ông cha ta thường nói rằng Tuổi trẻ tài cao, quả không sai.
                    Quả thực, lần đầu đọc bài, nhìn sơ đồ tui cũng chưa hiểu lắm, mò mẫm một hồi rồi mới biết là dùng phương pháp đo độ rộng xung để tính ra điện áp. Sau đó, xem cái link mà 3T đưa ra thì đúng là như vậy. Tuy nhiên, có một chổ tui cũng chưa rõ lắm nhờ các bác giúp đỡ. Đó chính là cái hệ số (coefficient) 2092 để rồi suy ra 26150 được lấy ra từ đâu và tính toán như thế nào.
                    Các bác nào tỏ rõ xin chỉ giáo chút bởi vì đây là một mạch khá hay, nếu đưa vào áp dụng được thì rất tốt.
                    Thân ái.
                    Đường đến những ngày vinh quang không còn xa
                    Con đường chúng ta... chúng ta đã chọn.

                    Comment


                    • #25
                      Mạch này xưa như Diễm rồi! Thực chất nó là mạch VCO sau đó đếm xung thôi mà có gì đâu.
                      Cổng Games của máy tính sử dụng 1 chip 556 có 2 con 555 /1 chip để xác định vị trí biến trở trục X và Y cũng làm theo kiểu này.

                      Comment


                      • #26
                        Bạn 3T xem lại sao không thấy mạch điện nào vậy,mình có con điện trở nhiệt hình như là 10k minh phải mắc thế nào vào mạch 555 để đo nhiệt độ nhỉ ,bạn có thể nói đôi chút về phần mềm được không ,mình đinh làm đo nhiệt độ phòng nhưng adc + lm55 đắt quá???????????????/xin giúp đỡ
                        |

                        Comment


                        • #27
                          Đưa 555 để làm ứng dụng này, mình nghĩ đó là một cách để thực hành 555 thôi.

                          Trước giờ khổ sở vì ADC0809, nay tớ phát hiện ra con ADC0832 8 chân như 555 nhưng lại có 2 kênh ADC, điều khiển cũng dễ, chỉ có điều tốc độ không bằng (250kHz), nhưng rất, rất phù hợp với ứng dụng nhỏ. Rất ít người biết về con này!

                          Thêm một điều tớ băn khoăn là hình như điện áp nạp tụ vẫn còn chưa tuyến tính, (ngay cả cách dùng cổng so sánh của 89C2051), vậy nên phải có thêm một bảng tra (LUT) để chuẩn hóa tín hiệu ra nữa, vấn đề phức tạp hơn con 555 nhiều đấy.
                          Đẹp từng kilomét

                          Comment


                          • #28
                            Xài con ADC0832 quách, cũng 8 chưn như 555 nhưng đo được 2 kênh ADC, vi sai hoặc cung mas, điều khiển cũng dễ. Tui kết con này cho mấy ứng dụng nhỏ.
                            Đẹp từng kilomét

                            Comment


                            • #29
                              chao moi nguoi
                              xin han hanh lam quen mong moi nguoi chi giao

                              Comment


                              • #30
                                Mình mới đọc datasheet của thằng adc0832, quả thật là rất phù hợp với những ứng dụng nhỏ. Bạn cho biết có thể mua ở đâu và giá bao nhiêu K không? Mình ở Tp HCM

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X