找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 3970|回復(fù): 13
打印 上一主題 下一主題
收起左側(cè)

小弟用PLC,控制步進(jìn)電機(jī)PLC內(nèi)部有當(dāng)前坐標(biāo)用來定位,用單片機(jī)怎樣定位呢?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
請教各位前輩
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:491577 發(fā)表于 2019-3-16 13:03 | 只看該作者
步進(jìn)電機(jī)本身是沒有定位的,需要定位時要使用兩個限位開關(guān),最大、最小處各一個限位開關(guān)。單片機(jī)啟動時先控制步進(jìn)電機(jī)走到最小處,當(dāng)最小限位開關(guān)打開時這就是步進(jìn)電機(jī)的0點(diǎn);再控制步進(jìn)電機(jī)走到最大處,當(dāng)最大限位開關(guān)打開時這就是步進(jìn)電機(jī)的最大點(diǎn)。每次重新啟動單片機(jī)都需要重新尋找0點(diǎn)和最大點(diǎn)。如果不想每次開機(jī)都重新尋找0點(diǎn)和最大點(diǎn)可以在單片機(jī)關(guān)機(jī)前將當(dāng)前位置數(shù)據(jù)保存在EEPROM中,下次啟動直接從EEPROM中讀取當(dāng)前位置數(shù)據(jù)。
回復(fù)

使用道具 舉報

板凳
ID:490006 發(fā)表于 2019-3-16 15:04 | 只看該作者
hhh402 發(fā)表于 2019-3-16 13:03
步進(jìn)電機(jī)本身是沒有定位的,需要定位時要使用兩個限位開關(guān),最大、最小處各一個限位開關(guān)。單片機(jī)啟動時先控 ...

大哥你好 請問單片機(jī)該怎么記錄當(dāng)前位置呢  這個當(dāng)前位置的數(shù)值從哪里記錄
回復(fù)

使用道具 舉報

地板
ID:490006 發(fā)表于 2019-3-16 15:40 | 只看該作者
hhh402 發(fā)表于 2019-3-16 13:03
步進(jìn)電機(jī)本身是沒有定位的,需要定位時要使用兩個限位開關(guān),最大、最小處各一個限位開關(guān)。單片機(jī)啟動時先控 ...

那步進(jìn)電機(jī)定位的當(dāng)前值這個數(shù)據(jù)我怎么知道呢
回復(fù)

使用道具 舉報

5#
ID:234075 發(fā)表于 2019-3-16 21:40 | 只看該作者
一扥的家 發(fā)表于 2019-3-16 15:40
那步進(jìn)電機(jī)定位的當(dāng)前值這個數(shù)據(jù)我怎么知道呢

步進(jìn)了多少步,這個是可以控制的
回復(fù)

使用道具 舉報

6#
ID:491577 發(fā)表于 2019-3-16 23:40 | 只看該作者
單片機(jī)啟動時先控制步進(jìn)電機(jī)走到最小處,當(dāng)最小限位開關(guān)打開時這就是步進(jìn)電機(jī)的0點(diǎn);再控制步進(jìn)電機(jī)走到最大處,當(dāng)最大限位開關(guān)打開時這就是步進(jìn)電機(jī)的最大點(diǎn)。記錄這個最大值(設(shè)為a);整個步進(jìn)電機(jī)的范圍就是0-a;這時候步進(jìn)電機(jī)的坐標(biāo)就是a,假如我想讓步進(jìn)電機(jī)走到30%的地方那我就控制步進(jìn)電機(jī)往最小處走ax70%步,這是步進(jìn)電機(jī)的坐標(biāo)就是ax30%;如果想走到40%的地方就控制電機(jī)往最大處走ax(40%-30%),這是坐標(biāo)為ax40%;如果這個時候要關(guān)機(jī),就將當(dāng)前坐標(biāo)ax40%寫入EEPROM中,下次重啟讀取EEPROM中數(shù)據(jù)就可以知道當(dāng)前坐標(biāo)為ax40%
回復(fù)

使用道具 舉報

7#
ID:490006 發(fā)表于 2019-3-17 07:49 | 只看該作者
hhh402 發(fā)表于 2019-3-16 23:40
單片機(jī)啟動時先控制步進(jìn)電機(jī)走到最小處,當(dāng)最小限位開關(guān)打開時這就是步進(jìn)電機(jī)的0點(diǎn);再控制步進(jìn)電機(jī)走到最 ...

所以說走到最大的點(diǎn)這個值怎么計算,PLC我知道有系統(tǒng)已經(jīng)提供的當(dāng)前坐標(biāo),單片機(jī)肯定是自己計算,那該怎么計算呢
回復(fù)

使用道具 舉報

8#
ID:490006 發(fā)表于 2019-3-17 07:49 | 只看該作者
zhb2004xp 發(fā)表于 2019-3-16 21:40
步進(jìn)了多少步,這個是可以控制的

怎么控制呢,有沒有以前做過的案例推薦給小弟看看
回復(fù)

使用道具 舉報

9#
ID:491577 發(fā)表于 2019-3-17 10:06 | 只看該作者
步進(jìn)電機(jī)走到0后,單片機(jī)控制電機(jī)往最大方向走,每走一步累加器+1,同時檢測檢測最大限位開關(guān)信號,當(dāng)?shù)谝淮螜z測到最大限位開關(guān)信號時累加器的數(shù)值就是最大值。
回復(fù)

使用道具 舉報

10#
ID:490006 發(fā)表于 2019-3-17 11:09 | 只看該作者
hhh402 發(fā)表于 2019-3-17 10:06
步進(jìn)電機(jī)走到0后,單片機(jī)控制電機(jī)往最大方向走,每走一步累加器+1,同時檢測檢測最大限位開關(guān)信號,當(dāng)?shù)谝?...

以ULN2003為例,正轉(zhuǎn)時依次動作0X01 0X02 0X04 0X08 當(dāng)動作完以后計數(shù)值計1,走到最大是用code存入芯片內(nèi)部,此時的計數(shù)值就是最大坐標(biāo) 當(dāng)反轉(zhuǎn)時動作0X08 0X04 0X02 0X01 4個動作完以后減1  我理解的意思對嗎
回復(fù)

使用道具 舉報

11#
ID:490006 發(fā)表于 2019-3-17 12:18 | 只看該作者
zhb2004xp 發(fā)表于 2019-3-16 21:40
步進(jìn)了多少步,這個是可以控制的

以ULN2003為例,正轉(zhuǎn)時依次動作0X01 0X02 0X04 0X08 當(dāng)動作完以后計數(shù)值計1,走到最大是用code存入芯片內(nèi)部,此時的計數(shù)值就是最大坐標(biāo) 當(dāng)反轉(zhuǎn)時動作0X08 0X04 0X02 0X01 4個動作完以后減1  我理解的意思對嗎
回復(fù)

使用道具 舉報

12#
ID:491577 發(fā)表于 2019-3-17 12:43 | 只看該作者
對的,坐標(biāo)的原點(diǎn)就是最小值0,最大值就是a,也可以用百分比表示

坐標(biāo).JPG (11.29 KB, 下載次數(shù): 31)

坐標(biāo).JPG
回復(fù)

使用道具 舉報

13#
ID:491577 發(fā)表于 2019-3-17 12:59 | 只看該作者
完成一次正轉(zhuǎn)就+1,完成一次反轉(zhuǎn)就-1,需要注意的是運(yùn)行一段時間后需要進(jìn)行0位校準(zhǔn),避免步進(jìn)電機(jī)出現(xiàn)丟步時的錯誤,具體做法是反轉(zhuǎn)a+10步(有最小限位開關(guān)不會出問題),這時就是真正0點(diǎn)。然后在正傳回到你需要的地方。太長時間不做0位校準(zhǔn)有出錯的風(fēng)險。
回復(fù)

使用道具 舉報

14#
ID:490006 發(fā)表于 2019-3-17 13:44 | 只看該作者
hhh402 發(fā)表于 2019-3-17 12:59
完成一次正轉(zhuǎn)就+1,完成一次反轉(zhuǎn)就-1,需要注意的是運(yùn)行一段時間后需要進(jìn)行0位校準(zhǔn),避免步進(jìn)電機(jī)出現(xiàn)丟步 ...

明白了 多謝多謝 好人一生平安
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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