adult道具專案開發 模式

2022-08-26 22:30:23 字數 3448 閱讀 2072

這個道具需要有幾個模式,現在處於demo階段,暫時想到4個模式:全深度抽插,半深度抽插,九淺一深,三長兩短,

在我們這個道具中,步進電機上套有絲杆,單程全深度是8cm,步進電機轉1圈絲槓前進8mm,完成整個單程需要10圈。

步進電機驅動器的細分數設定成2,所選的步進電機每收到1個脈衝轉1.8度,360度需要200個脈衝,加上細分數為2,步進電機需要400個脈衝才能轉1圈。

所以完成乙個單程需要4000個脈衝。如果我們規定0.8s完成乙個單程,那就是4000/0.8 = 5khz/s,平均頻率是5khz。

步進電機的平均速度是10r/0.8s = 10*60r/0.8m= 750rpm,也就是750圈每分鐘。

但是步進電機不可能在一上電就從平均速度開始轉,而是從0開始加速到最高速度v,然後再需要轉向或者停止時,從v減速到0。實際當中,步進電機不是從0起步,而是從啟動速度開始起步,此處我們設定起步頻率為1khz,步進電機起步速度為150rpm。

在此模式下,

絲槓先前進8cm,

絲槓再後退8cm,

迴圈做3次。

對應的步進電機,先正轉10圈,再反轉10圈,迴圈做3次。

我們設定絲槓前進8cm需要0.8s,也就是步進電機轉10圈需要0.8s。那麼在此模式下,完成一次抽插的動作是需要1.6s。

在上面,我們已經知道步進電機轉10圈需要4000個脈衝,如果是0.8s完成,則平均頻率是5khz,最低頻率也就是啟動頻率是1khz,那麼最高頻率呢。

最高頻率和加減速時間有關係。對步進電機採用梯形加速演算法,相對s型簡單一些。如下圖所示。

因為加減速的時間是相等的,把0.8s分成0.3+0.2+0.3,也就是各自0.3的加速和減速時間,最高速度勻速運動的0.2s時間。

所以從梯形的特點我們可以得出,(f-1)k*(0.3+0.2) = 4k, f = 9。也就是最高頻率是9khz。這就完了?後面會告訴此處計算公式是有誤的。

我們先按照這個計算結果繼續進行,現在最低頻率是1khz, 最高頻率是9khz。

要在0.3s的時間之內控制器輸出頻率是從1khz加速到9khz,對應步進電機的轉速是從1khz/400 = 2.5rps= 150rpm, 到9khz/400 = 22.5rps = 1350rpm。

因為對於步進電機而言,速度和頻率成倍數關係,v=af。所以我們討論速度的加減速,其實就是頻率的加減速。控制器需要按照以下的計算結果控制脈衝的輸出。

在加速過程中,一般的原則是低速可以加速時間短一點,高速需要加速時間長一點,高速的速度間隔盡量小。此處我們設定加速頻率間隔為1khz,從1k加速到9k需要0.3s的時間

。1khz  -  0.03s;

2khz  -  0.03s;

3khz  -  0.03s;

4khz  -  0.03s;

5khz  -  0.04s;

6khz  -  0.04s;

7khz  -  0.05s;

8khz  -  0.05s;

9khz  -  0.2s。

從1k到8k的加起來的時間是0.3s,也就是0.3s後頻率就是9khz。

然後再分別計算每個時間間隔內,在對應頻率下,需要的脈衝個數:

1khz  -  30;

2khz  -  60;

3khz  -  90;

4khz  -  120;

5khz  -  200;

6khz  -  240;

7khz  -  350;

8khz  -  400;

9khz  -  1800。

那麼0.8s內工作輸出的脈衝個數是多少呢?(30+60+90+120+200+240+350+400)*2 + 1800 = 4780,乘以2是因為還有加速和減速時間是對等的。

奇怪為什麼總共輸出了4780個脈衝,我們只需要400個脈衝哎!!!問題在**。

仔細看上圖,原來1khz下面還有空間咯,也就是說上面的公式(f-1)k*(0.3+0.2) = 4k,其實漏掉了這部分空間,(f-1)k*(0.3+0.2)  + (1k * 0.6) + (f * 0.2) = 4k。

這樣算下來最高頻率就不是9k了。

那麼我們按照最高頻率是9khz算呢,總共的脈衝個數4780,絲槓實際上前進了4780/400 * 8mm = 95.6mm = 9.56cm。

我們重新修正公式(f-1)k*(0.3+0.2) + 1k * 0.8= 4k. 計算得到f = 7.4khz = 7400hz。

加速曲線修正如下:

1k  -  30  -  0.03s

2k  -  80  -  0.04s

3k  -  90  -  0.03s

4k  -  160  -  0.04s

5k  -  250  -  0.05s

6k  -  300  -  0.05s

7k  -  350  -  0.05s

7.4k  -  1480  -  0.2s

總脈衝數 = (30+80+90+160+250+300+350)*2 + 1480 = 4000。

總時間 = 0.78s,這是單程的時間,往返的時間是0.78*2 = 1.56s。

在此模式下,

絲槓先前進4cm,

絲槓再後退4cm,

迴圈做3次。

對應的步進電機,先正轉5圈,再反轉5圈,迴圈做3次。

在加速過程中,一般的原則是低速可以加速時間短一點,高速需要加速時間長一點,高速的速度間隔盡量小。

我們設定絲槓前進4cm需要0.6s,也就是步進電機轉5圈需要0.6s。那麼最低頻率也就是啟動頻率是1khz,那麼最高頻率呢。

我們設定加速為0.2s,勻速為0.2s,減速為0.2s。

還是按照上面的公式:(f-1)k*(0.2+0.2) + 0.6 * 1k = 2k,得出f=4.5k。

1k  -  50  -  0.05s;

2k  -  100  -  0.05s;

3k  -  150  -  0.05s;

4k  -  200  -  0.05s;

4.5k  -  900  -  0.2s;

在0.6秒內總的脈衝個數是(500)*2+900 = 1900。絲槓實際前進了1900/400*8mm = 38mm = 3.8cm。

模式三可以由模式一和二組合起來生成,

絲槓先前進4cm,

絲槓再後退4cm,

迴圈做9次;

絲槓先前進8cm,

絲槓再後退8cm,

迴圈做1次。

將1-6的動作迴圈3次。

模式三可以由模式一和二組合起來生成,

絲槓先前進8cm,

絲槓再後退8cm,

迴圈做3次;

絲槓先前進4cm,

絲槓再後退4cm,

迴圈做2次。

將1-6的動作迴圈3次。

以上所有模式裡面都重複3次的意思是,該模式下的動作至少重複3遍。

遊戲開發中的道具管理

在開發遊戲的時候,我們肯定會處理道具,不論是多大的遊戲都有道具。道具的管理方式也是多種多樣。下面記錄一下我個人在遊戲開發中的道具管理方式。id 型別 數量 圖示 名稱 等重要資訊,還有描述 啟用狀態 購買此道具的消耗道具等其他資訊。不過在配置和傳遞資料時最重要的屬性還是id,型別和數量這3個。id ...

軟體專案開發模式

螺旋開發模式 部分模組開發還可以再繼續開發別的模組,適合於專案前期需求不確定的情況 對於每乙個模組乙個個開發 分析 設計 編碼 測試 上線 好處 有效的降低軟體專案風險,做出的產品要盡量滿足客戶需求 設計 編碼 測試 上線 好處 更容易進行專案把控,即專案質量控制 特點 推遲實現的觀點 質量保證 缺...

Ios 專案從頭開發 MVVM模式 三

1.話說,本來想做個聚合查詢功能,但是我的重點想研究xmpp聊天功能。所以使用mvvm模式做了完全模式51job主介面的頁面。2.首先給大家看我執行起來的介面。3.介面很簡單,做這個介面主要是為了比較mvvm模式和mvc模式之間的區別。4.這個介面的結構是下邊這張 與mvc相比,我多了乙個viewm...