当前位置: 首页 > news >正文

来个网站奖励自己旅游产品推广有哪些渠道

来个网站奖励自己,旅游产品推广有哪些渠道,本科电子商务专业就业方向,织梦英文版网站怎么做通过FPGA开发板上的NIOS Ⅱ搭建电机控制的硬件平台,包括电机正反转、编码器的读取,再通过软件部分实现PID算法对电机速度进行控制,使其能够渐近设定的编码器目标值。 一、问题与改进 SOPC之NIOS Ⅱ实现电机转速PID控制_STATEABC的博客-CSDN…

        通过FPGA开发板上的NIOS Ⅱ搭建电机控制的硬件平台,包括电机正反转、编码器的读取,再通过软件部分实现PID算法对电机速度进行控制,使其能够渐近设定的编码器目标值。

一、问题与改进

SOPC之NIOS Ⅱ实现电机转速PID控制_STATEABC的博客-CSDN博客

        在前面用PID实现了基于NIOS Ⅱ的电机转动控制,但是由于用的usleep()函数精度不够,所以会导致有时读取的编码器值不准确,最终发生PID产生振荡现象。

        因此采用中断函数的方式,每10ms调用一次中断服务函数,再中断函数中实现PID控制,从而达到更大的精确度,减少振荡。

二、硬件设计

硬件设计同之前不变

三、软件设计

3.1 中断函数初始化

 void MPU_INT_INIT(void){IOWR_ALTERA_AVALON_PIO_EDGE_CAP(MPU_INT_BASE,0x00);#ifdef ALT_ENHANCED_INTERRUPT_API_PRESENTif ((alt_ic_isr_register(MPU_INT_IRQ_INTERRUPT_CONTROLLER_ID,MPU_INT_IRQ,MPU_INT_ISR,NULL,NULL)!= 0))#elseif((alt_irq_register(MPU_INT_IRQ,NULL, MPU_INT_ISR  )!= 0))#endif{printf("register irt failed\r\n");}IOWR_ALTERA_AVALON_PIO_IRQ_MASK(MPU_INT_BASE,0x01);}

3.2 中断函数

#ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT //nios2 91 edition or later
void MPU_INT_ISR(void *contex)
#else //before nios2 91 edition
void MPU_INT_ISR(void * contex, alt_u32 id)
#endif
{if(!IORD_ALTERA_AVALON_PIO_EDGE_CAP(MPU_INT_BASE)){return;}else{IOWR_ALTERA_AVALON_PIO_EDGE_CAP(MPU_INT_BASE,0x00);IOWR_ALTERA_AVALON_PIO_IRQ_MASK(MPU_INT_BASE,0x00);// 测量当前编码器计数//Car.Get_Encode();//int currentCountsL = Car.Encode_L;//int currentCountsR = abs(Car.Encode_R);// 执行插值步骤for (int currentstep = 0; currentstep < step; currentstep++) {Car.Get_Encode();int currentCountsL = Car.Encode_L;interpolatedTarget= currentCountsL + (targetDistance - currentCountsL) * currentstep / step;
/*			if(interpolatedTarget<=currentCountsL){interpolatedTarget= currentCountsL + (targetDistance - currentCountsL) * currentstep / step;}*/// 计算误差error = interpolatedTarget - currentCountsL;// 计算 PID 控制输出float controlOutput = calculatePID(error, integral, prev_error);// 将控制输出限制在电机速度范围内float speed = initialSpeed + controlOutput;speed = fmaxf(-100, fminf(speed, 100));// 更新下次迭代的前一次误差和积分prev_error = error;integral  += error;if (integral >  8000) integral =  8000;if (integral < -8000) integral = -8000;Car.SetSpeed(speed, 0);}}IOWR_ALTERA_AVALON_PIO_IRQ_MASK(MPU_INT_BASE,0x01);
}

3.3 主程序

int main()
{Car.Stop();Car.Start();MPU_INT_INIT();while(1){printf("Enter targetDistance");scanf("%d", &targetDistance);}return 0;
}

四、实验结果

每10ms调用一次中断函数,这样也就保证了采样的精度,结果也比之前好了很多,但是还是会有稍微的振荡现象。

http://www.yayakq.cn/news/320594/

相关文章:

  • 做瑜伽网站电子商务网站建设的评估工具
  • 广西建设银行行号查询网站公司网站域名到期了去哪里缴费
  • 中山三水网站建设淘宝关键词工具
  • 邵阳做网站的有哪些卡片式网站模板
  • 《php网站开发》电子课件宁波网站设计相信荣胜网络
  • 福州市建设工程材料价格管理系统网站展厅装修效果图 展厅设计图片
  • 网站模板下载中国融资网
  • 网站报价表格广西建设执业注册中心中心网站
  • 网站报名怎么做工信部官网备案查询系统
  • 来年做那些网站致富昆明网站制作公司百度推广
  • 咖啡建设网站的目的网站建设团队扬州
  • 社交网站开发外文重庆高铁建设网站
  • 广州自助建站模板推广产品的方式有哪些
  • 南充 网站建设深圳怎么注册公司网站
  • 专业购物网站建设价格关于网站建设的外文文献
  • 网站设计范例wordpress数据采集
  • 德宏做网站wordpress yum
  • 天津电商网站建设湖南建筑信息网查询
  • 微信网站制作平台电子商务营销的概念
  • 莆田做网站公司湖南网络优化服务
  • 常见问题 网站建设响应式网页设计图
  • 网站底部 图标菏泽做网站的公司
  • 有什么网站可以做初中试题建设部网站 测绘规章
  • 帝国cms手机网站如何将一个网页生成链接
  • 进入微信官方网站注册电信 网站备案
  • 嘉兴企业网站模板wordpress页面添加图片不显示图片
  • 企业网站优化方法网页布局的类型有哪些
  • 天津市网站建设管理办法深圳市宝安区中心医院是三甲吗
  • 制作网站流程图男的和女的做那个视频网站
  • 企业网站国内现状外贸流程中涉及的重要单证