Thông báo

Collapse
No announcement yet.

Thiết Lập codevision Để đọc tín hiệu hình sin!!!!

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

  • Thiết Lập codevision Để đọc tín hiệu hình sin!!!!

    Mình đang cần đọc ADC để vẽ lên VB tín hiệu dạng hình sin các bạn à,nhưng mình không biết thiết lập ADC thế nào để có thể đọc được phần áp âm, vì trước giờ chỉ làm adc với điện một chiều thôi..Hic.,Mình thắc mắc nữa là nếu tín hiệu hình sin để vẽ lên chuẩn xác đúng dạng của nó thì phải lấy mẫu nhiều lần cả phần áp âm và dương nhưng VDK Atmega32 liệu nó bị chết không, áp xoay chiều của mình khoảng 1,4V....Nếu đưa vào ATmega 32 thì đưa trực tiếp áp xoay chiều vào adc luôn à....Mình đang bí phần này quá, các bạn góp ý cho mình với
    Tín hiệu của mình cần vẽ là tín hiệu đánh lửa bobine trên oto như thế này, mình đang làm đề tài về phần này...Các bạn giúp mình với..hichic
    Attached Files

  • #2
    không có ai góp ý cho mình với,,hic

    Comment


    • #3
      Mình cũng đang làm mạch đo tần số.Cũng gặp rắc rối như bạn mà không biêt giải quyết thế nào đây.Có ai giúp bọn mình không

      Comment


      • #4
        Nếu bạn muốn vẽ tín hiệu hình sin bằng cách đọc ADC thì theo mình làm như sau:
        1. Tín hiệu hình Sin của bạn cho qua cầu chỉnh lưu hai nửa chu kỳ không lấy đỉnh . Lấy tín hiệu sau chỉnh lưu đưa vào ADC.
        2. Tín hiệu hình Sin của bạn cũng đồng thời qua một mạch so sánh (dùng LM393 chẳng hạn) để tạo xung cho vào chân ngắt ngoài (VD: INT0) để phát hiện ra zero crossing.
        3. Đo ADC; lấy mẫu liên tục. phần dương thì vẽ bình thường. Phần âm lấy đối xứng.
        Chúc bạn thành công!

        Comment


        • #5
          Bạn nên làm như sau :
          + Dùng OPAMP để cộng tín hiệu sin với một áp DC , giá trị 1ap DC >= giá trị áp âm lớn nhất của tín hiệu , như vậy áp tống để DAC sẽ là áp dương
          + Sau khi chuyển đổi DAC, trừ đi phần áp DC cộng vào thì sẽ được giá trị đúng của tín hiệu , cả giá trị dương và âm
          + Chú ý áp sau khi cộng : 0 < Vin < 5V . Nếu giá trị điện áp cần đo lớn hơn điều kiện này thì phải phân áp trước khi cộng , sau DAC phải nhân ngược lại hệ số phân áp đầu vào
          Thân

          Comment


          • #6
            Nguyên văn bởi thangcftd Xem bài viết
            Nếu bạn muốn vẽ tín hiệu hình sin bằng cách đọc ADC thì theo mình làm như sau:
            1. Tín hiệu hình Sin của bạn cho qua cầu chỉnh lưu hai nửa chu kỳ không lấy đỉnh . Lấy tín hiệu sau chỉnh lưu đưa vào ADC.
            2. Tín hiệu hình Sin của bạn cũng đồng thời qua một mạch so sánh (dùng LM393 chẳng hạn) để tạo xung cho vào chân ngắt ngoài (VD: INT0) để phát hiện ra zero crossing.
            3. Đo ADC; lấy mẫu liên tục. phần dương thì vẽ bình thường. Phần âm lấy đối xứng.
            Chúc bạn thành công!
            Hi,

            Cách này không dùng được đâu nhé! Vì điện áp tổng để thông của 2 con diode trên mỗi nhánh cầu vào khoảng 2*0.6V = 1.2V, nên ở những thời điểm điện áp nhỏ hơn 1.2V, hai nhánh của cầu sẽ không thông, tức là điện áp cần đo không đi qua được mạch cầu!!!
            Với điện áp cần đo là 1.4V thì bạn có thể dùng cách offset điện áp, khoảng 2V. Bạn lưu ý phân áp cho chân VREF của AVR vào khoảng 2V để đo được mịn.
            Mà offset thì chỉ cần dùng zener hoặc trở thôi, cho đơn giản, ko cần dùng OPAMP đâu.

            Comment


            • #7
              Theo bạn mita-e nói là cộng thêm điện áp dc vào sau đó lại phải trừ ra,xem ra có vẻ không ổn cho lắm

              Nếu có dùng cầu thì mình nghĩ chỉ dùng một con điot để chỉnh lưu nửa chu kỳ thôi, qua đó sẽ vẽ được phần duơng và phần âm lấy đối xứng
              Nhưng dạng xung của mình theo mình tính toán thì để vẽ được như trên osilo thì cứ 30-50 micro s lấy dữ liệu một lần...Còn vấn đề thứ hai là bên Vb thời gian lấy mẫu của nó là 1 ms mà ông thầy dạy mình nói là đó là trên lý thuyết, còn thực tế thì khoảng 20-30 ms . Do đó dữ liệu truyền lên bị mất rất nhiều, do đó việc vẽ lên vb ko chính xác nữa..Nghe máy ông anh bảo là góp vào 1 mảng bên vb,rồi cơ cấu FIFO gi đó...Mà theo mình nghĩ thì nếu vb ko nhận đựoc dũ liệu thì làm sao gộp lai thành 1 mảng,,rồi phải xử lý dữ liệu trong mảng đó chính xác nữa chứ..Rắc rối quá
              Bạn nào có cao kiến góp ý cho mình với

              Comment


              • #8
                Nguyên văn bởi bvhoang Xem bài viết
                Hi,

                Cách này không dùng được đâu nhé! Vì điện áp tổng để thông của 2 con diode trên mỗi nhánh cầu vào khoảng 2*0.6V = 1.2V, nên ở những thời điểm điện áp nhỏ hơn 1.2V, hai nhánh của cầu sẽ không thông, tức là điện áp cần đo không đi qua được mạch cầu!!!
                Với điện áp cần đo là 1.4V thì bạn có thể dùng cách offset điện áp, khoảng 2V. Bạn lưu ý phân áp cho chân VREF của AVR vào khoảng 2V để đo được mịn.
                Mà offset thì chỉ cần dùng zener hoặc trở thôi, cho đơn giản, ko cần dùng OPAMP đâu.
                Hi!
                sorry! Mình quên không tính đến đến là chỉnh lưu bằng cầu diode sẽ bị tổn hao điện áp. Bạn có thể vẫn làm theo cách của mình nhưng phần chỉnh lưu thì dùng mạch chỉnh lưu chính xác (OPAM) hai nửa chu kỳ để khắc phục nhé.
                Chúc bạn thành công!

                Comment


                • #9
                  Ai góp y cho mình với..Mình định lấy áp xoay chiều đi qua một con điot thôi, nếu ổn thì lấy phần dưông con phầm âm lấy đối xứng và dịch đồ thị một khoảng time,liệu có đựoc ko

                  Comment


                  • #10
                    Theo Bvhoang thì mình dùng một con diot cũng không được nhỉ vì những áp nhỏ hơn 0,6V không thể đi qua được đúng không?
                    Vậy nên làm cách nào để vừa có thể chỉnh lưu nửa chu kỳ, vừa có thể cho các mức áp nhỏ hơn 0.6V và gần = 0 di qua ko các bác
                    VÀ còn về phần thời gian lấy mẫu của VB nữa,các bạn góp ý với

                    Comment


                    • #11
                      Bạn nào có mạch chỉnh lưu NỬA CHU KỲ dùng OPAM( NẾU KHÔNG CẦN ÁP ĐỐI XỨNG NHƯ DÙNG LM358 THÌ QUÁ TỐT) cho mình xin với.HIC

                      Comment


                      • #12
                        Bạn nên làm theo cách offset điện áp cho đơn giàn , cách này không phát sinh thêm sai số ( chỉ cần ồn định phần áp DC dùng offset.
                        Thí dụ bạn offset 2V, trong lúc tín hiệu là 0V thì giá trị đọc vào là 2.000V chẳng hạn, bạn trừ đi 2V offset còn lại đúng 0V của tín hiệu. Bạn hình dung ưuơng tự cho phần áp âm , thế là xong. Rất nhiều ngươi làm cách này vì đơn giản mà chính xác,

                        Comment


                        • #13
                          mình chưa dùng chức năng offset này bao giờ, bạn chỉ rõ hơn đồng thời gửi mạch với được không?
                          mình gửi lên một mạch dùng LM358 để chỉnh lưu nửa chu kỳ( Mục đích chính dùng opam mà không dùng diot là để cho các điện áp xoay chiều nhỏ dưới 0,6V di qua được mà dùng diot thì chỉ cho áp >=0,6 v xoay chiều qua thôi ). CÁC BẠN NGUYÊN LÝ CÓ ĐÚNG KO,,HỆ SỐ KĐ=1
                          Attached Files

                          Comment


                          • #14
                            1. Mạch chình lưu bạn goi đúng rồi. nó lấy bán kỳ âm tín hiệu. hệ số KD=-1
                            2.
                            Attached Files

                            Comment


                            • #15
                              Trường hợp tín hiệu cần đo là dòng xoay chiều 220V thì sao nữa mấy bác.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X