3 Hz từ một tinh thể đồng hồ


7

Tôi có một động cơ bước mà góc bước là 2 độ. Tôi muốn hiển thị giây bằng cách sử dụng kim gắn vào bước này.

Tinh thể đồng hồ phân chia độc đáo để tạo ra xung 1Hz, vì vậy mỗi giây tôi có thể ra lệnh cho bước xoay xoay 3 xung CW (360 độ / 60 giây = 6 độ mỗi giây. Vì bước này tăng 2deg mỗi bước, tôi cần 3 xung như vậy) .

Bây giờ giả sử tôi muốn sử dụng từng bước để hiển thị giây một cách mượt mà hơn. Tôi sẽ cần phải bước động cơ cứ sau 1/3 giây, hoặc ở tần số 3Hz.

Tôi đang cố gắng tìm ra cách tốt nhất để làm điều đó.

Một mẹo rõ ràng là sử dụng tần số cao hơn (Tôi đang sử dụng 64Hz) và chịu đựng một số jitter. Có cách nào khác sẽ cung cấp cho tôi 3Hz chính xác trong số 32.768kHz không? (thậm chí biết rằng người này không chia hết cho người kia?)

BTW Tôi đang sử dụng MSP430, nhưng vấn đề này có thể được chuyển sang bất kỳ nền tảng nào khác.


PLL và một bộ chia tần số.
Ignacio Vazquez-Abrams

Điều gì nếu sử dụng ba tinh thể 1Hz, mỗi tinh thể dịch chuyển bằng 1/3 pha?
Vi0

Câu trả lời:


13

Bạn có thể thực hiện tỷ lệ bánh răng 3: 1 và thực hiện ước số ở 32768.

32768 = 10.923 + 10.923 + 10.922 chỉ ra một máy trạng thái đầu tiên đếm đến 10.923 lặp lại và sau đó giảm số đếm, nó sẽ chính xác cứ sau 3 giây. Lỗi tuyệt đối tồi tệ nhất bạn sẽ thấy là 31 PPM, đó là về những gì tinh thể có thể làm (tùy thuộc vào tinh thể của bạn).


11

Lấy sóng vuông 32.768 Hz và đưa nó qua bộ lọc thông dải 98 kHz để rời khỏi (chủ yếu) sóng hài thứ 3 của nó - điều này khá tầm thường. Bây giờ bạn có 3 lần 32.768 Hz mà bạn có thể chia với mạch trước đây bạn đã sử dụng để có được 3 Hz.


7

Đúng là 32768 Hz không chia cho 3 Hz, nhưng nó không bị tắt đi nhiều.

Bạn cần một giải pháp xuất hiện trực quan trơn trutrung bình chính xác theo thời gian .

Đơn giản chỉ cần tạo logic mà:

Đếm 10923 đồng hồ đầu vào và thực hiện một bước
Đếm 10923 đồng hồ đầu vào và thực hiện một bước
Đếm 10922 đồng hồ đầu vào và thực hiện một bước

và lặp lại.

Bạn sẽ cần thiết bị đo hoặc một thí nghiệm nhạy cảm để xác định rằng mỗi xung thứ 3 ngắn hơn 0,009%.


4

Giải pháp kỹ thuật số là lấy một cái gì đó giống như bộ tích lũy 8 bit và thêm 3 vào mỗi 128 xung. Bất cứ khi nào nó mang, bước động cơ. Các jitter kết quả sẽ không được chú ý và sẽ hủy bỏ dài hạn. Một bộ tích lũy dài hơn (và do đó bộ chia trước ngắn hơn) sẽ làm giảm jitter, ngắn hơn sẽ tăng nó. Bạn có thể có thể đi xuống bộ tích lũy bốn bit (và dự đoán trước năm 2048) mà không có sự khác biệt rõ rệt: sau đó sẽ nội suy bằng cách lấy 5 đồng hồ để mang theo 2 trong 3 trường hợp và 6 đồng hồ để mang theo 1 trong số 3 trường hợp.


1

Đợi xung 1 giây và thực hiện bước đầu tiên, sau đó trì hoãn 333ms trước khi thực hiện từng bước trong hai bước còn lại. bạn có thể không có được các bước chính xác bằng nhau, nhưng nó phải đủ gần để bạn không nhận thấy sự khác biệt (và tần số trung bình sẽ chính xác là 3Hz).


0

Bước này di chuyển theo các bước riêng biệt mỗi khi bạn thay đổi trạng thái trên cuộn dây, do đó, một lượng 'độ giật' nhất định là không thể tránh khỏi nếu bạn lái xe bước đó theo cách đó.

Nếu bạn vi bước động cơ, bạn có thể có được một số lượng lớn các bước trên mỗi vòng quay, tránh hoàn toàn sự tăng vọt (sẽ có một số phi tuyến của chuyển động, nhưng nó sẽ không được chú ý trừ khi kim của bạn rất, rất dài) và trở nên trơn tru chuyển động quét của kim (một chén thánh trong số một số người hâm mộ của đồng hồ). Nó cũng sẽ tránh bất kỳ rung động từ underdamping.

Nếu bạn muốn ở lại với các bước 2 °, bạn có thể thêm 0x0C vào thanh ghi 8 bit ở 64Hz và bước động cơ mỗi khi bạn mang theo.

Đây là những gì jitter trông giống như - ít hơn +/- 8 mili giây, sẽ không hiển thị:

Time = 0.328125 delta = 0.328125 Time = 0.656250 delta = 0.328125 Time = 0.984375 delta = 0.328125 Time = 1.328125 delta = 0.343750 Time = 1.656250 delta = 0.328125 Time = 1.984375 delta = 0.328125 Time = 2.328125 delta = 0.343750 Time = 2.656250 delta = 0.328125 Time = 2.984375 delta = 0.328125 Time = 3.328125 delta = 0.343750 Time = 3.656250 delta = 0.328125 Time = 3.984375 delta = 0.328125 Time = 4.328125 delta = 0.343750 Time = 4.656250 delta = 0.328125 Time = 4.984375 delta = 0.328125 Time = 5.328125 delta = 0.343750 Time = 5.656250 delta = 0.328125 Time = 5.984375 delta = 0.328125 Time = 6.328125 delta = 0.343750 Time = 6.656250 delta = 0.328125 Time = 6.984375 delta = 0.328125 Time = 7.328125 delta = 0.343750 Time = 7.656250 delta = 0.328125 Time = 7.984375 delta = 0.328125 Time = 8.328125 delta = 0.343750 Time = 8.656250 delta = 0.328125 Time = 8.984375 delta = 0.328125 Time = 9.328125 delta = 0.343750 Time = 9.656250 delta = 0.328125 Time = 9.984375 delta = 0.328125 Time = 10.328125 delta = 0.343750 Time = 10.656250 delta = 0.328125 Time = 10.984375 delta = 0.328125 Time = 11.328125 delta = 0.343750 Time = 11.656250 delta = 0.328125 Time = 11.984375 delta = 0.328125 Time = 12.328125 delta = 0.343750 Time = 12.656250 delta = 0.328125 Time = 12.984375 delta = 0.328125 Time = 13.328125 delta = 0.343750 Time = 13.656250 delta = 0.328125 Time = 13.984375 delta = 0.328125 Time = 14.328125 delta = 0.343750 Time = 14.656250 delta = 0.328125 Time = 14.984375 delta = 0.328125 Time = 15.328125 delta = 0.343750 Time = 15.656250 delta = 0.328125 Time = 15.984375 delta = 0.328125

Phương pháp tương tự có thể được sử dụng để điều khiển động cơ bước siêu nhỏ, chỉ với các bước tốt hơn như 2 ° / 16.


0

Đối với những người bạn thích phần cứng, sau đây là sơ đồ của giải pháp bộ đếm mô đun kép, nhưng không có lỗi 31PPM có thể xảy ra.

Nếu bạn muốn chơi với mạch, danh sách mạch LTspice và các tệp hỗ trợ có ở đây .

Sơ đồ dưới đây cho thấy các cài đặt trước cho đồng hồ 32768Hz, trong khi phiên bản LTspice có số đếm - và thời gian - rút ngắn đáng kể để giữ cho sim không chạy mãi, nhưng vẫn hiển thị hoạt động của bộ đếm mô-đun kép.

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.