要准的话就是你的小车寻迹的时候灵敏度高,碰到什么样的路况都有办法做出相应的判断,这主要是看你用什么方式寻迹(比如用红外传感器),以及你如何利用传感器来寻迹(一般就是外部中断和查询,查询的响应肯定是不如中断快的,当然也要看你中断的资源够不够),还有程序的逻辑上是如何判断的;
要快的话就是驱动你的轮子跑得快,这和你的硬件很有关系,,,看你用什么电机,什么方式驱动电机了,无非是用程序找到一种电机转的最快的方法,然后结合上面的寻迹方式(复杂路况如十字路口,不同曲率的弯道,直角弯,锐角弯等)还有就是你的电源供电也挺重要的。
part1: 用一路led照亮地面,左中右三路红外传感看反光。根据反光3'bxxx写个mealy状态机。
9种状态3‘zzz,3'b000~3'b111 根据后8种状态的64种变化,输出前进还是后退,速度,方向等。
3‘b111 -> 3'b111: 在线上, DIR=2'b00; RUN=4, 快进;
3'b111 -> 3'b011: 小弯左偏, DIR=2'b10; RUN=2, 慢进;
3'b111 -> 3'b110:
3'b111 -> 3''b001: 大弯左偏, DIR=2'b10; RUN=1, 低速;
3'b111 -> 3'b000: >90度的急弯, 跑丢了: RUN=1, DIR=2'b11, REV=1倒回去找回路线。
3'b000 - > 3'b001:
3'b001 ->
default:
Part2:
根据REV确定步进电机的正转还是反转,根据DIR产生脉冲序列,根据RUN产生脉冲频率。
主要还是状态解析能力,参考<异步时序电路设计>之mealy,输出跟当前态和历史态都相关。
楼主这活我也玩过。
1、对于传感器不听话,很大可能是你的检测阈值设置得不是很好。
2、一般来说你的传感器个数应该比较多,可能6~10个吧,如此多的信号不应该都进入中断,再说单片机也没那么多外部中断可给你用,建议所有信号加或门进入外部中断(可分为左边一组,右边一组,两个中断)。否则在主函数(更好的是,定时器)判断,这个信号最好连接到同一个端口上,如P0端口,通过位判断当前信号值。
3、L298N功率芯片,如果要调速且是直流电机,一般是对其控制使能脚施加占空比变化的信号,以达到不同的驱动效果。如果是步进电机,则控制方式有所不同,请查阅相应文献。
轨迹小车,需要根据你使用的不同传感器进行不同的设计和仿真,其实网上有不少做好的样品可以直接在fileexchange 上面下载的。
对于不同的传感器要进行不同的观测和监控,也就决定了,如果传感器不同那么算法都是不同的。建议自己从观测方程出发,自行设计
黑标传感器循迹小车工作原理:传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时模块的输出端为低电平,指示二极管一直处于熄灭状态。
循迹小车的构成及用法
循迹小车可以分成三个部分组成,传感器部分,控制器部分,执行器部分。主要控制器部分,接受由传感器传输来的信息,进行判断后将控制信号发送给执行部分,通过传感器部分和执行部分的连接,编写程序来判断接收到的信息然后做出响应。
控制器部分接收传感器部分传递过来的信号,并根据事前写入的决策系统,来决定机器人对外部信号的反应,将控制信号发给执行器部分,传感器部分机器人用来读取各种外部信号的传感器,以及控制机器人行动的各种开关。
执行器部分:驱动机器人做出各种行为,包括发出各种信号的部分,并且可以根据控制器部分的信号调整自己的状态。
以上就是关于循迹小车 51单片机循迹小车怎样又准又快全部的内容,包括:循迹小车 51单片机循迹小车怎样又准又快、用Verilog控制智能循迹小车的代码怎么写、Arduino循迹小车反应速度太慢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)