智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 14832|回复: 16
打印 上一主题 下一主题

新手求助:航模6通道遥控器+51单片机+L298N+2个减速电机控制原理

[复制链接]

5

主题

49

帖子

0

精华

高级会员

Rank: 4

积分
589
QQ
威望
185
贡献
348
兑换币
117
注册时间
2013-11-20
在线时间
28 小时
跳转到指定楼层
1#
发表于 2013-11-20 21:47:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
想DIY个履带小车,能遥控实现基本的前进、后退、加速、减速、拐弯、自转(将来随着单片机的学习再增加循迹、避障等高阶功能),用51单片机学习板+L298N动力驱动模块+2个直流减速电机(一个电机带动一边履带的主动轮),打算用直升机航模的6通道遥控器控制(混控)。

用单片机输出PWM信号控制L298N,驱动直流电机实现前进后退等功能,研究网上现成的程序后基本能够搞定。

现在的问题是不知道怎么将航模的6通道遥控器对单片机进行混控,遥控器配一个6通道的接收器,是将接收器的信号作为单片机的输入还是怎么搞,目前单片机的学习还没有学到这,请各位帮助大致指导一下是怎么个实现方法。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

0

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
26
威望
24
贡献
2
兑换币
3
注册时间
2015-10-7
在线时间
0 小时
毕业学校
黑大
17#
发表于 2015-10-7 21:02:08 | 只看该作者
楼主 给个联系方式呗?  我现在也在做遥控器和单片机,有点没有头绪
回复 支持 反对

使用道具 举报

137

主题

4169

帖子

1

精华

杰出人士

我认为最省轮子的跑法最快。曾经的西科4队

Rank: 12Rank: 12Rank: 12

积分
14006
QQ
威望
6233
贡献
1229
兑换币
4171
注册时间
2013-1-10
在线时间
3272 小时
16#
发表于 2013-12-8 09:02:17 | 只看该作者
瓦力他爸 发表于 2013-12-8 07:45
L298n是个专门的电机驱动板,可以解决高电压和大电流驱动电机的问题(我做的这个机器人要使用12V的电压驱 ...

嗯,那个图右边应该是错了的。
回复 支持 反对

使用道具 举报

5

主题

49

帖子

0

精华

高级会员

Rank: 4

积分
589
QQ
威望
185
贡献
348
兑换币
117
注册时间
2013-11-20
在线时间
28 小时
15#
 楼主| 发表于 2013-12-8 07:45:21 | 只看该作者
Jyoun 发表于 2013-12-8 00:11
虽然不了解l298,不过目测右边的图是错的,不然还要单片机干什么?如果输入输出一样的话,干嘛不接收机直 ...

L298n是个专门的电机驱动板,可以解决高电压和大电流驱动电机的问题(我做的这个机器人要使用12V的电压驱动电机)。
不直接让接收机连接电机驱动板,必须通过单片机的原因是考虑:
1、L298N电机驱动板上还有4个IN口,要编程通过单片机输出高低电平组合(与遥控器摇杆对应)来控制电机的正反转和刹车。
2、将来我DIY的这个小车还要加上循迹、避障等功能,所有的模块都想接在51单片机上,所以单片机是作为一个基本平台。
下面这个链接是我做的瓦力机器人,Jyoun兄帮给点建议吧
http://www.znczz.com/thread-213378-1-1.html


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

137

主题

4169

帖子

1

精华

杰出人士

我认为最省轮子的跑法最快。曾经的西科4队

Rank: 12Rank: 12Rank: 12

积分
14006
QQ
威望
6233
贡献
1229
兑换币
4171
注册时间
2013-1-10
在线时间
3272 小时
14#
发表于 2013-12-8 00:16:35 | 只看该作者
瓦力他爸 发表于 2013-12-7 23:45
Jyoun兄,感谢你的指点。我整理了一下,你看看是不是这么个意思。

测试时间长度,不能用while,for之类的循环一直占用cpu的方法,不然你的cpu就没法干别的事了,只能用来测时间。最简单的也是要用定时器中断,然后再查询io口高低,用累加计数的方式记时间。(例如0.01ms中断,中断后查询到高,加一,连续100次高,那么就是1ms了,而这1ms内cpu可以执行其他指令,而不是只在计数)
回复 支持 反对

使用道具 举报

137

主题

4169

帖子

1

精华

杰出人士

我认为最省轮子的跑法最快。曾经的西科4队

Rank: 12Rank: 12Rank: 12

积分
14006
QQ
威望
6233
贡献
1229
兑换币
4171
注册时间
2013-1-10
在线时间
3272 小时
13#
发表于 2013-12-8 00:11:40 | 只看该作者
瓦力他爸 发表于 2013-12-7 23:45
Jyoun兄,感谢你的指点。我整理了一下,你看看是不是这么个意思。

虽然不了解l298,不过目测右边的图是错的,不然还要单片机干什么?如果输入输出一样的话,干嘛不接收机直接给l298。
回复 支持 反对

使用道具 举报

137

主题

4169

帖子

1

精华

杰出人士

我认为最省轮子的跑法最快。曾经的西科4队

Rank: 12Rank: 12Rank: 12

积分
14006
QQ
威望
6233
贡献
1229
兑换币
4171
注册时间
2013-1-10
在线时间
3272 小时
12#
发表于 2013-12-8 00:11:08 | 只看该作者
瓦力他爸 发表于 2013-12-7 23:45
Jyoun兄,感谢你的指点。我整理了一下,你看看是不是这么个意思。

虽然不了解l298,不过目测右边的图是错的,不然还要单片机干什么?如果输入输出一样的话,干嘛不接收机直接给l298。
回复 支持 反对

使用道具 举报

137

主题

4169

帖子

1

精华

杰出人士

我认为最省轮子的跑法最快。曾经的西科4队

Rank: 12Rank: 12Rank: 12

积分
14006
QQ
威望
6233
贡献
1229
兑换币
4171
注册时间
2013-1-10
在线时间
3272 小时
11#
发表于 2013-12-8 00:07:24 | 只看该作者
瓦力他爸 发表于 2013-12-7 23:45
Jyoun兄,感谢你的指点。我整理了一下,你看看是不是这么个意思。

遥控摇杆变化,下一个周期脉宽才会改变,一个周期之内是不会变的。你发的图,跟我说的粗略捕获的方法是一个意思。
回复 支持 反对

使用道具 举报

5

主题

49

帖子

0

精华

高级会员

Rank: 4

积分
589
QQ
威望
185
贡献
348
兑换币
117
注册时间
2013-11-20
在线时间
28 小时
10#
 楼主| 发表于 2013-12-7 23:45:20 | 只看该作者
Jyoun 发表于 2013-12-7 00:11
精度不高的捕获很简单,接到io口,然后定时中断,比如定50us,定时中断后去查询io口,这样,输入的pwm(5 ...

Jyoun兄,感谢你的指点。我整理了一下,你看看是不是这么个意思。


对于初选单片机的我来说,有个问题不太明白:
1,我学过怎么用单片机的I/O口捕获一个脉冲的宽度(就是测试一个按键按下时间的长度),这个能够理解。但是航模遥控器到通道的脉冲是连续的,且高电平宽度是随着遥控器摇杆的拨动动态变化的,这个怎么去捕获?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

137

主题

4169

帖子

1

精华

杰出人士

我认为最省轮子的跑法最快。曾经的西科4队

Rank: 12Rank: 12Rank: 12

积分
14006
QQ
威望
6233
贡献
1229
兑换币
4171
注册时间
2013-1-10
在线时间
3272 小时
9#
发表于 2013-12-7 00:11:15 | 只看该作者
本帖最后由 Jyoun 于 2013-12-7 00:17 编辑
瓦力他爸 发表于 2013-12-6 23:35
Jyoun兄:感谢鼓励!再稍微提示一下如何捕获PWM,是用A/D(D/A)模块还是用单片机的INT0/INT1外部中断来捕 ...

精度不高的捕获很简单,接到io口,然后定时中断,比如定50us,定时中断后去查询io口,这样,输入的pwm(50hz)变化时就能得到20个等级(对应算成5%递增的占空比)的高电平时间。精确的捕获我也只在理论阶段,还没试,不过近期要做东西,也许会尝试。
精确的捕获就需要用外部中断和定时器中断,51这两种中断都很少,不够用,就需要一定的算法或者硬件来处理了,也许其他地方有资料,我没去查,自己想出了算法,还没尝试。反正粗略的捕获和输出是很容易的,我也用过很多次了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 13:03 , Processed in 0.135586 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表