Mạch hẹn giờ đếm ngược 6 tháng


8

Tôi cần thiết kế một mạch thời gian. Sau thời gian 6 tháng, đèn LED phải bật sáng. Đèn LED sau đó có thể được tắt khi nhấn nút và đếm ngược 6 tháng phải bắt đầu lại. Bất cứ ai có bất kỳ ý tưởng nơi tôi sẽ bắt đầu? Là một bộ đếm thời gian 555 có khả năng làm một cái gì đó trong một khoảng thời gian này hoặc tôi sẽ cần một cái gì đó khác? Mọi sự trợ giúp sẽ rất được trân trọng..

[đã thêm] nó sẽ được sử dụng như một lời nhắc để thay đổi bộ lọc nước để nó nên tắt nguồn pin nhỏ..một cái gì đó nhỏ, dễ cài đặt và với mức tiêu thụ hiện tại thấp cũng sẽ rất hữu ích cho đầu vào trước ..

led  timer  555 

7
Cái này có phải là di động không, hay nó sẽ được kết nối với nguồn cung cấp AC? Nếu vậy, bạn có thể đếm các giao cắt 60 (hoặc 50) Hz, rất chính xác trong thời gian dài.
tcrosley

1
Đừng thử sử dụng nguồn cung cấp AC - bạn không thể tin tưởng vào nguồn điện trong 6 tháng liên tục mà không thực hiện các biện pháp phi thường.
Michael Kohne

1
Tôi đã thấy ứng dụng này được sử dụng trong các bộ lọc nước để cảnh báo bạn khi bộ lọc cần được thay thế. Họ có thể chạy trong nhiều năm mà không phải thay pin nên tôi cho rằng họ có thể làm điều đó rất dễ dàng.
Kellenjb

3
@Vincent Conlon: Bạn cần độ chính xác nào? Trong ví dụ về bộ lọc nước, tôi chắc chắn độ chính xác là khủng khiếp, nhưng tôi không nghĩ có ai quan tâm nếu bạn bị cảnh báo sớm hay trễ một tuần.
Kellenjb

Câu trả lời:


8

Dựa trên câu trả lời này , tôi nghĩ rằng một chiếc 555 sẽ không hoạt động. Bạn sẽ cần một tụ điện lớn và một điện trở lớn, và độ chính xác sẽ rất tệ.

Tôi khuyên bạn nên sử dụng bộ vi điều khiển 8 bit đơn giản nhất. Bạn sẽ phải xử lý các con số một cách cẩn thận, nhưng PIC16F84A (hoặc Arduino hoặc nhiều thiết bị tương tự khác) có thể làm điều đó. Tôi có thể thiết lập bộ hẹn giờ 1 giây, sau đó đếm hết thời gian hẹn giờ 15778463, lưu trữ số đếm trong biến 32 bit. (Đối với các biến Arduino 32 bit, xem http://www.arduino.cc/en/Reference/Double )


2
Ừm ... double? Sai lầm. Bạn có nghĩa là long, hoặc tốt nhất là int32_t.
Nick T

8
À, bạn nói đúng. Thô lỗ, nhưng đúng.
pingswept

12
Ừm ... int32_t? Sai lầm. Bạn có nghĩa là uint32_t, trừ khi bạn đang mong đợi thời gian để đi ngược lại quá.
Toby Jaffey

1
@Nick trong khi về mặt kỹ thuật, hầu hết các triển khai C trên bộ điều khiển vi mô 8 bit không tuân theo khuyến mãi loại được xác định bởi ansi. Họ thường chỉ sử dụng loại lớn nhất trong tuyên bố.
Đánh dấu

1
Hãy nhớ rằng nếu không có RTC hoặc bộ tạo dao động bên ngoài, độ chính xác ở đây sẽ khá khủng khiếp, đặc biệt là trong một khoảng thời gian dài như vậy. Và đừng quên định kỳ ghi số lượng hiện tại vào EEPROM!
Nick Johnson


6

Trước hết, đó là một dự án nhỏ thú vị, nhưng thực sự bạn đang sử dụng sai công cụ. Đây là điều đã được giải quyết từ nhiều thế kỷ bằng cách sử dụng một công cụ được gọi là chương trình nghị sự.

chương trình nghị sự

Chúng ta hãy làm điều đó bằng điện tử, chỉ vì niềm vui của nó. Bạn dường như không cần độ chính xác rất cao; Sẽ không có vấn đề gì nếu bộ lọc được thay thế sớm hơn một ngày hoặc muộn hơn (một ngày trong 6 tháng là độ chính xác 0,5%). Tôi lưu ý rằng nó phải hết pin, vì vậy nó phải thực sự có năng lượng thấp.

Tôi sẽ bắt đầu với việc thay đổi các yêu cầu . Bạn muốn có đèn LED làm đèn báo, nhưng thiết bị của bạn sẽ phải xuất hiện khá nổi bật trong phòng khách nếu bạn muốn chắc chắn nhìn thấy đèn LED sáng, ngay cả khi nhấp nháy. (Hãy lưu ý rằng đèn flash có thể cần thiết để tránh hết pin trước khi đèn LED được chú ý; sau khi tất cả đèn LED có thể sáng ngay sau khi bạn đi ngủ.)
Tôi sẽ sử dụng còi thay vì đèn LED . Và để ngăn chặn tiếng chuông kêu vào giữa đêm, chúng ta sẽ cần giữ thời gian chính xác, điều này cũng sẽ cho chúng ta biết thời gian trong ngày. Điều đó có nghĩa là đã hết 555 và chúng ta phải dựa vào vi điều khiểnμ

. DCF77 ở Châu Âu và WWVB ở Bắc Mỹ thời gian phát sóng là 1 giây. Bộ vi điều khiển có thể chạy trên đồng hồ RC bên trong (không nhất thiết phải chính xác) và giữ thời gian dựa trên mã thời gian nhận được. Để tiết kiệm năng lượng, bạn có thể có bộ thu đồng hồ nguyên tử đánh thức vi điều khiển trên mỗi xung 1 giây, để bộ điều khiển có thể cập nhật thời gian và ngày, và quay trở lại chế độ ngủ. Bạn có thể lập trình vi điều khiển để đưa ra tín hiệu vào lúc 14:00 vào thứ bảy đầu tiên sau khi hết thời gian, chẳng hạn.

μ
μ

Đối với một ứng dụng đòi hỏi quá ít tương tác người dùng, vẫn có ích để có một số loại phản hồi . Bạn có thể nháy đèn LED mỗi giây một lần để cho biết bộ hẹn giờ đang chạy và nếu bạn quan tâm biến nó thành phiên bản sang trọng có thể hiển thị số ngày còn lại trên màn hình LCD hoặc LED ba chữ số.


chỉnh sửa (nhận xét của Ben)
Trước đây tôi đã sử dụng các mô đun máy thu DCF77 nhỏ này từ Conrad .

mô đun dcf77

Tôi sống ở châu Âu, do đó DCF77, cho các mô-đun tương tự WWVB (Bắc Mỹ) tồn tại.
Các kết nối chỉ đơn giản là nguồn điện (1,2V đến 15V) và 2 đầu ra DCF77, một đầu ra không đảo, một đảo ngược. Các đầu ra là bộ thu mở, do đó, với công cụ kéo phù hợp với mọi điện áp mà vi điều khiển chạy trên.


Đọc thêm:


Cách tiếp cận đẹp, nhưng có một thiếu sót to lớn khi nói đến phần cứng bạn sử dụng để nhận các chương trình phát sóng dấu thời gian.
Ben Voigt

@Ben - Đủ công bằng. Thêm vào câu trả lời của tôi.
stevenvh

Liên kết của bạn cho "các mô-đun tương tự" đã chết. Bạn có thể cung cấp một số mô hình và / hoặc cập nhật liên kết của bạn?
bcsteeve

6

Arduino (hoặc vi điều khiển khác) với IC đồng hồ thời gian thực siêu chính xác DS3231 . Khi nhấn nút, thời gian và ngày được lưu trong bộ nhớ - MCU có thể lặp lại xung quanh việc kiểm tra ngày và giờ và tắt khi sẵn sàng; hoặc khi nhấn nút, nó khởi động lại, v.v.


1
+1 RTC cho chắc chắn. DS3234 nếu bạn muốn sử dụng SPI thay vì I2C.
Craig

Đó là một con chip tuyệt vời. Hãy để nó theo dõi tất cả các đếm và thời gian tẻ nhạt cho bạn. Dễ dàng hơn nhiều so với việc đếm xung và thực hiện tất cả các chuyển đổi sang thời gian thực.
captncraig

2 ppm chắc chắn là tốt, nhưng quá mức cần thiết. Một tinh thể tiêu chuẩn 20 ppm sẽ làm ở đây: Tôi không nghĩ rằng phút chính xác để thay đổi bộ lọc nước là quan trọng (miễn là không phải vào giữa đêm).
stevenvh

4

Phần khó khăn sẽ là độ chính xác trong khoảng thời gian lớn như vậy.

Bạn có thể muốn xem xét một bộ dao động tinh thể kết hợp với một loạt các bộ đếm nhị phân. Xem 4060 biểu dữ liệu cho ví dụ.


4

Tôi nghĩ rằng bạn nên sử dụng bộ đếm thời gian 555 để định thời gian trong 16 phút và sau đó đưa nó vào một mạch đếm nào đó để phân chia nó. Một bộ đếm 14 bit sẽ tạo ra khoảng thời gian khoảng 6.06 tháng.


3
Bạn không nên sử dụng máy quay số 555 với thời gian 16 phút; tốt hơn để xếp tầng hai bộ đếm và chạy 555 ở tần số cao hơn (kHz hoặc hơn). Tốt hơn hết là không nên sử dụng máy quay số 555 nếu bạn quan tâm đến khả năng chịu đựng nhiều.
Nick T

Một CMOS 555 sẽ dễ dàng chạy trong nhiều giờ. OP dường như cho thấy độ chính xác không phải là một vấn đề.
Thomas O

Ngay cả khi độ chính xác không phải là vấn đề thì một chiếc 555 chạy trong một khoảng thời gian dài như vậy sẽ rất không chính xác đến mức biến nó thành một thời gian tùy ý. Tôi thích giải pháp MSP430 tốt hơn nhiều, giá rẻ và tinh thể được cung cấp sẽ có độ chính xác hợp lý trong khoảng thời gian cần thiết.
ttt
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.