MiniFly四轴飞行器电源管理框架解析

国产零零柒 发表于 2020-09-16 14:29:19 收藏 已收藏
赞(0) •  评论(0
400万+工程师在用
400万+工程师在用

MiniFly四轴飞行器电源管理框架解析

国产零零柒 发表于 2020-09-16 14:29:19
+关注

最近硬件四轴很火,了解了很久,还是选择了MiniFly,主要还是资料多,后边可以有人讨论,不像很多就是建了个群,研究问题还是在论坛方便很多。

四轴终于拿到手,功能很强大,主要是还支持二次开发,可以研究下玩玩小四轴了

还是先从硬件入手分析下

1.系统框架

主体可以分成两个小系统,后续可以按照这个顺序分析代码

1.通信部分---基于M0和NFR51822,包括电源管理

2.控制部分---基于M4和外围传感器

2.比较关注的电源部分

电源还是比较考究,直接包含了充电功能,不用每次使用外置的充电模块(之前自制过一个充电模块,看来以后可以集成到电路里了)

按键断电功能这个比较喜欢:这个是NFR51822控制VEN_D引脚来实现断电的

上个NFR51822部分电路

开始看代码,大致看了下程序,先是监测按键状态

/*按键扫描处理*/
 
  void buttonProcess()
 
  {
 
  static unsigned int lastTick;
 
  static unsigned int pressedTick;
 
  static bool pressed = false;
 
  if (lastTick != systickGetTick())
 
  {
 
  lastTick = systickGetTick();
 
  if(pressed==false && BUTTON_READ()==BUTTON_PRESSED)
 
  {
 
  pressed = true;
 
  pressedTick = systickGetTick();
 
  }
 
  else if(pressed==true)
 
  {
 
  if(BUTTON_READ()==BUTTON_RELEASED)
 
  pressed = false;
 
  if ((systickGetTick()-pressedTick) > BUTTON_LONGPRESS_TICK)
 
  state = buttonLongPress;
 
  else if(BUTTON_READ()==BUTTON_RELEASED)
 
  state = buttonShortPress;
 
  }
 
  }
 
  }
 
  /*获取按键状态*/
 
  buttonEvent_e buttonGetState()
 
  {
 
  buttonEvent_e currentState = state;
 
  state = buttonIdle;
 
  return currentState;
 
  }
打开APP阅读更多精彩内容

收藏

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉

相关话题

评论(0)

加载更多评论

分享到

QQ空间 QQ好友 微博
取消