Thứ Sáu, 18 tháng 3, 2011

Làm đồng hồ số - digital clock


Với kỹ thuật hiện đại thì làm một cái đồng hồ điện tử để xem giờ chẵng có gì là khó khăn bằng cách kết hợp vi điều khiển và chip thời gian thực (real time clock ). Chính vì vậy mà đồng hồ ngày càng rẻ và bán rất nhiều ở mọi dạng khác nhau . Nhiều bạn hỏi tôi cách làm đồng hồ số như thế nào và có con chip nào chuyên dụng cho việc đó ? Thực ra chip chuyên dụng cho đồng hồ thì nhiều nhưng không được bán ở việt nam vì nhu cầu sử dụng ít nên người bán không nhập về . Bài viết này sẽ giúp các bạn hình dung ra nguyên lý của đồng hồ số , cách để làm 1 cái đồng hồ số chính xác bằng linh kiện thông dụng ở việt nam và chỉ có bạn mới có mà thôi I nguyên lý của đồng hồ số : Đồng hồ số hay còn gọi là digital clock thực chất là một mạch điện chia và hiển thị thời gian bằng led 7 đoạn từ xung nhịp thạch anh (cho đến bây giờ thì thạch anh vẫn là linh kiện tạo tần số chuẩn nhất mà kỹ thuật điện tử hiện đại có được ) cấu trúc của 1 cái đồng theo dạng vi điều khiểnNhìn qua sơ đồ khối ta thấy ở đây có các thành phần như sau - thạch anh 32.768khz - chip thời gian thực DS1307 RTC (real time clock) - Vi điều khiển PIC16F62x MCU (micro control unit) - Led 7 đoạn - transistor kéo dòng cho led và phím bấm chỉnh giờ Nguyên lý hoạt động của dạng này là chip thời gian thực chia tần số thạch anh 32.768 Khz thành các byte dữ liệu có chứa thông tin của giờ phút , giây , thứ ngày tháng năm và cả thế kỷ... nhiệm vụ của vi điều khiển là truy cập vào trong bộ nhớ của chip RTC thông qua bus I2C để lấy dữ liệu ra và hiển thị led 7 đoạn bằng các thuật toán quét led. (Quét led là đưa điện áp vào từng led 1 rồi đưa dữ liệu ra các thanh led , tất cả các thanh hiển thị của led đều nối chung trên bus dữ liệu 7 bit, muốn sáng led nào thì đưa dữ liệu ra bus đồng thời cấp nguồn riêng cho anod (kathot) của led đó ) bạn có thể làm theo cách này với rất nhiều project trên mạng được hướng dẫn từ đầu tới cuối có cả sơ đồ , soft viết bằng hợp ngữ và file hex để nạp http://www.bogdi.ro/electronics/digital%20clock/http://www.geocities.com/ted_rossin/Electronics/Pic/Pic.htmlhttp://www.mulder.franken.de/ntpdcfledclock/ http://picnote.blogspot.com/2008/11/making-digital-clock-updated.html cấu trúc của 1 cái đồng hồ theo dạng IC số rời Cách làm thông dụng nhất từ xưa cho đến nay và cả ngày ...sau mà ở trường các thầy hay bảo trò là dùng các IC đếm họ 74 để đếm từ xung nhịp ra mã BCD sau đó dùng IC giải mã BCD ra led 7 đoạn để hiển thị. Còn xung nhịp thì dùng chính ngay tần số điện lưới 50hz rồi chia ra để được 1 hz , cách này chỉ để cho các trò hiểu nguyên lý thôi chứ đồng hồ dạng này không dùng được vì quá nhiều linh kiện cồng kềnh và hiển thị giờ không chính xác do sai lệch tần số của điện lưới và không những ta mà tây cũng bày cách như vậyhttp://electronics.howstuffworks.com/gadgets/clocks-watches/digital-clock.htmhttp://my.opera.com/minhdt/albums/showpic.dml?album=363853&picture=11736256http://www.circuit-projects.com/dimg/digital-clock-based-on-sam-gordon-theory.gif (trộm nghĩ chắc các thầy cũng vào link này đây mà bigsmile ) Để khắc phục các nhược điểm đó tôi đã xử lý lại cái mạch đồng hồ chuẩn dùng IC số rời với các đặc tính như sau: - Dùng thạch anh để chia tần số cho chính xác - Dùng họ IC 40XX không dùng họ 74XX tốn điện và hay nhiễu - Dùng thẳng bộ đếm hệ 10 để đếm và hiển thị không dùng giãi mã BCD (tiết kiệm được 6 con IC) - Tạo mạch nguồn backup (đồng hồ vẫn chạy và hiển thị kể cả lúc mất điện) - Hiển thị đủ giờ phút giây và chạy đến đúng giờ thì gõ 2 tiếng chuông - Dùng 60 led chạy vòng ngoài theo giây để trang trí - và còn nhiều thứ linh tinh khác ... Bắt đầu nhé SƠ ĐỒ KHỐI DIGITAL CLOCKnhìn sơ đồ các bạn sẽ thấy có các thành phần sau: - Mạch tạo xung chuẩn 1HZ từ thạch anh (1hz là 1 xung trên 1 giây) - mạch đếm và hiển thị giây - mạch đếm và hiển thị phút - mạch đếm và hiển thị giờ - mạch reset giây - mạch reset phút - mạch reset giờ hoạt động Sau khi có được 1 giây chuẩn tôi đưa vào bộ đếm và hiển thị để đếm giây ,khi số giây đạt đến 60 tôi reset mạch đếm giây và tăng số phút lên 1 , khi số phút đến 60 tôi reset phút và tăng số giờ lên 1 và cứ thế cho đến khi số giờ là 24 tôi reset số giờ về 0 Rất đơn giản phải không ? Muốn reset giây là tăng số phút lên 1 bạn chỉ cần nối chân reset của tầng đếm giây vào chân clock up của tầng đếm phút và tương tự cho mạch đếm giờ cũng vậy Mạch tạo xung chuẩn 1HZ Sử dụng thạch anh 32.768khz và chip đếm & chia tần số CD4060 datasheet xem ở đâyhttp://www.nxp.com/acrobat_download/datasheets/HEF4060B_CNV_3.pdf Thạch anh 32,768khz là thạch anh chuyên dụng cho đồng hồ có kích thước bé xíu như ruột bút bi. Hầu như ở đâu có sự hiện diện của "anh thạch" này thì ở đó có mạch đồng hồ... sau khi chia 2^14 = 16.384 lần qua IC cd4060 ở chân số 3 ta được tần số đầu ra là 2HZ tiếp tục chia 2 bằng mạch D flip - flop cd4013 ta được 1Hz . Tuy nhiên tần số dao động của thạch anh lại phụ thuộc vào lát cắt ra nó nên dù kỹ thuật có hiện đại đến đâu thì vẫn có sai số do vậy tôi đã dùng thêm trở và tụ vi chỉnh để tạo mạch cộng hưởng bổ trợ ở chân thạch anhmodul rời 1HZ chuẩn dùng linh kiện dánMạch đếm và hiển thị giây , phút IC đếm 10 và hiển thị trực tiếp led 7 đoạn họ cmos cd40110 là sự lựa chọn tốt nhất cho mạch này cd 40110 vừa cho phép bạn đếm lên , đếm xuống đầy đủ số 6 và số 9 đồng thời chốt giá trị hiển thị - tương đương với 2 con 74ls90 và 74247 ! sơ đồ cho mạch đếm giây như sau: (mạch đếm phút lắp tương tự chỉ có điều đầu ra của mạch đếm giây đưa vào đầu vào clock up của mạch đếm phút )mạch đếm và hiển thị giờmạch reset giây và phút : nếu hai IC cd40110 ghép tầng với nhau như trên thì ở hàng đơn vị tức là led s và led m sẽ quay về 0 khi đếm đến 9 còn 2 led ở hàng chục tức là 10s và 10m thì khi đạt đến 6 là phải được reset ngay (60s và 60m ) vì vậy ta chỉ cần "rình" lúc led 10s đến số 6 và led 10m đến số 6 là reset trạng thái trên thanh led 7 đoạn và mạch "rình cô sáu" như sau:hình trên cho các bạn thấy trạng thái của các thanh led 7 đoạn tương ứng với các số từ 1 - 6 . như ta thấy lúc số 6 sáng lên thì trạng thái phân biệt với các số khác ở hai thanh b và e . Vì b ở logic "0" nên tôi cho qua cổng đảo thành 1 rồi kết hợp với thanh e đang ở logic "1" bằng cổng and kết quả đầu ra là 1 xung reset khi mạch đếm giây và đếm phút đến 60 cổng đảo bạn có thể lấy IC CD4069 , còn and thì lấy CD4081 Tương tự lúc thời gian đếm đến 24h thì ta phải reset mạch đếm giờ về 0 . Mạch "rình" cô hai và chú tư (24) có sơ đồ như sau :Xét led 7 đoạn h thì trạng thái số 4 sẽ được lập lại hai lần , đó là khi mạch giờ hiển thị 14 giờ và 24 giờ vì vậy chỉ cần tổ hợp với led 10h khi hiển thị số 2 nữa là ta có xung reset khi mạch giờ hiển thị 24 Rất đơn giản phải không ? ghép nối các mạch điện lại với nhau ta đã tạo ra 1 cái đồng hồ dùng thạch anh để chia tần số cực chuẩn vẽ mạch trong orcad loằng ngoằng một hồi được cái mạch in như sau: mặt bottommạch in được đi gọn vừa vặn kích thước với 6 led 7 đoạn . Led được hàn mặt trước và IC dán đằng sau mặt toplắp linh kiệntrong mạch bạn thấy có 2 nút bấm dùng để chỉnh giờ và phút . Để chỉnh được giờ và phút của mạch này thì bạn chỉ cần tạo 1 xung clock đưa vào đường clock up của mạch đếm giờ (phút ) đơn giản thì chỉ cần 1 công tắc nút ấn , 1 trở và 1 tụnếu xịn hơn nữa bạn có thể thêm 1 cổng and để tránh hiện tượng rung phímvới mạch này nút ấn sẽ chuyển mức từ thấp lên cao sẽ cho phép clock đi qua cổng and để chỉnh giờ , phần dao động từ 1 - 8HZ lấy từ mạch tạo 1 HZ chuẩn phía trên cắm điện test thửOK đồng hồ đã chạy ngon tuy nhiên chưa đẹp mắt lắm , thiết kế thêm 1 mạch hiển thị 60 led chạy bao quanh cho thêm phần sinh động. mạch 60 led có sơ đồ như sau:IC1 Và IC2 là CD4017 - IC đếm hệ 10 , 60 led lắp kiểu ma trận hàng cột IC1 nhận clock đầu vào và kéo hàng , hết một hàng thì đưa ra chân count 1 xung clock làm cho đầu ra IC2 nhảy qua phải 1 cột, với cách điều khiển như thế thì sau 60 xung clock (tương ứng với 1 phút) sẽ quét hết 60 led , trạng thái ở đầu ra của IC2 là mức cao do đó để led có thể sáng được tôi dùng 6 cổng đảo đệm đầu ra dàn trải 60 led trên một vòng tròn trong orcad như sau:vẽ mạch in và ăn mònkhoan lỗgắn hai thứ với nhau - đồng hồ ở giữa và 60 led chạy xung quanh đợi tý làm ảnh gif chạy cho phê, bonus trước cái ảnh tổng thểMạch gõ chuông khi chạy đúng giờ Khi chạy đến giờ chính là lúc mạch reset phút đếm đến 60 và tạo 1 xung reset vào mạch hiển thị giờ để mạch hiển thị hai số phút là 00. Ta lấy chính xung reset này đưa vào mạch đơn ổn (monostable) để tạo thời gian 2 giây, tổ hợp với xung clock 1hz ta được 2 xung vuông ở đầu ra mỗi khi đồng hồ đến giờmạch đơn ổn dùng IC NE555 có dạng như sau: khi có 1 xung vào (ở đây là xung reset phút) chân triger của 555 mắc theo mạch đơn ổn thì đầu ra của IC sẽ cho ra một xung vuông có độ dài T = 1,1 RxCVậy là với cách tổ hợp trên ta đã có hai xung điện áp được xuất ra khi đồng hồ chỉ đúng giờ ,nếu lấy 2 xung này đưa vào loa thì bạn chỉ có thể nghe hai tiếng "bụp, bụp" phát ra , vậy để tạo hai tiếng chuông " tinh tinh " trong trẻo thì phải làm thế nào? Ơ - rê - ka ! Bạn đã bao giờ quan sát cái ổ cứng được tháo ra chưa? bên trong nó có rất nhiều thứ có thể nghịchnày nhé : - 1 động cơ step chạy 7200vòng/ phút cực êm - 2 thỏi nam châm công nghệ siêu cao cho lực hút cực mạnh - rất nhiều đĩa quang từ với bề mặt sáng như pha lê ! (cái này chị em hay lấy để soi gương đây ) - và mạch điện với nhiều chip dán cực hay ... nhưng cái chúng ta quan tâm là cái đầu từ của nó , đầu từ được gắn lên 1 cần điều khiển và khi có tín hiệu ghi, đọc từ MCU thì cái cần này sẽ di chuyển ra vào các cung từ (sector). Sở dĩ nó di chuyển được là ở đuôi của nó có gắn 1 cuộn dây và đặt trong từ trường cực mạnh của 2 nam châm. Khi cho dòng điện chạy vào cuộn dây đặt trong từ trường này thì "theo qui tắc cái đinh ốc ở hai đầu cuộn dây sẽ xuất hiện từ trường có chiều vào nam ra bắc " - Định luật Maxell Vật lý lớp 9... Từ trường được sinh ra trong cuộn dây sẽ tương tác với từ trường của nam châm vĩnh cửu theo kiểu cùng cực thì đẩy nhau và ngược cực sẽ hút nhau. Kết quả là cuộn dây gắn đầu từ sẽ chạy ra chạy vào khi ta cho xung điện vào , nếu thay chổ đầu từ bằng 1 cái đinh ốc thì ta sẽ có 1 cái "búa" bằng điện để gõ vào cái chuông đồng mà ta treo sau nó tháo cái đầu từ cùng tổ hợp nam châm ra và gắn vào mặt đồng hồ , ăn cắp quả chuông của chú bán kem nữa là được cái chuông điện cứ đến giờ nó gõ 2 tiếng tinh tinh ...Mạch nguồn cho đồng hồ Để cho đồng hồ luôn hoạt động thì nguồn điện cấp cho đồng hồ phải liên tục và ổn định . Trong các mạch đồng hồ dùng chip thời gian thực luôn có 1 viên pin cmos nhỏ để nuôi cho mạch điện bên trong và viên pin này có dung lượng rất nhỏ nên chỉ dùng để đếm thời gian chứ không đủ để thắp sáng led. Những mạch đồng hồ này khi mất điện thì thời gian vẫn được đếm nhưng không hiển thị. Ở VN do điều kiện điện đóm thiếu thốn nhiều khi mất điện cả ngày nên để đồng hồ vẫn chạy được tôi đã sử dụng 1 viên pin lithium - Ion 3.6V/1020mAh (pin điện thoại Nokia BL5C) Chuyển mạch nguồn nuôi giữa điện lưới và pin có sơ đồ như sau:-Điện áp xoay chiều 9V từ biến áp đưa vào J2 qua diode cầu D2 và c8 để chỉnh lưu lọc thành 1 chiều. Dùng IC ổn áp LM7805 để ổn định ra điện áp 5 Volt . Nguồn 5 volt được đưa vào rơle làm chân 3 nối vào chân 5 cấp 5 volt tới đầu ra , một phần điện áp này qua trở R10 và D3 để nạp cho pin (trên pin bl5C đã có mạch bảo vệ tự cắt nguồn nạp lúc vượt quá 4,2 volt) -Lúc mất điện do không còn nguồn cấp cho rơle nên chân 3 chuyển mạch xuống nối chân 4 cấp nguồn pin ra nuôi cho mạch, với thiết kế này đầu ra nuôi cho mạch luôn được duy trì và đồng hồ vẫn chạy đều đặn cả khi mất điện ! Chúc các bạn thành công với chiếc đồng hồ đơn giản này !Download sơ đồ , mạch in , sắp xếp linh kiện tại đây------------------------------------------------------------------- dành cho quảng cáo Bạn đã quá nhàm chán với những chiếc đồng hồ dùng led 7 đoạn bé tý của trung quốc ? Bạn muốn có một món quà tặng bạn bè , người thân nhân dịp sinh nhật , cưới hỏi , khai trương? và đây! he he Đồng hồ dùng 186 led đơn kích thước 32cm x 32cm thích hợp cho phòng khách , quán cafe , nhà hàng ... tên gọi: Đồng hồ led - MDTledclock (tiếng anh cho nó oai )sản phẩm được làm thủ công (hand made) 100% sử dụng mặt meka đen bóng acrylic và led siêu sáng 5mmmade in vietnam !Đảm bảo với MDT Led clock bạn không cần đèn ngủ vẫn ...không ngủ được ! Hãy gọi ngay để có giá tốt nhất 0904250638 Bạn muốn tự mình DIY sản phẩm này? OK modul điều khiển đồng hồ kèm hướng dẫn lắp ráp đã sẳn sàngmặt meka với 186 led gắn sẳn cực đẹpcall ngay để biết thêm chi tiết : 0904250638 (no sms) have fun !

7 nhận xét:

LuanDK nói...

chào bạn. mình rất thích cái mạch của bạn. bạn có thể cho mình số liệu của mạch được không. chứ file mô phỏng của bạn mình tải về mà đọc k được. cám ơn bạn nhé

thetruong nói...

em chào anh!
anh ơi,em đang học trong học viện Hải Quân không có điều kiện như sinh viên bên ngoài,em muốn làm cái đồng hồ 186 led đơn,anh có thể giúp em được ko?
nếu được thì anh cho em xin sơ đồ nguyên lý và code chương trình nhé!
email của em là : mattroitrongem_hd5590@yahoo.com
cảm ơn anh nhiều!!!

nhatrangart nói...

bạn cho mình xin file đi mạch đẹp quá, thanks bạn
đây là mail của mình: xmen9999dk@yahoo.com

Tvd nói...

Chào anh. A có thể gửi file cho e được không Mail: tvd.az.2912@gmail.com Lần trước e có gọi điện cho a rồi đấy :)
Cảm ơn anh nhiều ^^!
Thân !

minhdt nói...

các bạn tải về rồi đổi đuôi thành .rar và giải nén , pass là minhdt.info

nguyen thanh nói...

anh oi.file nay phan mem nao doc dc z a.e download ve ma doc k dc

Vinh nói...

Anh Minh ơi, mấy file a cho down sử dụng chương trình gì để xem vậy
Tôi thử Orcad, Protues, Egle bản mới nhất vẫn không đọc được mấy file a gửi
Hay a chuyển mấy file đó sang pdf để bà con tiện theo dõi
Thanks