[其他ST产品] STM32平衡车

[复制链接]
2269|34
 楼主| yutingwei 发表于 2023-9-25 16:41 | 显示全部楼层
代码都封装在了函数里,因此主控的main函数非常简单。All_HardWare_init();包含了所有硬件、片内资源的初始化。因为Mahony每次上电融合解算姿态时需要几秒的自我校准,因此先打开定时器。
        TIM3_Int_Init(99, 7199); // 72M ÷7200 ÷100 = 10 ms
 楼主| yutingwei 发表于 2023-9-25 16:41 | 显示全部楼层
几秒过后再初始化PID控制器
        PID_init();              //直立环,速度环PID控制器初始化
 楼主| yutingwei 发表于 2023-9-25 16:41 | 显示全部楼层
定时器3中断服务函数在control.c文件中,包含姿态解算和PID控制。
  1. void TIM3_IRQHandler(void)
  2. {
  3.   if (TIM_GetITStatus(TIM3, TIM_IT_Update) == SET)
  4.   {   TIM_ClearITPendingBit(TIM3, TIM_IT_Update);            
  5.      /**
  6.       *PID控制与姿态解算部分,详情请TP至
  7.       *....../主控程序/HARDWARE/control/control.c
  8.       *
  9.       */
  10.   }
  11. }
 楼主| yutingwei 发表于 2023-9-25 17:06 | 显示全部楼层
死循环中目前三个函数分别是LED、LCD状态显示和 一个简易的过倾保护。

 楼主| yutingwei 发表于 2023-9-25 17:24 | 显示全部楼层
  1. void Protect_Check(void)
  2. {
  3.         if (imu.Roll > 30 || imu.Roll < -30)
  4.                 Protect = 1;
  5.         else
  6.                 Protect = 0;
  7. }
童雨竹 发表于 2024-2-21 08:02 | 显示全部楼层

让PCB顶层和底层一样,将它们通过一些过孔(或通孔)连接
Wordsworth 发表于 2024-2-21 09:05 | 显示全部楼层

孔璧里头必须经过电镀
Clyde011 发表于 2024-2-21 10:08 | 显示全部楼层

需要将阻焊漆(阻焊油墨)覆盖在最外层的PCB设计布线上
万图 发表于 2024-2-21 12:04 | 显示全部楼层

做多层板可将做好的两块双面板用特制的粘合剂“压合”起来
Uriah 发表于 2024-2-21 13:07 | 显示全部楼层

清除与电镀动作都会在化学过程中完成
帛灿灿 发表于 2024-2-21 15:03 | 显示全部楼层

将整个表面铺上一层薄薄的铜箔,并且把多余的部份给消除
Bblythe 发表于 2024-2-21 16:06 | 显示全部楼层

在开始电镀之前,必须先清掉孔内的杂物。
周半梅 发表于 2024-2-21 18:02 | 显示全部楼层

电容工作在额定的纹波电流下
Pulitzer 发表于 2024-2-21 19:05 | 显示全部楼层

在孔璧内部作金属处理后,可以让内部的各层线路能够彼此连接。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部