Thông báo

Collapse
No announcement yet.

Help me. Cách tạo tần số thay đổi có độ phân giải cao

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

  • Help me. Cách tạo tần số thay đổi có độ phân giải cao

    Mình đang cần tạo tần số để điều khiển step motor thông qua driver của nó. Mình sử dụng chế độ CTC của avr để tạo tần số thay đổi (1KHz - 100KHz), nhưng khi tần số càng lên cao thì độ phân giải càng giảm, nghĩa là sự thay đổi tần số không mịn, điều này có thể gây sốc motor.
    Mọi người có ý kiến nào cho vấn đề của mình không?

  • #2
    Hic ko có cao nhân nào giúp đỡ hết. Đành đi hỏi chỗ khác thử xem.

    Comment


    • #3
      Bạn nói rõ hơn được không?
      |

      Comment


      • #4
        Trong chế độ CTC: avr sẽ count từ 0 đến giá trị trong thanh ghi OCRx =>Thay đổi trạng thái trên PIN OCx (Set, Clear, Toggle tùy mình set) => Tạo ra tần số.

        Khi thay đổi giá trị trong OCRx thì tần số ra thay đổi. Nhưng sự thay đổi tần số không được mịn.

        Ví dụ: Từ 1KHz - 30KHz: tần số tăng rất mịn, mỗi lần tăng 1Hz chẳng hạn
        còn từ 70KHz - 100KHz tần số tăng không mịn, mỗi lần tăng 10KHz chẳng hạn.

        (Chế độ PWM khác cũng vậy).

        Có cách nào khác để tạo tần số thay đổi mịn không các bạn?

        Comment


        • #5
          Mình vấn đề của bạn, tần số bằng 1/2/OCR. Chỉ có cách khắc phục là dùng timer 16 bit và cài đặt timer khác nhau theo từng quãng. Cần tần số thấp thì cho timer chạy chậm, tăng tần số đến ngưỡng nào đó thì đổi sang tốc độ cao hơn đồng thời thay đổi OCR cho tương ứng.

          Dùng exel tính toán chừng 15', thử xem
          Đã bỏ nghề về quê chăn gà...

          Comment


          • #6
            Cảm ơn bạn. Thực ra mình đã dùng 16bit (timer1) rồi và set no prescaling. Đành chịu thôi.

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X