找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2271|回復(fù): 20
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)步進(jìn)電機(jī)調(diào)速系統(tǒng)這個(gè)代碼是怎么實(shí)現(xiàn)的?求分析

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
求助論壇大佬,這個(gè)代碼的調(diào)速是怎么實(shí)現(xiàn)的
(大二初學(xué)單片機(jī),不太理解,編程語言主要學(xué)了c、c艸)
感謝!

image.jpg (6 MB, 下載次數(shù): 41)

image.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:844772 發(fā)表于 2022-4-29 08:32 | 只看該作者
就是調(diào)speed的值啊,speed越大速度越快。不過它調(diào)節(jié)能力,0-10這個(gè)值也太小了。
回復(fù)

使用道具 舉報(bào)

板凳
ID:1015750 發(fā)表于 2022-4-29 14:13 | 只看該作者
glinfei 發(fā)表于 2022-4-29 08:32
就是調(diào)speed的值啊,speed越大速度越快。不過它調(diào)節(jié)能力,0-10這個(gè)值也太小了。

好的,感謝,這個(gè)我能理解了,不過他這個(gè)步數(shù)是怎么設(shè)定的,AA BB CC DD給高低電平這個(gè)我不是很理解。如果是八拍,不應(yīng)該是按照AA -AABB-BB-………這個(gè)順序給脈沖,這個(gè)switch語句里的是怎么實(shí)現(xiàn)的呢?
回復(fù)

使用道具 舉報(bào)

地板
ID:1015750 發(fā)表于 2022-4-29 14:21 | 只看該作者
這個(gè)是完整代碼(部分注釋是我自己添加的,不知是否有誤,代碼是在網(wǎng)上找到的)感謝各位大佬答疑解惑

962E95DA-7484-4F15-AB14-D391140728E0.jpeg (203.37 KB, 下載次數(shù): 51)

962E95DA-7484-4F15-AB14-D391140728E0.jpeg
回復(fù)

使用道具 舉報(bào)

5#
ID:844772 發(fā)表于 2022-4-29 14:57 | 只看該作者
ssmlong 發(fā)表于 2022-4-29 14:13
好的,感謝,這個(gè)我能理解了,不過他這個(gè)步數(shù)是怎么設(shè)定的,AA BB CC DD給高低電平這個(gè)我不是很理解。如 ...

沒看到你變量的定義和線路,但你搜一下兩項(xiàng)四線的步進(jìn)電機(jī),四拍怎么走的就知道了,你說的是八拍走法略有不同,至于switch ,不過是flag每個(gè)循環(huán)加一了,看89——92行,所以它在0-7變換,所以每switch自然就執(zhí)行下一case。相當(dāng)于BB CC DD AA 分別置1,其他的都是0.
另外,感覺你的速度也太快了,可能轉(zhuǎn)不了,光發(fā)抖了,如果不轉(zhuǎn)把69行的10 調(diào)大點(diǎn)。
回復(fù)

使用道具 舉報(bào)

6#
ID:1015750 發(fā)表于 2022-4-29 21:46 | 只看該作者
glinfei 發(fā)表于 2022-4-29 14:57
沒看到你變量的定義和線路,但你搜一下兩項(xiàng)四線的步進(jìn)電機(jī),四拍怎么走的就知道了,你說的是八拍走法略有 ...

好的,謝謝你
回復(fù)

使用道具 舉報(bào)

7#
ID:493649 發(fā)表于 2022-4-30 23:36 來自觸屏版 | 只看該作者
做好了沒,我最近也在研究咋控制轉(zhuǎn)速的
回復(fù)

使用道具 舉報(bào)

8#
ID:514254 發(fā)表于 2022-5-1 10:05 | 只看該作者
調(diào)速就是兩個(gè)脈沖之間或者兩相通電的間隔,如果越長(不管使用定時(shí)器還是延時(shí)函數(shù)),步進(jìn)電機(jī)越慢,越短步進(jìn)越快,當(dāng)然一定要滿足電機(jī)本身的機(jī)械要求,太小了,電機(jī)僅僅震動發(fā)熱,時(shí)間長了可能會燒毀。
回復(fù)

使用道具 舉報(bào)

9#
ID:1015750 發(fā)表于 2022-5-2 02:55 | 只看該作者
dazhige 發(fā)表于 2022-5-1 10:05
調(diào)速就是兩個(gè)脈沖之間或者兩相通電的間隔,如果越長(不管使用定時(shí)器還是延時(shí)函數(shù)),步進(jìn)電機(jī)越慢,越短步 ...

我主要是不太懂他這個(gè)步數(shù)是怎么設(shè)定的,高低電平是什么給的,就是switch里面的不太懂
回復(fù)

使用道具 舉報(bào)

10#
ID:1015750 發(fā)表于 2022-5-2 02:56 | 只看該作者
33333333111 發(fā)表于 2022-4-30 23:36
做好了沒,我最近也在研究咋控制轉(zhuǎn)速的

還在學(xué)習(xí),一起加油🤝
回復(fù)

使用道具 舉報(bào)

11#
ID:514254 發(fā)表于 2022-5-2 08:12 | 只看該作者
回復(fù)

使用道具 舉報(bào)

12#
ID:514254 發(fā)表于 2022-5-2 10:00 | 只看該作者
結(jié)合上面的圖,然后和具體的電路,比如ABCD各相接到那個(gè)IO口了,就大概明白了,所謂的脈沖,就是讓某一個(gè)線圈通電
回復(fù)

使用道具 舉報(bào)

13#
ID:1023213 發(fā)表于 2022-5-2 11:07 來自觸屏版 | 只看該作者
利用pwm控制吧
回復(fù)

使用道具 舉報(bào)

14#
ID:1023283 發(fā)表于 2022-5-2 11:58 來自觸屏版 | 只看該作者
一般是pwm實(shí)現(xiàn)
回復(fù)

使用道具 舉報(bào)

15#
ID:1015750 發(fā)表于 2022-5-2 19:20 | 只看該作者
dazhige 發(fā)表于 2022-5-2 10:00
結(jié)合上面的圖,然后和具體的電路,比如ABCD各相接到那個(gè)IO口了,就大概明白了,所謂的脈沖,就是讓某一個(gè)線 ...

好的,謝謝你
回復(fù)

使用道具 舉報(bào)

16#
ID:1015750 發(fā)表于 2022-5-2 19:20 | 只看該作者

我還不太懂pwm是什么,剛接觸單片機(jī),繼續(xù)學(xué)習(xí),感謝
回復(fù)

使用道具 舉報(bào)

17#
ID:1015750 發(fā)表于 2022-5-2 19:21 | 只看該作者
dlnb666 發(fā)表于 2022-5-2 11:58
一般是pwm實(shí)現(xiàn)

好的,我回去了解一下
回復(fù)

使用道具 舉報(bào)

18#
ID:1015750 發(fā)表于 2022-5-2 20:11 | 只看該作者
dazhige 發(fā)表于 2022-5-2 10:00
結(jié)合上面的圖,然后和具體的電路,比如ABCD各相接到那個(gè)IO口了,就大概明白了,所謂的脈沖,就是讓某一個(gè)線 ...

我還有個(gè)問題想請教一下您,就是switch里面,我的理解是,每一次執(zhí)行都是給某一個(gè)接口脈沖,那不應(yīng)該是這樣:case 1: AA=1,BB=0,CC=0,DD=0;case 2:AA=1,BB=1,CC=0,DD=0;case 3:依次類推,如果是像原作者那樣寫的,他的步序是怎樣的,給一個(gè)接口脈沖之后再給其他接口脈沖,但是前一個(gè)接口狀態(tài)沒有改變,那不會影響步數(shù)嗎?
回復(fù)

使用道具 舉報(bào)

19#
ID:1015750 發(fā)表于 2022-5-2 21:13 | 只看該作者
dazhige 發(fā)表于 2022-5-2 10:00
結(jié)合上面的圖,然后和具體的電路,比如ABCD各相接到那個(gè)IO口了,就大概明白了,所謂的脈沖,就是讓某一個(gè)線 ...

你好,我想向您請教一下(剛剛在帖子下回復(fù)了不過好像沒有成功),就是關(guān)于那個(gè)switch語句,我的理解是每一次執(zhí)行都是給某一個(gè)io口脈沖,我的想法是如果是八拍,就是
case 1:AA=1,BB=0,CC=0,DD=0;
case 2:AA=1,BB=1,CC=0,DD=0;
case 3:AA=0,BB=1,CC=0,DD=0…
依次類推,如果是原作者的思路,他一次只給某一個(gè)口脈沖(如BB=1),那下一次執(zhí)行的時(shí)候,沒有重新給BB賦值,那BB的狀態(tài)沒有變,不會影響轉(zhuǎn)動嗎?這個(gè)是我不太理解的地方
回復(fù)

使用道具 舉報(bào)

20#
ID:844772 發(fā)表于 2022-5-5 14:47 | 只看該作者
ssmlong 發(fā)表于 2022-5-2 21:13
你好,我想向您請教一下(剛剛在帖子下回復(fù)了不過好像沒有成功),就是關(guān)于那個(gè)switch語句,我的理解是每 ...

如果完整走了八步后再走,它的節(jié)奏是下面的表,端口不需要每次都重新賦值啊。你那么寫也沒錯(cuò),但沒這個(gè)效率高,它在中斷函數(shù),對效率敏感。
      AABBCCDD
0    1  1  0  0
1    0  1  0  0
2    0  1  1  0
3    0  0  1  0
4    0  0  1  1
5    0  0  0  1
6   1   0  0  1
7   1   0  0  0
回復(fù)

使用道具 舉報(bào)

21#
ID:514254 發(fā)表于 2022-5-5 15:29 | 只看該作者
glinfei 發(fā)表于 2022-5-5 14:47
如果完整走了八步后再走,它的節(jié)奏是下面的表,端口不需要每次都重新賦值啊。你那么寫也沒錯(cuò),但沒這個(gè)效 ...

正解,其實(shí)什么節(jié)拍有多種理解,不一定要按照一個(gè)思路,只要給的脈沖產(chǎn)生的磁場是順序轉(zhuǎn)動的,并且按照步距角的要求都是可以的,至于效率暫時(shí)不要考慮,只要理解了思路,天高任鳥飛。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表