PCB鉆孔之多邊形孔分析

問題分析

在鉆孔過程中,鉆頭的運動可以分為兩部分:

  1. 公轉:鉆頭的軸線繞理想軸線(鉆孔中心線)做圓周運動。
  2. 自轉:鉆頭繞自身軸線做旋轉運動。

由于公轉和自轉的疊加,鉆尖的運動軌跡會形成復雜的曲線,最終鉆出多邊形孔。我們需要建立一個數學模型,詳細描述鉆尖的運動軌跡。


1. 定義坐標系和參數

  • 設鉆孔中心為原點 $ O ,建立固定坐標系 ,建立固定坐標系 ,建立固定坐標系 Oxyz $,其中 $ z $軸為理想軸線(鉆孔中心線)。
  • 鉆頭的公轉半徑為$ R$(即鉆頭軸線到理想軸線的距離)。
  • 鉆頭的自轉半徑為$ r $(即鉆尖最大外徑處到鉆頭軸線的距離)。
  • 鉆頭的公轉角速度為 $ \omega_p $(繞理想軸線旋轉的角速度)。
  • 鉆頭的自轉角速度為 $ \omega_s $(繞自身軸線旋轉的角速度)。
  • 時間變量為 $ t $。

2. 描述鉆頭軸線的運動(公轉)

鉆頭軸線在公轉過程中繞理想軸線做圓周運動。其位置矢量 $ \mathbf{R}_c(t) $ 可以表示為:
R c ( t ) = ( R cos ? ( ω p t ) R sin ? ( ω p t ) 0 ) \mathbf{R}_c(t) = \begin{pmatrix} R \cos(\omega_p t) \\ R \sin(\omega_p t) \\ 0 \end{pmatrix} Rc?(t)= ?Rcos(ωp?t)Rsin(ωp?t)0? ?


3. 描述鉆尖相對于鉆頭軸線的運動(自轉)

鉆尖繞鉆頭軸線做自轉運動,其位置矢量 $ \mathbf{r}_s(t) $可以表示為:
r s ( t ) = ( r cos ? ( ω s t + ? ) r sin ? ( ω s t + ? ) 0 ) \mathbf{r}_s(t) = \begin{pmatrix} r \cos(\omega_s t + \phi) \\ r \sin(\omega_s t + \phi) \\ 0 \end{pmatrix} rs?(t)= ?rcos(ωs?t+?)rsin(ωs?t+?)0? ?
其中 $ \phi $ 是初始相位角,表示鉆尖在 $ t = 0 $時的初始位置。


4. 描述鉆尖的絕對運動

鉆尖的絕對位置 $ \mathbf{r}(t)$是鉆頭軸線的公轉運動與鉆尖自轉運動的疊加:
r ( t ) = R c ( t ) + r s ( t ) \mathbf{r}(t) = \mathbf{R}_c(t) + \mathbf{r}_s(t) r(t)=Rc?(t)+rs?(t)
即:
r ( t ) = ( R cos ? ( ω p t ) + r cos ? ( ω s t + ? ) R sin ? ( ω p t ) + r sin ? ( ω s t + ? ) 0 ) \mathbf{r}(t) = \begin{pmatrix} R \cos(\omega_p t) + r \cos(\omega_s t + \phi) \\ R \sin(\omega_p t) + r \sin(\omega_s t + \phi) \\ 0 \end{pmatrix} r(t)= ?Rcos(ωp?t)+rcos(ωs?t+?)Rsin(ωp?t)+rsin(ωs?t+?)0? ?


5. 分析運動軌跡的特性

鉆尖的運動軌跡取決于公轉角速度 $ \omega_p $ 和自轉角速度 $\omega_s $的比值:

  • 如果 $ \omega_p $ 和$ \omega_s $ 的比值為有理數,鉆尖的運動軌跡是閉合的,形成多邊形孔。
  • 如果 $\omega_p $ 和 $ \omega_s $ 的比值為無理數,鉆尖的運動軌跡是非閉合的,形成復雜的曲線。
5.1 多邊形孔的形成條件

假設 $ \omega_p $ 和 $ \omega_s $ 的比值為有理數,即:
ω p ω s = m n \frac{\omega_p}{\omega_s} = \frac{m}{n} ωs?ωp??=nm?
其中 m m m 和$n $是互質的整數。此時,鉆尖的運動軌跡是閉合的,且形成 $ n $邊形的多邊形孔。

5.2 鉆尖軌跡的參數方程

鉆尖的軌跡可以表示為:
x ( t ) = R cos ? ( ω p t ) + r cos ? ( ω s t + ? ) x(t) = R \cos(\omega_p t) + r \cos(\omega_s t + \phi) x(t)=Rcos(ωp?t)+rcos(ωs?t+?)
y ( t ) = R sin ? ( ω p t ) + r sin ? ( ω s t + ? ) y(t) = R \sin(\omega_p t) + r \sin(\omega_s t + \phi) y(t)=Rsin(ωp?t)+rsin(ωs?t+?)


6. 特殊情況分析

6.1 當 $ \omega_p = \omega_s $

如果公轉角速度和自轉角速度相等$ \omega_p = \omega_s $,則鉆尖的運動軌跡為:
x ( t ) = R cos ? ( ω p t ) + r cos ? ( ω p t + ? ) x(t) = R \cos(\omega_p t) + r \cos(\omega_p t + \phi) x(t)=Rcos(ωp?t)+rcos(ωp?t+?)
y ( t ) = R sin ? ( ω p t ) + r sin ? ( ω p t + ? ) y(t) = R \sin(\omega_p t) + r \sin(\omega_p t + \phi) y(t)=Rsin(ωp?t)+rsin(ωp?t+?)
此時,鉆尖的運動軌跡是一個半徑為 $ R + r $ 的圓。

6.2 當 $ \omega_p = -\omega_s $

如果公轉角速度和自轉角速度大小相等但方向相反$ \omega_p = -\omega_s $,則鉆尖的運動軌跡為:
x ( t ) = R cos ? ( ω p t ) + r cos ? ( ? ω p t + ? ) x(t) = R \cos(\omega_p t) + r \cos(-\omega_p t + \phi) x(t)=Rcos(ωp?t)+rcos(?ωp?t+?)
y ( t ) = R sin ? ( ω p t ) + r sin ? ( ? ω p t + ? ) y(t) = R \sin(\omega_p t) + r \sin(-\omega_p t + \phi) y(t)=Rsin(ωp?t)+rsin(?ωp?t+?)
此時,鉆尖的運動軌跡是一個半徑為 $ |R - r| $ 的圓。


7. 多邊形孔的邊數

多邊形孔的邊數 $n $ 由自轉角速度$ \omega_s $ 和公轉角速度 $ \omega_p $ 的比值決定:
n = ω s ω p n = \frac{\omega_s}{\omega_p} n=ωp?ωs??
例如:

  • 如果 $ \omega_s = 2 \omega_p $,則 $ n = 2$,形成二邊形(即直線)。
  • 如果 $\omega_s = 3 \omega_p $,則 $ n = 3 $,形成三角形。
  • 如果 $ \omega_s = 4 \omega_p ,則 ,則 ,則 n = 4 $,形成四邊形。

8. 總結

鉆尖的運動軌跡由公轉和自轉的疊加決定,其參數方程為:
x ( t ) = R cos ? ( ω p t ) + r cos ? ( ω s t + ? ) x(t) = R \cos(\omega_p t) + r \cos(\omega_s t + \phi) x(t)=Rcos(ωp?t)+rcos(ωs?t+?)
y ( t ) = R sin ? ( ω p t ) + r sin ? ( ω s t + ? ) y(t) = R \sin(\omega_p t) + r \sin(\omega_s t + \phi) y(t)=Rsin(ωp?t)+rsin(ωs?t+?)
當 $ \omega_p $ 和 $ \omega_s 的比值為有理數時,鉆尖的運動軌跡是閉合的,形成多邊形孔。多邊形孔的邊數 的比值為有理數時,鉆尖的運動軌跡是閉合的,形成多邊形孔。多邊形孔的邊數 的比值為有理數時,鉆尖的運動軌跡是閉合的,形成多邊形孔。多邊形孔的邊數 n$ 由$\omega_s / \omega_p $ 決定。通過調整$ \omega_p $ 和 $\omega_s $ 的比值,可以控制鉆孔的形狀和邊數。

這個模型為鉆頭運動軌跡的分析和優化提供了理論基礎。

為了基于 Python 求解這個模型,我們可以編寫一個程序來計算鉆尖的運動軌跡,并繪制其運動軌跡圖。以下是詳細的步驟和代碼實現:


導入必要的庫

我們需要使用 numpy 進行數學計算,使用 matplotlib 進行繪圖。

import numpy as np
import matplotlib.pyplot as plt

定義參數

定義鉆頭的公轉半徑 $ R 、自轉半徑 、自轉半徑 、自轉半徑 r $、公轉角速度 $ \omega_p $、自轉角速度 $ \omega_s$、初始相位角 $ \phi $ 以及時間范圍。

# 定義參數
R = 5.0  # 公轉半徑
r = 1.0  # 自轉半徑
omega_p = 2.0  # 公轉角速度 (rad/s)
omega_s = 3.0  # 自轉角速度 (rad/s)
phi = 0.0  # 初始相位角
t_max = 10.0  # 最大時間
num_points = 1000  # 時間點數

計算鉆尖的運動軌跡

根據運動方程,計算鉆尖的位置 $ (x(t), y(t)) $。

# 生成時間數組
t = np.linspace(0, t_max, num_points)# 計算鉆尖的位置
x = R * np.cos(omega_p * t) + r * np.cos(omega_s * t + phi)
y = R * np.sin(omega_p * t) + r * np.sin(omega_s * t + phi)

繪制鉆尖的運動軌跡

使用 matplotlib 繪制鉆尖的運動軌跡。

# 繪制鉆尖的運動軌跡
plt.figure(figsize=(8, 8))
plt.plot(x, y, label="Drill Tip Trajectory", color="blue")
plt.scatter(x[0], y[0], color="red", label="Start Point")  # 起點
plt.scatter(x[-1], y[-1], color="green", label="End Point")  # 終點
plt.title("Drill Tip Trajectory (R={}, r={}, ωp={}, ωs={})".format(R, r, omega_p, omega_s))
plt.xlabel("x")
plt.ylabel("y")
plt.axis("equal")
plt.grid(True)
plt.legend()
plt.show()

完整代碼

以下是完整的 Python 代碼:

import numpy as np
import matplotlib.pyplot as plt# 定義參數
R = 5.0  # 公轉半徑
r = 1.0  # 自轉半徑
omega_p = 2.0  # 公轉角速度 (rad/s)
omega_s = 3.0  # 自轉角速度 (rad/s)
phi = 0.0  # 初始相位角
t_max = 10.0  # 最大時間
num_points = 1000  # 時間點數# 生成時間數組
t = np.linspace(0, t_max, num_points)# 計算鉆尖的位置
x = R * np.cos(omega_p * t) + r * np.cos(omega_s * t + phi)
y = R * np.sin(omega_p * t) + r * np.sin(omega_s * t + phi)# 繪制鉆尖的運動軌跡
plt.figure(figsize=(8, 8))
plt.plot(x, y, label="Drill Tip Trajectory", color="blue")
plt.scatter(x[0], y[0], color="red", label="Start Point")  # 起點
plt.scatter(x[-1], y[-1], color="green", label="End Point")  # 終點
plt.title("Drill Tip Trajectory (R={}, r={}, ωp={}, ωs={})".format(R, r, omega_p, omega_s))
plt.xlabel("x")
plt.ylabel("y")
plt.axis("equal")
plt.grid(True)
plt.legend()
plt.show()

運行結果

運行上述代碼后,程序會繪制鉆尖的運動軌跡圖。根據參數 $ R 、 、 r 、 、 \omega_p $ 和 $ \omega_s $ 的不同,軌跡可能是圓形、多邊形或其他復雜形狀。

示例結果:
  • 如果 $ \omega_p = 2 $ 和 $ \omega_s = 3 $,軌跡可能是一個五邊形。
  • 如果 $\omega_p = 1 $ 和 $ \omega_s = 1 $,軌跡是一個半徑為 $ R + r $ 的圓。

  • 如果 $\omega_p = 1 $ 和 $\omega_s = -1 $,軌跡是一個半徑為 $ |R - r| $的圓。


參數調整

可以通過調整以下參數來觀察不同的運動軌跡:

  • 公轉半徑 $ R 和自轉半徑 和自轉半徑 和自轉半徑 r $。
  • 公轉角速度 $ \omega_p $ 和自轉角速度 $ \omega_s$。
  • 初始相位角 $ \phi$。

例如:

R = 4.0
r = 2.0
omega_p = 1.0
omega_s = 4.0


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/74118.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74118.shtml
英文地址,請注明出處:http://en.pswp.cn/web/74118.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android源碼之App啟動

目錄 App啟動概述 App啟動過程 App啟動過程圖 源碼概述 跨進程啟動 進程內啟動 下面以應用桌面Launcher啟動App的MainActivity來舉例: App啟動概述 首先,MainActivity是由Launcher組件來啟動的,而Launcher又是通過Activity管理服務Act…

指紋瀏覽器技術解析:如何實現多賬號安全運營與隱私保護

瀏覽器指紋的挑戰與需求 在數字化運營場景中,瀏覽器指紋技術被廣泛用于追蹤用戶行為。通過采集設備硬件參數(如屏幕分辨率、操作系統)、軟件配置(如字體、插件)及網絡特征(如IP地址、時區)&…

生活電子常識——cmd不能使用anaconda的python環境,導致輸入python打開應用商店

前言 電腦已經安裝了anaconda,從自帶的Anaconda Prompt (Anaconda3)中是可以識別python環境的,然而切換到cmd時,突然發現cmd中無法識別anaconda的python環境,竟然打開了應用商店讓我安裝Python,這當然是不對的。 解決 這是因為…

搭建前端環境和后端環境

搭建前端環境 ①、安裝vscode,并安裝相應的插件工具 ②、安裝node.js,可以選擇當前版本,或者其他版本 ③、創建工作區 創建一個空文件夾,然后通過vscode工具打開,保存為后綴名為.code-workspace ④、從gitee…

Java基礎知識總結(1.8)——Java 注解(持續更新)

更新時間:2025-03-31 Web后端專欄:CSDN專欄——理論-Web后端技術博客總目錄:計算機技術系列博客——目錄頁 8.1 注解的概念 8.1.1 定義與作用 Java注解(Annotation)是Java語言自JDK1.5版本引入的核心特性&#xff0…

線程概念與控制(下)

線程概念與控制(中)https://blog.csdn.net/Small_entreprene/article/details/146539064?sharetypeblogdetail&sharerId146539064&sharereferPC&sharesourceSmall_entreprene&sharefrommp_from_link對于之前學習的內容,我們…

SQL注入之盲注技術詳解

SQL注入之盲注技術詳解 一、盲注基本概念盲注特點: 二、盲注主要類型1. 布爾盲注判斷依據: 2. 時間盲注判斷依據: 三、布爾盲注詳細技術1. 識別布爾盲注2. 數據提取技術(1) 判斷數據庫類型(2) 獲取數據庫名長度(3) 逐字符獲取數據庫名(4) 獲取…

OpenCV 圖形API(3)高層次設計概覽

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 描述 G-API 是一個異構框架,提供了統一的 API 來使用多個支持的后端編程圖像處理流水線。 關鍵的設計理念是在指定使用哪些內核和設備時保持流…

阿里云Tair KVCache:打造以緩存為中心的大模型Token超級工廠

一、Tair KVCache 簡介 Tair KVCache 是阿里云瑤池旗下云數據庫 Tair 面向大語言模型推理場景推出的 KVCache 緩存加速服務。 隨著互聯網技術的演進與流量規模的激增,緩存技術逐漸成為系統架構的核心組件。該階段催生了 Redis 等開源緩存數據庫,阿里巴巴…

Open GL ES ->GLSurfaceView正交投影與透視投影方法中近遠平面取值參考

坐標系 OpenGL ES使用右手坐標系&#xff0c;相機默認朝向負z方向 相機位置|vz軸<----- 0 -----> -near -----> -far -----不可見 可見區域 不可見裁剪規則 只有z值在[-near, -far]范圍內的物體可見&#xff0c; 當z > -near&#xff08;在近平面前&#…

iOS自定義collection view的page size(width/height)分頁效果

前言 想必大家工作中或多或少會遇到下圖樣式的UI需求吧 像這種cell長度不固定&#xff0c;并且還能實現的分頁效果UI還是很常見的 實現 我們這里實現主要采用collection view&#xff0c;實現的方式是自定義一個UICollectionViewFlowLayout的子類&#xff0c;在這個類里對…

Java高頻面試之并發編程-01

hello啊&#xff0c;各位觀眾姥爺們&#xff01;&#xff01;&#xff01;本baby今天來報道了&#xff01;哈哈哈哈哈嗝&#x1f436; 面試官&#xff1a;并行跟并發有什么區別&#xff1f; 并發 vs 并行&#xff1a;核心區別與場景 1. 定義對比 維度并發&#xff08;Concu…

從零開始學Rust:所有權(Ownership)機制精要

文章目錄 第四章&#xff1a;Ownership 所有權核心概念關鍵機制引用與借用&#xff08;Reference & Borrowing&#xff09;懸垂引用問題錯誤示例分析解決方案引用安全規則 切片&#xff08;Slice&#xff09;內存安全保證 第四章&#xff1a;Ownership 所有權 Ownership i…

一旦懂得,有趣得緊1:詞根tempt-(嘗試)的兩種解法

詞根tempt-嘗試 tempt vt.引誘&#xff1b;誘惑&#xff1b;慫恿&#xff1b;利誘&#xff1b;勸誘&#xff1b;鼓動 temptation n.引誘&#xff1b;誘惑 // tempt v.引誘 -ation 名詞后綴 attempt v.&n.嘗試&#xff0c;試圖 // at- 加強 tempt 嘗試contempt n.蔑視&am…

召喚數學精靈

1.召喚數學精靈 - 藍橋云課 問題描述 數學家們發現了兩種用于召喚強大的數學精靈的儀式&#xff0c;這兩種儀式分別被稱為累加法儀式 A(n) 和累乘法儀式 B(n)。 累加法儀式 A(n) 是將從1到 n 的所有數字進行累加求和&#xff0c;即&#xff1a; A(n)12?n 累乘法儀式 B(n) …

C語言實現查表8位SAE J1850 CRC

背景&#xff1a; 在做霍爾采集電流的時候&#xff0c;CSSV1500N 系列電流傳感器通過can數據輸出的報文需要做crc校驗&#xff0c;嵌入式常用查表的方式&#xff0c;所以就問了下deepseek怎么算這個CRC. 以下是使用 查表法&#xff08;Lookup Table&#xff09; 在C語言中高效…

【UE5.3.2】初學1:適合初學者的入門路線圖和建議

3D人物的動作制作 大神分析:3D人物的動作制作通常可以分為以下幾個步驟: 角色綁定(Rigging):將3D人物模型綁定到一個骨骼結構上,使得模型能夠進行動畫控制。 動畫制作(Animation):通過控制骨骼結構,制作出人物的各種動作,例如走路、跳躍、打斗等。 動畫編輯(Ani…

mapreduce的工作原理

MapReduce 是 Hadoop 中實現分布式并行計算的核心框架&#xff0c;其工作原理基于“分而治之”的思想&#xff0c;將大規模數據處理任務分解為 Map&#xff08;映射&#xff09; 和 Reduce&#xff08;歸約&#xff09; 兩個階段。 一、MapReduce 核心流程 1. Input 階段 - 輸…

換季推廣不好做?DeepBI用一鍵托管的方式,讓廣告投放跑得快、準、穩

每年換季&#xff0c;尤其是春夏、秋冬交替的節點&#xff0c;都是電商平臺上各類季節性商品扎堆上新的高峰期。無論是服飾鞋包、家居戶外&#xff0c;還是母嬰用品、美妝護膚&#xff0c;許多商品都有著強烈的“時間窗口效應”——一旦錯過了熱賣期&#xff0c;流量下滑迅速&a…

Qt5.14.2+Cmake使用mingw64位編譯opencv4.5成功圖文教程

? 一、下載安裝相關編譯環境軟件 1.1 Python3.8&#xff1a;安裝路徑:C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32 安裝包&#xff1a;python3.8.exe 1.2 QT5.14.2&#xff1a;安裝路徑:C:\Qt\Qt5.14.2 1.3 opencv4.5&#xff1a;解壓路徑D:\o…