标题:
关于电动小车的STC89C52单片机控制板需求的研究
[打印本页]
作者:
lfd091
时间:
2019-2-14 18:26
标题:
关于电动小车的STC89C52单片机控制板需求的研究
想搞个如扫地机器人那样的小剪草机,扔到果园里,让它自己去剪草。
剪草路线就搞成从右近位依次剪到左远位。
小车已经有样机了,现在要搞控制板了。
遥控和摄像系统与控制板系统各自独立,互不干涉。电机就用普通的电动三轮车的。
先搞控制板程序,接着要搞外围接口电路,
开始写程序才发现,原来的需求有太多问题,先改了一下,还是不满意,传上来,希望大家帮修改。
1300.jpg
(30.74 KB, 下载次数: 32)
下载附件
2019-2-14 18:26 上传
小车基本构造:
如图,小车的两个后轮安装在差速器后桥上。后桥自带一个
24V500W
直流电机,作为小车前进后退的动力。
两个前轮由电推杆控制转向。
小车自带燃油机负责剪草和发电机的动力。发电机给电池随时供电。
整车外围有一圈护栏,护栏上装有接触开关(障碍开关)。
电控配置:
1.89C52
单片机控制板。
2.
与控制板连接的外围传感开关及
LED
状态显示板。
3.
遥控系统。
4.
无线摄像头。
三.关于
89C52
控制板的要求:
委托制作一块
89C52
控制板,该控制板应完成下面
需求中提到的控制要求,并提供
C
语言编写的程序代码。
(代码可读性强)
控制需求:
控制板要有
七
个独立的输入节点,用来接收外围传感器发来的
低
电平有效
信号。要有七个独立输出节点,用来
输出
低
电平
有效
控制信号。
七
个输入节点名称:
1
电压
节点
(
voltage
)
2
油位
节点
(
oil
)
3
电机过载节点(
hot
)
4
中点节点(
zero
)
5
刀片旋转节点(
rotate
)
6
前障碍节点(
f_obstacle
)
7
后障碍节点(
p_obstacle
)
六
个输出控制信号
名称:
1
熄火
信号
(
stalling
)
2
前进信号(
go
)
3
后退信号(
back
)
4
左转向信号(
left
)
5
右转向信号(
right
)
6
油门
信号(
add_oil
)
开机上电前先由
人工完成电压、油位检测后,电启动。
开机上电。
上电后下面
1~3
项的节点应处于
实时检测
状态,一旦有信号输入,控制板应
控制、
输出相应信号。
(
1
)电池电压检测:控制板实时监测
电压节点
,低
电平为电量不足,控制板输出熄火
信号
,
同时取消
其它所有
输出
信号
,
等待。
(
2
)油位检测:
油位节点
低
电平,控制板输出
熄火信号,
同时取消其它所有输出信号,等待。
(
3
)电机过载检测:
电机过载节点
低
电平持续
3
秒,则输出
熄火信号,
同时取消其它所有输出信号,等待。
(
4
)
行走、
中
点
检测:
控制板
输出
前进信号
,
同时
输出左转向信号,同时检测
中点节点
低电平有效输入信号
。
如检测到
中点信号
,则取消左转信号输出。
进入第
5
项。
如
3
秒内
未检测到
中点信号
,则
取消左转信号,同时
输出右转向信号,同时检测
中点信号
。
如
6
秒内
检测到
中点信号
,则取消右转信号输出。
进入第
5
项。
如
6
秒内
未检测到
中点信号
,
则输出熄火信号,同时取消其它所有输出信号,等待。
(
5
)刀片旋转检测:
输出油门信号
,
3
秒
后开始
检测
刀片旋转节点
低电平有效信号。
如检测不到低电平,进入第
6
项。
如检测
到
刀片旋转节点
低
电平,则
取消前进信号
,
1
秒后输出
后退信号
,
5
秒后
仍检测
到
低
电平,
则输出熄火信号,同时取消其它所有输出信号,等待。
如
5
秒后检测不到低电平,则取消后退信号,
1
秒后输出前进信号,进入第
6
项。
(
6
)
前
、后
障碍检测。
开机后
同时开始检测
前、后障碍节点
。
如检测到
前
障碍节点
低
电平
有效信号
,控制板
取消
所有
输出
信号
,
1
秒后输出
后退信号同时输出左转向信号,
3
秒后取消左转向信号,输出右转向信号,同时
开始
检测
中点节点
,
如检测到
中点
信号
,则取消右转向信号,
6
秒后取消后退信号,
1
秒后输出前进信号。
如
6
秒内未检测到
中点信号
,则输出熄火信号,同时取消其它所有输出信号,等待。
如检测到
前
、后
障碍节点
信号出现的间隔时间少于
9
秒,则输出熄火信号,同时取消其它所有输出信号,等待。
完整的Word格式文档51黑下载地:
电驱小车控制需求(改进1).doc
(109 KB, 下载次数: 8)
2019-2-14 18:25 上传
点击文件名下载附件
作者:
lfd091
时间:
2019-2-14 18:28
果园里地形复杂,关于障碍的控制方法,可能会导致实际无法应用。
作者:
Y_G_G
时间:
2019-2-15 11:56
代码量很大的,其实这和扫地机器人是差不多的,用51的话有点吃力,如果你会用STM32的话还是用STM32吧,51也就是模型还行,实际应用的话是不行的,我看某宝上的扫地机器人基本上都是用STM32的
作者:
lfd091
时间:
2019-2-15 14:41
51是刚学的,STM32还没接触,感觉现在难点不是编程,而是小车在复杂地形中的行走方式。也许这就是所谓的“算法”,看来得仔细考虑了。
作者:
Y_G_G
时间:
2019-2-15 23:48
你的目标是"自动",那你就得记录小车所走过的路径,还有各种情况,说实在的,没有上万行代码可能搞不定.
作者:
iofree
时间:
2019-2-16 20:46
这么复杂的项目用89C52?楼主心真大,太有挑战性了!
作者:
lfd091
时间:
2019-2-17 19:17
如果要记录小车所走过的路径,那太复杂了。smart move的扫地机器人不知是否记录路径。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1