# 同一包生豆,為什麼一鍋酸一鍋苦?用一台會動的烘豆機模型回答七個問題 來源:Realpha 讀市場(blog.getrealpha.com) 原文與圖表:https://blog.getrealpha.com/blog/coffee-roaster-simulation-2026-10/ > 2026 年 10 月 22 日,我在部落格實驗室放了一台 74 個零件、會跟著滑桿動的烘豆機,底下是一個簡化的烘豆模擬。這篇用問答的方式,講轉折點、一爆、發展時間比例、火力和投豆溫度各管什麼,哪些是真實烘豆的常見說法、哪些只是模型跑出來的數字,以及這個模型哪裡不準。技術學習分享。 Published: 2026-10-22 Locale: zh-TW Tags: 咖啡烘焙, 互動圖, 模擬, 傳熱, 做中學 TL;DR: 同一包豆子烘出不同味道,差別多半在一爆之後等了多久、一路上升溫快慢;模型預設跑出一爆 8:02、出豆 10:09、發展時間比例 20.9%,落在真實烘豆常見的 15–25% 裡,但它只是看方向的教學模型,探針讀數在不同機器上可以差十幾度。 ![烘豆機實驗室封面](/covers/coffee-roaster-simulation-2026-10.png) > *發展時間比例只是複雜拼圖的一塊。*
> —— 拉奧《發展時間比例》(2016;筆者自譯) 2026 年 10 月 22 日,我在部落格放了一台[會動的烘豆機](https://blog.getrealpha.com/lab/roaster/):74 個實體零件、3 條管子,四個滑桿管投豆溫度、火力、風門和出豆溫度,按一下就把一整鍋壓成 15 秒播完。背後是一個簡化的模擬,預設(投豆 200°C、火力 70%、風門 50%、出豆 215°C)跑出來是轉折點 1:20、一爆 8:02、出豆 10:09,發展時間比例 20.9%,算中焙。這些都是模型跑出來的數字,拿來看「往哪個方向調」可以,拿來預測你手上那台機器的下一鍋不行。 ![實驗室裡那台烘豆機:滾筒、火排、觀察窗和溫度螢幕,會跟著滑桿一起動。](/figures/coffee-roaster-lab-machine.png) **👉 [打開烘豆機實驗室,自己拖滑桿烘一鍋](https://blog.getrealpha.com/lab/roaster/)** ## 一鍋豆子的十分鐘裡,到底發生了什麼? 大致分三段:先把水分逼出來,再變黃變褐、長出香氣,最後聽到一陣像爆米花的劈啪聲,叫一爆。一爆之後到出豆那段叫發展期。 生豆的含水率一般在 10–12%(精品咖啡協會常被引用的範圍),脫水期通常以豆溫約 150–160°C、豆子轉黃為界。但轉黃不代表水已經烘乾,豆子其實一路在失水。一爆大約發生在豆溫 196–210°C 左右,要提醒的是這是探針讀數,不同機器可以差到十幾度。整鍋下來,商用小型滾筒一鍋多在 10–15 分鐘。 模型的預設剛好落在這些範圍裡:脫水在 5:27 結束,8:02 一爆,10:09 出豆。我第一次看到這條曲線時最驚訝的是,前一半的時間幾乎都花在「還沒什麼事發生」的脫水上。 ![實驗室標準中焙那一鍋的豆溫曲線:投豆後先掉到 1:20 的轉折點,脫水、一爆、出豆依序標在線上。](/figures/coffee-roaster-lab-curve.png) ![一條橫長條被切成三段,最左邊的脫水段佔掉一半以上,中間上色段較短,最右邊的發展段最窄,三個時間刻度標在下方。](/figures/roast-three-stages-timeline.svg) ## 為什麼曲線一開始會先往下掉? 豆子沒有變冷。溫度探針插在已經燒熱的滾筒裡,倒豆前它量到的是熱滾筒和熱空氣;冷豆倒進去把探針包住,讀數才往下掉,等豆子自己熱起來,曲線才轉頭往上。那個最低點叫轉折點,真實烘豆通常在投豆後一兩分鐘內出現,確切時間要看機器和投豆溫度。 模型裡也是這樣算的:探針本身要時間熱起來,所以讀數先降後升。換幾個設定比一比: | 設定 | 轉折點時間 | 轉折點溫度 | |---|---|---| | 預設(投豆 200°C、火力 70%) | 1:20 | 85.1°C | | 火太小(火力 35%) | 1:35 | 72.5°C | | 投豆溫太高(投豆 228°C、火力 90%) | 1:17 | 97.9°C | (以上都是模型跑出來的。)火越小,谷底越深也越晚;投豆溫度越高,谷底越淺。 ![三條曲線都先往下掉再往上爬,火小那條谷底最深也最靠右,投豆溫高那條谷底最淺最靠左。](/figures/turning-point-dip-depth.svg) 所以轉折點有點像一鍋豆子的開場哨,它告訴你這一鍋起跑的力道,而不是豆子真實的溫度。 ## 淺焙和深焙差在哪?為什麼一爆的時間都一樣? 在實驗室裡切「淺焙」和「深焙」兩個預設,你會發現一爆都在 8:02,差別只在一爆之後多等了多久: | 預設 | 出豆溫度 | 一爆 | 出豆 | 發展時間比例 | 模型的提醒 | |---|---|---|---|---|---| | 淺焙 | 207°C | 8:02 | 9:18 | 13.6% | 發展不足 | | 中焙(預設) | 215°C | 8:02 | 10:09 | 20.9% | 無 | | 深焙 | 230°C | 8:02 | 12:07 | 33.7% | 發展過頭 | 發展時間比例就是「一爆到出豆」佔整鍋時間的比例。 ![三條長條的一爆刻度在同一條垂直線上,之後的尾段一條比一條長,旁邊標出一成三、兩成一、三成四。](/figures/development-ratio-three-roasts.svg) 真實烘豆常見落在 15–25%;咖啡烘焙作者拉奧建議多數烘焙度用 20–25%,但他自己也說,火力大、批量相對小的機器可以降到約 15%,而且這只是好幾個指標裡的一個。這也是我把他那句話放在開頭的原因。 一爆時間都一樣,是模型的設計:它在豆子本身的溫度到達一個固定門檻時觸發一爆,出豆溫度只決定之後要等多久。真實的豆子沒有這麼整齊,產地、含水率、批量都會讓一爆早一點或晚一點。另外,深焙那鍋出豆在 230°C,已經碰到常說的二爆範圍(約 225–230°C 上下),但模型裡沒有二爆這一段,所以它不會告訴你二爆什麼時候來。 真實世界量深淺,一種常見做法是用 Agtron 色度計,數字越小越深。以美國評測網站 Coffee Review 的刻度,70 以上算淺、50 以下算深;量整豆還是量磨好的粉、用哪一種刻度,數字會差很多,引用時要說清楚是哪一種。重量也會告訴你深淺:一般淺焙失重約 12%、深焙約 20%,極端可以從 10% 到 25%。這兩樣模型都沒有算。 ## 火力、風門、投豆溫度,各自管什麼? 在模型裡,火力決定熱風有多熱,火力越大整條曲線越往前推;風門開大,熱風吹得更勤、傳熱更快,但也帶走更多熱;投豆溫度是滾筒先存起來的熱,開頭推一把,之後慢慢退掉。 兩個極端最能看出差別。 ![三條升溫曲線與一條出豆溫度水平線,火小那條二十分鐘都碰不到水平線,火大那條很早就撞上去。](/figures/heat-extremes-two-ends.svg) 火力降到 35%,脫水要到 10:19 才結束,20 分鐘內都到不了出豆溫度,這鍋等於沒烘完。反過來,投豆 228°C、火力 90%,一爆提早到 5:55、7:14 就出豆,模型會提醒豆子表面可能先焦:外面已經上色,裡面還沒跟上。 真實的機器還有一個模型沒有的旋鈕:滾筒轉速。1 公斤級的滾筒常見約每分鐘 60–75 轉,滾筒越小轉越快,40–60 轉是大型機的範圍。轉速看的是滾筒大小,不是這鍋放多少豆;轉太快,豆子會被離心力貼在筒壁上,傳熱反而變差。 ## 升溫速度為什麼要越來越慢?一爆後那一下驟降是怎麼回事? 照拉奧的說法,升溫速度(豆溫每分鐘爬多少度)在整鍋中應該一直往下降,而一爆時常見的驟降、接著又反彈,是悶味(烘起來平板、沒有層次的那種味道)的主因。他的解釋是,一爆時豆芯在短時間內釋出大量水氣,這些水氣比豆表和探針還冷,曲線就被拉下來了。 ![一條一路往下傾斜的線,在中間一爆處突然掉一個缺口再彈回來,之後繼續往下。](/figures/ror-decline-and-crash.svg) 這是拉奧的主張,業界有人質疑。我在模型裡讓一爆先短暫放熱、再吸熱,所以升溫速度會掉一下,但這只是模仿曲線的形狀,不代表模型證明了他的說法。 ## 這個模型哪裡不準? 我心裡有數的有四處: - 它把一整鍋豆子當成一顆豆子來算,只算傳熱和脫水。2025 年一篇食品科學期刊的論文指出,豆子在約 150°C 之後會自己產熱,不算這段的模型會低估豆溫,所以到後半段一定會偏。 - 一爆是固定門檻觸發,沒有二爆,也沒有轉速。 - 它不知道你的豆子:產地、含水率、批量大小都會讓同一組設定跑出不一樣的曲線。 - 它不知道你的探針插在哪裡。同一鍋豆子,探針位置不同,讀數可以差到十幾度,所以「一爆在幾度」這種數字搬到別台機器上很容易對不上。 我的用法是把它當地圖上的指北針:火小了曲線會拖、一爆後等太久會過頭,方向是對的;但要調幾格,還是得靠真的烘一鍋、喝一口、記下來。 ## 程式說「通過」,為什麼我還是不放心? 因為那個「通過」是在檢查了 0 個零件、花了 0.0 秒之後給的。畫完機器之後,有一套程式會自動檢查零件有沒有互相穿過、管子有沒有接好;第一次跑,它回報「通過」,我差點就收工了,後來多看了一眼數字才發現不對。同一套檢查在之前那台咖啡機上檢查過 111 個零件。 原因很小:畫零件的程式少了一行「把零件交給檢查」,檢查那邊收到一個空清單,當然什麼錯都找不到。補上之後,它真的檢查了 74 個零件,抓到 1 個問題:傳動皮帶的一端在畫面上貼到滾筒外殼的輪廓,挪 0.4 單位就解決了。 ![三根柱子並排,第一根是高度為零的虛線框,第二根中高,第三根最高,三根上面都寫著通過。](/figures/zero-parts-checked-passed.svg) 同一天還有兩個小坑。英文版的機器說明一度中英混雜:翻譯表是照順序替換的,短詞「風門」先被換掉,整句長說明就對不上了,而一項專門測語言的測試照樣通過。修法是長句先換、短詞後換。另一個是淺色主題下螢幕上的字看不清,我乾脆照真實的液晶螢幕,固定用深色底配琥珀色字,不跟著主題變。 三個坑有同一個形狀:結果看起來沒問題,但沒人問過「它到底看了什麼」。 ## 帶得走的一件事 一個「通過」值不值得信,要先看它檢查了幾樣東西。我自己是被那個 0 個零件嚇到之後,才養成這個習慣。下次你看到「全部正常」「掃描完成,無異常」這類結果時,不管是電腦掃毒、記帳軟體對帳,還是一張檢查清單,先找出它實際檢查了幾項,把那個數字寫在旁邊;如果找不到數字,或數字是 0,就先把那個「通過」記成「還不知道」。