製作過程中實際遇到的問題,照遇到的順序整理。
症狀:通電後遠燈、近燈都不亮,狀態燈沒反應。斷電時狀態燈反而會閃一下。把晶片從 IC 座拔起來再插回去才會恢復。兩顆晶片都會,只是頻率不同。
量測:卡住時 IC 座第 8 腳對第 4 腳 4.98V、第 1 腳(RESET)4.98V、晶片不熱。所以不是閉鎖(latch-up),也不是 RESET 被拉低。
原因:晶片內建的掉電偵測(BOD)把它卡在重置狀態。
解法:
加上之後兩顆晶片都正常,斷電時也不會再閃。
電容放電慢,電壓經過 BOD 門檻時晶片被重置、耗電變小,電壓又彈回門檻以上,晶片短暫重開機跑出開機閃燈。加了 R14 之後放電很快,就不會發生。
原型板焊接面有一條 U 形的線,同時接到遠燈 SS8050 的射極和基極,再接到地線,基極被直接接地。剪掉基極那段多出來的線就好。焊接時要注意 SS8050 中間腳(基極)不能碰到地線。
確認方法:電錶切電阻檔,紅棒接地、黑棒接 SS8050 中間腳,應該約 10kΩ(R5);量到 0 就是短路。
第 2 腳(PB3)浮接,讀到的電壓亂飄,被當成遠燈開了超過 2 秒。測試時第 2 腳要經 10k 接地。
確認時間只有 0.8 秒(快閃那 5 下),在麵包板上換線太慢。改成「第 2 腳經 10k 接地,另一條線從 5V 碰第 2 腳,看到快閃就拿開」,或暫時把 CONFIRM_MS 改成 3000 測試。
只上傳了程式,沒有做「燒錄 Bootloader」,晶片還在出廠的 1MHz。按住遠燈要 16 秒才提示,開機閃燈變成亮 1.2 秒。插上 JP3 補做「燒錄 Bootloader」。
換晶片後開機不穩,重插就好。機車會震動,建議:
| 訊息 | 原因 | 解法 |
|---|---|---|
| 開發板管理員搜尋不到 ATTinyCore | drazzy.com 憑證過期 | 改用 GitHub 備用網址,見 燒錄說明 |
Failed to install platform ... 13 INTERNAL |
micronucleus 工具下載失敗 | 手動安裝 ATTinyCore |
unknown token / syntax error(avrdude.conf) |
ATTinyCore 1.5.2 的設定檔太舊,avrdude 8 讀不懂 | 換成 avrdude 8 的 avrdude.conf |
cannot open USB device: Permission denied |
驅動不合 | Zadig 改裝 libusbK |
cannot set sck period |
USBasp 韌體舊 | 忽略;用 JP3 降速 |
target doesn't answer / initialization failed |
接線錯,或晶片在 1MHz 卻沒降速 | 檢查六條線、短接 JP3 |