0x6A Logbook

教學
程式開發

Modbus 通訊協定完整教學:從 RTU 到 TCP,ESP32/STM32 實作

前言:1979 年的協定,為什麼現在還在跑 Modbus 是 Modicon 在 1979 年為 PLC 設計的協定,簡單到有點過時 —— 但它今天還活在你家附近的工廠、大樓機房與太陽能電廠裡。 原因很務實:它夠簡單、夠開放、實作成本夠低。一台變頻器只要宣稱支援 Modbus RTU,就能被任何 SCADA 系統讀到。這種「誰都做得到」的特性,比任何華麗的規格都長壽。 規矩只有一條:只能有一個 Master Master 負責發問,Slave 只負責回答 —— Slave 永遠不會主動開口。RTU 模式使用位址 1...

2026 年 5 月 22 日 0條評論 944點熱度 0人點贊 shi6a 閱讀全文
程式開發

FIFO 完全解析:結構、空滿判斷、深度計算與跨時域設計

什麼是 FIFO? 先講最白話的版本:FIFO 就是一個排隊用的緩衝區。東西從後面排進去、從前面拿出來,誰先到誰先被服務 —— First-In-First-Out,中文就叫先進先出。 聽起來沒什麼了不起,但嵌入式世界幾乎每個角落都有它:UART 收進來的資料、SPI 要送出去的佇列、DMA 搬資料的中繼站,還有兩個不同時鐘域之間的資料交換(Clock Domain Crossing, CDC)。少了 FIFO,這些事情全部得靠 CPU 硬扛。 這篇我想從頭把四件事講清楚:結構長什麼樣、空跟滿怎麼判斷、深度要開多大...

2026 年 5 月 21 日 0條評論 1180點熱度 0人點贊 shi6a 閱讀全文
程式開發

PID 演算法完整教學:從比例積分微分控制到 ESP32 實作

前言:PID 是那種「每個人都用過,但很少人說得清楚」的東西 你做馬達調速、恆溫控制、電池充電、平衡車,最後都會走到同一條路:量測實際值,跟目標比,然後修正輸出。這個循環就是回授控制,而 PID 是它最泛用的一種形式。 它紅了幾十年不是因為數學漂亮,而是因為三個參數就能涵蓋大多數系統,而且不需要你精確知道系統模型。 PID 迴路長什麼樣 連續形式的公式如下: u(t) = Kp × e(t) + Ki × ∫e(t)dt + Kd × de(t)/dt 但 MCU 上跑的是離散版本,每一項都要換成「取樣點之間」的算...

2026 年 5 月 21 日 0條評論 772點熱度 0人點贊 shi6a 閱讀全文
程式開發

PCB 去藕半徑完全解析:退耦電容擺放距離與電源完整性設計

前言:去耦半徑不是玄學,是「迴路面積」的工程問題 每個學 PCB Layout 的人都聽過這句話:「0.1 µF 要貼著 IC 腳放」。但為什麼?貼多近才算近?放遠一點真的會出事嗎? 這些問題的答案不是靠經驗法則的口耳相傳,而是一個很具體的物理量:迴路電感。電容離 IC 越遠,電流繞的那一圈就越大,電感就跟著變大 —— 而電感一大,這顆電容在高頻就等於不存在。 去耦半徑的本質:迴路面積 IC 在切換瞬間需要一股電流,這股電流從電容出發、經走線進 IC、再從 GND 繞回電容 —— 這一個圈就是迴路。圈越大,電感越大...

2026 年 5 月 21 日 0條評論 1086點熱度 0人點贊 shi6a 閱讀全文
自動化技巧

Boost 升壓電路完整教學:從升壓轉換器原理到鋰電池 5V 輸出設計

我最早接觸切換式電源時,是先學會了 Buck,然後很自然地以為「Boost 就是把 Buck 反過來接」。結果第一次自己做鋰電池升 5V 的板子,燒掉兩顆 MT3608 才搞懂:Boost 跟 Buck 不只是方向相反的同一件事,它的麻煩點完全不一樣。 Boost(升壓轉換器、Step-Up Converter)的任務很單純 —— 把比較低的輸入電壓推到比較高的輸出電壓,最經典的就是把鋰電池的 3.7V 升到 5V 餵 USB 裝置。但它付出的代價也很明確:輸入電流比輸出電流大、輸出漣波比較醜、空載的時候還會偷偷飄...

2026 年 5 月 21 日 0條評論 1252點熱度 0人點贊 shi6a 閱讀全文
自動化技巧

Buck 降壓電路完整教學:從切換式電源原理到 ESP32 電源設計實作

什麼是 Buck 降壓電路? 先講一句話版本:Buck 就是拿開關把輸入電壓切碎,再用電感跟電容把它拼回一個比較低的電壓。Buck 降壓電路(也稱降壓轉換器、Step-Down Converter)是嵌入式系統中最核心的電源架構 —— 從 Arduino、ESP32 到 STM32 開發板,板子上那顆黑色電感配著電容濾波的電路,十之八九就是 Buck Converter。 我自己第一次拆電源模組時最納悶的是:輸入明明 12V,為什麼過了一顆電感、一顆二極體,輸出就乖乖變成 3.3V?後來才想通,重點不在「降」這個字...

2026 年 5 月 21 日 0條評論 1172點熱度 0人點贊 shi6a 閱讀全文
自動化技巧

RS485 通訊協定完整教學:從硬體接線到 ESP32/STM32 實作

前言:工業現場為什麼還在用 RS485 RS485(正式名稱 TIA-485)由 EIA 定義,是一套差動串列通訊標準。它不新,但工廠、大樓機房、太陽能電廠到現在都還在用,原因只有一個:它很耐操。 兩條絞線拉 1200 公尺還能跑,雜訊同時灌進兩條線也不會影響判讀,一條匯流排可以掛到 32 個節點。這些特性讓它成為 Modbus RTU 等工業協定的標準實體層。 它靠什麼撐過惡劣環境 關鍵在「差動訊號」:邏輯不是看某一條線對地的電壓,而是看 A、B 兩條線的差值。 外界雜訊會同時耦合到 A 與 B,兩條線一起被抬高...

2026 年 5 月 21 日 0條評論 1355點熱度 0人點贊 shi6a 閱讀全文
自動化技巧

ESP32 I2C 通訊實戰:連接 BME280 溫濕度氣壓感測器

前言:兩條線,接一堆感測器 I2C 是 1982 年 Philips(現在的 NXP)發明的協定,目標只有一個:用最少的引腳完成裝置間通訊。它做到了 —— 兩條線(SDA + SCL)就能掛一整排感測器。 但它的規則比 UART、SPI 都細:Start 與 Stop 定義在「SCL 高電位時 SDA 的變化」,資料採樣在上升緣、變化在下降緣,而且每一個 byte 後面都要跟一個 ACK。搞懂這幾件事,你的 I2C 就不會再出現「掃不到裝置」的鬼故事。 兩條線與五個階段 訊號線 全名 說明 SDA Serial D...

2026 年 5 月 21 日 0條評論 725點熱度 0人點贊 shi6a 閱讀全文
自動化技巧

ESP32 MQTT 實戰教學:從 DHT22 感測器到 Node-RED 儀表板完整搭建

前言:為什麼 IoT 專案最後都會選 MQTT 如果你做過「把感測器資料丟上網頁」的專案,大概都經歷過同一段掙扎:要嘛讓 ESP32 開一個網頁(但你不在同一個網段就看不到),要嘛用 HTTP 定時打 API(但每次都要重新連線,耗電又慢)。 MQTT 解決的正是這件事:它讓裝置「講話」而不是「被問話」。資料一有變化就發布出去,有興趣的人自然會收到。 MQTT 跟 HTTP 差在哪 關鍵差別在「解耦」:發布者和訂閱者完全不需要知道彼此的存在,甚至不需要同時在線。這對電池供電、偶爾上線的裝置來說是決定性的優勢。 三個...

2026 年 5 月 21 日 0條評論 919點熱度 0人點贊 shi6a 閱讀全文
自動化技巧

ESP32 與 STM32 SPI 通訊實戰:從時序圖看懂資料傳輸

前言:SPI 是嵌入式開發的必修課,但它其實不難 SPI 由 Motorola 在 1980 年代提出,定位很明確:全雙工、同步、主從式的通訊。它用四條線解決問題,換來的是比 I2C 快得多的速度(可達 40 MHz 以上)。 缺點也很老實:每多一個 Slave 就多一條 CS 線。所以常見的配置是「一個 Master、少數幾個 Slave」,而不是像 I2C 那樣掛一整排。 四條線解決什麼問題 訊號線 全名 作用 SCLK / SCK Serial Clock 時脈,由 Master 產生 MOSI Master...

2026 年 5 月 21 日 0條評論 628點熱度 0人點贊 shi6a 閱讀全文
123

近期文章

  • USLink 水下通訊模組(中):OOK 軟體設計與除錯歷程
  • USLink 水下通訊模組(上):項目發想與電路設計
  • ESP32 伺服馬達 SG90 控制完整教學:PWM 脈衝控制、LEDC 多軸同步、平滑運動與梯形加減速
  • ESP32 SD 卡讀寫完整教學:SPI 模式、SDMMC 4-bit 初始化序列、FAT32 檔案系統與 Data Logging
  • ESP32 藍牙傳統 SPP(Serial Port Profile)完整教學:BT Classic 通訊、RFCOMM 框架、主從架構與 HC-05 相容

近期留言

尚無留言可供顯示。

彙整

  • 2026 年 9 月
  • 2026 年 6 月
  • 2026 年 5 月

分類

  • 未分類
  • 程式開發
  • 自動化技巧

COPYRIGHT © 2026 0x6A Logbook. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang