|
發布時間: 2022-4-23 16:20
正文摘要:我用51單片機連接直流電機的編碼器(帶碼盤385直流電機 AB相編碼器,96線碼盤,A相和B相輸出可直接單片機IO口識別,我只接了A相),用二個四段共陰數碼管的后五位顯示編碼器輸出了多少次脈沖,用手工轉動電機,當轉 ... |
| 不光是要外部中斷,還要判斷方向,比如用A相做外部中斷,進入后要立刻讀取B相的電平,才能知道電機往哪個方向旋轉。 |
|
如果中斷沒有其他外設的話,用中斷的話會比較好吧!!! |
dazhige 發表于 2022-4-23 21:13 這個建議非常好,我再用中斷調試一下 |
wulin 發表于 2022-4-23 21:11 位置精度要求不是特別高,加上減速比有50,慣性造成一點點誤差可以接受,直流電機體積小,步時電機體積大成本高 |
| 建議用中斷或者捕捉啊,用軟的方法后期肯定會受到其他程序的影響,不過測試下原理是可以的。 |
niejiangong 發表于 2022-4-23 16:31 用定時器外部計數功能可以做到準確計數。由于機械慣性不可能以此精確控制電機轉動的圈數。需要改用步進電機。 |
|
本帖最后由 niejiangong 于 2022-4-23 16:34 編輯 補充一下,我只測其中一相A或者B,本來的目的是:想通過編碼器的輸出的脈沖數除以96,計算出來電機轉動的圈數,當圈數達到預定值后,表明電機帶的齒輪在齒條上走到設定位置,然后給電機斷電。但讀數總不正常就沒法繼續操作了 |