arduino循迹小车怎么提速

arduino循迹小车怎么提速,第1张

1、对于传感器不听高陆帆话,很大可能是你的检测阈值设置得不是很好。

2、一般来说你的传感器个数应该比较多,可能6~10个吧,如此多的信号不应该都进入中断,再说单片机也没那么多外部中断可给你用,建议戚雹所有信号加或门进入外部中断(可分为左边一组,右边一组,两个中断)。否则在主函数(更好的是,定时器)判断,这个信号最好连接到同一个端口上,如P0端口,通过位判断当前信号值。

3、L298N功率芯片,如果要调速且是直流电机,一般是对其控制使能脚施加占空比变化的信号,以达到不同的驱动效果悉核。如果是步进电机,则控制方式有所不同,请查阅相应文献

几个驱动轮的?可以用笨一点的方法 如果你是四轮车 你可以控制它直线高速四轮虚历全动 低速动两个

转弯的话 高速可以正转一边反闷誉粗转 低速一边正转 另一蚂镇边锁死 或者转一个我比较笨 到现在都没学会pwm 所以只有这本办法了~

直流电机常用的调速方法是调电压,为了减小调节功耗,常用PWM方式来调节电压

用定时器产生PWM(脉冲宽度调节)信号是不错的 选择

原理是定时器周期性产生中断,用一变量a 来 计算中断次数,每源袜次中断a的值加1

假设中断周期(定时器定时长度)是100us,中断100次(10ms)让a清0,并让单片机某一引脚P1^0输出高电平

另设一变量b(b<100),当a的值和b的值相等时,让该引脚输出低电平,这样就就在P1^0引脚获得了一定频率(本例是100HZ,有点低)和占空比(b/100)的方波,改变b的值就改变了占空比

这个方波经放大和滤波后即可驱动直流电机

中断程序如下:

void timer0 ( ) interrupt 1

{

TH0=(65536-100)/256;//假设运梁时钟频率12M

TH0=(65536-100)%256;

a++

if(a>=b) P1.0=0

if(a==100)

{P1.0=1a=0}

}

如果让定时器工作在自动重装模式,中断可以更频繁雹悄激一些(中断太频繁,中断程序根本完不成),同样调节精度下工作频率可以更高

如果想获得更高的频率,要用带硬件PWM功能的单片机


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12367410.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存