Mục lục:
- Bước 1: Bước 1: Sơ đồ
- Bước 2: Bước 2: Mẫu Breadboard
- Bước 3: Bước 3: Xây dựng cuối cùng
- Bước 4: Bước 4: Tạo một ổ cắm cho màn hình và đưa nó vào chân
- Bước 5: Bước 5: Kiểm tra dây bảng mạch và chuẩn bị hiệu chỉnh
- Bước 6: Bước 6: Hiệu chỉnh mạch
- Bước 7: Bước 7: Chương trình Arduino
- Bước 8: Bước 8: Ưu đãi PCBWay
Video: Đồng hồ Arduino 60Hz: 8 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Đồng hồ kỹ thuật số dựa trên Arduino này được đồng bộ hóa bởi dòng điện 60Hz. Nó có một màn hình hiển thị 4 chữ số 7 phân đoạn anode chung đơn giản và rẻ tiền, hiển thị giờ và phút. Nó sử dụng một bộ dò chéo để phát hiện khi nào sóng hình sin 60Hz đi qua điểm điện áp 0 và tạo ra sóng vuông 60 Hz.
Trong khoảng thời gian ngắn, tần số của sóng sin đến từ đường dây điện có thể thay đổi rất ít do tải, nhưng trong thời gian dài, tần số trung bình rất chính xác đến 60Hz. Chúng tôi có thể tận dụng điều này để lấy nguồn thời gian để đồng bộ hóa đồng hồ của chúng tôi.
Bước 1: Bước 1: Sơ đồ
Có hai phiên bản của mạch tùy thuộc vào việc bạn muốn sử dụng máy biến áp có vòi ở giữa hay không có vòi, trong cả hai trường hợp, hoạt động của mạch gần như giống hệt nhau. Đối với bản dựng này, tôi đã sử dụng bộ chuyển đổi âm tường (không có vòi ở giữa) đầu ra 12V AC. Tôi sẽ sử dụng thiết kế này (Sơ đồ mạch Digital Clock1) cho phần mô tả mạch. Lưu ý rằng điều quan trọng là sử dụng bộ chuyển đổi gắn tường đầu ra 12V AC chứ không phải 12V DC để chúng ta có thể chạm vào sóng sin AC để xác định thời gian. Bạn có thể cũng có thể sử dụng một máy biến áp đầu ra 9V AC, loại bỏ R19 và làm cho nó hoạt động, nhưng 12V rất phổ biến có sẵn. Đây là cách mạch hoạt động:
120V AC ở 60Hz được chuyển đổi thành 12V AC bằng máy biến áp TR1. Điều này được đưa đến diode D4 và được chỉnh lưu để chỉ có điện áp + ve được cấp đến và được làm mịn đến xấp xỉ DC với gợn sóng, bởi tụ điện C3. Điện áp trên C3 được cấp cho ổn áp 7805 (U6) qua điện trở R19. R19 được sử dụng để giảm điện áp trên C3 mà trong trường hợp của tôi được đo ở mức xấp xỉ 15VDC. Điều này có thể được điều chỉnh bởi 7805 nhưng với mức đầu vào này, 7805 phải giảm khoảng 10VDC và kết quả là khá nóng. Bằng cách sử dụng R19 để giảm điện áp xuống khoảng 10VDC, chúng tôi ngăn U6 nóng lên quá nhiều. Vì vậy, đây không phải là một kỹ thuật chuyển đổi điện năng hiệu quả, nhưng nó hoạt động cho các mục đích của chúng tôi. LƯU Ý: sử dụng ít nhất điện trở 1 / 2W trở lên ở đây. Mạch vẽ khoảng 55 ma, do đó công suất tiêu tán trong R19 là khoảng 1 / 3W dựa trên P = I ** 2 * R hoặc P = 55ma x 55ma x 120 ohms = 0,363W. Tiếp theo U6 xuất ra 5V DC thuần túy với C4 và C5 trên đầu ra để lọc bất kỳ nhiễu nào trên đường nguồn 5V. Nguồn 5V DC này cấp nguồn cho tất cả các IC trên bo mạch. Từ TR1, chúng tôi cũng lấy một mẫu tín hiệu AC chưa lọc và đưa nó vào chiết áp RV1 được sử dụng để điều chỉnh mức được cấp cho bộ dò chéo. R18 và R17 tạo thành một bộ chia điện áp để giảm hơn nữa mức điện áp AC đi vào. Hãy nhớ rằng điều này đến ở 12V AC và chúng tôi cần giảm nó xuống dưới 5 V để nó sẽ hoạt động với bộ phát hiện chéo của chúng tôi mà chỉ được cung cấp bởi 5VDC. R15 và R16 cung cấp giới hạn dòng điện trong khi D1 và D2 nhằm ngăn chặn việc sử dụng quá mức op-amp U5. Trong cấu hình hiển thị đầu ra của U5 trên chân 1 sẽ luân phiên giữa + 5V và 0V mỗi khi sóng sin đến thay đổi từ dương sang âm. Điều này tạo ra một sóng vuông 60 Hz được cấp cho bộ vi điều khiển, U4. Chương trình được tải trên U4 sau đó sử dụng sóng vuông 60Hz này để tăng đồng hồ mỗi phút và giờ. Làm thế nào điều này được thực hiện sẽ được thảo luận trong phần về chương trình phần mềm và trong phần bình luận phần mềm. U7 thanh ghi dịch chuyển 74HC595 được sử dụng vì chúng tôi có một số chân số hạn chế trên bộ vi xử lý, vì vậy nó được sử dụng để mở rộng số lượng đầu ra. Chúng tôi sử dụng 4 chân kỹ thuật số trên bộ vi xử lý nhưng có thể điều khiển 7 phân đoạn trên màn hình thông qua 74HC595. Điều này được thực hiện bằng cách chuyển các mẫu bit xác định trước, được lưu trữ trong bộ vi điều khiển và đại diện cho từng chữ số sẽ được hiển thị, vào thanh ghi dịch chuyển. Màn hình được sử dụng ở đây là cực dương chung, vì vậy chúng tôi cần đảo các mức tín hiệu ra khỏi 74HC595 để bật một đoạn. Khi một đoạn được bật, tín hiệu đi ra từ chân đầu ra 74HC595 sẽ ở mức + 5V, nhưng chúng ta cần chân mà nó đang cấp trên màn hình ở mức 0V để bật đoạn hiển thị đó. Vì vậy, để làm được điều này, chúng ta cần bộ nghịch lưu hex U2 và U3. Thật không may, một IC biến tần chỉ có thể xử lý 6 nghịch lưu nên chúng ta cần hai trong số chúng mặc dù ở cái thứ hai, chúng ta chỉ sử dụng một trong 6 cổng. Lãng phí một cách đáng tiếc. Bạn có thể hỏi tại sao không sử dụng màn hình loại cathode chung ở đây và loại bỏ U2 và U3? Câu trả lời là bạn có thể, tôi chỉ tình cờ có một loại cực dương phổ biến trong nguồn cung cấp linh kiện của tôi. Nếu bạn có hoặc muốn sử dụng màn hình loại catốt thông thường, chỉ cần loại bỏ U2 và U3 và quấn lại Q1 - Q4 để các bộ thu bán dẫn được kết nối với các chân hiển thị và bộ phát bóng bán dẫn được nối với đất. Q1 - Q4 điều khiển màn hình nào trong số 4 màn hình 7 đoạn đang hoạt động. Điều này được điều khiển bởi bộ vi điều khiển, thông qua các chân kết nối với đế của các bóng bán dẫn Q1 - Q4. Các nút tăng và nút đặt sẽ được sử dụng để đặt giờ đồng hồ chính xác theo cách thủ công khi thực sự sử dụng đồng hồ. Khi nhấn nút Đặt một khi nút Tăng có thể được sử dụng để chuyển qua các giờ hiển thị trên màn hình. Khi nhấn lại nút Đặt, nút tăng có thể được sử dụng để chuyển qua số phút được hiển thị trên màn hình. Khi nhấn nút Đặt lần thứ ba, thời gian sẽ được đặt. R13 và R14 kéo các chân vi điều khiển liên kết với các nút này xuống thấp khi không sử dụng. Lưu ý rằng ở đây chúng tôi đã loại bỏ U4 (Atmega328p) khỏi bảng nguyên mẫu Arduino UNO điển hình và đưa nó lên bảng nguyên mẫu với phần còn lại của mạch của chúng tôi. Để làm được điều này, chúng ta phải cung cấp tối thiểu tinh thể X1 và các tụ điện C1 và C2 để cung cấp nguồn xung nhịp cho vi điều khiển, buộc chân 1, chân reset, cao và cung cấp nguồn 5VDC.
Bước 2: Bước 2: Mẫu Breadboard
Bất kể bạn đang xây dựng mạch chính xác như được hiển thị trong sơ đồ mạch hay có thể sử dụng một máy biến áp, loại màn hình hoặc các thành phần khác hơi khác, bạn nên phân bổ mạch trước để đảm bảo nó hoạt động và bạn hiểu cách hoạt động của nó.
Trong các hình ảnh, bạn có thể thấy rằng toàn bộ đường dẫn yêu cầu một vài bo mạch cũng như một bo mạch Arduino Uno. Vì vậy, để lập trình vi điều khiển hoặc thử nghiệm hoặc thay đổi phần mềm, ban đầu bạn sẽ cần IC vi điều khiển trên bo mạch UNO để bạn có thể kết nối cáp USB với nó và máy tính của bạn để tải lên chương trình hoặc thực hiện các thay đổi phần mềm. Sau khi đồng hồ hoạt động trên breadboard và đã lập trình bộ vi điều khiển, bạn có thể rút phích cắm và cắm nó vào ổ cắm trên đồng hồ cố định cuối cùng của bạn trên bảng nguyên mẫu. Hãy đảm bảo tuân thủ các biện pháp phòng ngừa chống tĩnh điện khi bạn thực hiện việc này. Sử dụng dây đeo cổ tay chống tĩnh điện trong khi xử lý bộ vi xử lý.
Bước 3: Bước 3: Xây dựng cuối cùng
Mạch được xây dựng trên một mảnh bảng nguyên mẫu và điểm nối dây đến điểm bằng cách sử dụng dây quấn dây AWG # 30. Nó cung cấp một kết quả khó khăn và đáng tin cậy. Vì máy biến áp của tôi có một phích cắm 5mm đực ở đầu cáp, tôi đã gắn ổ cắm cái tương ứng ở mặt sau của bảng bằng cách cắt, uốn và khoan một đoạn nhôm phẳng rộng 1/2 để tùy chỉnh. Giá đỡ và sau đó bắt vít vào bảng bằng 4-40 đai ốc và bu lông nhỏ. Bạn chỉ cần cắt đầu nối và hàn các dây điện còn lại vào bảng và tiết kiệm cho mình khoảng 20 phút làm việc, nhưng tôi không muốn máy biến áp được gắn vĩnh viễn lên bảng.
Bước 4: Bước 4: Tạo một ổ cắm cho màn hình và đưa nó vào chân
Bởi vì màn hình có 16 chân, mỗi bên 8 chân, với khoảng cách chân rộng hơn so với ổ cắm IC 16 chân tiêu chuẩn, chúng ta cần điều chỉnh kích thước ổ cắm để phù hợp với màn hình. Bạn có thể thực hiện việc này đơn giản bằng cách sử dụng một cặp máy cắt dây để cắt nhựa nối hai mặt của ổ cắm, tách chúng ra và hàn riêng vào bảng với khoảng cách phù hợp với khoảng cách của các chân trên màn hình. Ưu điểm của việc này là bạn không phải hàn trực tiếp vào các chân của màn hình và để màn hình tiếp xúc với nhiệt độ quá cao. Bạn có thể thấy ổ cắm mà tôi đã làm điều này ở đầu bảng trong hình trên.
Để màn hình đứng thẳng, tôi đã bắt hai bu lông 1 vào hai lỗ góc dưới cùng của bảng nguyên mẫu như thể hiện trong ảnh để tạo một giá đỡ đơn giản. Điều này khá phức tạp, vì vậy nếu bạn làm điều này, bạn có thể muốn đặt một vật gì đó nặng lên phía sau bu lông để nó ổn định.
Bước 5: Bước 5: Kiểm tra dây bảng mạch và chuẩn bị hiệu chỉnh
Khi bảng mạch đã được nối dây nhưng trước khi cắm các IC hoặc hiển thị hoặc cấp nguồn cho nó, bạn nên kiểm tra các kết nối bảng mạch bằng DVM. Bạn có thể đặt hầu hết các DVM để chúng phát ra tiếng bíp khi có sự liên tục. Đặt DVM của bạn ở chế độ này và sau đó theo sơ đồ mạch của bạn, kiểm tra càng nhiều kết nối mạch càng tốt. Kiểm tra một mạch hở hoặc gần nó, giữa các điểm + 5V và Nối đất. Kiểm tra bằng mắt để đảm bảo rằng tất cả các thành phần được kết nối với các chân chính xác.
Tiếp theo, kết nối máy biến áp của bạn với mạch và cấp nguồn cho nó. Kiểm tra xem bạn có chính xác 5V DC trên thanh nguồn 5V với ống soi hoặc DVM hay không trước khi bạn cắm bất kỳ IC nào hoặc màn hình. Tiếp theo, CHỈ cắm IC Op-Amp U5 để chuẩn bị cho bước tiếp theo. Ở đây, chúng tôi sẽ kiểm tra xem mạch chéo của chúng tôi có đang tạo ra sóng vuông hay không và điều chỉnh chiết áp RV1 để có tín hiệu 60 Hz sạch.
Bước 6: Bước 6: Hiệu chỉnh mạch
Việc hiệu chuẩn duy nhất được thực hiện là điều chỉnh chiết áp RV1 để có mức tín hiệu chính xác cấp cho bộ dò chéo. Có hai cách để làm điều này:
1. Đặt đầu dò ống soi vào chân 1 của U5 và đảm bảo kết nối dây nối đất của đầu dò ống soi với đất mạch. Tiếp theo điều chỉnh RV1 cho đến khi bạn có một sóng vuông sạch như trong hình trên. Nếu bạn điều chỉnh RV1 quá xa theo cách này hay cách khác, bạn sẽ không có sóng vuông hoặc sóng vuông bị méo. Đảm bảo rằng tần số của sóng vuông là 60 Hz. Nếu bạn có một phạm vi hiện đại, nó có thể sẽ cho bạn biết tần suất. Nếu bạn có phạm vi cổ điển như tôi thì hãy đảm bảo chu kỳ sóng vuông là khoảng 16,66ms hoặc 1/60 giây. 2. Sử dụng bộ đếm tần số hoặc DVM ở chế độ Tần số đo tần số tại chân 1 của U5 và điều chỉnh RV1 cho chính xác 60 Hz. Sau khi hiệu chỉnh xong, tắt nguồn mạch và cắm tất cả các IC và màn hình để hoàn thành việc xây dựng mạch.
Bước 7: Bước 7: Chương trình Arduino
Chương trình được nhận xét đầy đủ để bạn có thể tìm ra chi tiết của từng bước. Do sự phức tạp của chương trình, rất khó để mô tả từng bước, nhưng ở cấp độ rất cao, đây là cách nó hoạt động:
Bộ vi xử lý nhận sóng vuông 60 Hz đến và đếm 60 chu kỳ và tăng số giây sau mỗi 60 chu kỳ. Khi số giây đạt đến 60 giây hoặc 3600 chu kỳ, số phút được tăng lên và số giây được đặt lại về không. Khi số phút đạt đến 60 phút, số giờ được tăng lên và số phút được đặt lại về không. số giờ được đặt lại thành 1 sau 13 giờ, vì vậy đây là đồng hồ 12 giờ. Nếu bạn muốn đồng hồ 24 giờ, chỉ cần thay đổi chương trình để đặt lại giờ về 0 sau 24 giờ. Đây là một dự án thử nghiệm, vì vậy tôi đã cố gắng sử dụng vòng lặp Do-While để ngăn chặn chuyển đổi bật lên trên các nút Đặt và Tăng. Nó hoạt động hợp lý tốt. Khi nhấn nút Đặt một lần, nút Tăng có thể được sử dụng để chuyển qua các giờ hiển thị trên màn hình. Khi nhấn lại nút Đặt, nút tăng có thể được sử dụng để chuyển qua số phút hiển thị trên màn hình. Khi nhấn nút Đặt lần thứ ba, thời gian được đặt và đồng hồ bắt đầu chạy. Các mẫu 0 và 1 được sử dụng để hiển thị mọi số trên màn hình 7 đoạn được lưu trữ trong mảng gọi là Seven_Seg. Tùy thuộc vào thời gian đồng hồ hiện tại, các mẫu này được đưa đến vi mạch 74HC595 và gửi đến màn hình. 4 chữ số nào của màn hình được bật bất kỳ lúc nào để nhận dữ liệu này được bộ vi xử lý điều khiển thông qua các chân của màn hình Đào 1, 2, 3, 4. Khi mạch được cấp nguồn, trước tiên chương trình sẽ chạy một quy trình kiểm tra có tên là Test_Clock, quy trình này sẽ gửi các chữ số chính xác để làm sáng mọi màn hình với số đếm từ 0 đến 9. Vì vậy, nếu bạn nhìn thấy điều này khi bạn bật nguồn, bạn biết bạn đã xây dựng mọi thứ chính xác..
Bước 8: Bước 8: Ưu đãi PCBWay
Điều đó kết thúc bài đăng này, nhưng nhà tài trợ của dự án này là PCBWay, vào thời điểm đó đang kỷ niệm 5 năm thành lập. Hãy xem tại https://www.pcbway.com/anniversary5sales.html và đừng quên dịch vụ lắp ráp của họ hiện chỉ còn 30 đô la.
Đề xuất:
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy
Đồng hồ mạng ESP8266 không có bất kỳ RTC nào - Đồng hồ Nodemcu NTP Không có RTC - DỰ ÁN ĐỒNG HỒ INTERNET: 4 bước
Đồng hồ mạng ESP8266 không có bất kỳ RTC nào | Đồng hồ Nodemcu NTP Không có RTC | DỰ ÁN ĐỒNG HỒ INTERNET: Trong dự án sẽ làm một dự án đồng hồ không có RTC, sẽ mất thời gian từ internet bằng wifi và nó sẽ hiển thị trên màn hình st7735
Robot Arduino có khoảng cách, hướng và mức độ xoay (Đông, Tây, Bắc, Nam) được điều khiển bằng giọng nói sử dụng mô-đun Bluetooth và chuyển động của robot tự động: 6 bước
Robot Arduino có khoảng cách, hướng và mức độ xoay (Đông, Tây, Bắc, Nam) được điều khiển bằng giọng nói sử dụng mô-đun Bluetooth và chuyển động của robot tự động: Tài liệu hướng dẫn này giải thích cách chế tạo Robot Arduino có thể di chuyển theo hướng cần thiết (Tiến, lùi , Trái, Phải, Đông, Tây, Bắc, Nam) yêu cầu Khoảng cách tính bằng Centimet bằng lệnh Thoại. Robot cũng có thể được di chuyển tự động
Đồng hồ kỹ thuật số Arduino được đồng bộ hóa bởi dòng điện 60Hz: 8 bước (có hình ảnh)
Đồng hồ kỹ thuật số Arduino được đồng bộ hóa bởi dòng điện 60Hz: Đồng hồ kỹ thuật số dựa trên Arduino này được đồng bộ hóa bởi dòng điện 60Hz. Nó có một màn hình hiển thị 4 chữ số 7 phân đoạn anode chung đơn giản và rẻ tiền, hiển thị giờ và phút. Nó sử dụng một bộ dò chéo để phát hiện khi sóng hình sin 60Hz đến c
Tự động mở và đóng cửa bằng cảm biến tự động với Arduino !: 4 bước
Tự động mở và đóng cửa bằng cảm biến tự động với Arduino !: Bạn đã bao giờ muốn mở cửa tự động giống như trong các bộ phim khoa học viễn tưởng chưa? Bây giờ bạn có thể làm theo hướng dẫn này. Trong hướng dẫn này, chúng tôi sẽ xây dựng một cánh cửa có thể mở và đóng tự động mà bạn không cần chạm vào cửa. Cảm biến siêu âm o