3634|17

638

帖子

2

TA的资源

版主

楼主
 

使用R7F0C80212套件完成叉车OPS(精简)控制器设计 [复制链接]

我参加了瑞萨电子免费试用活动并荣幸地获得了一块R7F0C80212套件;
在获得此套件的1个多月时间里,经过了熟悉R7F0C80212单片机及开发软件/编程软件的过程;
应EEWORLD管理员nmg热情邀请,我将在申请活动中提交〈叉车OPS控制器〉项目共享出来。
首先声明的是此项目是经过软件/硬件 减裁的,在实际产品中要比此更为复杂,对可靠性要求要更高。
未完待续.....

点赞 关注

回复
举报

638

帖子

2

TA的资源

版主

沙发
 
硬件上,我使用的仍是瑞萨R7F0C80212套件,在其目标板上添加了相应的指示/输入检测项目
下图为项目所使用的相关硬件原理图
R7F0C80212目标板-OPS控制器原理图(部分).pdf (81.15 KB, 下载次数: 4)
其中:

是后期添加的硬件
 
 

回复

638

帖子

2

TA的资源

版主

板凳
 
OPS控制器的功能说明:
1.座椅开关信号输入:叉车的座椅上安装一触点开关,当操作人员处在座椅上时,此开关是闭合的,信号处理后引入到单片机的检测引脚
2.档位开关信号输入:叉车的行驶是通过档位开关信号判断的,当档位开关无输出电压时,叉车处于停止状态,有电压时,叉车处于需要行驶状态;
3.档位状态指示输出:当档位开关无输出电压时,档位状态指示灯亮;提示操作人员,叉车处于无档位(空档)状态
4.座椅开关断开指示输出:当操作人员离开座椅长达2秒以上时,座椅开关断开指示灯亮;提示座椅上无操作人员
5.行驶电磁阀控制输出:当操作人员离开座椅长达5秒以上时,关闭输出,使得叉车行驶功能被关闭,从而保护叉车因无人操作时酿成安全事故;
6.警告指示输出:当操作人员离开座椅长达2秒以上时,输出2秒警告指示信号;当操作人员离开座椅长达5秒后又重新回到座椅上,但档位开关还输出电压信号时,输出间断的警告指示信号,提示操作人员正确处理档位。
 
 
 

回复

638

帖子

2

TA的资源

版主

4
 
本帖最后由 dingzy_2002 于 2014-10-10 16:36 编辑

附件为OPS控制器项目说明(硬件篇)
使用瑞萨开发板完成叉车OPS(精简)控制器设计.doc (78 KB, 下载次数: 4)
使用瑞萨开发板完成叉车OPS(精简)控制器设计.pdf (163.21 KB, 下载次数: 5)

点评

又重新添加了一些内容,这下完整了:  详情 回复 发表于 2014-10-11 13:11
 
 
 

回复

638

帖子

2

TA的资源

版主

5
 
dingzy_2002 发表于 2014-10-10 16:35
附件为OPS控制器项目说明(硬件篇)

又重新添加了一些内容,这下完整了:
使用瑞萨开发板完成叉车OPS(精简)控制器设计-硬件篇.doc (6.26 MB, 下载次数: 6)
使用瑞萨开发板完成叉车OPS(精简)控制器设计-硬件篇.pdf (2.52 MB, 下载次数: 29)
 
 
 

回复

638

帖子

2

TA的资源

版主

6
 
软件使用code generator进行内部资源初始化,并单独添加自己的C文件,做成整个工程
附件为源文件

OPS_test.rar

93.7 KB, 下载次数: 3

 
 
 

回复

638

帖子

2

TA的资源

版主

7
 
本帖最后由 dingzy_2002 于 2014-10-13 12:48 编辑

【项目】使用瑞萨开发板完成叉车OPS(精简)控制器设计(软件篇)

要使用R7F0C80212ESP目标板进行项目开发,首先需要建立软件环境(均可从瑞萨中文官网下载,但是要注册一下;当然赠送套件配套的光盘也有全部资料),安装教程可参考光盘中《R7F0C80xx2 1部分练习》或EEWORLD网站帖子,
安装IDE CubeSuite+,项目所使用的软件版本为V2.02.00;此IDE内含编程软件Renesas Flash Programmer(简称FRP)版本为 V2.03
●EZ-CUBE驱动安装;
●EZ-CUBE固件更新。
●EZ-CUBE拨码设置。
可参考EEWORLD帖子(部分列表),访问
电子工程世界-论坛»论坛 创意与实践› DIY/开源硬件专区【瑞萨电子DIY专区】https://bbs.eeworld.com.cn/forum-202-2.html进行详细浏览。
以下是一部分入门的教程:
Ø 【R7F0C80212】为你搭建环境:
https://bbs.eeworld.com.cn/thread-445558-1-6.html
Ø 【瑞萨R7F02code generator
https://bbs.eeworld.com.cn/thread-444828-1-6.html
Ø 《视频1CUBESUITE+安装及添加R7F0C80212芯片支持 EZ-CUBE安装固件下载:
https://bbs.eeworld.com.cn/thread-444054-1-6.html
Ø 新手共同进步——获得Design tool,让Cube Suite+支持R7F0C80212
https://bbs.eeworld.com.cn/thread-444062-1-6.html
Ø  跟我从零上手瑞萨电子MCU套件-----1)安装环境,下载LED DEMO
https://bbs.eeworld.com.cn/thread-445789-1-3.html;
Ø 跟我从零上手瑞萨电子MCU套件-----2)利用Code generator傻瓜式LED_blink
https://bbs.eeworld.com.cn/thread-445971-1-5.html;
....

 
 
 

回复

638

帖子

2

TA的资源

版主

8
 
项目建立使用code generator设置R7F0C80212ESP的内部资源;项目所使用的资源见下表:
R7F0C80212ESP
内部资源
资源使用信息
code generator设置
完成功能
时钟/电源
内部时钟5MHz
电源电压:2.4VVDD5.5V
同左
工作在宽电压范围下,5MHz系统时钟。
端口
P0
P0.0
强上拉输出
Out+Output1
档位状态指示
P0.1
无上拉输入,作为AD转换引脚
Unused
档位信号AD输入
P0.2
强上拉输出
Out+Output1
行驶电磁阀控制输出指示
P0.3
强上拉输出
Out+Output1
警告指示
P0.4
强上拉输出
Out+Output1
座椅开关断开指示
P4
P4.0
编程调试数据引脚
Unused

P12
P12.5
复位引脚
RESET pin Used

P13
P13.7
输入引脚
In
座椅开关输入
外部中断
未使用
Unused

按键及中断
未使用
Unused

看门狗
使用最大的溢出时间
关闭看门狗中断
Overflow time:(216-1)/fil4.369S

时钟/ 蜂鸣器输出
未使用
Unused

上电复位(SPOR)
设置为2.7V
Reset generation level
(VSPDR)=2.7V

定时器阵列单元
通道0:间隔定时器,50ms中断
通道1:未使用
Channel 0:
●interval timer
●Interval value:50ms
●INTTM00使能,高级别中断
Channel 1:Unused
●第50MS运行一次AD转换,并根据AD结果进行相应的逻辑处理。
●第250ms运行一次座椅信号检测处理逻辑运算以及警告信号处理。
串行阵列单元
未使用
Unused

A/D 转换器
使用通道0
8位转换结果,
始终工作,
无中断
●Comparator operation setting:Operation
●Resolution seting:8bits
●A/D channel selection:ANI0
●Conversion time mode:Normal1
●Conversion time 84/fCLK


 
 
 

回复

638

帖子

2

TA的资源

版主

9
 

 
 
 

回复

638

帖子

2

TA的资源

版主

10
 
项目开发所使用到的函数列表:
函数名称
函数说明
函数文件
备注
void main(void)
主函数
r_cg_main.c
由code generator生成,再添加相应的函数
void R_MAIN_UserInit(void)
系统初始化
void hdwinit(void)
硬件初始化
r_cg_systeminit.c
由code generator生成,不作修改
Void R_Systeminit(void)
芯片内部功能模块初始化
void R_CGC_Get_ResetSource(void)
时钟/复位初始化
r_cg_cgc_user.c
void R_PORT_Create(void)
管脚模块初始化
r_cg_port.c
void R_CGC_Create(void)
时钟/复位模块初始化
r_cg_cgc.c
void R_WDT_Create(void)
WDT(看门狗)模块初始化
r_cg_wdt.c
void R_TAU0_Create(void)
定时器通道0模块初始化
r_cg_tau.c
void R_TAU0_Channel0_Start(void)
定时器通道0启动
void R_ADC_Create(void)
AD转换模块初始化
r_cg_adc.c
void R_WDT_Restart(void)
WDT复位(WDT)函数
r_cg_wdt_user.c
(void)LOGIC_OPT(void)
档位逻辑处理运算
logic_opt.c
重新建立的文件,添加用户函数
(void)Chair_OPT(void)
座椅逻辑处理运算
(void)BELL_OPT(void)
警告输出处理运算
__interrupt static void r_tau0_channel0_interrupt(void)
定时器通道0中断
r_cg_tau_user.c
由code generator生成,再添加相应的函数

 
 
 

回复

638

帖子

2

TA的资源

版主

11
 
函数调用结构图:

 
 
 

回复

638

帖子

2

TA的资源

版主

12
 
项目修改添加的函数功能说明
一、由code generator生成,并修改添加程序功能的函数:
函数名:
void main(void)
说明:
主函数
输入:

输出:

完成功能:
1.系统模块功能初始化
2.50mS运行一次AD转换、逻辑运算函数:LOGIC_OPT()
3.250mS运行一次:
●座椅检测、逻辑运算函数:Chair_OPT()
●警告输出运算函数:BELL_OPT()
●看门狗复位函数:R_WDT_Restart()

函数名:
void R_MAIN_UserInit(void)
说明:
主体硬件初始化函数
输入:

输出:

完成功能:
上电运行一次此函数,由void main(void)调用;
1.硬件模块初始化函数:hdwinit()
2.开启定时器通道0工作函数:R_TAU0_Channel0_Start();
3.开中断。

函数名:
__interrupt static void r_tau0_channel0_interrupt(void)
说明:
定时器通道0间隔定时中断函数
输入:

输出:

完成功能:
定时器通道050mS产生间隔中断函数;
1.设置50mS中断标志;
2.Timer_50ms_ADD累加、判断产生250mS中断标志。

 
 
 

回复

638

帖子

2

TA的资源

版主

13
 
二、新建logic_opt.c文件,并完成OPS功能所用到的函数
函数名:
void LOGIC_OPT(void)
说明:
AD转换,逻辑运算函数
输入:

输出:

完成功能:
每50mS运行一次,由void main(void)调用;
1.对AD通道0进行8位结果转换,并与上次转换结果进行累加平均;
2.判断平均后的数据,≥7.5V电压输入时,档位状态指示灯熄灭;<6.5V电压输入时,档位状态指示灯显示,同时清除座椅锁定位;

函数名:
void        Chair_OPT(void)
说明:
座椅开关检测,逻辑运算及输出信号函数
输入:

输出:

完成功能:
250mS运行一次,由void main(void)调用;
根据座椅开关信号、座椅相关标志位进行座椅逻辑运算及输出信号函数。
完成本项目硬件篇所述的OPS逻辑功能:
1.座椅开关正常接通,座椅断开指示灯熄灭,初始化相应标志位及行驶电磁阀控制输出正常工作。
2.座椅开关断开持续2秒后,座椅断开指示灯亮,设置标志位Chair_ALARM
3.座椅开关断开持续5秒后,行驶电磁阀控制输出指示灯熄灭,设置标志位Chair_LOCKChair_UP
4.座椅开关断开持续5秒后再次接通,若档处于在档状态,则仍禁止行驶电磁阀控制输出,设置标志位GEAR_ALARM

函数名:
void        BELL_OPT(void)
说明:
根据相关警告位,设置警告信号运算并输出函数
输入:

输出:

完成功能:
250mS运行一次,由void main(void)调用;
根据Chair_ALARMGEAR_ALARMBELL_Runing标志位及输出计数寄存器BELL_Cont,完成警告信号状态运算并输出。

 
 
 

回复

638

帖子

2

TA的资源

版主

14
 
使用瑞萨开发板完成叉车OPS(精简)控制器设计(软件篇)
使用瑞萨开发板完成叉车OPS(精简)控制器设计-软件篇.pdf (185.57 KB, 下载次数: 4)
 
 
 

回复

638

帖子

2

TA的资源

版主

15
 
项目调试:
一、初始通电图片:
为模拟无档位信号输入(电压),座椅开关默认闭合状态时,初始的显示图片。
其中:档位状态指示灯亮(白色),行走电磁阀控制输出指示灯亮(黄色)。

 
 
 

回复

638

帖子

2

TA的资源

版主

16
 
本帖最后由 dingzy_2002 于 2014-10-14 10:55 编辑

使用瑞萨R7F0C80212ESP开发板完成叉车OPS(精简)控制器设计 调试视频1
此视频显示的是:在座椅开关默认接通的情况下,根据档位信号输入电压与否 来显示档位状态指示灯.
 
 
 

回复

638

帖子

2

TA的资源

版主

17
 
使用瑞萨R7F0C80212ESP开发板完成叉车OPS(精简)控制器设计 调试视频2
    此视频演示的是项目系统在无档位信号时,座椅开关断开5秒以上时,整个过程中指示灯的显示状态。

 
 
 

回复

638

帖子

2

TA的资源

版主

18
 
使用瑞萨R7F0C80212ESP开发板完成叉车OPS(精简)控制器设计 调试视频3(联合调试视频)
    此视频演示的是叉车OPS系统在有档位信号时,座椅开关断开5秒以上时,整个过程中指示灯的显示状态,也包括无档位信号时,座椅开关断开5秒以上时,整个过程中所有指示灯的显示状态。


 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表