首页 > 代码库 > 倒立摆
倒立摆
#include "sys.h"
int main()
{
SYS_CONFIG();
Daolibai_Init();//单摆各部分接口初始化
while(1)
{
UpdateAngel(); //实时转换更新角度值
// NOWStep(CurrentStep);
printf("当前角度为%d度\t",CurAngel);
// KEY_check();
// printf("键值:%d",CurrentStep);
// step1();
// printf("signal:%d %d\r\n",signal,CurAngel);
// if(CurrentStep != 5)
// delay_ms(400);
Step_Turn(BACK ,0.3,1000*1.0);
Step_Turn(FOREWARD,0.3,1000*1.0);
}
int main()
{
SYS_CONFIG();
Daolibai_Init();//单摆各部分接口初始化
while(1)
{
UpdateAngel(); //实时转换更新角度值
// NOWStep(CurrentStep);
printf("当前角度为%d度\t",CurAngel);
// KEY_check();
// printf("键值:%d",CurrentStep);
// step1();
// printf("signal:%d %d\r\n",signal,CurAngel);
// if(CurrentStep != 5)
// delay_ms(400);
Step_Turn(BACK ,0.3,1000*1.0);
Step_Turn(FOREWARD,0.3,1000*1.0);
}
}
void UpdateAngel(void)
{
u16 temp = TIM3 -> CNT;
if(temp > 58000)
{
// printf("记数器当前值为:负%d \n\n",60000-temp);
CurAngel = 360-(60000-temp)*360 / 2000;
printf("当前角度为%d度\t",CurAngel);
}
else
{
// printf("记数器当前值为:%d \n\n",temp);
CurAngel = ((temp % 2000)*360/2000);
printf("当前角度为%d度\t",CurAngel);
}
}
步进电机的转速可以用频率来控制,步进电机的运行频率跟转速成正比,可以通过计算公式,计算出步进电机的转速。
步进电机转速 = 频率 * 60 /((360/T)*x) 步进电机的转速单位是: 转/分 频率单位是:赫兹 x实指细分倍数 T:固有步进角 举例说明:
步进电机采用整步,即1细分;频率1K,即1000赫兹;套用公式:1000 * 60/200=300转/分 注意事项:此公式适应于两相步进电机。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。