Thông báo

Collapse
No announcement yet.

Hỏi về IC chuyển tần số ra điện áp

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

  • Hỏi về IC chuyển tần số ra điện áp

    Em đang dùng AVR , cho em hỏi có con IC nào chuyển từ tần số sang điện áp mà hiện có bán ở chợ Nhật Tảo không ? Nếu có giá thì tốt quá .

    Em đang đau đầu về việc tính thời gian giữa 2 xung liên tiếp , tính toán khó quá , ai làm rồi hướng dẫn em với , dùng dùng counter và timer mà con AVR nó chạy không nổi .

  • #2
    Có con LM331, khoảng 15k.
    Imagine all the people
    Living life in peace...

    Comment


    • #3
      Về câu hỏi 2, ý bạn là chạy không nổi do thời gian giữa 2 xung dài quá hay ngắn quá vậy?
      Imagine all the people
      Living life in peace...

      Comment


      • #4
        Mình dùng AVR để đo thời gian giữa 2 xung liên tiếp .
        Mình khởi tạo timer0 với xung clock 1 MHZ . : a=a+1 /tăng biến đếm lên 1

        Mình khởi tạo ngắt ngoài , cứ mỗi lần có xung thì b=a
        a=0 /reset thời gian

        Rồi trong main: mình tính toán bằng 1.000.000 /(256xb) = tần số .

        Comment


        • #5
          Nguyên văn bởi toymaker Xem bài viết
          Có con LM331, khoảng 15k.
          CON IC của bạn là từ voltage ra tần số , trong khi mình cần con ngược lại chuyển tần số ra áp .

          Comment


          • #6
            Coi data sheet này nhé!

            Chúc thành công!

            À mà sao không dù VDK đếm tần rồi xuất ra port, các port thì dùng cầu R phân thế là xong!

            Ví dụ đơn giản nhất là 4017, 10 ngõ ra dùng cầu phân thế cho 10 mức điện áp!
            Attached Files

            Comment


            • #7
              TC9400 của MC

              Trên 4r cũng có thành viên bán con này. Không nhớ là ai, chịu khó search nhé.
              Đêm nay tớ không ngủ - ngày mai tớ ngủ bù

              Comment


              • #8
                Nguyên văn bởi hoacucvang Xem bài viết
                CON IC của bạn là từ voltage ra tần số , trong khi mình cần con ngược lại chuyển tần số ra áp .
                LM331 đổi V to F và có thể đổi cà ngược lại F to V , bạn xem kỹ phần Typical Application, có rất nhiều loại mạch.

                Còn nếu bạn muốn chuyên dụng hơn thì dùng LM2907, nhật tảo có bán, lâu rồi có hỏi hình như cũng 15-20k một em gì đó.
                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


                • #9
                  Câu hỏi 2: có thể dùng input capature đưa xung vào đảm bảo bắt rất ngon!

                  Chúc thành công!

                  Comment


                  • #10
                    Nguyên văn bởi gtvt45 Xem bài viết
                    Câu hỏi 2: có thể dùng input capature đưa xung vào đảm bảo bắt rất ngon!

                    Chúc thành công!
                    Vấn đề ở đây là động cơ tăng giảm rất nhanh và không ổn định , mình muốn hiển
                    thị giá trị ngay lập tức .
                    Chứ nếu chỉ đơn giản đếm 1 giây để tính ra RPM thì chậm mất rồi , vì trong 1s đó có lúc nó tăng nhanh rồi có lúc giảm đột ngột , không chính xác bạn ạ .
                    Bạn nào có thể giúp mình tìm thuật toán ko ?
                    Mình dùng thuật toán là mỗi khi có ngắt ngoài thì sẽ tính bao nhiêu thời gian ( tính tốc độ giữa 2 xung liên tiếp) . Ví dụ mỗi ngắt là 0.00001 giây chẳng hạn thì lập tức sẽ đổi ra tần số và xuất ra LCD . Tuy nhiên AVR lại bị treo vì không xử lý nổi .
                    Mình cần tìm 1 thuật toán xử lý tức thời .

                    Comment


                    • #11
                      Nếu nguồn xung có độ ổn định cao (ko nhiễu) thì hoàn toàn có thể dùng bộ Input capture của AVR được mà.

                      Thuật toán của bạn là tính thời gian giữa 2 xung liên tiếp rồi tính ra tần số, như vậy bạn phải viết một chương trình riêng + dùng 1 timer như vậy ta nên dùng input capture sẽ hay hơn.

                      Nên tính khoảng giới hạn của tần số xung đưa về sau đó ta chọn dao động cho AVR sao cho khi dùng Input capture đáp ứng được tần số đó.

                      Bộ input capture còn đo được cả độ rộng xung nữa cơ mà, Atmel nó làm ra bộ này thì ta nên dùng nó.
                      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


                      • #12
                        Input capature hoàn toàn dc, đếm 1 xung và hiển thị kết qả hoàn toàn ok. cái này còn hơn hẳn cái timer và counter nữa chứ! Bắt hồng ngoại giải mã còn ngon lành nữa mà, nói chi đến tốc độ động cơ!

                        Comment


                        • #13
                          Nguyên văn bởi hoacucvang Xem bài viết
                          Vấn đề ở đây là động cơ tăng giảm rất nhanh và không ổn định , mình muốn hiển
                          thị giá trị ngay lập tức .
                          Chứ nếu chỉ đơn giản đếm 1 giây để tính ra RPM thì chậm mất rồi , vì trong 1s đó có lúc nó tăng nhanh rồi có lúc giảm đột ngột , không chính xác bạn ạ .
                          Bạn nào có thể giúp mình tìm thuật toán ko ?
                          Mình dùng thuật toán là mỗi khi có ngắt ngoài thì sẽ tính bao nhiêu thời gian ( tính tốc độ giữa 2 xung liên tiếp) . Ví dụ mỗi ngắt là 0.00001 giây chẳng hạn thì lập tức sẽ đổi ra tần số và xuất ra LCD . Tuy nhiên AVR lại bị treo vì không xử lý nổi .
                          Mình cần tìm 1 thuật toán xử lý tức thời .
                          AVR xử lý còn không nổi vậy nếu xuất ra LCD liệu mắt bạn có nhìn thấy nổi k? Nếu xuất ra LCD để nhìn thì theo mình chỉ có cách là tính giá trị trung bình thôi!
                          Nỏ biết chữ mần răng ký được??!! Thôi nhé.

                          Comment


                          • #14
                            Nguyên văn bởi gtvt45 Xem bài viết
                            Input capature hoàn toàn dc, đếm 1 xung và hiển thị kết qả hoàn toàn ok. cái này còn hơn hẳn cái timer và counter nữa chứ! Bắt hồng ngoại giải mã còn ngon lành nữa mà, nói chi đến tốc độ động cơ!
                            Em đã xác định hướng đi đúng là dùng INPUT CAPTURE .
                            Mỗi lần xảy ra ngắt ở chân ICP thì ngay lập tức mình đọc cặp ICR1L và ICR1H để đọc được thời gian giá trị 16 bit .
                            Tuy nhiên sau khi đọc xong thì nó cứ cộng dồn mà không chịu reset lại =0 để đọc giá trị tiếp theo.
                            Ai đó giúp em với làm sao để reset giá trị lại =0 để đọc tiếp (không bị cộng dồn)

                            Comment


                            • #15
                              Bạn ko để ý đến cái Link mà mình đã cho từ bài viết trước:
                              Link:
                              http://dientuvietnam.net/forums/showthread.php?t=6262

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X