张倩 陈新兵
摘要:介绍了一个基于proteus和arduino的软硬件协同仿真的电工电子实习教学项目。该项目可以帮助学生熟悉软硬件协同仿真的基本流程,同时也有助于实现实践课程的线上教学。
关键词:软硬件协同仿真;proteus;arduino
智能小车的开发,包括硬件设计与软件编程。通过电工电子实习中智能小车项目的学习,可以使学生掌握使用主流开发软件,熟悉软硬件协同仿真的基本流程,掌握智能设备的调试方法,形成软硬件一体化设计的系统观,从而提升创意转化为作品的工程能力。
一、实习目的
1、了解Proteus软件的基本功能;
2、掌握硬件电路的仿真设计;
3、熟悉Proteus虚拟仪器的使用;
4、完成Arduino编程与协同仿真;
5、了解智能设备的基本调试方法。
二、实习所用软硬件工具
1、Proteus是英国Lab Center Electronics公司开发的EDA工具软件,不仅具有其它EDA工具软件的仿 真功能,还能仿真各类控制核心及其外围器件,是理想的软硬件协同开发平台,广泛应用于工程实践与课外创新。
2、Arduino是最简单好用的的开源单片机平台,强大的资源库,可以快速实现创意。Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。Arduino Nano是基于ATmega328芯片的迷你Arduino开发板。
三、智能车主板控制原理
实习车转向控制采用两轮差速方式,左转时左侧电机停转,右侧电机前进,
右转时情况则相反,电子控制系统如上图。整个系统由光敏传感器、微控制器、电机执行器三个环节构成,本次实习先仿真外围电路,再熟悉控制核心编程,最后完成协同仿真。
四、实习步骤
1、外围电路仿真
小车行于跑道,靠传感器Vi检测路面信息,控制器U1进行数据处理与分类决策,LED指示工作状态。遇到白色时,传感器Vi输出低电平0,控制器U1A进行比较运算后,输出信号0,开启三极管Q1,电机得电转动;遇黑线时,传感器Vi输出高电平1,U1A进行比较运算后,输出信号1,关断三极管Q1,导致电机断电停转。
电路中,以脉冲源模拟红外传感器输出信号变化;以PNP代替实际的8550三极管,控制电机的通电断电。采用比较器U1A作为控制器,通过电位器RW1,调节比较器参考值。
2、Arduino Nano仿真
(1)在proteus中建立Arduino Nano仿真工程
(2)arduino编程
首先,变量初始化,包含启停按键,左右传感器,左右电机驱动以及传感线阵,跑车状态;然后硬件初始化,包括按键-传感输入,LED输出,电机驱动输出和电机驱动输出初态;最后是主程序,按键按下时,切换启停标志,当GoState为High时,进入跑车状态。循迹控制算法,采用有限状态机框架,用Switch语句实现,以传感器狀态做为触发条件。
3、软硬件协同仿真
将之前画好的左路外围电路,复制进Nano仿真工程,脉冲源输入换成SPDT开关,并将传感信号接至arduino输入接口、驱动信号接至arduino输出接口;然后复制上述电路,作为右路仿真电路,并将传感信号接至arduino相应的接口。如下图所示。
五、实习效果
基于proteus和arduino的软硬件协同仿真教学项目可以解决课程的线上实践教学的难题。另外在缺少硬件实验平台的条件下,也有助于初学者提高基于Arduino的智能设备相关技术的学习效果。
作者简介:张倩(1984.2—),女,汉族,山西省临汾市人,南京农业大学硕士,广州大学实验中心,实验师。研究方向:实验室管理与实验教学。
课题信息:2021年度校级教育教学改革类项目,智慧型实践课程的探索研究