基于freescale_jl3芯片的模拟路灯控制系统报告(编辑修改稿)内容摘要:

t 3U1L 7 8 1 2V in1GND2V o u t 3U2L 7 8 0 5+ C21 0 4 / 5 0 VC14 7 0 u F /2 5 VC31 0 4 / 5 0 V+ C42 2 0 u F /1 6 VC51 0 4 / 5 0 VF12 5 0 V /3 A+ 1 2 V D C + 5 V D C 采用变压器与三端稳压器相结合 单片机最小系统 其核心芯片是 MC68HC908JL3。 输入与输出 键盘: 12 R61 0kR72kR84 .7 kR91 0kR 1 03 0kR 1 11 00 kS6S W P BS5S W P BS4S W P BS3S W P BS2S W P BS1S W P B+ 5V D C 采用 AD 变换输入口为键盘输入口,节省了 IO 口资源。 LCD 与 LED 显示: 电流源驱动及电流 检测 13 Q3L IP 3 1Q4L IP 3 1R 2 310R 2 710L1L E DL2L E DR 2 12kR 2 62kR 2 41kR 2 81kC 1 31 04C 1 41 04O U T 1_ P M WO U T 2_ P M WR e a d _l 1 R e a d _l 2+ C 1 14 7U+ C 1 24 7U12J P 1C u rre n tT e s t112J P 2C u rre n t2电压测试点电压测试点电流测试点电流测试点R 2 22KR 2 52K1J31J41J11J2+ 12 D C V加散热片 加散热片 光电检测电路 14 3. 软件设计 软件采用 C 语言编写,可移植性和可读性强。 软件编写体现了模块化的任务驱动方式。 代码尽量符合变量定义规范。 子程序 本系统包含以下子程序 //键盘处理 void KeyboardScan(void)。 //键盘扫描函数 void KeyboardOperate(uchar KeyNum)。 //按键处理函数 //定时器处理 void InitTimer(void)。 //定时器参数设定及启动 //路灯控制 void BrightnessSet(uchar LightNum, uchar Brightness)。 //亮度调整 //AD 采样 void ADExchange(uchar Num)。 //AD 采样 /************************************************************** * 亮度调整函数 * **************************************************************/ void BrightnessSet(uchar LightNum, uchar Brightness); /************************************************************** 15 * 溢出中断处理程序 * **************************************************************/ void interrupt 6 TimerInterrupt(void)。 16 系统主程序流程图 系统流程图 开始单片机存储器及变量初始化显示初始化对几路模拟信号轮流进行采样 , 每 2 毫秒采样一个信号按键扫描及处理检测环境的明暗度并决定是否自动开关灯路灯的故障检测检测交通情况 , 并根据交通情况对路灯的开关进行管理定时管理 17 定时器溢出中断处理函数流程图 18 开始1 毫秒变量递增到达 1 毫秒时刻清零 1 毫秒变量 ,设置激光传感器扫描标志 ,2 毫秒变量递增到达 2 毫秒时刻清零 2 毫秒变量 ,设置 2 毫秒标志 ,20 毫秒变量递增到达 20 毫秒时刻清零 20 毫秒变量 ,设置 20 毫秒标志 ,1 秒变量递增 ,管理蜂鸣器响的时间到达 1 秒时刻清零 1 秒变量 ,设置 1 秒标志 ,管理报警灯 ,如果需要响蜂鸣器 ,则驱动蜂鸣器清中断标志是是是是否否否否退出 19 按键扫描流程图 开始对按键的扫描线进行 AD 采样判断 AD 值是否大于 245按键消抖并根据AD 值确定键值按键处理退出否复位按键扫描的相关变量是 20 4. 系统测试 测试仪器 流明计 数字示波器 功率计 万用表 直流电源等 指标测试 各部分测试的指标 功率测试 设置功率 /W 路灯两端电压 /V 路灯电流 /A 实际功率 /W 误差 /% 1 功能测试 序号 指标(目标值) 实测值 21 1 故障指示(编号) LCD 上显示正确 2 过中点后前灯亮后灯灭,试验成功率( 100%) 100% 3 自动开关灯功能,试验成功率 100% 4 实时 误差,采用时间加速方法(误差小于 5MIN) 误差 1MIN 5 单元控制器具有调光功能,路灯驱动电源输出功率能在规定时间按设定要求自动减小,该功率应能在 20%~ 100%范围内设定并调节,调节误差≤ 2%。 电流从 0mA 至850mAm变化平缓稳定 系统实现的功能 1. 基本要求 序号 功能 是否实现 1 支路控制器有时钟功能,能设定、显示开关灯时间,并控制整条支路按时开灯和关灯。 是 2 支路控制器应能根据环境明暗变化,自动开灯和关灯。 是 3 支路控制器应能根据交通情况自动调节亮灯状 态:当可移动物体 M(在物体前端标出定位点,由定位点确定物体位置)由左至右到达 S 点时(见图 2),灯 1 亮;当物体 M 到达 B 点时,灯 1 灭,灯 2 亮;若物体 M 由右至左移动时,则亮灯次序与上相反。 是 4 支路控制器能分别独立控制每只路灯的开灯和关灯时间。 是 5 当路灯出现故障时(灯不亮),支路控制器应发出声光报警信号,并显示有故障路灯的地址编号。 是 2. 发挥部分 22 序号 功能 是否实现 1 自制单元控制器中的 LED 灯恒流驱动电源 是 2 单元控制器具有调光功能,路灯驱动电源输出功率能在规定时间按设定要求自 动减小,该功率应能在 20%~100%范围内设定并调节,调节误差≤ 2%。 是 3.特色功能 序号 功能 是否实现 1 自制微型激光发射与光敏电阻组合替代工业光电传感器 是 2 利用单片机的 AD 变换功能,实现用一个 IO 口读多个按键 是 3 使用单片机内部的定时器代替时钟芯片,实现时钟功能和定时开关机功能 是 4 使用 LCD 显示屏与 LED 相结合,显示信息丰富,操作方便 是 5 采用 PWM 与电流取样方式,实现闭环的恒流源控制 是 23 5. 结论 本方案的系统设计符合 20xx 年全国大学生电子设计竞 赛试题( I 题)的要求,经过功率扩大、电网通讯等方面的改良,可以用于实际路灯控制,是一个低成本,高可靠性的解雇方案。 24 参考文献 [1] 阎石 . 数字电子技术基础(第四版) . 北京 : 高等教育出版社, 1997 年 . [2] 郑学坚,周斌 . 微型计算机原理及应用 (第三版 ). 北京 : 清华大学出版社,20xx 年 . 25 附录 附录 1 程序代码 /************************************************************** * 程序主要功能 :模拟路灯控制系统 * * 完成时间 : * * 作者 : * **************************************************************/ /***************头文件包含 ***********************************/ include include //包含头文件 include //包含寄存器定义的头文件 include /****************蜂鸣器的管理变量 ******************************/ uchar BuzzerTime = 0。 //蜂鸣器响的时间 ,单位 :20 毫秒 /****************键盘的管理变量 ******************************/ uchar KeyTrueTimes = 0。 //消抖过程中按键为真的次数 uchar KeyBuffer = 0。 //临时键值 uchar KeyEffect = 0。 //有效键值 uchar ToScanKey = 0。 //按键扫描标志 /****************AD 采样的管理变量 ******************************/ uchar ADChannel[4] = { 0x01, 0x00, 0x02, 0x08 }。 //AD 通道值 uchar ADValue[4] = { 0 }。 //AD 采样值 uchar ADTurn = 0。 //AD 采样的次序 26 /****************路灯的管理变量 ******************************/ uchar WorkMode = 4。 //路灯工作模式 : //0:支路控制器使 两盏路灯同步定时开关灯 //1:支路控制器使两盏路灯独立定时开关灯 //2:支路控制器根据光照情况使路灯自动开关灯 //3:支路控制器根据交通情况使路灯自动开关灯 //4:支路控制器只能手动控制路灯 uchar ControlNum = 0。 //支路控制 器与灯号选择 uchar Brightness = 0。 //路灯的亮度 uchar Brightness1 = 0。 //路灯 1 的亮度 uchar Brightness2 = 0。 //路灯 2 的亮度 const uint BrightnessTbl1[11] = //亮度表 { //0 1 2 3 4 5 6 7 8 9 10 0,114,160,202,239,278,321,360,397,436,477 }。 const uint BrightnessTbl2[11] = //亮度表 { //0 1 2 3 4 5 6 7 8 9 10 0,124,173,221,275,323,371,。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。