让找料更便捷
电子元器件
采购信息平台
生意随身带
随时随地找货
一站式电子元器件
采购平台
半导体行业观察第一站
标签:
摘要: 正弦波的产生使用查表法,sin表里面是250个,0~90度的,步进为0.36度的计算出来的正弦值。利用正弦波的对称性,只需要0~90度的即可。但是这250个值并不是每个都用,而是在程序中由有一个步进值step,u_index += stepv_index += stepw_index += step这个步进值step,同F_OUT相关step = (float ) F_OUT / 10每个周波后,
正弦波的产生使用查表法,sin表里面是250个,0~90度的,步进为0.36度的计算出来的正弦值。利用正弦波的对称性,只需要0~90度的即可。
但是这250个值并不是每个都用,而是在程序中由有一个步进值step,
u_index += step
v_index += step
w_index += step
这个步进值step,同F_OUT相关
step = (float ) F_OUT / 10
每个周波后,index和F_OUT都会复位
if(u_index >= 1000)
{
u_index = 0;
F_OUT = Get_F_Command(); // update Frequency
}
unsigned char Get_F_Command()
{
unsigned char Freq;
// get F_Command;
//e。g。
Freq = 50;
return Freq;
}
实际上F_OUT只在第一个周波内是F_OUT = 200,其他周波都是50
由于VF_Mul_F = (int)F_OUT * VF_RATIO,VF_RATIO是不变的:#define VF_RATIO 327
所以只有在第一个周波内,VF_Mul_F是一个值,其他周波内变成了1/4,(50/200).其他见图:
XXX = VF_Mul_F * (long)sin_TABLE[index - 500]>>16或VF_Mul_F * (long)sin_TABLE[index]>>16或VF_Mul_F * (long)sin_TABLE[999 - index]>>16或(long)sin_TABLE[499 - index] * (long)VF_Mul_F >> 16
之所以第一周波与后面不同,我想是为了驱动大一些,步进更细一些,容易启动一些吧。
上一篇:已经是第一篇
| 型号 | 厂商 | 价格 |
|---|---|---|
| EPCOS | 爱普科斯 | / |
| STM32F103RCT6 | ST | ¥461.23 |
| STM32F103C8T6 | ST | ¥84 |
| STM32F103VET6 | ST | ¥426.57 |
| STM32F103RET6 | ST | ¥780.82 |
| STM8S003F3P6 | ST | ¥10.62 |
| STM32F103VCT6 | ST | ¥275.84 |
| STM32F103CBT6 | ST | ¥130.66 |
| STM32F030C8T6 | ST | ¥18.11 |
| N76E003AT20 | NUVOTON | ¥9.67 |