查看: 2015|回复: 0

arduino平衡小车—(六)程序

[复制链接]
  • TA的每日心情
    开心
    2017-8-3 12:16
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2017-11-8 13:33 | 显示全部楼层 |阅读模式
    (1) 时序总算法  
        void SysTick_Handler(void) //5ms定时器
        {  
            BST_u8MainEventCount++;   //总循环计数值
            BST_u8trig++;
            BST_u8SpeedControlCount++;  //小车速度控制调用计数值GetMotorPulse();//脉冲计算函数BST_u8SpeedControlPeriod++;
            BST_u8DirectionControlPeriod++;   //转向平滑输出计算比例值
            BST_u8DirectionControlCount++;
            AngleControl();  //角度PD控制PWNM输出
            MotorOutput();  //小车总PWM输出  
            if(BST_u8trig>=2)
            {
                UltrasonicWave_StartMeasure();   //调用超声波发送程序 给Trig脚 <10us 高电平chaoshengbo();       //计算超声波测距距离
                BST_u8trig=0;
            }
            if(BST_u8SpeedControlCount>=8)       //当计数值8时,即总系统运行40ms时候(每10个角度PWM输出中融入1个速度PWM输出,这样能保持速度PID输出不干扰角度PID输出,从而影响小车平衡)
            {
                 SpeedControl();                     //车模速度控制函数   每40ms调用一次
                 BST_u8SpeedControlCount=0;  //小车速度控制调用计数值清零
                 BST_u8SpeedControlPeriod=0;  //平滑输出比例值清零
             }   
        }









    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    [Arduino物联网开发实战2]数据反馈
    [Arduino物联网开发实战2]
    [md]上一篇:(https://www.arduino.cn/thread-83177-1-1.html) 除了控制设备外,blin
    OLED 128*64自制可达10000000个选项的菜单(已更新)
    OLED 128*64自制可达10000
    OLED 128*64自制可达10000000个选项的菜单 温馨提示: 建议占个楼再食用本帖子
    新手求帮助,别人给的一个工程,打开编译报错
    新手求帮助,别人给的一个
    别人给的一个esp8266的工程,编译时候显示缺失很多.h文件,我从github和管理库里面下
    RPG游戏 无人世界
    RPG游戏 无人世界
    操作:方向键移动,a键确认 b键打开符文菜单 游戏流程大约半小时 视频攻略:ht
    求求求你 救救孩子吧
    求求求你 救救孩子吧
    这个bug是什么问题
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表