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