Mục lục:
- Bước 1: Giới thiệu
- Bước 2: Chọn đúng máy
- Bước 3: Sửa đổi phần cứng
- Bước 4: Kết nối chính và bảng điều khiển
- Bước 5: Kiểm soát lưu lượng nước và cơ chế nạp lại
- Bước 6: Phát hiện ngập lụt
- Bước 7: Kiểm tra và lắp ráp cuối cùng
- Bước 8: Mã kiểm soát cà phê
- Bước 9: Cân nhắc thiết kế và suy nghĩ cuối cùng
Video: JavaStation (Máy pha cà phê IoT hoàn toàn tự động nạp đầy tự động): 9 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Mục tiêu của dự án này là tạo ra một máy pha cà phê được điều khiển bằng giọng nói hoàn toàn tự động có thể tự động nạp đầy nước và tất cả những gì bạn thực sự cần làm là thay thế những người khách quen và uống cà phê của bạn;)
Bước 1: Giới thiệu
Vì đây là lần sửa đổi cà phê thứ hai của tôi, tôi đã học được rất nhiều điều trong quá trình này, đặc biệt là việc bạn sửa đổi máy càng phức tạp thì càng có nhiều vấn đề / lỗi bạn gặp phải trong quá trình vận hành hàng ngày. Chiếc máy trước đây chỉ là một chiếc máy pha cà phê 1 công tắc cũ đơn giản với một mod chuyển tiếp.
Circolo (phiên bản hoàn toàn tự động) là dòng máy cao cấp hàng đầu của Dolce Gusto. Tôi đã phải dành hàng giờ để tìm kiếm chiếc máy phù hợp vì tất cả các máy khác từ dòng này đều sử dụng cần gạt cơ học trên cùng để chuyển đổi giữa dòng nước lạnh và nóng như trên hình.
Bước 2: Chọn đúng máy
Máy cơ bản của tôi không chỉ hoàn toàn tự động mà còn có các tính năng đáng chú ý như tự động tắt sau 5 phút và ghi nhớ lượng cà phê cuối cùng (điều này sẽ giúp mọi thứ dễ dàng hơn rất nhiều sau này trong quá trình sửa đổi). Hoạt động cơ bản của máy:
1, Nút nguồn được đẩy
2, Nhấn nút nước lạnh (nó sẽ ngay lập tức phân tán nước vào cốc)
3, Nhấn nút nước nóng (nó sẽ làm nóng nồi hơi ~ 20-60 giây và bắt đầu xả nước nóng vào cốc) Đèn nguồn sẽ nhấp nháy màu đỏ trong thời gian chờ sau đó chuyển sang màu xanh vĩnh viễn khi nồi hơi đã sẵn sàng.
Máy này cũng có khả năng phát hiện các lỗi sau:
Bể nước trống
Giá đỡ cốc không đúng vị trí
Trong cả hai trường hợp, đèn nguồn sẽ nhấp nháy giữa màu đỏ / xanh lục.
Bước 3: Sửa đổi phần cứng
Trong bài viết này, tôi sẽ không trình bày chi tiết việc tháo rời và lắp ráp lại vỏ máy vì có các video về nó trên YouTube. Bộ vi xử lý chính được giấu ngay bên dưới bảng điều khiển đầu, nơi đặt 2 công tắc. Lò hơi nằm ở phía bên phải của vỏ máy tách biệt với mọi thứ khác, máy bơm và bảng điều khiển nguồn điện nằm ở phía bên trái.
Máy pha cà phê là một môi trường hoạt động nặng nề đối với các thiết bị điện tử, không có thiết bị nào trong số các thiết bị bên cạnh là hoàn toàn phù hợp để tích hợp một mạch điện. Bên phải của lò hơi có nhiều không gian hơn nhưng bạn sẽ xử lý nhiệt, rõ ràng là mạch không thể chạm vào tấm lò hơi hoặc thậm chí ở gần nó. Tôi đã chọn nguồn cấp điện / phía máy bơm nhưng ở đây bạn phải đối mặt với sự cộng hưởng nặng nề đến từ hoạt động của máy bơm màng có thể phá hỏng mạch điều khiển / làm dây dẫn tuột ra khỏi đầu nối của chúng theo thời gian.
Bảng cấp nguồn không chứa bất kỳ thứ gì hữu ích nhưng có thể được sử dụng để ngắt nguồn + 5V ổn định (thêm một ngón tay cái cho máy này) có thể được kết nối trực tiếp với chân VIN của Arduino thông qua bộ điều chỉnh điện áp trên bo mạch.
Danh sách phần cứng nhanh (không phải BOM đầy đủ, không bao gồm những điều cơ bản):
- Dolce Gusto Circulo phiên bản hoàn toàn tự động
- Mô-đun chuyển tiếp 5V 4 kênh với bộ ghép quang cho PIC AVR DSP (Tôi khuyên bạn nên sử dụng Rơ le chuyển mạch bằng cây sậy 4x SIP-1A05)
- Arduino Micro (Tôi khuyên bạn nên sử dụng SparkFun Pro Micro hoặc mới hơn trong tương lai)
- 2PCS 4n35 FSC Optocouplers Phototransistor
- 1/2 "Van điện từ cho không khí nước N / C thường đóng DC 12V
- Mô-đun siêu âm Cảm biến đầu dò đo khoảng cách HC-SR04 (mua một số tính năng bổ sung, bạn sẽ biết lý do sau)
- 2pcs Mô-đun cảm biến phát hiện độ ẩm hạt mưa Phát hiện mưa cho Arduino
- 1 Xbee
- Phụ kiện đường ống cho khối nước (có thể thay đổi tùy theo từng ngôi nhà, tốt nhất nên mua nó ở cửa hàng đồ gia dụng và đặt tất cả lại với nhau ở đó trước khi mua)
Bước 4: Kết nối chính và bảng điều khiển
Các điểm mạch sau đây cần được kết nối:
1, Nút nóng
2, Nút lạnh
3, dẫn đỏ
4, màu xanh lá cây dẫn
5, Nút bật nguồn chính
6, GND được chia sẻ
Thật không may, tôi đã làm mất ghi chú / hình ảnh của mình về nơi hàn những thứ này trên bảng nhưng tất cả đều có thể dễ dàng truy tìm lại bằng đồng hồ vạn năng (chỉ cần sử dụng chế độ kiểm tra diode để theo dõi các dây trở lại). Việc hàn không quá khó, hãy chọn các điểm bằng chân SMD và hàn dây ở đó.
Cả hai đèn LED Đỏ / Xanh lá cây đều nằm cạnh nhau ở công tắc nguồn. Chúng cần thiết để xác định trạng thái máy (bật nguồn, sẵn sàng pha cà phê (nồi hơi nóng lên), lỗi). Tôi đã tháo chúng trực tiếp ra khỏi bo mạch chính, vì rất khó để loay hoay với mạch điện nhỏ xung quanh công tắc nguồn.
Tôi đang sử dụng bộ ghép quang của 4N35 để giao tiếp an toàn với Arduino và đọc trạng thái của đèn LED. Ý tưởng ban đầu là sử dụng 5 trong số chúng và thực hiện cả việc đọc và điều khiển công tắc (tạo ra một mạch hoàn toàn im lặng). Thật không may, con chip này không thể tạo ra điện trở đủ thấp để mô phỏng một nút nhấn nên tôi buộc phải sử dụng rơ le. Tôi đã sử dụng mô-đun rơle 4 kênh chung mà tôi có trong tay nhưng nếu tôi phải thực hiện lại dự án này, tôi sẽ chỉ sử dụng rơle Reed nhỏ (SIP-1A05 Reed Switch Relay với điốt flyback bên trong) có thể được kết nối trực tiếp với đầu ra của Arduino chân (tải ~ 7mA) để mọi thứ có thể được đặt trên cấu trúc bảng 2 cấp.
Có thể dễ dàng đưa 5 dây cáp nhỏ xuống bên cạnh dây nguồn bên dưới bảng mạch nguồn.
Để sử dụng không gian hiệu quả hơn trong máy, tôi quyết định chia thiết bị điện tử thành 2 bảng chính:
Bên trái là bảng điều khiển chính, bên phải (những gì tôi gọi là bảng giao tiếp) giữ Xbee và mặc dù nó không được hiển thị trên hình ảnh nhưng 2 cảm biến nước (để phát hiện tràn) nằm phía sau nó. Ở phía trên cùng của đồng hồ thời gian thực (tùy chọn cho thời gian hoạt động:)) và bảng chuyển tiếp 4 kênh nằm bên cạnh máy bơm ở phía dưới được bọc thành miếng bọt biển, cũng được dán keo một chút để bảo vệ khỏi cộng hưởng.
Đối với bảng giao tiếp, tôi không bận tâm đến việc chế tạo PCB mà chỉ sử dụng một bảng mạch thông thường vì không có nhiều thứ diễn ra ở đó. Nó có 6 kết nối với bo mạch chính:
Vcc (5V), GND, Xbee (TX), Xbee (RX), Cảm biến nước1 (Dữ liệu), Cảm biến nước2 (Dữ liệu)
Bước 5: Kiểm soát lưu lượng nước và cơ chế nạp lại
Tôi đã thiết kế chiếc máy này với mục đích bảo mật, giúp cho những kẻ tấn công / trục trặc không thể gây thiệt hại nghiêm trọng đến nguồn nước cho ngôi nhà vì máy sẽ được kết nối với cả vòi và Internet 24/7. Đây là những gì mạch bảo vệ 555 sau đây thực hiện trên đầu của bộ điện từ.
Cũng lưu ý rằng bộ điện từ hoạt động từ nguồn điện 12V mà tôi vẫn cố gắng ép vào đáy của máy pha cà phê bên cạnh máy bơm và bảng tiếp điện. Không để lãng phí nguồn điện, board relay 4channel chuyển trực tiếp main 230V sang adapter sau đó sẽ bật solenoid. Tất nhiên có một vài micro giây thời gian trễ mà bạn phải tính toán cho sự sụp đổ của từ trường cả trên bộ điện từ + trên bộ chuyển đổi khi kéo phích cắm.
Tôi đang sử dụng giắc cắm tiêu chuẩn 3,5 mm để kết nối khối nước bên ngoài với một dây dài 3m và một ống PVC đường kính nhỏ đi ra từ khối đến máy pha cà phê.
Phần trên của bồn nước được khoan lỗ để chứa đường ống này sau đó được đưa xuống đáy bồn. Tôi xin lưu ý rằng điều rất quan trọng là phải cấp đường ống xuống đáy ở bên cạnh mà không đi qua giữa và gây trở ngại cho các cảm biến siêu âm.
Sau khi bộ điện từ được cấp nguồn, mạch sẽ tự động tắt nó sau ~ 4 giây (phải quá đủ thời gian để nạp đầy bình) và nó vẫn ở trạng thái này cho đến chu kỳ BẬT nguồn tiếp theo. Mạch này là tuyến bảo vệ cuối cùng chống lại sự cố và nó hoạt động hoàn toàn độc lập với máy pha cà phê. Nếu rơ le trong máy bị hỏng và tiếp tục đóng, nước có thể tràn vào nhà, với biện pháp bảo vệ này, điều đó không bao giờ có thể xảy ra.
Nếu điều này vẫn không đủ tốt cho bạn hoặc không thể đóng nước hoặc bạn không muốn loay hoay với các khối nước, hãy xem dự án WasserStation của tôi được xây dựng chính xác cho việc này để mở rộng ngăn chứa nước nhỏ của máy pha cà phê.
Bước 6: Phát hiện ngập lụt
Có thêm 2 cảm biến nước để bảo vệ:
- Cảm biến 1: ở phía sau bể để phát hiện tràn từ bể
- Cảm biến 2: ở dưới cùng của máy pha cà phê để phát hiện tràn cốc
Cả hai cảm biến này sẽ kích hoạt ngắt làm tắt nguồn nước ngay lập tức, bật đèn báo lỗi và ngừng thực hiện chương trình để ngăn chặn một cuộc tấn công như pha một triệu cà phê và làm ngập nhà theo cách đó. Sau khi thoát khỏi chương trình, máy sẽ không còn phản hồi bất cứ điều gì và phải được bật nguồn theo cách thủ công.
Trong trường hợp bạn tự hỏi điều gì sẽ xảy ra nếu cảm biến siêu âm bị ngập nước (nó đã xảy ra một lần:))
Nó đã cung cấp lại mực nước như thế này trong vài ngày nhưng ngay cả sau khi nó khô đi, nó không bao giờ chính xác trở lại và tôi phải thay thế nó. Máy được thiết kế để chạy từ vòi nước lạnh nên không có hơi nước nóng làm hỏng cảm biến. Cảm biến này chỉ chính xác cho đến khi mực nước cách nó 2-3 cm.
Hình dạng elip của bể khiến việc tính toán mực nước trở nên khó khăn vì vậy chúng được đo và mã hóa cứng vào chương trình để tương ứng với tỷ lệ phần trăm.
Bước 7: Kiểm tra và lắp ráp cuối cùng
Máy ở trạng thái cuối cùng, gần như hoàn toàn ẩn dấu vết của bất kỳ vụ hack nào và nếu 3 đèn LED chỉ báo trạng thái và cổng gỡ lỗi USB không ở đó, bạn sẽ không thể biết có bất kỳ điều gì khác đang xảy ra bên trong khi nó thậm chí có thể có kết nối Wifi Máy chủ Quake:)
Khi tôi sửa đổi thiết bị, tôi luôn ưu tiên hàng đầu việc sử dụng thủ công. Sau khi hack, máy hoàn toàn có thể sử dụng được như ban đầu, ngoại trừ két nước không thể dễ dàng tháo rời. Trừ khi bạn hoàn thành phần thiết kế tự động hóa hoàn toàn nước, máy chỉ có thể được đổ đầy vào thời điểm này bằng tổ hợp ống nhỏ + phễu.
Bước 8: Mã kiểm soát cà phê
Tìm mã nguồn Arduino đầy đủ được đính kèm bên dưới.
Giải thích ngắn gọn về mã:
Vòng lặp chính gọi hàm xcomm (), chịu trách nhiệm xử lý lệnh, pha cà phê, bật / tắt máy.
Mã bên dưới chỉ đạt được trong trường hợp điều khiển bằng tay. Nó tăng một bộ đếm thống kê để theo dõi số lượng cà phê đã được pha và tự động làm đầy bình chứa nước.
Các lệnh có thể được gửi qua Xbee hoặc qua cổng USB (Phải bật gỡ lỗi ngay từ đầu). Khi liên lạc đến từ một trong hai đèn LED màu cam sẽ nhấp nháy trong một giây để hiển thị hoạt động mạng. Các lệnh sau được thực hiện:
1, CMSTAT - thống kê truy vấn từ máy
Máy lưu trữ số liệu thống kê về số lượng cà phê nóng / lạnh / thủ công đã được tạo ra và cũng có được thời gian hoạt động từ RTC không bị tràn sau 3 ngày nên có thể lên đến hàng năm: P
2, CMWSTART - bắt đầu pha cà phê và đồ uống nóng bằng nước nóng
3, CMCSTART - bắt đầu pha trà đá và đồ uống lạnh bằng nước lạnh
Quá trình nóng và lạnh bắt đầu bằng việc gọi hàm standby (), hàm này sẽ kiểm tra thêm sau đó kích hoạt nút nguồn. Sau đó, chương trình chờ đèn xanh (khi nồi hơi nóng lên) sau đó giả lập nút nhấn nóng / lạnh. Sau đó, nó đợi 50 giây (quá đủ cho cả tách cà phê lớn nhất) rồi tắt nguồn. Điều này thậm chí không cần thiết vì chiếc máy tuyệt vời này sẽ tự động tắt 5 phút sau khi pha cà phê nhưng tại sao lại lãng phí điện năng? Nhân tiện, mức tiêu thụ điện năng ở chế độ chờ của máy ngay cả sau khi sửa đổi là dưới 2 Watts.
Nạp nước và an ninh
Chiếc máy này được thiết kế với mục đích bảo mật, vì vậy kẻ tấn công giành được quyền kiểm soát sẽ không thể làm ngập cả ngôi nhà trong nước. Một lỗi phần cứng cũng sẽ không dẫn đến thiệt hại nghiêm trọng. Bên cạnh các cảm biến phần cứng có các biện pháp bảo vệ được tích hợp trong mã để nạp lại. Bộ đếm kích hoạt quy trình ISR nếu máy không được nạp đầy sau x giây (ví dụ: điều này có thể xảy ra nếu cảm biến siêu âm bị trục trặc và cho ra 20% sau x giây sau khi bắt đầu nạp đầy).
Không có xác thực, bất kỳ ai cũng có thể sử dụng máy trong phạm vi vô tuyến, người biết lệnh vì vậy tôi đã thay đổi ID Xbee piconet mặc định thành một thứ khác, ERR_INVALIDCMD cũng có thể được nhận xét và máy sẽ bỏ qua mọi lệnh không xác định.
Lỗi
Lỗi cà phê kép: điều khó chịu nhất về lỗi này là nó bắt đầu xảy ra vài tháng sau khi sử dụng máy có cùng mã. Sau khi lệnh pha cà phê được phát ra, nó đã pha cà phê, tắt và bật lại và tiếp tục pha thêm 1 ly cà phê với cùng một patroon.
Tôi đã phải bắt đầu gỡ lỗi trùng lặp lệnh từ cấp độ Android vì tôi đã triển khai gửi lại mã trong trường hợp mất gói. Hóa ra là cả phần mềm điều khiển android, C hay nhân Linux trên raspi2 đều không chịu trách nhiệm về điều này thay vì Xbee.
Sau khi phát ra tiếng vọng “CMCSTART”> / dev / ttyACM0 trên nút điều khiển, nó phát ra hai lần đến đầu kia. Tôi kết luận rằng phổ 2,4Ghz trong nhà của tôi bắt đầu bị bão hòa từ nhiều thiết bị vô tuyến trong phạm vi này khiến Xbee gọi một số loại gửi lại trong lớp vô tuyến và dữ liệu được gửi hai lần (không phải lúc nào cũng vậy). Khi lệnh đầu tiên đến trong máy, hàm xcomm () bắt đầu xử lý nó, tuy nhiên lệnh thứ hai đến ngay sau đó đang đợi trong bộ đệm Xbees và khi vòng lặp kết thúc, nó bắt đầu xử lý lệnh thứ hai. Để giải quyết vấn đề này, tôi đã giới thiệu 3 ngưỡng trong mã để không thể pha nhiều hơn 1 ly cà phê trong 2 phút. Ngoài ra, có một giới hạn đối với CMSTAT nhưng để không can thiệp vào mã điều khiển C / Android, nó sẽ chỉ làm chậm các phản hồi trong 2 giây.
Ngưỡng cuối cùng được đặt cho quầy cà phê thủ công, bởi vì một khi máy đã đạt đến trạng thái sẵn sàng (lò hơi nóng lên, đèn xanh) nó đã ghi lại sự kiện màu xanh lá cây hàng trăm lần làm tăng số lượng cà phê.
Bước 9: Cân nhắc thiết kế và suy nghĩ cuối cùng
Sau rất nhiều rắc rối từ việc giao tiếp với Xbee, tôi sẽ không giới thiệu Xbee cho dự án này. Sử dụng radio 433Mhz giá rẻ tiêu chuẩn với VirtualWire và giảm Bps để ổn định hoặc nhúng Raspberry PI Zero có kết nối Wifi trực tiếp vào máy pha cà phê.
Vì ngày tháng cho thấy đây là một dự án cũ nên tôi xin lỗi vì thiếu các chi tiết nhỏ như kết nối từ mạch điều khiển đến các chân pin chính xác trên bo mạch chủ. Dự án này yêu cầu một mức độ kiến thức kỹ thuật nhất định để thực hiện nó một mình. Nếu bạn tìm thấy bất kỳ lỗi / vấn đề nào hoặc muốn đóng góp cho hướng dẫn này, vui lòng cho tôi biết.
Phần mềm điều khiển, các phương pháp điều khiển bằng giọng nói là một phần khác giúp bạn có thể chuẩn bị cà phê chỉ bằng một khẩu lệnh trước khi ra khỏi giường.
Hiện tôi đã hoàn thành tài liệu về hệ thống lưu trữ nước của mình (WasserStation) và cập nhật CoffeeControlCode lên phiên bản mới nhất, cũng bao gồm tính năng nạp đầy tự động. Nếu bạn sử dụng cùng một máy cho công trình, việc đổ đầy sẽ hoạt động hoàn hảo (không có bất kỳ sửa đổi nào đối với mã) vì mực nước đã được hiệu chỉnh theo bình chứa nước của Circolo.
Đề xuất:
Máy pha cà phê với GUI Raspberry: 7 bước (có hình ảnh)
Máy pha cà phê với GUI Raspberry: Bạn thích công nghệ và tiệc tùng? Dự án này được tạo ra cho bạn! Trong hướng dẫn này, chúng tôi sẽ tạo một máy pha cocktail tự động với giao diện đồ họa. Mọi thứ được điều khiển bởi mâm xôi! CHỈNH SỬA: Tôi đã tạo một cái mới dễ dàng hơn và rẻ hơn liên kết ở đây
Máy pha cà phê được kích hoạt IoT: 9 bước (có hình ảnh)
Máy pha cà phê được kích hoạt IoT: Thiết bị hướng dẫn này được tham gia cuộc thi IoT - Nếu bạn thích nó, hãy bình chọn cho nó! CẬP NHẬT: Hiện hỗ trợ kết nối 2 chiều và cập nhật OTA để tự động hóa nó bằng cách nào đó, tôi phải
Máy pha cà phê IOT (UFEE): 7 bước (có hình ảnh)
IOT Coffeemaker (UFEE): Để chứng minh kiến thức, chúng tôi phải tạo ra một thiết bị IOT có thể được điều khiển thông qua giao diện web tự tạo. Vì tôi yêu cà phê và tiêu thụ rất nhiều cà phê hàng ngày nên tôi quyết định tự làm máy pha cà phê IOT của riêng mình. Máy pha cà phê UFEE: " the co
Hộp giải đố - Máy phá mã và Máy phá đất [UCM]: 7 bước (có Hình ảnh)
Puzzle Box - Codebreakers and Groundbreakers [UCM]: Một bộ hộp xếp hình cắt bằng laser được thiết kế cho một xưởng sản xuất kỹ thuật số tại Bảo tàng Fitzwilliam, Cambridge liên quan đến triển lãm Codebreakers và Groundbreakers của họ. Đối với hội thảo, nút trong hộp xếp hình được kết nối với MakeyMakey một
Nắp đèn Led / Nắp an toàn hoặc Đèn: 4 bước
Led Light Cap / Safty Cap or Light: đây là một trong những bài viết của tôi tham gia cuộc thi. Tôi đã lấy ý tưởng này từ một thợ làm magzine trong phần hộp dụng cụ có tên là h2on của nó là đèn nắp dành cho chai nalgeen, vì vậy tôi đã nói tôi của mình thay vì mua nó với giá 22 đô la, tôi đã kiếm được ít hơn một vài đô la của riêng mình