找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4362|回復(fù): 22
收起左側(cè)

學(xué)到了pwm,想通過pwm控制電機(jī),51單片機(jī)

  [復(fù)制鏈接]
ID:730961 發(fā)表于 2020-4-22 22:30 | 顯示全部樓層 |閱讀模式
學(xué)到了pwm,想通pwm控制電機(jī)速度,也查了好多資料,看了很多視頻,就是感覺差了一點(diǎn)火候,電機(jī)實(shí)現(xiàn)功能:長(zhǎng)按按鍵電機(jī)加速,松開,保持速度不變,再次按下,速度下降,求各位指點(diǎn)。。。!
回復(fù)

使用道具 舉報(bào)

ID:730961 發(fā)表于 2020-4-22 23:40 | 顯示全部樓層
有沒有大神給給思路
回復(fù)

使用道具 舉報(bào)

ID:729164 發(fā)表于 2020-4-22 23:45 | 顯示全部樓層
主要是PWM的配置,PWM原理理解清楚
回復(fù)

使用道具 舉報(bào)

ID:732506 發(fā)表于 2020-4-23 01:36 | 顯示全部樓層
只有一個(gè)鍵的話,不太好搞,主要是控制邏輯不清,如果電機(jī)加速鍵松開前發(fā)生抖動(dòng),下次再按就不知道應(yīng)該是加速還是減速了;蛘甙存I的人忘記上次是加速還是減速,也會(huì)有問題。最好是2個(gè)鍵,1個(gè)加速,一個(gè)減速。如果只能一個(gè)鍵至少要加一個(gè)指示燈說明上次按時(shí)是加速還是減速。
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2020-4-23 08:20 | 顯示全部樓層
簡(jiǎn)單易懂的單鍵控制PWM示例,只要入門一看就懂。
單鍵控制PWM 仿真.zip (127.06 KB, 下載次數(shù): 68)

回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2020-4-23 08:22 | 顯示全部樓層
占空比0~100%
回復(fù)

使用道具 舉報(bào)

ID:730961 發(fā)表于 2020-4-23 11:19 | 顯示全部樓層

自定義一個(gè)占空比,然后掃描條件,逐步加,減是這個(gè)思路嗎
回復(fù)

使用道具 舉報(bào)

ID:730961 發(fā)表于 2020-4-23 11:21 | 顯示全部樓層
hotpet 發(fā)表于 2020-4-23 01:36
只有一個(gè)鍵的話,不太好搞,主要是控制邏輯不清,如果電機(jī)加速鍵松開前發(fā)生抖動(dòng),下次再按就不知道應(yīng)該是加 ...

一個(gè)按鍵不好判斷順序邏輯,那么兩個(gè)按鍵,是否需要調(diào)節(jié)占空比,逐級(jí)加,減
回復(fù)

使用道具 舉報(bào)

ID:491577 發(fā)表于 2020-4-23 11:47 | 顯示全部樓層
你差在時(shí)間的控制上,你要一個(gè)定時(shí)器定時(shí)1ms,開中斷,中斷中要加入:ms++;(ms變量要定義成全局變量),當(dāng)有按鍵按下時(shí),ms=0;if(ms>100)  {PWM=PWM+1;ms=0;}//當(dāng)按鍵按下每100ms后PWM增加1.

回復(fù)

使用道具 舉報(bào)

ID:311846 發(fā)表于 2020-4-23 14:15 | 顯示全部樓層
看來(lái)你看的資料不夠多,按鍵處理就當(dāng)你搞定了,例如PWM0-100則首先按下按鍵,定時(shí)器開始計(jì)時(shí),每Xms增加一次PWM的占空比,X代表多少毫秒決定你按下時(shí)增加或減少PWM的速度,然后用一個(gè)標(biāo)志位來(lái)控制按下到底是加還是減PWM的占空比,每次按下改變一次標(biāo)志位,則每次按按鍵后可知下次加還是減PWM。懂?
回復(fù)

使用道具 舉報(bào)

ID:451629 發(fā)表于 2020-4-23 15:31 | 顯示全部樓層
可以用定時(shí)器來(lái)實(shí)現(xiàn)軟件PWM,占空比0-100,控制電機(jī)的通斷就可以的
回復(fù)

使用道具 舉報(bào)

ID:34004 發(fā)表于 2020-4-23 16:15 | 顯示全部樓層
調(diào)節(jié)PWM占空比大小
回復(fù)

使用道具 舉報(bào)

ID:730961 發(fā)表于 2020-4-23 22:13 | 顯示全部樓層
hhh402 發(fā)表于 2020-4-23 11:47
你差在時(shí)間的控制上,你要一個(gè)定時(shí)器定時(shí)1ms,開中斷,中斷中要加入:ms++;(ms變量要定義成全局變量), ...

謝謝,我這邊在改一下
回復(fù)

使用道具 舉報(bào)

ID:730961 發(fā)表于 2020-4-23 22:24 | 顯示全部樓層
權(quán)威人物 發(fā)表于 2020-4-23 14:15
看來(lái)你看的資料不夠多,按鍵處理就當(dāng)你搞定了,例如PWM0-100則首先按下按鍵,定時(shí)器開始計(jì)時(shí),每Xms增加一 ...

還是有點(diǎn)蒙,您看是這樣嗎,我要設(shè)置一個(gè)定時(shí),比如1ms增加一次占空比,每次占空比是多少,然后用一個(gè)檢測(cè)來(lái)判斷我每次按下是增減 ,是這個(gè)意思嗎
回復(fù)

使用道具 舉報(bào)

ID:730961 發(fā)表于 2020-4-23 22:25 | 顯示全部樓層
時(shí)間蒼白了誓言 發(fā)表于 2020-4-23 15:31
可以用定時(shí)器來(lái)實(shí)現(xiàn)軟件PWM,占空比0-100,控制電機(jī)的通斷就可以的

謝謝您
回復(fù)

使用道具 舉報(bào)

ID:730961 發(fā)表于 2020-4-23 22:28 | 顯示全部樓層
Apo 發(fā)表于 2020-4-23 16:15
調(diào)節(jié)PWM占空比大小

pwm占空比是需要分級(jí)別,然后來(lái)定時(shí)檢測(cè)往上增加或減,是嗎?
回復(fù)

使用道具 舉報(bào)

ID:730961 發(fā)表于 2020-4-24 10:41 | 顯示全部樓層
感謝各位,已經(jīng)做出來(lái)了
回復(fù)

使用道具 舉報(bào)

ID:410464 發(fā)表于 2020-4-24 16:41 | 顯示全部樓層
一個(gè)按鍵可以做到的,用標(biāo)志位的方式判斷,提供個(gè)思路,按一次再長(zhǎng)按是增加, 按兩次再長(zhǎng)按是減小,不用延時(shí)消抖,類似狀態(tài)機(jī)一樣的小程序
回復(fù)

使用道具 舉報(bào)

ID:602673 發(fā)表于 2020-5-6 17:19 | 顯示全部樓層
小白學(xué)51i 發(fā)表于 2020-4-24 10:41
感謝各位,已經(jīng)做出來(lái)了

能不能把代碼借我參考一下, 或者跟我講解一下
回復(fù)

使用道具 舉報(bào)

ID:602673 發(fā)表于 2020-5-6 17:20 | 顯示全部樓層
小白學(xué)51i 發(fā)表于 2020-4-24 10:41
感謝各位,已經(jīng)做出來(lái)了

能告訴我一下怎么做的嘛?
回復(fù)

使用道具 舉報(bào)

ID:744791 發(fā)表于 2020-5-6 22:03 | 顯示全部樓層
可以參考PWM調(diào)制原理,通過改變占空比來(lái)控制轉(zhuǎn)速
回復(fù)

使用道具 舉報(bào)

ID:420836 發(fā)表于 2020-5-7 02:05 | 顯示全部樓層
如果程序未檢測(cè)到按鍵的狀態(tài)轉(zhuǎn)換,則視為連續(xù)按鍵,然后將PWM輸出增加或減少預(yù)定步長(zhǎng)。 如果程序檢測(cè)到鍵狀態(tài)轉(zhuǎn)換,請(qǐng)停止遞增或遞減。
回復(fù)

使用道具 舉報(bào)

ID:730961 發(fā)表于 2020-5-9 17:21 | 顯示全部樓層
598651219898321 發(fā)表于 2020-5-6 17:19
能不能把代碼借我參考一下, 或者跟我講解一下

這兩天沒上論壇,我注意看,你要代碼,還是給我講一下
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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