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

昆山网站设计广告设计培训内容

昆山网站设计,广告设计培训内容,微网站自己可以做么,哪个地方网站建设的公司多通过FPGA开发板上的NIOS Ⅱ搭建电机控制的硬件平台#xff0c;包括电机正反转、编码器的读取#xff0c;再通过软件部分实现PID算法对电机速度进行控制#xff0c;使其能够渐近设定的编码器目标值。 一、问题与改进 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(interpolatedTargetcurrentCountsL){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.hkea.cn/news/14540160/

相关文章:

  • 类似wordpress的建站系统手机视频播放器app哪个最好用
  • 设计师招聘网站做网页局域网站点配置
  • 网站被iframe郑州计算机网站公司
  • 网站设计跟网页制作西安模板建网站
  • 网站设计制作要多少钱vis设计机构
  • 类似好123门户网站开发复杂么影视公司需要的许可证
  • 网站新闻不收录衡水龙腾网站建设
  • 网站建设备案需要材料wordpress 写 wiki
  • 网站建设公司的税是多少钱一站式企业建站制作
  • 网站开发简单吗企业网站规划书范文
  • php网站开发实例教程传智做网站友情链接都写什么
  • 厦门市建设管理协会网站首页企业自助建站模板
  • 网站建设尾款催收函重庆便民服务网站APP
  • 网站的建设书籍wordpress怎么禁google
  • 房山营销型网站制作开发创网网络
  • 哈尔滨教育学会网站建设吉林市网站建设招标
  • 图书网站怎么做社区网站建设资金申请
  • 上海龙象建设集团公司网站网站的建设期
  • 怎么用wordpress建电商网站做视频网站用什么格式
  • 公司网站建设需要多少钱用php做网站教程
  • 网站建设罗贤伟网站域名备案证书下载
  • 广州网站建设哪个好梅州新农村建设网站
  • 东莞做网站的公司有哪些石家庄市高新区建设局网站
  • 个人可以做商城网站电子公司网站设计
  • 石家庄网站建设技术支持淘宝客自建手机网站
  • 嘉兴网站制作网络广告策划书案例
  • 成都淮州新城建设投资有限公司网站小小影院 电视剧免费
  • 泉港区住房和城乡规划建设局网站wordpress插件video playe
  • 小题狂做+官方网站王占山将军是什么军衔
  • 网站开发人员需要什么要求gta5买资产网站在建设