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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4309|回復: 36
收起左側

有沒有辦法能讓51單片機控制多路步進電機時,各個電機獨立控制,互不干擾?

  [復制鏈接]
ID:1055885 發表于 2023-1-13 15:19 來自手機 | 顯示全部樓層 |閱讀模式
遇到一個問題,我用Delay函數做延時語句時,一路步進電機減速時,其他電機也跟著減速,有沒有什么辦法能解決呢?
回復

使用道具 舉報

ID:57657 發表于 2023-1-13 21:17 | 顯示全部樓層
程序邏輯有問題,控制多個步進電機用定時器中斷。
回復

使用道具 舉報

ID:152164 發表于 2023-1-13 22:09 | 顯示全部樓層
用定時器產生脈沖,一個定時器控制一路電機。一般單片機都有2個以上定時器
回復

使用道具 舉報

ID:857072 發表于 2023-1-13 23:03 來自手機 | 顯示全部樓層
不用Delay,改定時器用。
回復

使用道具 舉報

ID:1055885 發表于 2023-1-14 12:08 來自手機 | 顯示全部樓層
ziiyn 發表于 2023-1-13 22:09
用定時器產生脈沖,一個定時器控制一路電機。一般單片機都有2個以上定時器

如果控制4路呢,52單片機只有兩個定時器
回復

使用道具 舉報

ID:1055885 發表于 2023-1-14 12:10 來自手機 | 顯示全部樓層
npn 發表于 2023-1-13 21:17
程序邏輯有問題,控制多個步進電機用定時器中斷。

控制4路步進電機要怎么分配定時器呢?
回復

使用道具 舉報

ID:152164 發表于 2023-1-14 15:50 | 顯示全部樓層
叫大個不叫老朱 發表于 2023-1-14 12:08
如果控制4路呢,52單片機只有兩個定時器

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

使用道具 舉報

ID:152164 發表于 2023-1-14 15:52 | 顯示全部樓層
叫大個不叫老朱 發表于 2023-1-14 12:08
如果控制4路呢,52單片機只有兩個定時器

非要用52的話就只有用兩個單片機,兩個單片機進行通訊聯動控制
回復

使用道具 舉報

ID:152164 發表于 2023-1-14 15:54 | 顯示全部樓層
叫大個不叫老朱 發表于 2023-1-14 12:08
如果控制4路呢,52單片機只有兩個定時器

我記得52有T0 ,T1 ,T2, 3個定時器的吧
回復

使用道具 舉報

ID:161164 發表于 2023-1-14 17:52 | 顯示全部樓層
本帖最后由 lkc8210 于 2023-1-14 20:33 編輯
叫大個不叫老朱 發表于 2023-1-14 12:08
如果控制4路呢,52單片機只有兩個定時器

用一個定時器產生四個心跳標志位
各步進根據各自的標志位逐步輸出
回復

使用道具 舉報

ID:57657 發表于 2023-1-14 20:25 | 顯示全部樓層
叫大個不叫老朱 發表于 2023-1-14 12:10
控制4路步進電機要怎么分配定時器呢?

用74HC595控制100路都可以。
回復

使用道具 舉報

ID:408539 發表于 2023-1-15 00:07 | 顯示全部樓層
用延時程序會造成整個程序大部分時間都卡在 延時上,,,整個程序運行效率不高
要學會用定時器,無論你控制幾個電機  只要一個定時器就夠了
利用定時器中斷產生時間基準,如1ms
當定時器進入中斷后 變臉自加加
當加到你需要的值時候  換相 , 處理完記得清零變量
這樣你要控制多個電機不同轉速  只要聲明幾個相應變量 即可

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


回復

使用道具 舉報

ID:1055885 發表于 2023-1-15 00:52 來自手機 | 顯示全部樓層
ziiyn 發表于 2023-1-14 15:54
我記得52有T0 ,T1 ,T2, 3個定時器的吧

是的,我記錯了,尷尬
回復

使用道具 舉報

ID:1055885 發表于 2023-1-15 00:55 來自手機 | 顯示全部樓層
ziiyn 發表于 2023-1-14 15:52
非要用52的話就只有用兩個單片機,兩個單片機進行通訊聯動控制

聯動控制應該可以的,顯示和檢測用一個單片機,動作部分用另一個單片機
回復

使用道具 舉報

ID:408539 發表于 2023-1-15 09:48 | 顯示全部樓層
叫大個不叫老朱 發表于 2023-1-15 00:55
聯動控制應該可以的,顯示和檢測用一個單片機,動作部分用另一個單片機

只要單片機IO足夠,并且顯示不是很復雜一個單片機就可以處理,
回復

使用道具 舉報

ID:526108 發表于 2023-1-15 09:58 | 顯示全部樓層
學過紅外線發射函數嗎?使用一個定時器就能同時控制多個步進電機,通過載波把步進電機所有信號載入波形中
回復

使用道具 舉報

ID:1044091 發表于 2023-1-16 07:08 來自手機 | 顯示全部樓層
真正寫程序時用定時器,不用delay。
回復

使用道具 舉報

ID:1055885 發表于 2023-1-16 07:21 來自手機 | 顯示全部樓層
明記冷氣 發表于 2023-1-15 09:48
只要單片機IO足夠,并且顯示不是很復雜一個單片機就可以處理,

數碼管動態顯示和步進電機需要同時工作,還要加入光電檢測,我在網上找了很久沒有解決辦法,大部分都說需要兩個單片機
回復

使用道具 舉報

ID:1055885 發表于 2023-1-16 07:23 來自手機 | 顯示全部樓層
qq624353765 發表于 2023-1-15 09:58
學過紅外線發射函數嗎?使用一個定時器就能同時控制多個步進電機,通過載波把步進電機所有信號載入波形中

哈哈,還沒學,我現在去學,我自己DIY一個機器,0基礎開始學,用到什么學什么,有思路我就一定能做出來
回復

使用道具 舉報

ID:1055885 發表于 2023-1-16 07:33 來自手機 | 顯示全部樓層
qq624353765 發表于 2023-1-15 09:58
學過紅外線發射函數嗎?使用一個定時器就能同時控制多個步進電機,通過載波把步進電機所有信號載入波形中

我要實現的是兩個以上的步進電機在某一時段同時工作,其中某個步進電機減速,但是其他步進還能正常運轉,紅外能實現嗎
回復

使用道具 舉報

ID:1044091 發表于 2023-1-16 11:53 | 顯示全部樓層
叫大個不叫老朱 發表于 2023-1-16 07:21
數碼管動態顯示和步進電機需要同時工作,還要加入光電檢測,我在網上找了很久沒有解決辦法,大部分都說需 ...

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

使用道具 舉報

ID:961114 發表于 2023-1-16 14:23 | 顯示全部樓層
用 STC8G2K64S4-36I-LQFP48/LQFP32, 有 45路步進電機專用增強型15位PWM, 可以同時控制 45路 步進電機
回復

使用道具 舉報

ID:525244 發表于 2023-1-18 07:59 來自手機 | 顯示全部樓層
用一個定時器就行,定時時間短點,然后各電機的時間累加。判斷到時間了就控制電機信號或標志位!
回復

使用道具 舉報

ID:1055885 發表于 2023-1-18 11:19 來自手機 | 顯示全部樓層
STC莊偉 發表于 2023-1-16 14:23
用 STC8G2K64S4-36I-LQFP48/LQFP32, 有 45路步進電機專用增強型15位PWM, 可以同時控制 45路 步進電機

我感覺我可能不會用
回復

使用道具 舉報

ID:1055885 發表于 2023-1-18 11:41 來自手機 | 顯示全部樓層
明記冷氣 發表于 2023-1-15 00:07
用延時程序會造成整個程序大部分時間都卡在 延時上,,,整個程序運行效率不高
要學會用定時器,無論你控制幾 ...

這個思路是啟動時間不同吧,脈沖發生頻率應該要怎樣呢
回復

使用道具 舉報

ID:1055885 發表于 2023-1-18 11:44 來自手機 | 顯示全部樓層
lkc8210 發表于 2023-1-14 17:52
用一個定時器產生四個心跳標志位
各步進根據各自的標志位逐步輸出

這個對我來說就有點超綱了,剛接觸單片機不久
回復

使用道具 舉報

ID:1003077 發表于 2023-1-19 17:51 | 顯示全部樓層
lkc8210 發表于 2023-1-14 17:52
用一個定時器產生四個心跳標志位
各步進根據各自的標志位逐步輸出

如果定時時間允許,這個方法很好!!!
回復

使用道具 舉報

ID:408539 發表于 2023-1-20 20:58 | 顯示全部樓層
叫大個不叫老朱 發表于 2023-1-18 11:41
這個思路是啟動時間不同吧,脈沖發生頻率應該要怎樣呢

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

使用道具 舉報

ID:1055885 發表于 2023-1-21 22:22 來自手機 | 顯示全部樓層
明記冷氣 發表于 2023-1-20 20:58
這只是一個讓幾個步進電機可以在不同轉速下運行的思路;
你要隨意調速 把if里面的固定條件換成變量
在 ...

我用開發板測試了一下,數碼管也帶起來了,我是改變的定時器初值,不過這樣定時器就比較局限,控制進入定時器次數應該可以更好
回復

使用道具 舉報

ID:1055885 發表于 2023-1-21 22:24 來自手機 | 顯示全部樓層
Hjc12345678 發表于 2023-1-19 17:51
如果定時時間允許,這個方法很好!!!

能詳細一點嗎,怎么用一個定時器產生四個標志位呢,不斷裝入初值嗎
回復

使用道具 舉報

ID:1044091 發表于 2023-1-26 12:22 來自手機 | 顯示全部樓層
電機需要獨立實時調速嗎?那樣要一個電機一個定時器比較好。如果只是轉起來,共用一個定時器也行,產生4個標志位。
回復

使用道具 舉報

ID:1061592 發表于 2023-1-27 09:32 | 顯示全部樓層
試試多線程
回復

使用道具 舉報

ID:161164 發表于 2023-1-27 10:26 | 顯示全部樓層
叫大個不叫老朱 發表于 2023-1-21 22:24
能詳細一點嗎,怎么用一個定時器產生四個標志位呢,不斷裝入初值嗎

參考一下
2023-01-27_102350.png
回復

使用道具 舉報

ID:1055885 發表于 2023-1-28 21:53 來自手機 | 顯示全部樓層
ebrowser 發表于 2023-1-27 09:32
試試多線程

多線程成本高了
回復

使用道具 舉報

ID:1055885 發表于 2023-1-28 21:54 來自手機 | 顯示全部樓層
ningsy 發表于 2023-1-26 12:22
電機需要獨立實時調速嗎?那樣要一個電機一個定時器比較好。如果只是轉起來,共用一個定時器也行,產生4個 ...

部分電機同時啟動,但是不是同時停止
回復

使用道具 舉報

ID:1061711 發表于 2023-1-29 11:11 | 顯示全部樓層
明記冷氣 發表于 2023-1-15 00:07
用延時程序會造成整個程序大部分時間都卡在 延時上,,,整個程序運行效率不高
要學會用定時器,無論你控制幾 ...

兄弟解答詳細,學習了,牛XXX
回復

使用道具 舉報

ID:285175 發表于 2023-3-31 17:18 | 顯示全部樓層
單片機在delay,肯定等delay完了才會去發脈沖,所以不能用delay。用定時器試試
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩一二区 | 国产色网站 | 午夜资源| 亚洲第一天堂 | 免费黄色的视频 | 在线成人av| 一级二级三级在线观看 | 久久免费精品视频 | 少妇性l交大片免费一 | 亚洲精品久久嫩草网站秘色 | 国产精品久久久久久久久久久久冷 | 久久99国产精品久久99果冻传媒 | 在线中文字幕av | 成人av影院 | 午夜伦4480yy私人影院 | 超碰97人人人人人蜜桃 | 毛片软件| 亚洲午夜一区二区 | 欧美日韩精品一区二区三区四区 | 一区二区三区高清在线观看 | 国产精品久久久久久久岛一牛影视 | 国产精品成人一区 | 一区二区久久精品 | 亚洲综合五月天婷婷 | 日本精品一区二区三区视频 | 波多野结衣二区 | 亚洲一级黄色 | 91av在线不卡| 日本一区二区电影 | 九九伊人sl水蜜桃色推荐 | 国产成人精品网站 | 亚洲一区二区三区在线播放 | 激情免费视频 | 中文字幕在线电影观看 | 欧美精品一区二区在线观看 | 亚洲欧美国产精品久久 | 亚洲国产成人精品久久 | 精久久久 | 亚洲成人一区二区三区 | 精品一区免费 | 精品国产乱码久久久久久老虎 |