加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Python实现正弦波形中30等分点的数值计算,IT6500C电压输出正弦波

(2020-06-15 17:14:16)
标签:

it

linux

电磁兼容

分类: 电子电气工程应用

Python实现正弦波形中30等分点的数值计算,IT6500C电压输出正弦波

Python实现正弦波形中30等分点的数值计算,IT6500C电压输出正弦波


最近一段时间以来,有个需求就是如何让可编程电源IT6500C系列输出电压为正弦波形。(直接跳到分割线之后即可)

之前的方波,锯齿波,都已经OK,循环起来也很方便。下图:

Python实现正弦波形中30等分点的数值计算,IT6500C电压输出正弦波

Python实现正弦波形中30等分点的数值计算,IT6500C电压输出正弦波

图一中的配置文件设置如图:

(注意表格中斜率的设置,这是波形是否正确的关键,斜率的单位是秒)

Python实现正弦波形中30等分点的数值计算,IT6500C电压输出正弦波

斜率设置成0.001秒的用意就是(上升/下降到下一步所用时间为0.001秒)

图二中的配置,你猜。

————————————————我是分割线————————————————

 没错,正文要开始了。那电压的正弦波怎生成呢?
工欲善其事必先利其器。我们得确定具体需求、以及所用工具的能力边界在哪里?
那么就用解题思维从易到难来摸索,摸索。

题目1:将标准正弦波y=sin(x)以X轴等分成30份,问每一份数值y对应坐标系中是在哪里?(下图是20等分示意图)Python实现正弦波形中30等分点的数值计算,IT6500C电压输出正弦波

解题:Y1=sin(2π/30),Y2=sin(2*2π/30),......Y29=sin(29*2π/30),Y30=sin(30*2π/30).
          使用计算器计算然后誊写进配置文件中即可。


题目2:将正负最大最小值12/-12V的正弦波y=12*sin(x)以X轴等分成30份,问每一份数值y对应坐标系中是在哪里?

解题:Y1=12*sin(2π/30),Y2=12*sin(2*2π/30),......Y29=12*sin(29*2π/30),Y30=12*sin(30*2π/30).
          使用计算器计算然后誊写进配置文件中即可。
这里 A*sin(wt+b) ,A=12,w=1, b=0.
计算需要重复操作,这将需要30次频繁的操作,我们需要解放双手,于是用一下,之前9.9元算是白嫖的python小课,解决:
第一步:python中 如何计算 sin(2π/30)
       答:使用math函数,开头调用函数头文件——import math,后面使用按照格式即可: 
               math.sin(2*(math.pi)/30)
第二步:使用循环,设置变量为a,a=1,a=2,......a=30分别带入到计算公式中,
              打印输出sin(a*)(math.pi)/15):计算值
       答:
a = 0
while a < 30:
a = a + 1
print(a)
print("sin("+str(a)+"*(math.pi)/15):",12*(math.sin(a*(math.pi)/15)))

第三步:将懒惰继续进行,不仅要将终端里打印输出,还要把打印的最后一步写进txt文件,txt文件命名为hello.txt保存在D盘根目录下:
答:
import math
a = 0
votage= ['x']  //创建一个列表,利用列表,增加元素,从而把12*(math.sin(a*(math.pi)/15))保存进来
time= ['y'] 
while a < 30:
a = a + 1
print(a)
print("sin("+str(a)+"*(math.pi)/15):",12*(math.sin(a*(math.pi)/15)))
votage.append(str(12*(math.sin(a*(math.pi)/15))))
print(votage)

 //将votage这个列表打印写进IT6500C-30Hz6sin(30points).txt文档保存在D盘根目录下,并关闭文件
v = votage
t = time
f = open (r'D:\IT6500C-30Hz,6sin(30points).txt','w') #print输出写入TXT文档函数#
print (str(v),'\n','\n',str(t),file = f)
f.close()

最后效果:

Python实现正弦波形中30等分点的数值计算,IT6500C电压输出正弦波


Python实现正弦波形中30等分点的数值计算,IT6500C电压输出正弦波

后面就是要制作可编程电源IT6500C的配置文件了:
如下:
(能力边界分析:一个波形只能包含10步骤,所以一个配置文件只能有10行,所以30等分,所以这将需要3个配置文件;之后再把3个波形配置文件配置进1个list,这样一个周期30s(疑问?),波峰幅度为12V,波谷为0V的正弦波编号为list5就可以了)
截图见下面:文件名(sin-pi-30-1、sin-pi-30-2、sin-pi-30-3)
Python实现正弦波形中30等分点的数值计算,IT6500C电压输出正弦波

Python实现正弦波形中30等分点的数值计算,IT6500C电压输出正弦波

Python实现正弦波形中30等分点的数值计算,IT6500C电压输出正弦波

Python实现正弦波形中30等分点的数值计算,IT6500C电压输出正弦波



PS:1.里面延时计算公式:t=(1/30)*sin(a*2π/30);f是频率,这里是30Hz;
       

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有