利用Python简单仿真凸轮轮廓
设计流程
- 根据工作需求和结构条件选择凸轮机构形式
- 确定凸轮基圆半径等基本尺寸
- 选定从动件运动规律
- 凸轮轮廓设计
选择凸轮机构的形式
为简单起见,采用最简单的机构:尖底移动盘形凸轮,凸轮转向:逆时针,偏距e = 0
确定基圆半径等基本尺寸
[α\alphaα] = 30° 悬臂长度b = 2cm 导路长度 l = 5cm 这两个参数只影响极限压力角。
最后通过计算算得r0 = 3/(2√3)
基圆半径r0=1−δtanα2tanα压力角α≤30°转过角度0≤δ≤2π基圆半径r_0 = \frac{1-\delta tan\alpha}{2tan\alpha}\\ 压力角\alpha \leq 30°\\ 转过角度 0\leq\delta\leq 2\pi 基圆半径r0=2tanα1−δtanα压力角α≤30°转过角度0≤δ≤2π
确定从动件运动规律
推程s=12δ,0≤δ≤π回程s=−12δ+π推程 s = \frac{1}{2}\delta, 0\leq \delta \leq \pi \\ 回程 s = \frac{-1}{2}\delta + \pi 推程s=21δ,0≤δ≤π回程s=2−1δ+π
import sympy as sp
import matplotlib.pyplot as plt
from matplotlib import animation # 可以加入动画绘制
import numpy as np
import mathdef draw_gh():t1 = np.linspace(0,math.pi,500) t2 = np.linspace(math.pi,math.pi*2,500) # 取点s = 0.5*t1s_back = -0.5 * t2 + np.pi # 运动规律方程plt.plot(t1,s,color='blue',linewidth=2,label='itinerary')plt.plot(t2,s_back,color='red',linewidth=2,label='backhaul') # 绘制曲线plt.xlabel('δ')plt.ylabel('s')plt.legend()plt.show()draw_gh()
设计凸轮轮廓
解析法
具体推导过程看机械原理的书籍就会有,代入上述参数即可得到下式:
推程:
x=(r0+0.5δ)sinδ,0≤δ≤πy=(r0+0.5δ)cosδ,0≤δ≤πx = (r_0 + 0.5\delta)sin\delta, 0\leq\delta\leq\pi\\ y = (r_0 + 0.5\delta)cos\delta, 0\leq\delta\leq\pi x=(r0+0.5δ)sinδ,0≤δ≤πy=(r0+0.5δ)cosδ,0≤δ≤π
回程:
x=(r0−0.5δ+π)sinδ,π≤δ≤2πy=(r0−0.5δ+π)cosδ,π≤δ≤2πx = (r_0 - 0.5\delta + \pi)sin\delta,\pi\leq\delta\leq2\pi\\ y = (r_0 - 0.5\delta + \pi)cos\delta,\pi\leq\delta\leq2\pi\\ x=(r0−0.5δ+π)sinδ,π≤δ≤2πy=(r0−0.5δ+π)cosδ,π≤δ≤2π
编写Python代码
import sympy as sp
import matplotlib.pyplot as plt
from matplotlib import animation
import numpy as np
import math
def draw_graph():'''划分区间'''t = np.linspace(0,math.pi*2,1000)t1 = np.linspace(0,math.pi,500) t2 = np.linspace(math.pi,math.pi*2,500)r = 3/(2*3**.5) # 基圆半径'''推程方程组'''x_itinerary = (r + 0.5*t1)*np.sin(t1)y_itinerary = (r + 0.5*t1)*np.cos(t1)'''回程方程组'''x_backhaul = (r - 0.5*t2 + math.pi)*np.sin(t2)y_backhaul = (r - 0.5*t2 + math.pi)*np.cos(t2)'''基圆'''x = r*np.sin(t)y = r*np.cos(t)'''绘制曲线'''plt.plot(x_itinerary,y_itinerary,color='blue',linewidth=2,label='itinerary')plt.plot(x_backhaul,y_backhaul,color='red',linewidth=2,label='backhaul')plt.plot(x,y,color='green',linewidth=2,label='base circle')plt.xlabel('δ')plt.ylabel('h')plt.legend()plt.show()draw_graph()
利用Python简单仿真凸轮轮廓相关推荐
- 利用python简单分析抓包数据
利用python简单分析抓包数据 wireshark的数据 先读一行看看长啥样 import json data_file = r'E:\download\data.json' with open(d ...
- 利用Python简单两步监控电脑
文章目录 一.利用python定时截取电脑桌面,保存到指定目录 二.将监控程序设置为开机自动启动 1.新建start.bat文件,打开输入以下代码: 2.将start.bat添加到任务计划 三.附注过 ...
- Python网络爬虫爬取招聘数据(利用python简单零基础)可做可视化
爬取Boss直聘相关的招聘数据 一.相关需求分析 1.目的 二.直聘网页结构分析 1.网页相关值的查找 2.网页的下一页规律查找 三.Python相关的第三库介绍 1.Urllib的介绍 (1)url ...
- 从excel表格读取日期利用python简单实现农历转阳历功能(1901-2099年之间)
从表格E列里读取出阳历或者农历日期数据,全部转变为阳历日期写入到F列,如果是农历日期通过下面网站进行查询后,将阳历结果写进相应农历日期对应的表格中,样式如下: 网站:https://gonglinon ...
- 用户输入日期利用python简单实现农历转阳历功能(1901-2099年之间)
#!/usr/bin/env python # coding=utf-8 # https://gonglinongli.51240.com/ import requests from bs4 impo ...
- python 枪表情包_利用python简单生成表情包
哈哈,先来看下运行后的结果吧(下图) 说明:(表情即文字都可以自定义)先下载一个python的pygame包①进入到命令提示行 win + R ②进入命令提示行后 直接输入 pip install p ...
- 宅男福利--利用Python简单爬图
Ver beta..代码粗陋. 使用说明以Windows为例, Python版本为2.7.6 确认你电脑已经安装了Python, Windows默认安装路径为C:\Python27.如果没有安装,先下 ...
- 利用python简单制作一个图云
只需要提供文本数据以及轮廓照片即可 stopword为wordcloud自带的关键参数,可去掉不想要的文字 import jieba from matplotlib import pyplot as ...
- 利用python简单实现中南大学加权平均分验算
偷个懒,先挂代码,之后有空再来补上讲解 预览 中南大学加权平均分验算程序下载 虽然使用应该很方便,但是似乎不同的电脑,复制这个网页,粘贴到txt文档中的格式可能不同,我只针对我电脑的情况做了适配,如果 ...
最新文章
- 面向完全初学者的Unity和C#游戏开发学习教程
- java本地方法封装库_JNA-Java本地方法封装库
- Android设置多个定时器时只有最后一个定时器有效的问题
- windows7访问03文件服务器慢
- machine learning(15) --Regularization:Regularized logistic regression
- 模拟video播放器
- Python(2)-- 运算符
- python appium自动化测试框架unittest_Appium基于Python unittest自动化测试 自动化测试框架 -- PO并生成html测试报告...
- axure命令行_Axure变量详解
- 使用webstorm操作git
- Linux命令发送Http请求
- 2022蓝牙耳机哪款更值得买?最受欢迎的十大蓝牙耳机排行榜
- 学弟啊,你代码能不能不要写得这么烂?
- 欧文分校计算机新sat多少分录取,新SAT多少分能进美国TOP100大学
- 三角网格(Triangle Mesh)与四角mesh网格理解总结
- 【时序】TFT:具有可解释性的时间序列多步直接预测 Transformers
- 网页/博客Hexo添加live2d游戏角色看板娘,简易添加,碧蓝航线等live2d新型游戏角色模型(moc3)
- 基于TIA博途SCL语言的设备累计运行时间FB函数库_具体方法及程序示例
- Allegro PCB 软件自动检查走线是否跨分割
- 关于数据驱动消费金融业务的几点看法