一序言
我历时四周终于制作完成原理图设计,原件焊接,代码测试,赛道循迹。在此,我要十分感谢在我制作过程中给予过帮助的所有人。首先明确小车使用主控芯片为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();
}
}
}文章来源:https://www.toymoban.com/news/detail-787284.html
3.3代码下载与调试方式
我使用st-link下载进行下载,调数过程使用pwm波进行调节,在代码烧录完成后应该拿螺丝刀去初始调节可变电阻,四个绿色led灯在黑线上是亮灯,在白色区域为熄灯状态。应该多加尝试,去调节到适合自己和的pwm值,使车子能够处于最佳状态。文章来源地址https://www.toymoban.com/news/detail-787284.html
到了这里,关于stm32循迹小车教程(保姆级教程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!