|
發布時間: 2022-9-15 23:37
正文摘要:各位好!我是51單片機初學者,最近在用開發板調一個蠕動泵程序,大概就是用51單片機控制A4988驅動器實現步進電機的正反轉、加減速。程序已經基本實現功能了,就是發現好像開發板對干擾特別敏感,我一開桌面上的臺燈 ... |
|
最新進展: 6樓朋友說的對,之前用兩個外部中斷是搞復雜了。現在去掉外部中斷,直接用定時器0,加上掃描I/O按鍵也可以實現連續調速了。 問題已解決,感謝大家關注! |
|
我應該是找到原因了!開發板上的紅外接收傳感器與 K3按鍵 共用 P3.2 口,而外部中斷INT0也是P3.2口。紅外傳感器拔了就沒有干擾了!同樣用遙控器對著紅外接收器按也會跳變的。 沒仔細看教材說明啊,還以為開發板不行呢 |
lids 發表于 2022-9-16 10:36 因為我用過你說的方法對定時器重裝初值,但定時器不聽話 |
ningsy 發表于 2022-9-16 09:38 那你按鍵不要用外部中斷檢測,直接讀IO口的高低電平不就行了嗎?一個普通按鍵為什么非要開外部中斷 |
| 這種節能燈就是有干擾的,特別是開關的時候,你的系統只是被干擾,程序沒跑飛,所以還不用狗來重啟。哪種芯片都會被干擾,你要根據你系統的要求,從硬件和軟件兩種方式去處理,完全不怕干擾是不可能的。 |
| 這個程序是在一個方波發生器的基礎上改的,可以理解為只輸出脈沖、方向、使能三個信號(還用驅動器細分和復位信號,我覺得設計電路板時直接上拉就行)。我原來用的是數字調轉速的程序,感覺還是現在這個好,貼近實際需求。原來那個沒用外部中斷,但開燈瞬間數值也會往上跳。 |
小黑屋525 發表于 2022-9-16 08:58 我覺得不是電源的原因。開發板我換了電池供電,應該沒波動。電機是12V外電源供電,但就是把12V斷了干擾依舊。 我也查了別人的帖子,說使用外部中斷容易受干擾,我程序里加減電機頻率的兩個按鍵就是用的外部中斷實現的(查詢外部中斷的按鍵是否按下,若按下重新給定時器1重裝初值改頻率),有說中斷里加延時的,我加了效果有改善但還不行;有說空閑I/O口不管上拉下拉,能拉的全拉上的,這個還沒試。 |
| 這個很正常,說白了就是開發板的穩壓芯片用的很差,而電機的消耗又非常大,開燈的一瞬間穩壓芯片沒穩住。 |