# AutoTeaMaker 自動泡茶器 ###### tags: `project` ## Introduction 介紹 跟大家分享一下近期發想的一個 side project 我最近在構思一個自動泡茶器,功能主要是,自動計時並吊起茶杯中的茶包 初步的構想的核心大概是,用 Raspberry Pi 再加上步進馬達及 Z 軸螺桿,實作計時跟垂直升降的動作 再加一個觸控螢幕來作顯示跟按鈕 概念示意草圖如下: ![](https://i.imgur.com/oIVg6Eh.jpg) 雖然以 Raspberry Pi 跟步進馬達相對高階的硬體元件來作這樣簡單的功能,顯然像是用牛刀來殺雞 但 prototype 先講求作得出來,再看有無優化空間 因此就先以有摸索過,且能駕馭的動的東西當基礎來出發 回到 idea 的本身,談談為什麼會想作這樣的東西, 緣起是 以前的我泡茶都隨便亂泡,拿到茶包常常就是裝個熱水泡個5分鐘、10分鐘,以為茶要泡越久才越有味道 從來沒有仔細閱讀茶包上的說明 直到有一天,我突然好奇,這個茶包的真正原味是什麼樣子? 於是,我就試著以最嚴謹的方式來計水量、算溫度、跟控制時間,完全照茶包上的標準方法來泡一杯 這才發現,原來簡單便宜的茶包,以正確的方法泡起來,味道會這麼好喝,幾乎不輸給外面的手搖飲料店 之後才明白到自己泡錯了這麼多茶 像是我原先都泡個 3~5 分鐘的高山茶,其實只要泡 45 秒 一個茶包大約給 250cc 的水,常常馬克杯一裝就 400~500cc 不同的溫度,也直接影響茶味的香澀程度 長此一智之後,後來喝茶都會用手機倒數計時泡茶的時間 雖然茶比以前好喝多了,但有多了一份麻煩 就是我放進茶包後,就得懸在那邊等個 3~5 分鐘,不夠懶人化 因此,就動念想作一個能倒數計時,並自動吊起茶包的小裝置,來解決自己泡茶的癢處。 有了動機、有了構想,接下來就是實踐的部份了。 煮菜前要先備料,經過1~2個月的等待跟收集,終於一一購買並收集到必要的設備 - [ ] 螺桿 - [ ] L298N - [ ] Power Bank , 18650 x 2 - [ ] 5V  的 NEMA17 步進馬達 - [ ] 光軸 x 4 - [ ] 限位開關 - [ ] RPi3 x 1 - [ ] 5 吋觸控螢幕 - [ ] Go!Temp 溫度探針 ![](https://i.imgur.com/pxPGkNx.jpg) 其中這個在 Digikey 上訂的觸控螢幕,最花時間,下單後,交期原本要 85 天。 ![](https://i.imgur.com/0AHHJnR.jpg) 幸運的是,前幾週它提前出貨收到了。 因為不想花時間在驅動程式上掙扎,所以事前作了一些功能,想買 Plug&Play 的裝置 還好真如預期般一樣,插了就可以用,省了一翻功夫 上上週,在 H4 聚會時,也實驗成功驅動了步進馬達。 ![](https://i.imgur.com/jUS69NK.jpg) 最核心的硬體驅動有通了,下一步預計是設計 3D 的骨架模型,以及起草 RPi 上的 UI 這些都是需要時間跟毅力一磚一瓦堆砌起來的部份。 我預計在接下來的時間,大概固定在參加每週 H4 聚會時邊聊天邊作一點,慢慢將積木堆起來。 預計會以 open source 的方式進行,歡迎對這 topic 有興趣的人也一起來動動手作點小東西。 ## How to participate 如何參與 目前參加的方式主要如下: - 加入 H4 Discord 及其子頻道 **#autoteamaker-自動泡茶器** 討論互動 - H4 Discord 連結: <https://discord.gg/sUFfn6kvYK> - project chat channel: [按此前往](https://discord.com/channels/781442554951499777/819436839685062656) (需要先登錄 Discord 帳號並加入 H4 Discord) - 參加 H4 每週四晚上的固定聚會,和專案發起人面對面聊聊天交流 - 關注&更新線上共筆頁面: <https://hackmd.io/o0PFb9mUTXOwEVcy68hTAA> ## BOM & Skill (WIP) ### BOM 硬體備料清單 | Item 品項 | Amount 數量 | Model 型號 | Where to buy 哪裡買 | price 多少錢 | |--|--|-- | -- | --: | | Raspberry Pi 3B+/4 | 1 | RPi3B+ | https://www.digikey.tw/product-detail/zh/raspberry-pi/RASPBERRY-PI-3-MODEL-B-/1690-1025-ND/8571724 | 1152 TWD | | 觸控螢幕 | 1 | DFR0550 | https://www.digikey.tw/product-detail/zh/dfrobot/DFR0550/1738-1453-ND/9608214 | 1317 TWD| | 紅外測溫感測器模組 | 1 | GY-906 BCC MLX90614ESF | https://www.ruten.com.tw/item/show?22030961833298 | 900 TWD | | USB power bank | 1 | | https://shopee.tw/product/63901499/2700715582 | 145 TWD | | 電池 18650 | 2 | Panasonic 平頭 | 今華電子 | 500 TWD | | 步進馬達(已下架) | 1 | HMS-42D3010 | https://shop.cpu.com.tw/product/61340/info/ | (含運) 420 TWD | | 步進馬達 | 1 | HMS-45000 | https://shop.cpu.com.tw/product/61680/info/ | 290 TWD | | 步進馬達驅動器 | 1 | L298N | https://shopee.tw/product/2447432/529179469 | 75 TWD | | 限位開關 | 1 | Unknown | https://shopee.tw/product/8191378/6416167859 | 45 TWD | | T8 螺桿 | 1 | 300 mm | https://shopee.tw/product/8191378/1903771425 | 110 TWD | | 光軸 | 4 | 300mm | https://shopee.tw/product/16028084/7735212423 | 192 TWD | | M3螺絲 | 8 | 20mm | 螺絲總匯 | TBD. | | 彈性聯軸器 | 1 | 5mm孔x8mm孔 | https://shopee.tw/product/8191378/598994119 | 40 TWD | ### Skill 技能清單 - Linux & Raspberry Pi experiences - 3D model design - onshape.com 由 wycc 推薦的線上 3D 建模軟體 - 推薦教學影片: [Teching Tech -- Onshape 3D Modelling](https://www.youtube.com/playlist?list=PLGqRUdq5ULsMDOxmu10AGPDIOkzNYu7D7) ## Changelog 演進歷史 ### 2023-04-05 FlySkyPie commit 了修改後的 Pull Request: [New GUI with Typescript+React+Mui+Vite by FlySkyPie · Pull Request #1 · hacking-thursday/autoteamaker](https://github.com/hacking-thursday/autoteamaker/pull/1) 目前測試,在 laptop 上可以執行,不過放進 Raspberry Pi 執行後,有錯誤訊息而沒有順利跑出 GUI. ### 2023-04-01 ![](https://i.imgur.com/4P2SNgA.jpg) 把新拿到的料理溫度計也拆了 想讀取數值,但感覺難度頗高 ref: - [Direct Reading of LCD Using General Purpose IO : 12 Steps - Instructables](https://www.instructables.com/Direct-Reading-of-LCD-Using-General-Purpose-IO/) - [IoT Coffee Pot Monitor : 9 Steps (with Pictures) - Instructables](https://www.instructables.com/IoT-Coffee-Pot-Monitor/) - [How to read data directly from lcd display - Arduino Stack Exchange](https://arduino.stackexchange.com/questions/57026/how-to-read-data-directly-from-lcd-display) - [How to read data directly from LCD](https://reedpaper.wordpress.com/2018/08/30/how-to-read-data-directly-from-lcd/) ### 2023-03-31 拿到 TMC2208 的步進馬達驅動元件了。 從 A4988 換到 TMC2208 後,噪音不只是減少,而簡直像是消失一樣,MAGIC!!! ![](https://i.imgur.com/jfpaNDM.png) 另外,也拿到了訂的料理用溫度計,預計找個機會拆開研究。 ![](https://i.imgur.com/W4GEX6l.jpg) ### 2023-03-30 H4 聚會時, FlyPie 即興重構了 GUI。以 Electron + React + Typescript 重做了一份 GUI。 GUI 的質感有了飛躍性的提升。 不過卡在新的 code base 和原本 code base 還有不小的差異,還需要解決一些問題才能融合。 ### 2023-03-28 將 GUI 的目前 code 整理了一下,推上 H4 的 GitHub: <https://github.com/hacking-thursday/autoteamaker> 實測 MLX90614 非接觸式測水溫的方式不可靠,主要有二: - 對照料理溫度計的讀數,差了 5 ~ 10 度C - 數值容易跳動不穩定 ### 2023-03-27 到今華電子買了右彎 90 度的 micro USB 接頭,讓電源接線。 另外,在光華商場的仙得曼咖啡,買到了合適尺寸的茶濾網。 這對泡傳統茶葉更加簡單了。 ### 2023-03-26 揪著眼睛打了一整天的接線,終於將接線整到可以輕鬆帶着走的程度了。 ![](https://i.imgur.com/OQ9BT7h.jpg) ![](https://i.imgur.com/2iaFFLb.jpg) 罩上透明外殼的樣子如下: ![](https://i.imgur.com/07hrQ12.jpg) ### 2023-03-25 畫了用於固定 A4988 的殼 ![](https://i.imgur.com/RWfnyZV.png) ### 2023-03-24 實際使用上的問題: - 當螢幕休眠黑屏狀態,碰觸螢幕時,不確定會不會誤觸按鈕。 - 接線仍外露,要作固定。(優先) - RPi 要連 WiFi 時,需要打字還是需要接鍵盤,要解決的話需要螢幕鍵盤。(optional) ### 2023-03-23 以 Electron 搭配 javascript 及 shell script 弄出簡單版 GUI。 初步完成,讓 prototype 可以獨立運作,不需依賴外部電腦。 只要接上 USB 電源即可運作。 ![](https://i.imgur.com/C0aKtA6.jpg) ### 2023-03-23 修正 DFR0550 觸控板的觸控問題。目前試出的解法是: `/boot/config.txt` 檔案修改如下: ``` #dtoverlay=vc4-kms-v3d dtoverlay=rpi-ft5406,touchscreen-swapped-x-y=1,touchscreen-inverted-x=1 display_lcd_rotate=1 ``` 要點: - 取消 `vc4-kms-v3d` 改爲 `rpi-ft5406` - 設 `display_lcd_rotate` - 加上 `touchscreen-swapped-x-y=1,touchscreen-inverted-x=1` 以修正觸控翻轉的問題 ### 2023-03-23 - 成功驅動 A4988。可取代 L298N, 體積更小,且閒置狀態可關電避免過熱。 ### 2023-03-22 - 今天收到新的 L9110 元件,實測後,還是有晶片發燙的問題。 - L9110 的 spec 裏寫的上限是 800mA - 有量過 Vcc 的電流,約 0.5A ~ 0.6A 左右 - 也拿到了 A4988 的元件,預計試試看能否取代 L298N - 關於步進馬達,推薦影片如下: - [步進馬達 - 軟體與A4988 - YouTube](https://www.youtube.com/watch?v=2SMFfHa2Tqw) - [步進馬達 - 硬體 - YouTube](https://www.youtube.com/watch?v=I69kyQiQNrc) - 另外,查到有人推薦 RpiMotorLib 。裏面剛好有清楚的文件說明。 - [RpiMotorLib/Nema11A4988.md at master · gavinlyonsrepo/RpiMotorLib](https://github.com/gavinlyonsrepo/RpiMotorLib/blob/master/Documentation/Nema11A4988.md) ### 2023-03-22 觸控螢幕 DFR0550 在新的 Raspberry Pi 上,觸控有問題。 在 Raspberry Pi 的 issue tracker 找到對應的討論串: [Official Raspberry DSI 7" Display not working · Issue #4686 · raspberrypi/linux](https://github.com/raspberrypi/linux/issues/4686) 經測試,將 `/boot/config.txt` 的 `dtoverlay=vc4-kms-v3d` 註解掉(如下): ``` # Enable DRM VC4 V3D driver #dtoverlay=vc4-kms-v3d max_framebuffers=2 ``` 再重新開機即可。 ### 2023-03-17 發現 `autoteamaker.com`, `autoteamaker.org` 的網域還沒被註冊,決定先投錢註冊了。 ### 2023-03-17 用條碼機作了 QRcode 標籤,方便別人好奇時,自己連網頁看介紹,節省介紹時間。 ![](https://i.imgur.com/43cZCNC.png) ### 2023-03-16 於 H4 聚會時,第二次實測。意外發現一個 Bug。 茶葉放下去時很順利,但拉上來時,卻拉不太動,因爲**茶葉吸飽水之後變很重**,跟模擬測試或是小茶包不一樣。 ![](https://photos.hackingthursday.org/media/small/2023-03-16/IMG_20230316_205159.jpg) ![](https://photos.hackingthursday.org/media/small/2023-03-16/IMG_20230316_205154.jpg) ![](https://photos.hackingthursday.org/media/small/2023-03-16/IMG_20230316_205207.jpg) 下一步,預期要做: - 用 Electron 作簡單按 button 執行動作的 GUI - 想辦法固定 L298N 的接線 如此一來,才能切斷臍帶,讓他先成爲一個獨立自主的單元。 不然,每一次重新測試,都要重新接一次線及連線 console 下指令。 很容易耐心沒電了,專案就推不動了。 ### 2023-03-15 設計了提把 ![](https://i.imgur.com/6KpWqem.png) 可以提 ![](https://i.imgur.com/C578w7l.png) 也可向內收納 ![](https://i.imgur.com/ynOMXpf.png) 下午坐車殺去內湖買 M3 螺絲現貨,來回花了快3小時。 雖然,網購下單螺絲只要 10 分鐘,但等個 2~3 天送到家後鬥志也涼了。 有時要推進就是摒住一口氣,垃圾時間該花的還是得花。 拿到前天下單的 SD 卡, 裝了 Raspberry Pi OS , 有 GUI 方便測試。 另外,花了時間測試替代驅動板 L9110 。 中間有接錯線,只看到步進馬達有顫抖,沒轉動。 後來修正接線後就動了,但拉電流時會發燙,可能有元件已毀損。 ### 2023-03-14 費了九牛二虎之力,終於把螺桿過長礙眼的部分給鋸了。 ![](https://i.imgur.com/273sgFo.jpg) 睡前一直上網搜尋茶葉濾網,但一直沒看到非常合適的。 不是太大就是太小,多半也不適合吊掛用。 ### 2023-03-13 幫頂盤加上預留溝槽 ![](https://i.imgur.com/HQBzNqS.png) ### 2023-03-11 幫底盤加上可提住的掛勾,然後重印一個。 ![](https://i.imgur.com/fA0aEtt.png) 晚上下單買零件 ![](https://i.imgur.com/n8mcAid.png) ### 2023-03-08 花了一兩天的時間,印了小一點的底盤跟上蓋 能塞進透明管內了 ![](https://i.imgur.com/dmxBWcm.jpg) 下方是跟舊尺寸的對比(一個不會想帶出門的尺寸) ![](https://i.imgur.com/KGqoUXn.jpg) ### 2023-03-07 邊整理資料邊試組裝測試,不知不覺就前進了一小步。 [AutoTeaMaker prototyping 2023-03-07 - YouTube](https://www.youtube.com/watch?v=vFakK0eN9e8) ### 2023-03-02 帶了零件及其最新狀態至 H4 做簡單單的介紹 ### 2023-02-23 聚會時聊到這個專案 思考了一下之前拖延的原因有那些 - 其中的 RPi 3B+ 被自己借調去支援 3D 列印的用途 - 取得透明外管的時機拖太久 - 尺寸問題 - 價格問題(因爲比想像中貴多了,一時下不了決心) - 有其他的事情搶佔自己的關注(工作、聚會、...) ### 2022-12-13 收到新透明管了。 ### 2022-12-08 看到新透明管的報價了。 ### 2021-03-27 拿到訂製的透明管了,但實物尺寸比想像中大。 動力好像被打了好幾折。 (非店家的錯,完全是自己的設計失誤) ### 2021-03-18 Mat 成功驅動 I2C 的非接觸式溫度計 ![](https://i.imgur.com/kGC0LiD.jpg) 參考文件有: - https://www.youtube.com/watch?v=4V0_PBwg4c0 - https://pypi.org/project/PyMLX90614/ wycc 現場直接畫出概念設計草圖 v1 ![](https://i.imgur.com/0g4HeTY.png) ### 2021-03-14 週五得知溫度感測器出貨比預期還要久,可能要 1~2 週後才拿到貨 立馬就找其他 source 後來發現**樂意創客**有現貨,立馬就下訂: - https://www.ruten.com.tw/item/show?22030961833298 週六晚上睡前就收到貨了,讚。 ![](https://i.imgur.com/u7kNPLB.jpg) 註: 此次是第二次在**樂意創客**買東西,值得信任的好賣家 ### 2021-03-13 Thinker 在聊天室提到個有趣的東西 [Low Temperature Stirling Engine](https://www.youtube.com/watch?v=xQi6Gh5DOC8)。 另外,也提到了關於阻尼應用的 idea ,可能會用到的元件: - <https://www.ruten.com.tw/item/show?21751471642954> - <https://www.ruten.com.tw/item/show?21507484058936> ### 2021-03-11 建立專案的 hackmd 專頁,並上 H4 Facebook group 分享專案訊息,收到一些 feedback: - teamosa 智能泡茶機 (shared by Kd Tsai) - 有人詢問如何報名 ### 2021-03-07 hychen 分享了一個有趣的訊息,泡茶也有 ISO 標準: - <https://zh.wikipedia.org/zh-tw/ISO_3103> 另外也發現 gslin 在他的 blog 上提到這件趣事: - https://blog.gslin.org/archives/2021/03/07/10050/%E6%B3%A1%E8%8C%B6%E6%96%B9%E5%BC%8F%E7%9A%84-iso-%E6%A8%99%E6%BA%96%EF%BC%9Aiso-3103/ ### 2021-02-25 參加 H4 固定聚會,嘗試把觸控螢幕、馬達、及 USB power bank 串接起來作概念測試。 不過臨時少了幾個線材,RJ 提議去對街的摩茲工寮借工具來用。 加上發現當晚的 odoo 活動主講人是 marr ,剛好是 wycc 認識的老朋友,於是就整群人過去串門子了。 當晚邊聊邊弄,在結束離開前 Mat 依下述文件的指引,成功驅動了步進馬達 - https://www.electronicshub.org/raspberry-pi-stepper-motor-control/ ![](https://i.imgur.com/jUS69NK.jpg) ### 2021-02-24 觸控螢幕到貨。(註: 於 2021-01-14 下單) ![](https://i.imgur.com/0AHHJnR.jpg) ### 2021-01-08 湊足第一波基礎硬體元件 ![](https://i.imgur.com/pxPGkNx.jpg) ### 2020-12-21 下單購買 5V 步進馬達 (一般較常見的是 12V) - https://shop.cpu.com.tw/product/61340/info/ ### 2020-12-16 下一步是於**創客市集**下單購買硬體元件。 ![](https://i.imgur.com/76OFnny.png) ### 2020-12-08 靈感源起的最早時間已不可考。最早的行動是始於購買光軸開始。 ![](https://i.imgur.com/1Qspiuu.png)