日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

adult道具项目开发 - 模式

發布時間:2024/4/17 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 adult道具项目开发 - 模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

模式要如何實現呢。手機APP通過藍牙來設置控制器的模式,控制器會解析這個模式的具體含義,將其翻譯成步進電機的運動模式。

在我們這個道具中,步進電機上套有絲桿,單程全深度是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。所以我們討論速度的加減速,其實就是頻率的加減速??刂破餍枰凑找韵碌挠嬎憬Y果控制脈沖的輸出。

    在加速過程中,一般的原則是低速可以加速時間短一點,高速需要加速時間長一點,高速的速度間隔盡量小。此處我們設置加速頻率間隔為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遍。

    ?

    轉載于:https://www.cnblogs.com/ironx/p/4841609.html

    總結

    以上是生活随笔為你收集整理的adult道具项目开发 - 模式的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。