STM32循迹小车教程(适合初学者的详细教程)

一序言

                我历时四周终于制作完成原理图设计,原件焊接,代码测试,赛道循迹。在此,我要十分感谢在我制作过程中给予过帮助的所有人。首先明确小车使用主控芯片为stm32f103c8t6。

二硬件部分

2.1原理图和pcb绘制

                制作小车要用的软件有:嘉立创EDA

                首先明确一辆小车的构成:主控芯片电路,循迹传感电路,代码下载电路,电源电压转换电路,代码下载电路,电源电路,电机控制驱动电路。

                主控芯片电路:参考stm32f103的数据册,先构建晶振电路,采用嘉立创原件库中封装为OSC-TH_BD3.1-P0.8-D0.3,HC-49S_L11.0-W4.7-P4.88(8MHz)与电容进行连接。芯片供电使用vat,vss,vdd,连接电路应加电容接地,然后构建复位电路(使用NRST引脚)。使用PA系列进行数据通信。PA0,PA1进行左边电机通信,PA2,PA3进行右侧通信。PA4,PA5,PA6,PA7,进行循迹数据输入端。

                总电源:本车采用两节可充电电池规格为18650,控制开关封装为SW-TH_SS-12D10L3。

                5v电源:采用lm2940芯片,为增加散热使用散热器,加装肖特二极管防反接,使用lu绿色led进行电源显示。

                3v3电源:由于主要原件工作电流小,将5v转3.3v。

                循迹电路:采用四组红外探照进行路径判断,并采用绿色led进行显示判断。

                下载电路:通过一个2×4排插,进行数据输入。

                电机驱动电路:采用两块rz7899芯片控制两侧电机,并将主控芯片输出的电压作用在电机上,电机采用规格直流电机n20.

                pcb连线小技巧:由于嘉立创每月有2次白嫖pcb机会,规格在10cm×10cm之内。由于原理图转pcb之后原件分布散乱,我们可以使用布局传递功能将原理图的元件定位在pcb图中。同样在pcb中可采用交叉选择将元件定位在原理图中。个人建议:首先将原理图中对应在pcb元件的进行分部分布局,尽量保持元件在原理图中的排布顺序,按模块化布局,布局时多结合3d模型进行合理布局。电池座由于过大应该首先放置。在布局中为避免飞线过多,影响观看,可将网络飞线中的gnd隐藏,最后进行正反面gnd铺铜。

2.2实物连接技巧

                当我们pcb板与购买元件到手,我建议应该先焊接贴片部分,从左到右,从大到小。

三软件部分

3.1循迹原理分析

              我首先定义光电管在黑线上高电平,处于亮灯状态,白色区域上低电平,处于熄灯状态。分析小车要左转,黑线将处于 左1,左2之间,处于亮状态,此时车轮应该要左反转,右正转,通过车轮差数,进行转向,同理可得右轮一样。

3.2代码逻辑判断编写

        代码编写使用keill5软件,代码大致如下

int main()
{
    /*
    晶振初始化调用
    车轮初始化定义,定义车轮开始为低/电/平
    */
void turn();
void left();
void right();
void go();
    while(1)
    {
        turn();
    }
void  left()
{
    
}
void  right()
{
    
}
void  go()
{
    
}
void turn()
        {
            if(/*判断条件*/)
            {
                left();
            }
            else if(/*判断条件*/)
            {
                right();
            }
            else
            {
                go();
            }
        }

}

3.3代码下载与调试方式

                我使用st-link下载进行下载,调数过程使用pwm波进行调节,在代码烧录完成后应该拿螺丝刀去初始调节可变电阻,四个绿色led灯在黑线上是亮灯,在白色区域为熄灯状态。应该多加尝试,去调节到适合自己和的pwm值,使车子能够处于最佳状态。

物联沃分享整理
物联沃-IOTWORD物联网 » STM32循迹小车教程(适合初学者的详细教程)

发表评论