序言
本框架是基于15届智能车队长程鑫乐学长的k66代码编写,作为对此框架的介绍。智能车侧重于控制的编写,让大家重复造轮子实在是一种精力的浪费,通过本例子让大家快速掌握祖传框架,节省时间,保留精力来肝车
与本例子配套的还有一个视频。
Mon 06
Mon 13
定时器中断
其他中断
按键中断
图像采集
电磁采集
补图
电磁滤波处理
输出舵机和电机
显示菜单
中断任务
循环任务
智能车程序处理流程
菜单
教案我们在软件培训一开始接触的部分,他的功能是帮助我们更方便地调试我们的代码,多的内容不在赘述,只是还没由教你们中断需要你们自己查看例程学会,因为中断很简单,再出一期视频似乎不太值当,只需要提醒你们,中断优先级一定要再init里面设置,不要再其他地方设置
摄像头
摄像头是我们接触到的第一个传感器,因为软件的工作很大一部分就是设计图像处理的程序,图像就从摄像头传感器上得来。我们采用的传感器一般是逐飞家的总钻风摄像头,存图没有例子,我们来结合sd卡讲一下.
电机与舵机
电机的驱动主要通过pwm波实现,我们前面已经学过怎么通过调节有效电压来调节转速,但是正反转怎么调整还没学,实际上是需要两个不同相位的pwm波,使得相对电压的极性反转发生变化,实现这种控制由两种方法,这里应用逐飞的电机教程
舵机就没有反馈了,直接开转。
一般驱动板控制电机的正反转会有两种控制方式,第一种是两个PWM信号引脚,引脚一给百分之50占空比的PWM信号,引脚二给百分之0占空比的PWM信号则电机正转,如果占空比设置交换则电机反转。这样就需要单片机与驱动板连接的IO都支持输出PWM信号才行。第二种是一个PWM引脚一个方向引脚,PWM引脚给百分之50占空比的PWM信号,方向引脚给低电平电机正转,方向引脚给高电平电机反转,这样单片机与驱动连接的IO仅需要一个PWM加普通IO就可以。
需要特别注意单片机的IO不能直接与电机驱动的驱动芯片的端口连接,单片机IO端口一定要先接入到缓冲器或者光耦隔离,然后在将缓冲器或者光耦隔离的输出连接到电机驱动芯片上。避免电机的反电动势将单片机IO损坏。
编码器
控制电机转速不仅需要输出,还需要反馈,反馈是由编码器来完成。编码器的使用在商品页解说得比较详细,即使是比较复杂的正交解码,也有例程说明,更有祖传代码,稳定可靠。
icm20602
电磁
电磁循迹传感器的认识
电磁循迹滤波算法的设计
电磁循迹相比于摄像头来说具有滞后性,但是在区别环岛,三叉这种路况时简单且可靠。
中断
所有的中断都在isr.c
中,分为定时器中断和gpio中断,定时器中断可以保证你代码执行地周期,pid算法放到此处更新比较合适,因为i是时间的积分系数。
版权声明:本文为CSDN博主「huqilin2001」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/huqilin2001/article/details/121429373
暂无评论