熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2022-10-29 09:04
正文摘要:#include <REGX52.H> unsigned char timer0; sbit ENA=P1^0; sbit PWM=P1^1; sbit DIR=P1^2; void delay(unsigned int a) { unsigned char b=0; &n ... |
yzwzfyz 發(fā)表于 2022-10-31 09:43 大佬 能詳細(xì)地指導(dǎo)下嗎? 你這有點(diǎn)多我有點(diǎn)懵 |
1、前進(jìn):DIR=1,給出一個(gè)脈沖,間隔一個(gè)時(shí)間TJ,再給出一個(gè)脈沖,再間隔一個(gè)時(shí)間TJ,再……。 2、后退:DIR=0,給出一個(gè)脈沖,間隔一個(gè)時(shí)間TJ,再給出一個(gè)脈沖,再間隔一個(gè)時(shí)間TJ,再……。 3、做個(gè)定時(shí)器,時(shí)常數(shù)就是TJ,這樣每間隔一個(gè)TJ,給出一個(gè)脈沖就可以了,轉(zhuǎn)向只要切換DIR。 4、關(guān)鍵點(diǎn):把TJ做成變量,讓每次的TJ都可以變化。 加速:每發(fā)一個(gè)脈沖就將TJ-N。例如:起步,將TJ調(diào)到最大,如:800ms,而后每次-5:800-5,800-5*2,800-5*3,800-5*4……,直到速最快:例如=10ms。 減速:每發(fā)一個(gè)脈沖就將TJ+N。例如:當(dāng)前TJ=25,而后每次+10:25+10,25+10*2,25-10*3,25+10*4……,直到你滿(mǎn)意的速率。 換向:不要立即改變DIR,而是先減速,停止時(shí)(你認(rèn)為可以了),再改變DIR,再?gòu)钠饎?dòng)開(kāi)始加速。 5、TJ的最小值(最快速)、最大值(停止前)、加減速的N量,自己根據(jù)負(fù)載大小實(shí)踐一下就可以得到了。 運(yùn)行離開(kāi)不了物理概念,主要是牛頓的加速度定律, 記住:先做方案,再畫(huà)出流程圖,走通流程圖、再寫(xiě)程序。 |
gongnn 發(fā)表于 2022-10-29 12:22 大佬 這個(gè)程序不行 跟我的差不多 想讓它來(lái)回轉(zhuǎn)動(dòng)的話(huà) 這樣貌似不太行 |
Hephaestus 發(fā)表于 2022-10-29 21:02 用的是共陽(yáng)極接法DIR+接的是正5V, DIR-接的才是I/O口 應(yīng)該接線沒(méi)問(wèn)題吧 |
測(cè)一下驅(qū)動(dòng)器DIR+、DIR-兩者之間的電壓,很可能是接錯(cuò)了。 |
gongnn 發(fā)表于 2022-10-29 19:57 試過(guò)了 還是不太行 |
單片機(jī)有沒(méi)有供電,接線對(duì)不對(duì)。單片機(jī)定時(shí)器有沒(méi)有。 程序再簡(jiǎn)化點(diǎn),切換dir方向后直接用delay函數(shù)延時(shí)試試。 |
Hephaestus 發(fā)表于 2022-10-29 12:07 改了 還是不行 |
gongnn 發(fā)表于 2022-10-29 12:22 大佬 你這個(gè)跟我的是一樣的把 都是只會(huì)往一個(gè)方向轉(zhuǎn)到底,并不能使其來(lái)回轉(zhuǎn)動(dòng)啊 |
Hephaestus 發(fā)表于 2022-10-29 12:07 我試了下 電機(jī)還是只會(huì)往一個(gè)方向運(yùn)行 |
void main() { kongzhi_Init(); while(1) { while(1) { DIR=1; if(timer0>0.1) { timer0=0; } if(timer0<1) { PWM=0; } else { PWM=1; } } DIR=0; if(timer0>0.1) { timer0=0; } if(timer0<1) { PWM=0; } else { PWM=1; } } } |
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎(jiǎng)勵(lì)! |
改DIR就來(lái)回動(dòng)了,為什么你不改? |
不知道該如何調(diào)試 使其來(lái)回轉(zhuǎn)動(dòng) |
Powered by 單片機(jī)教程網(wǎng)