久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

有沒有辦法能讓51單片機(jī)控制多路步進(jìn)電機(jī)時(shí),各個(gè)電機(jī)獨(dú)立控制,互不干擾?

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1055885 發(fā)表于 2023-1-13 15:19 來自觸屏版 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
遇到一個(gè)問題,我用Delay函數(shù)做延時(shí)語句時(shí),一路步進(jìn)電機(jī)減速時(shí),其他電機(jī)也跟著減速,有沒有什么辦法能解決呢?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:57657 發(fā)表于 2023-1-13 21:17 | 只看該作者
程序邏輯有問題,控制多個(gè)步進(jìn)電機(jī)用定時(shí)器中斷。
回復(fù)

使用道具 舉報(bào)

板凳
ID:152164 發(fā)表于 2023-1-13 22:09 | 只看該作者
用定時(shí)器產(chǎn)生脈沖,一個(gè)定時(shí)器控制一路電機(jī)。一般單片機(jī)都有2個(gè)以上定時(shí)器
回復(fù)

使用道具 舉報(bào)

地板
ID:857072 發(fā)表于 2023-1-13 23:03 來自觸屏版 | 只看該作者
不用Delay,改定時(shí)器用。
回復(fù)

使用道具 舉報(bào)

5#
ID:1055885 發(fā)表于 2023-1-14 12:08 來自觸屏版 | 只看該作者
ziiyn 發(fā)表于 2023-1-13 22:09
用定時(shí)器產(chǎn)生脈沖,一個(gè)定時(shí)器控制一路電機(jī)。一般單片機(jī)都有2個(gè)以上定時(shí)器

如果控制4路呢,52單片機(jī)只有兩個(gè)定時(shí)器
回復(fù)

使用道具 舉報(bào)

6#
ID:1055885 發(fā)表于 2023-1-14 12:10 來自觸屏版 | 只看該作者
npn 發(fā)表于 2023-1-13 21:17
程序邏輯有問題,控制多個(gè)步進(jìn)電機(jī)用定時(shí)器中斷。

控制4路步進(jìn)電機(jī)要怎么分配定時(shí)器呢?
回復(fù)

使用道具 舉報(bào)

7#
ID:152164 發(fā)表于 2023-1-14 15:50 | 只看該作者
叫大個(gè)不叫老朱 發(fā)表于 2023-1-14 12:08
如果控制4路呢,52單片機(jī)只有兩個(gè)定時(shí)器

換單片機(jī),STC15有3路定時(shí)器加PCA模塊配成1路定時(shí)器。或者直接換成有5個(gè)定時(shí)器的單片機(jī),按鍵掃描和顯示之類的最好再用一個(gè)定時(shí)器
回復(fù)

使用道具 舉報(bào)

8#
ID:152164 發(fā)表于 2023-1-14 15:52 | 只看該作者
叫大個(gè)不叫老朱 發(fā)表于 2023-1-14 12:08
如果控制4路呢,52單片機(jī)只有兩個(gè)定時(shí)器

非要用52的話就只有用兩個(gè)單片機(jī),兩個(gè)單片機(jī)進(jìn)行通訊聯(lián)動(dòng)控制
回復(fù)

使用道具 舉報(bào)

9#
ID:152164 發(fā)表于 2023-1-14 15:54 | 只看該作者
叫大個(gè)不叫老朱 發(fā)表于 2023-1-14 12:08
如果控制4路呢,52單片機(jī)只有兩個(gè)定時(shí)器

我記得52有T0 ,T1 ,T2, 3個(gè)定時(shí)器的吧
回復(fù)

使用道具 舉報(bào)

10#
ID:161164 發(fā)表于 2023-1-14 17:52 | 只看該作者
本帖最后由 lkc8210 于 2023-1-14 20:33 編輯
叫大個(gè)不叫老朱 發(fā)表于 2023-1-14 12:08
如果控制4路呢,52單片機(jī)只有兩個(gè)定時(shí)器

用一個(gè)定時(shí)器產(chǎn)生四個(gè)心跳標(biāo)志位
各步進(jìn)根據(jù)各自的標(biāo)志位逐步輸出
回復(fù)

使用道具 舉報(bào)

11#
ID:57657 發(fā)表于 2023-1-14 20:25 | 只看該作者
叫大個(gè)不叫老朱 發(fā)表于 2023-1-14 12:10
控制4路步進(jìn)電機(jī)要怎么分配定時(shí)器呢?

用74HC595控制100路都可以。
回復(fù)

使用道具 舉報(bào)

12#
ID:408539 發(fā)表于 2023-1-15 00:07 | 只看該作者
用延時(shí)程序會(huì)造成整個(gè)程序大部分時(shí)間都卡在 延時(shí)上,,,整個(gè)程序運(yùn)行效率不高
要學(xué)會(huì)用定時(shí)器,無論你控制幾個(gè)電機(jī)  只要一個(gè)定時(shí)器就夠了
利用定時(shí)器中斷產(chǎn)生時(shí)間基準(zhǔn),如1ms
當(dāng)定時(shí)器進(jìn)入中斷后 變臉自加加
當(dāng)加到你需要的值時(shí)候  換相 , 處理完記得清零變量
這樣你要控制多個(gè)電機(jī)不同轉(zhuǎn)速  只要聲明幾個(gè)相應(yīng)變量 即可

void TM0_Isr() interrupt 1
{
motor1++;//電機(jī)1
motor2++;//電機(jī)2
motor3++;電機(jī)3
motor4++;電機(jī)4
}
void main()
{
    TMOD = 0x00;
    TL0 = 0x66;                                 //65536-11.0592M/12/1000
    TH0 = 0xfc;
    TR0 = 1;                                    //啟動(dòng)定時(shí)器
    ET0 = 1;                                    //使能定時(shí)器中斷
    EA = 1;
    while (1){if(motor1==10){motor1=0;     }  //判斷是否=10Ms   清空變量   然后電機(jī)1換相
if(motor2==20){motor2=0;     } //判斷是否=20Ms   清空變量   然后電機(jī)2換相
if(motor3==30){motor3=0;     } //判斷是否=30Ms   清空變量   然后電機(jī)2換相
if(motor4==40){motor4=0;     }//判斷是否=40Ms   清空變量   然后電機(jī)2換相
}
按這個(gè)思路就算10個(gè)電機(jī)不同轉(zhuǎn)速都不會(huì)卡


回復(fù)

使用道具 舉報(bào)

13#
ID:1055885 發(fā)表于 2023-1-15 00:52 來自觸屏版 | 只看該作者
ziiyn 發(fā)表于 2023-1-14 15:54
我記得52有T0 ,T1 ,T2, 3個(gè)定時(shí)器的吧

是的,我記錯(cuò)了,尷尬
回復(fù)

使用道具 舉報(bào)

14#
ID:1055885 發(fā)表于 2023-1-15 00:55 來自觸屏版 | 只看該作者
ziiyn 發(fā)表于 2023-1-14 15:52
非要用52的話就只有用兩個(gè)單片機(jī),兩個(gè)單片機(jī)進(jìn)行通訊聯(lián)動(dòng)控制

聯(lián)動(dòng)控制應(yīng)該可以的,顯示和檢測用一個(gè)單片機(jī),動(dòng)作部分用另一個(gè)單片機(jī)
回復(fù)

使用道具 舉報(bào)

15#
ID:408539 發(fā)表于 2023-1-15 09:48 | 只看該作者
叫大個(gè)不叫老朱 發(fā)表于 2023-1-15 00:55
聯(lián)動(dòng)控制應(yīng)該可以的,顯示和檢測用一個(gè)單片機(jī),動(dòng)作部分用另一個(gè)單片機(jī)

只要單片機(jī)IO足夠,并且顯示不是很復(fù)雜一個(gè)單片機(jī)就可以處理,
回復(fù)

使用道具 舉報(bào)

16#
ID:526108 發(fā)表于 2023-1-15 09:58 | 只看該作者
學(xué)過紅外線發(fā)射函數(shù)嗎?使用一個(gè)定時(shí)器就能同時(shí)控制多個(gè)步進(jìn)電機(jī),通過載波把步進(jìn)電機(jī)所有信號(hào)載入波形中
回復(fù)

使用道具 舉報(bào)

17#
ID:1044091 發(fā)表于 2023-1-16 07:08 來自觸屏版 | 只看該作者
真正寫程序時(shí)用定時(shí)器,不用delay。
回復(fù)

使用道具 舉報(bào)

18#
ID:1055885 發(fā)表于 2023-1-16 07:21 來自觸屏版 | 只看該作者
明記冷氣 發(fā)表于 2023-1-15 09:48
只要單片機(jī)IO足夠,并且顯示不是很復(fù)雜一個(gè)單片機(jī)就可以處理,

數(shù)碼管動(dòng)態(tài)顯示和步進(jìn)電機(jī)需要同時(shí)工作,還要加入光電檢測,我在網(wǎng)上找了很久沒有解決辦法,大部分都說需要兩個(gè)單片機(jī)
回復(fù)

使用道具 舉報(bào)

19#
ID:1055885 發(fā)表于 2023-1-16 07:23 來自觸屏版 | 只看該作者
qq624353765 發(fā)表于 2023-1-15 09:58
學(xué)過紅外線發(fā)射函數(shù)嗎?使用一個(gè)定時(shí)器就能同時(shí)控制多個(gè)步進(jìn)電機(jī),通過載波把步進(jìn)電機(jī)所有信號(hào)載入波形中

哈哈,還沒學(xué),我現(xiàn)在去學(xué),我自己DIY一個(gè)機(jī)器,0基礎(chǔ)開始學(xué),用到什么學(xué)什么,有思路我就一定能做出來
回復(fù)

使用道具 舉報(bào)

20#
ID:1055885 發(fā)表于 2023-1-16 07:33 來自觸屏版 | 只看該作者
qq624353765 發(fā)表于 2023-1-15 09:58
學(xué)過紅外線發(fā)射函數(shù)嗎?使用一個(gè)定時(shí)器就能同時(shí)控制多個(gè)步進(jìn)電機(jī),通過載波把步進(jìn)電機(jī)所有信號(hào)載入波形中

我要實(shí)現(xiàn)的是兩個(gè)以上的步進(jìn)電機(jī)在某一時(shí)段同時(shí)工作,其中某個(gè)步進(jìn)電機(jī)減速,但是其他步進(jìn)還能正常運(yùn)轉(zhuǎn),紅外能實(shí)現(xiàn)嗎
回復(fù)

使用道具 舉報(bào)

21#
ID:1044091 發(fā)表于 2023-1-16 11:53 | 只看該作者
叫大個(gè)不叫老朱 發(fā)表于 2023-1-16 07:21
數(shù)碼管動(dòng)態(tài)顯示和步進(jìn)電機(jī)需要同時(shí)工作,還要加入光電檢測,我在網(wǎng)上找了很久沒有解決辦法,大部分都說需 ...

用STC8H8K64U,有5個(gè)定時(shí)器,64kb flash,一片就夠了。STC8H1K08系列有3個(gè)定時(shí)器,flash也小多了只有8K不一定夠用,代碼還要復(fù)雜一點(diǎn)點(diǎn),能省幾塊錢,如果是做設(shè)備沒必要。
回復(fù)

使用道具 舉報(bào)

22#
ID:961114 發(fā)表于 2023-1-16 14:23 | 只看該作者
用 STC8G2K64S4-36I-LQFP48/LQFP32, 有 45路步進(jìn)電機(jī)專用增強(qiáng)型15位PWM, 可以同時(shí)控制 45路 步進(jìn)電機(jī)
回復(fù)

使用道具 舉報(bào)

23#
ID:525244 發(fā)表于 2023-1-18 07:59 來自觸屏版 | 只看該作者
用一個(gè)定時(shí)器就行,定時(shí)時(shí)間短點(diǎn),然后各電機(jī)的時(shí)間累加。判斷到時(shí)間了就控制電機(jī)信號(hào)或標(biāo)志位!
回復(fù)

使用道具 舉報(bào)

24#
ID:1055885 發(fā)表于 2023-1-18 11:19 來自觸屏版 | 只看該作者
STC莊偉 發(fā)表于 2023-1-16 14:23
用 STC8G2K64S4-36I-LQFP48/LQFP32, 有 45路步進(jìn)電機(jī)專用增強(qiáng)型15位PWM, 可以同時(shí)控制 45路 步進(jìn)電機(jī)

我感覺我可能不會(huì)用
回復(fù)

使用道具 舉報(bào)

25#
ID:1055885 發(fā)表于 2023-1-18 11:41 來自觸屏版 | 只看該作者
明記冷氣 發(fā)表于 2023-1-15 00:07
用延時(shí)程序會(huì)造成整個(gè)程序大部分時(shí)間都卡在 延時(shí)上,,,整個(gè)程序運(yùn)行效率不高
要學(xué)會(huì)用定時(shí)器,無論你控制幾 ...

這個(gè)思路是啟動(dòng)時(shí)間不同吧,脈沖發(fā)生頻率應(yīng)該要怎樣呢
回復(fù)

使用道具 舉報(bào)

26#
ID:1055885 發(fā)表于 2023-1-18 11:44 來自觸屏版 | 只看該作者
lkc8210 發(fā)表于 2023-1-14 17:52
用一個(gè)定時(shí)器產(chǎn)生四個(gè)心跳標(biāo)志位
各步進(jìn)根據(jù)各自的標(biāo)志位逐步輸出

這個(gè)對我來說就有點(diǎn)超綱了,剛接觸單片機(jī)不久
回復(fù)

使用道具 舉報(bào)

27#
ID:1003077 發(fā)表于 2023-1-19 17:51 | 只看該作者
lkc8210 發(fā)表于 2023-1-14 17:52
用一個(gè)定時(shí)器產(chǎn)生四個(gè)心跳標(biāo)志位
各步進(jìn)根據(jù)各自的標(biāo)志位逐步輸出

如果定時(shí)時(shí)間允許,這個(gè)方法很好!!!
回復(fù)

使用道具 舉報(bào)

28#
ID:408539 發(fā)表于 2023-1-20 20:58 | 只看該作者
叫大個(gè)不叫老朱 發(fā)表于 2023-1-18 11:41
這個(gè)思路是啟動(dòng)時(shí)間不同吧,脈沖發(fā)生頻率應(yīng)該要怎樣呢

這只是一個(gè)讓幾個(gè)步進(jìn)電機(jī)可以在不同轉(zhuǎn)速下運(yùn)行的思路;
你要隨意調(diào)速 把if里面的固定條件換成變量
在其他地方賦值一下就可以改變轉(zhuǎn)速了
如果你想控制啟停  在if命令里追加上另一個(gè)條件即可
有了思路 自己去探索 才能真正學(xué)到東西
回復(fù)

使用道具 舉報(bào)

29#
ID:1055885 發(fā)表于 2023-1-21 22:22 來自觸屏版 | 只看該作者
明記冷氣 發(fā)表于 2023-1-20 20:58
這只是一個(gè)讓幾個(gè)步進(jìn)電機(jī)可以在不同轉(zhuǎn)速下運(yùn)行的思路;
你要隨意調(diào)速 把if里面的固定條件換成變量
在 ...

我用開發(fā)板測試了一下,數(shù)碼管也帶起來了,我是改變的定時(shí)器初值,不過這樣定時(shí)器就比較局限,控制進(jìn)入定時(shí)器次數(shù)應(yīng)該可以更好
回復(fù)

使用道具 舉報(bào)

30#
ID:1055885 發(fā)表于 2023-1-21 22:24 來自觸屏版 | 只看該作者
Hjc12345678 發(fā)表于 2023-1-19 17:51
如果定時(shí)時(shí)間允許,這個(gè)方法很好!!!

能詳細(xì)一點(diǎn)嗎,怎么用一個(gè)定時(shí)器產(chǎn)生四個(gè)標(biāo)志位呢,不斷裝入初值嗎
回復(fù)

使用道具 舉報(bào)

31#
ID:1044091 發(fā)表于 2023-1-26 12:22 來自觸屏版 | 只看該作者
電機(jī)需要獨(dú)立實(shí)時(shí)調(diào)速嗎?那樣要一個(gè)電機(jī)一個(gè)定時(shí)器比較好。如果只是轉(zhuǎn)起來,共用一個(gè)定時(shí)器也行,產(chǎn)生4個(gè)標(biāo)志位。
回復(fù)

使用道具 舉報(bào)

32#
ID:1061592 發(fā)表于 2023-1-27 09:32 | 只看該作者
試試多線程
回復(fù)

使用道具 舉報(bào)

33#
ID:161164 發(fā)表于 2023-1-27 10:26 | 只看該作者
叫大個(gè)不叫老朱 發(fā)表于 2023-1-21 22:24
能詳細(xì)一點(diǎn)嗎,怎么用一個(gè)定時(shí)器產(chǎn)生四個(gè)標(biāo)志位呢,不斷裝入初值嗎

參考一下

回復(fù)

使用道具 舉報(bào)

34#
ID:1055885 發(fā)表于 2023-1-28 21:53 來自觸屏版 | 只看該作者
ebrowser 發(fā)表于 2023-1-27 09:32
試試多線程

多線程成本高了
回復(fù)

使用道具 舉報(bào)

35#
ID:1055885 發(fā)表于 2023-1-28 21:54 來自觸屏版 | 只看該作者
ningsy 發(fā)表于 2023-1-26 12:22
電機(jī)需要獨(dú)立實(shí)時(shí)調(diào)速嗎?那樣要一個(gè)電機(jī)一個(gè)定時(shí)器比較好。如果只是轉(zhuǎn)起來,共用一個(gè)定時(shí)器也行,產(chǎn)生4個(gè) ...

部分電機(jī)同時(shí)啟動(dòng),但是不是同時(shí)停止
回復(fù)

使用道具 舉報(bào)

36#
ID:1061711 發(fā)表于 2023-1-29 11:11 | 只看該作者
明記冷氣 發(fā)表于 2023-1-15 00:07
用延時(shí)程序會(huì)造成整個(gè)程序大部分時(shí)間都卡在 延時(shí)上,,,整個(gè)程序運(yùn)行效率不高
要學(xué)會(huì)用定時(shí)器,無論你控制幾 ...

兄弟解答詳細(xì),學(xué)習(xí)了,牛XXX
回復(fù)

使用道具 舉報(bào)

37#
ID:285175 發(fā)表于 2023-3-31 17:18 | 只看該作者
單片機(jī)在delay,肯定等delay完了才會(huì)去發(fā)脈沖,所以不能用delay。用定時(shí)器試試
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久久国产精品一区二区 | 国产日韩一区二区 | 可以免费观看的av片 | 99精品电影| 欧美一区二区三区 | 亚洲精品乱码久久久久久按摩观 | www久久 | 久久久久亚洲精品国产 | 欧美三级在线 | 国产一二区免费视频 | 欧美日韩国产一区二区三区 | 久久久久国产一区二区三区四区 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 午夜视频精品 | 精品国产18久久久久久二百 | 国产精品99久久久久 | 2021狠狠天天天 | 请别相信他免费喜剧电影在线观看 | 精品欧美一区二区精品久久久 | 欧美在线天堂 | 久久久亚洲 | 亚洲国产在 | 精品免费国产视频 | 在线成人www免费观看视频 | 日韩精品一区二区三区视频播放 | 久久久久久久国产 | 99亚洲| 久久免费国产视频 | 成人精品一区二区三区中文字幕 | 日韩中文一区二区三区 | 成人片免费看 | 四虎成人免费电影 | 日韩乱码av| 亚洲精品乱码久久久久久久久 | 正在播放国产精品 | 成人性生交大片免费看r链接 | 国产视频第一页 | 激情婷婷| 午夜日韩精品 | 视频一区二区在线观看 | 天天射网站 |