2017电子设计攻略_控制类

2017年电子设计大赛准备攻略(控制类)

                                  Author: 靳皓屹   中北大学

1.  组队

      组队是一件非常重要的事情。在组队之前,一定要想清楚:

    (1)三个人中间是否有一位核心成员(具有决断力,能够定好团队的方向);

(2)分工问题;个人认为最合理的分工是这样的:硬件+驱动+APP,之后会详细的谈这个问题;

(3)指导老师,指导老师是否能够帮到你;

2.  分工问题详解:

      硬件负责人:负责搭建机械结构,电路设计制作,以及配合驱动负责人调好底层驱动程序;

    驱动负责人:负责各个模块基础函数的编写,并帮助APP负责人解除程序bug,团队的中枢,需要有较为深的单片机功底;

    APP负责人: 负责根据题目要求编写相应的应用,需要有清醒的头脑,和扎实的编程功底,并且要学会一些基础的算法,比如PID;

   

    下面我以一个简单的小题目为例,去阐述一下三个人如何去配合:

    题目:制作一个温度报警仪,当温度高于20度时,蜂鸣器响起,用户必须按下按键来解除报警;低于20度时蜂鸣器不响。

   

    拿到这个题目,一看其实很简单,一个人就能完成;但是在电子设计大赛时,要求会很多,会有很多的逻辑,驱动方面要求也会很高,另外机械结构要求就更高了。就当这是一个电赛题,三个人应该如何应对?

     

      三个人一起商讨一个整体方案:

    我们采用STM32单片机,DS18B20作为测温模块,自己制作蜂鸣器报警模块(无源的),自己制作按键模块。循环检测温度,如果大于20度,则蜂鸣器响起,开始检测按键是否按下与温度是否降下,如果降下来或者按了按键,蜂鸣器停止报警。

   

    硬件负责人:开始制作硬件模块,蜂鸣器模块,按键模块,留好排针,并可以通过自己的电平测试(就是加上相应的电平来看看是否可以工作)。

   

    驱动负责人:开始编写各个模块驱动,温度模块,按键模块,蜂鸣器模块,写到什么程度?

            温度模块:封装出一个 floatget_temp();  只要调用这个函数,就能得到温度值;

        按键模块:封装一个  int get_key();   调用这个函数就能够得到按键值;

              蜂鸣器模块: 封装一个 void beep(intx);  当beep(1)时,蜂鸣器就能响。反之不响;

 

     APP负责人:将上述驱动看成一个黑盒(就是假设上面的函数已经OK),然后按照题目逻辑写主函数;

   

    当硬件同学完成硬件制作后,把模块交给驱动同学,测试一下如果没有问题,然后把APP同学的主函数添加到驱动同学的工程当中,看看能不能行,如果不能的话继续debug,这个时候三个人可以齐心协力,商量问题出在谁身上。

     

3. 赛前准备:

   (1)项目篇

       入门的话非小车莫属了。做一个循迹小车,最好按照上述的方法合作完成,不要死坑一个人,时间长了被坑的那个人效率会很低

          

之后就是去做往年的电赛题,建议做平衡类的,比方说倒立摆和自平衡小车,别的题目意义不是太大;

          

      平衡类的题目主要是PID算法的调优。怎么调,我们以前是暴力求解法,说白了就是瞎试,但是这样不是很科学,我电赛之后一直没搞这方面也没总结,这方面最好找你们的指导老师,看看他们有没有高招,至少,不要一直试参数

          

   (2)准备篇:

           硬件负责人: 学习CAD制图,单片机,PCB制作,一些传感器的基本原理,学着自己去制作一些传感器和模块,稍后我会列举;

           驱动同学:   学习单片机,每个知识点都要搞清楚,比方说GPIO,中断,定时器,PWM,I2C,SPI,串口;还有一些模块:

           显示屏,蓝牙,NRF2401,直流电机,步进电机,舵机,航模用的无刷电机,这些都要搞清楚,都要亲手去驱动一遍;

           APP负责人:  学习单片机,经常做一些程序逻辑训练,学一些自动控制原理(PID算法的调优);

          

   (3)模块篇:

           直流电机驱动器(LN298),步进电机驱动器(专业驱动器),电调(无刷电机);

           OLED显示屏,触摸屏等等(显示)

           蓝牙模块,NRF2401;

           蜂鸣器模块;

           编码器,精密电阻器(测转角);

           MPU6050(自带库DMP,测角度,加速度,角加速度)

           光耦模块(用于保护);

          

           上述模块是一些常用的,大家电赛之前准备好足量的,还有驱动程序都要搞好。

           还有就是要设计一个人机交互界面,通用模板,不管什么项目都可以用。

     

     

     

     

     

     

     

     

     

  • 22
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值