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

QQ登錄

只需一步,快速開(kāi)始

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

關(guān)于電機(jī)往復(fù)控制程序

[復(fù)制鏈接]
ID:1104510 發(fā)表于 2024-6-30 17:56 | 顯示全部樓層 |閱讀模式
求教各位大佬,我寫(xiě)了一個(gè)自動(dòng)尋膜系統(tǒng),就是用電機(jī)做往復(fù)運(yùn)動(dòng),搭配一個(gè)光電開(kāi)關(guān)做啟停信號(hào)。
整個(gè)過(guò)程大概如下:(在光電開(kāi)關(guān)沒(méi)有被遮擋時(shí))
1.啟動(dòng)信號(hào)產(chǎn)生時(shí),電機(jī)正轉(zhuǎn);
2.正轉(zhuǎn)到正轉(zhuǎn)限位開(kāi)關(guān)處時(shí),限位開(kāi)關(guān)被觸發(fā),立即反轉(zhuǎn);
3.反轉(zhuǎn)到反轉(zhuǎn)限位開(kāi)關(guān)處時(shí),限位開(kāi)關(guān)被觸發(fā),立即正轉(zhuǎn);(如此往復(fù)運(yùn)動(dòng))。
4.如果在正轉(zhuǎn)過(guò)程中,光電開(kāi)關(guān)被遮擋,電機(jī)停止轉(zhuǎn)動(dòng);
5.在4的基礎(chǔ)上,如果光電開(kāi)關(guān)失去遮擋,則電機(jī)正轉(zhuǎn)(進(jìn)入往復(fù)狀態(tài));
6.如果在反轉(zhuǎn)過(guò)程中,光電開(kāi)關(guān)被遮擋,電機(jī)停止轉(zhuǎn)動(dòng);
7.在6的基礎(chǔ)上,如果光電開(kāi)關(guān)失去遮擋,則電機(jī)反轉(zhuǎn)(進(jìn)入往復(fù)狀態(tài));


程序我發(fā)圖了

現(xiàn)在有一個(gè)問(wèn)題,就是狀態(tài)在7的時(shí)候,電機(jī)無(wú)法反轉(zhuǎn)(進(jìn)入往復(fù)狀態(tài))


請(qǐng)各位大佬指教一下   應(yīng)該怎么寫(xiě);
拜托拜托了!
3.png
2.png
1.png
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2024-6-30 22:08 | 顯示全部樓層
  1. bit dir = 0;//0=ZZ, 1=FZ
  2. while(1)
  3. {
  4.         if(IN4==0)dir=1;
  5.         if(IN2==0)dir=0;
  6.         if(IN1==0 && IN3==1)
  7.         {
  8.                 if(dir)
  9.                 {
  10.                         fz();
  11.                 }else{
  12.                         zz();
  13.                 }
  14.         }else{
  15.                 tz();
  16.         }
  17. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

ID:1109793 發(fā)表于 2024-7-1 09:49 | 顯示全部樓層

簡(jiǎn)潔高效�。�!
回復(fù)

使用道具 舉報(bào)

ID:1104510 發(fā)表于 2024-7-1 10:04 | 顯示全部樓層

謝謝大佬   這段代碼有用   但是有一個(gè)問(wèn)題  就是IN1=1時(shí)   我想要回原點(diǎn)  也就是反轉(zhuǎn)   到IN4=0時(shí)  停止
回復(fù)

使用道具 舉報(bào)

ID:1104510 發(fā)表于 2024-7-1 10:48 | 顯示全部樓層
xiaobendan001 發(fā)表于 2024-7-1 09:49
簡(jiǎn)潔高效!��!

是的    確實(shí)簡(jiǎn)潔高效   比我之前寫(xiě)的那個(gè)好太多了
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2024-7-1 11:49 | 顯示全部樓層
鄭效桂 發(fā)表于 2024-7-1 10:04
謝謝大佬   這段代碼有用   但是有一個(gè)問(wèn)題  就是IN1=1時(shí)   我想要回原點(diǎn)  也就是反轉(zhuǎn)   到IN4=0時(shí)  停止

IN1=1不是停止?fàn)顟B(tài)嗎?
回復(fù)

使用道具 舉報(bào)

ID:34149 發(fā)表于 2024-7-1 23:16 | 顯示全部樓層
lkc8210 發(fā)表于 2024-7-1 11:49
IN1=1不是停止?fàn)顟B(tài)嗎?

他的意思是發(fā)出停止指令時(shí),不管正轉(zhuǎn)還是反轉(zhuǎn),都達(dá)到原點(diǎn),即運(yùn)行到正轉(zhuǎn)極限位置時(shí)停止。
建議樓主設(shè)計(jì)時(shí)考慮極限開(kāi)關(guān),最好用常閉觸點(diǎn)。
回復(fù)

使用道具 舉報(bào)

ID:1104510 發(fā)表于 2024-7-2 07:31 | 顯示全部樓層
lkc8210 發(fā)表于 2024-7-1 11:49
IN1=1不是停止?fàn)顟B(tài)嗎?

已經(jīng)搞好了謝謝你  非常感謝
回復(fù)

使用道具 舉報(bào)

ID:1104510 發(fā)表于 2024-7-5 09:25 | 顯示全部樓層
dyx811 發(fā)表于 2024-7-1 23:16
他的意思是發(fā)出停止指令時(shí),不管正轉(zhuǎn)還是反轉(zhuǎn),都達(dá)到原點(diǎn),即運(yùn)行到正轉(zhuǎn)極限位置時(shí)停止。
建議樓主設(shè)計(jì) ...

對(duì)的   就是這個(gè)意思  現(xiàn)在已經(jīng)弄好了  謝謝
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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