前言:算法开源已经开始
第一章信号的预处理

       这一章更新下麦轮的驱动方案,使用过CH32的同学都知道,这款单片机的定时器很少,所以推荐的方案中都是采用DRV8701方案来解决一个PWM口控制一路电机,实现电机的正反转。对于以往智能车常用的HIP4082驱动方案都避之不谈,实际上,对于HIP4082也是可以采用相同的控制方法,只是需要在程序上更改一下就行。通常使用DRV8701驱动都是通过IO的高低来控制电机的正反转,但同样的方式在HIP4082上可能就会产生疯转。首先,我们先来考虑下在PWM管脚充足是我们是如何控制电机的。一般我们都是一路正占空比,一路负占空比,正向是正的占空比给正,另外一路不给,倒车时给负的一路,正的一路不给。那如果两边同时给会怎么样?这就是如果使用IO口控制HIP4082时候会产生的原因。假设正向使用时,IO拉低,另外一个管脚给PWM波。这时需要反向,直接IO拉高,电机是会反转,但同时,会疯转因为这个时候由于高电平使得电机一直处于一个反向满占空比。解决方案就是在同样同样需要20%的占空比的时候,反向程序里输入80%的占空比。因为电机真实转速与两端电压有关,一个高电平满占空比,减去一个80%的占空比,这时候速度才和正向的20%相等。

附上一个电机的正反转控制代码,正向输入正的占空比数,反向输入负占空比数。

void engine_hinder_left(int16 pwm_worth)
 {
    //pwm_worth=int_protect( pwm_worth, -9000, 9000);
    if(pwm_worth>=0)                              //正转
      {
       gpio_set(C11,0);
       pwm_duty(PWM4_CH4_B9, pwm_worth);  //改变B9输出PWM的占空比为百分之 duty/PWM_DUTY_MAX*100
      }
    else
      {
        gpio_set(C11, 1);
        pwm_duty(PWM4_CH4_B9,Enginemax+pwm_worth);  //反转
 
      }
}

       控制上说完,下面说说电路原理图。HIP4082需要输入12V电压来驱动MOS,之前看到好多都是采用MC34063。感觉外围电路太复杂,麻烦,为了减轻焊接的困难,同时相对于我的车模设计,板子也不需要过于小巧。我便用了一款国产的B0512S-1W,用起来很方便,集成度高。就是体积有点大,不过也不影响板子的布局。并且选用SN74HC125PWR三态门作为信号的隔离,并加上上拉电阻防止初始化时信号不确定影响控制。

 B0512   5V升12v电路原理图

 SN74三态门原理图

 三态门5v供电采用的是LM2940,直接在输入输出端加上滤波电容即可。

     HIP4082的电路图,和官网的数据手册上没什么区别,唯一遇到过的问题就是自举电容当时焊接时容值不够,mos管无法导通,驱动板发出很大噪声,无法使用。

     在一开始的做车时候开始用opa2350做运放,加上了检波的电路,这样运放板输出端的电压是直流信号。采集时只要采集一次即可,无需像其他运放板需要采集多次取平均,加快程序的运行速度。

     最后在发一个ch32的核心板原理图,核心板上的供电MIC5205,当初这里也需要一个坑,Mic5205电容没有配好,导致电压不对,电压在3.75左右。结果单片机一支无法使用,程序也无法下载。关于核心板电路的绘制,也不是很难,毕竟大部分在数据手册上的表明了,比如晶振的值,参考电压,电源引脚的滤波电容容值,以及一些BOOT管脚的上拉和下拉,和复位管脚的电容电阻配对。这些在官方手册上都会有的,虽然核心板也做出来了,但我比赛却没用。咳咳,毕竟,CH32逐飞卖的也不贵,还没啥大BUG,节约一下时间成本。

 核心板上5V稳3.3V电路,mic5205

     核心板下载口,这里直接拿逐飞的下载器,所以管脚做的和逐飞的一样,起振电容选用22pf,还有复位及BOOT管脚。

 

        这里把单片机电源用0欧电阻隔开,其实没啥用,要不要都能正常使用。 

下面展示一下自制的核心板,绿色不是很好看。

正面

背面 

正常使用的时候,比赛没用,因为没有学校标识,不符合规则。 

    由于核心板引脚太密集,就直接将PDF文件放在文末,可以自己下载。还是那句话,开源不仅仅是文件开源,不会直接开源整个工程,不然直接拿过去打板,什么也学习不到。开源的目的是希望新手可以很快的进入做车的状态和了解需要做的事。如果连AD都不会使用,直接拿工程去打板,有什么意义呢。原理图网上多的事,但自己画起来却不是一蹴而就。希望可以给看到这些文章的人,提高一些效率,少一点弯路。

核心板等原理图PDF:   https://www.aliyundrive.com/s/oQNSPdeF39B