作者:嵌入之梦
一、 背景
我是一名从事智能仪表设计的工程技术人员,单片机的出现使这个领域产生了根本的变化,如何应用单片机成了设计的核心。但是,从目前毕业的学生看,能够真正使用单片机解决实际问题的几乎没有,令人倍感困惑!
我曾站在学生的角度去思考过:为何会有如此的局面?
不恰当的教学模式难辞其咎,学生固然有一定责任,但教学模式、实践手段陈旧才是根本原因。
四年前,由于兴趣驱使,我转行至Semia公司(一家LEGO教育器材的代理商),成为其销售技术支持。在此期间,我研究了国外使用LEGO辅助教学的案例,并且涉猎了一些相关的教育理论书籍,探讨了其理论依据 —— “知识建构理论”及“做中学”理念。
期间,Semia公司引进的一本《LEGO组件和ROBOLAB软件在工程学中的应用》(美国Eric.L.Wang 等著)一书触动了了我,作者全新的教学理念及生动的课程设计完全颠覆了我心中固有的教学模式,帮助我找到了目前“单片机应用”教学效果不佳的症结。
我曾努力按其思路构想过如何将其实施,并且作了一些尝试,可LEGO组件高昂的成本使我毫无建树,器材成了最大的障碍。
两年的努力,没有任何突破,我无奈离开了Semia 公司,开始自己另辟蹊径的尝试。这次我将目标从宽泛的“工程学”缩小至“单片机应用”这一主题,以期通过缩小需求来降低实施的难度。
经过两年的努力,总算在内容和成本之间找到了平衡,针对“单片机应用”课程设计出了一套可以按上述模式组织课程的器材。
二、课程需求分析
“单片机应用”课应该是一门实践课,它本身没有任何属于自己的知识点,是建筑在“计算机原理”、“C语言编程”、“电子技术基础”等课程基础上的,是这些知识在具体产品(单片机)中的应用。而学生学习它的目的主要是学会运用上述基础知识看懂某个产品(单片机)的技术资料,并且通过使用之验证自己的理解,培养阅读、设计、实践的能力。
从需求分析角度考量,这门课应该达到:
1、上述基础知识掌握程度、运用能力的检验;
2、技术资料搜集方式的锻炼;
3、技术资料阅读、理解能力的锻炼;
4、如何将单片机应用于具体问题的设计能力的培养;
5、通过实施自己的设计体验从设计到产品的过程,锻炼其实际工作能力;
6、通过实践过程锻炼交流、合作、书写技术文档等基本技能;
7、如有可能,在实施过程中学会某种规范的设计方法,如状态图、UML等。
上述所有需求都无法通过传统的讲授方式满足,必须每个学习者自己去做、去感受,才能发现存在的问题,也才能意识到需要加强什么?弥补什么?
很难想象,如果不通过做一个项目,如何考察出一个学生的搜集、阅读资料的能力?
编程能力也是如此,如果没有一定难度的需求,没有可以发挥的空间,如何能发现一个学生具备很好的编程潜质?又如何能培养一个学生良好的编程习惯?
所以,这门课的重点不是教会学生用某一种单片机,或者告诉学生某种单片机有些什么。而是通过实践,运用所学知识借助于单片机解决一些具体问题,从而熟悉工程问题的解决过程,掌握通过查找、阅读资料方式来选择、使用现有产品(单片机)的能力,至于用哪种、哪个厂家的单片机并不重要。
三、课程设计初探
在此,我无意越俎代庖,毕竟我不是老师。只想将我所阅读的那本书略作介绍,并且基于其提出自己的初步设想,期望能起到抛砖引玉的作用。
首先介绍一下LEGO组件和ROBOLAB软件。
LEGO组件是***麦LEGO公司为儿童设计的一套塑料积木,但其内容远超出一般积木的概念,包含的许多知识性的内容,特别是其教育系列,更是涉及了工程中的许多内容,从简单机械 —— 滑轮、杠杆、凸轮、齿轮等到一些气动部件,一应俱全,在国外已是男孩子的首选玩具,并在许多学校用于辅助教学。
1998年,MIT(麻省理工大学)为其设计了一个控制器RCX,使之步入智能玩具领域,LEGO公司为其配套设计了多种电机、传感器部件,使这套玩具的内涵丰富了许多。同时还以LabView ( NI 公司的虚拟仪器软件) 为基础,设计了一个配套的软件 —— ROBOLAB,大大降低了RCX的使用门槛,拓展了其教育市场,在国外已从小学延伸至中学、大学。
Eric.L.Wang 自己就是一个LEGO爱好者,现在是美国一所大学的教授。他被LEGO设计的精美、完善所征服,有意尝试将其用于枯燥的工程教学,使学习工程变得有趣,于是这本书应运而生。
他的课程设计核心是:
设计一系列任务(挑战),让学生使用LEGO组件去完成,从而掌握相应的知识和能力。
要传授的内容通过这些任务来体现,通过合理的设计、编排这些任务,使学生循序渐进学到知识、技能,培养一些基本的工程思维方式。
他的书编排方式为:
先是题目(挑战),后是必备的知识。这是一个颠覆性的想法,一改传统的先内容、后题目的课本编排方式,变:
做题目为了验证所学知识
为:
遇到问题去寻找所需知识
这个变化对学生思维方式有着深刻的影响,特别是对于工程类的学科,也正是这点打动了我。
在工作中总是先遇到问题,然后去寻找解决办法。所谓“一个人不会工作”主要表现在他无从寻找所需的知识、资源、手段,无法将问题与他能够得到的资源关联起来,导致他无从下手。
这个看上去没有什么“学术含量”的变化实质上影响着一个人的思维方式,尤其是对于学生,如果能够真正实施好,对学生的潜移默化作用是不可小视的。
我两年前和作者交流过,他认为课程实施的最大的障碍是器材,当时他上课是用自己的钱买的LEGO组件,处于尝试阶段。
如果器材和作业本一样低廉,至少能让学生承受,那这种授课方式是十分值得尝试的。我所做的努力正是针对这个障碍。
我设计了一套基于单片机控制的智能小车DIY套件,学生需要自己焊接、装配成一辆小车。设计上考虑了学生的客观条件和水平,应该说对于电子类大学生而言不应该存在问题。
小车在设计上充分考虑了一些课题所需要的扩充需求,基本上都能方便的实现,不论成本和时间均在课堂教学允许的范围内。
课程设计可以参考书中的做法,只需要重新设计、编排一些任务,以目前的单片机应用教学要求为基础,在任务中融入要学生掌握、理解的内容。
课本的编排由一系列任务组成,而所需的知识、技术资料可以罗列于任务之后,也可以要求学生自己查找,目前网络已十分普及,通过网络和图书馆资源,完全可以满足需要。
根据任务的难度确定课程的安排,通常为一个任务2个课时,一个用于交待任务,学生自己实施,另一个课时组织学生演示所完成的任务,给予适当的点评和交流。因为通常大学一次是2个课时,可以考虑安排为:本次的第二课时交待任务,下次的第一课时展示,留给学生时间去优化和发挥。
但需要要一个客观条件:这样的课可能要在计算机房上,或者说学生拥有一定数量的笔记本电脑。我想这在目前的大学应该不是问题。
老师的角色发生了较大的变化,从传授者变成了辅导员,要关注的内容从知识本身变为寻找知识、解决问题的方法。
四、器材介绍
这套器材设计时主要针对单片机学习,而选择小车作为载体,是由于小车为国内外使用最多的控制对象,而且也是人们最常接触、最能发表意见的事物。
从实现方式上,小车也比较方便,却不乏延伸的空间。
设计的前提是:
1) 电路及所选器件必须便于初学者自己动手;
2) 所选器件尽量便宜,以减低参与的心理门槛;
3) 电路设计要便于初学者理解工作原理;
4) 要允许易出现的错误,通过设计降低意外损坏的可能;
5) 要降低意外损坏的维护费用;
6) 要便于扩充、升级,以适应多层次、多样化的要求,以及自身的发展需求;
7) 基本开发手段要尽量便宜,不要造成“鞍子比马贵”的现象;
8) 要有足够的公共资源作为参考。
在上述前提下,设计如下:
套件DIY后为一辆直径10cm的圆形小车,控制电路采用多层叠装方式,目前设计了一块控制板和一块扩展板,可以再方便的叠加直径10cm的PCB。小车基本配置为198元/套。扩充轨迹采样部分40元/套,扩充无线接口40元/套。
主要部分设计考虑如下:
MCU选择:
因为51系列单片机仍是目前国内教学之首选,所以本设计的控制MCU选用51系列,但选用了改进型 —— STC12LE5412AD,相对于8052有如下优势:
1、存贮空间大 —— 12K Flash、512字节RAM ( 52: 4K ROM,256 字节RAM)
2、 速度快 —— 同样的晶振,大约是52 的6 - 8倍;
3、内置A/D —— 内置8路10位A/D转换器,可以直接测量模拟量;
4、扩充了4路PCA —— 52虽有3个定时器,但多数情况下不够,4路PCA的功能相当于4个Timer2 ,大大增加了控制的灵活性;
5、ISP编程 —— 支持ISP编程,而且是通过串口,不需要额外的编程工具。
还有一个因素:这类带A/D转换的新型单片机很少有DIP封装的,而这款有,方便了学生DIY,且是窄28脚封装,大大减小了PCB面积。
驱动方式:
小车的驱动采用三点支撑差分方式,即用两个电机分别驱动左右轮,实现直行或转向,而不是汽车所用的舵机转向方式,这样小车运动更灵活,适合于小场地,而且可作的题材多一些。
电机选用130系列玩具直流电机,意外损坏后维修成本低。
传动方式为皮带传动,降低了安装要求。
车轮上设计了50齿的码盘,并设计了相应的码盘采样器安装位置,用简单、价廉的方式实现了码盘检测功能,精度可达 1.3mm/脉冲(车轮直径4.2 cm,正、负跳检测),可方便的控制小车运动。
电机驱动:
采用分立元件构成的H桥驱动,主要考虑:
1、成本低、电流大,本设计为3A;
2、便于理解H桥的驱动原理,并且便于用程序尝试不同的控制效果,能够方便的检测个主要工作点的波形和电压,帮助学生真正掌握之。
3、由于电机堵转易造成驱动晶体管损坏,如使用L298 等集成驱动电路,如果损坏则维护成本较大,分立元件则只需更换损坏的器件即可。
为避免程序编写失误或调试出错导致同侧桥臂短路,设计了防护逻辑电路,同时为减低程序控制的软件开销做了优化。
ISP编程接口:
STC12系列单片机采用串口下载程序,而目前多数笔记本电脑不带串口,如使用市售的USB转串口适配器,由于此单片机编程时控制时序严格,并不是每款产品都适用,况且即使可用,还要用一个RS232电平转换电路才能和单片机相连,无疑增加了成本。
为此,我选择了一款可以适用的USB转串口芯片,包含在设计中,这样,使用者就不用再耗时费力的寻找编程接口了,也降低了成本。
因为这款芯片只有SMD封装,为降低学生的焊接难度,设计了一个转换板,将其转换为直插器件,使得DIY成为可能。
扩展板结构设计
因为这套器材的核心目标是辅助单片机应用学习,所以必须提供方便的扩展空间,通常学生使用的是市场销售的试验板(全是焊盘的),但多数是单面纸质板,质量较差,特别是学生这类设计通常不完善,需要频繁改动,焊盘很容易掉。只有个别商场有双面树脂板的,但成本较高(10 * 15cm 的要20元)。
所以在设计上考虑了这个需求,增设了一块扩展板,采用双面树脂板。
因为一般不会需要那么多扩展空间,所以将USB转串口部分设计在扩展板上(控制板由于全部使用直插器件,并设计了4路轨迹采样电路,空间不够了)。
为了便于将扩充部分与控制MCU连接,将所有的MCU引脚都引到了扩展板上,包括控制板的电源。这样设计派生出一个好处:
可以在扩展板上焊上自己想学的MCU,替换原来控制板上的MCU,只需将控制MCU拔下(因为是DIP封装,可以使用插座)即可,大大延展了套件的应用范围。
现在我随意选择了AVR系列的MEGA64/128设计在扩展板上,可以随时根据教学需要修改。
无线通讯接口
根据我做小车的经验,有一个无线通讯通道,可以大大增加调试的效率,还可以基于无线通道设计出许多应用内容、活动项目。
但是,成本是一个障碍,一次偶然的机会找到了一款仅20多元的无线收发模块,尝试使用后觉得效果不错,足以应付学习需要,所以将其设计于扩展空间,作为选项。
为了降低使用难度,使用了一片MCU控制,负责将普通的串口通讯转换为无线发送,相当于提供了一个“透明”接口,对于使用者而言,如同使用有线串口通讯一样。
所做的程序现只能支持 19200 8 N 1 格式的数据帧,可以根据需要修改、完善。但我觉得这部分也可以作为教学内容,由学生改进、完善之。
以上是这套器材的主要功能、设计初衷、器件选择原因,它不是固定不变的,只是一个开始,一种示例,随着技术的发展,教学要求的改变以及学校财力的增加可以随时改变,以最大限度的帮助学生使用恰当的手段学到所需的知识和技能。
轨迹采样:
因为小车寻迹乃最传统的项目,所以在控制板上设计了4路轨迹采样电路,作为选项,如果需要,可以方便的实现。
采样电路设计了背景光消除功能,改善了轨迹采样的可靠性,同时也帮助学生理解软、硬件如何配合工作,达到单纯软件或硬件难以实现的目标。
五、结语
“做中学”是一个被提及很多的教学理念,但是如何应用?在什么课程上应用?似乎很少有成功的范例,多数为一些新闻效用。
单片机应用这样一门实践性极强的课程应该是“做中学”最佳的应用对象,期望有识之士能够推动之,期望有志之士能够践行之!
我所能做之事是为你们提供需要的手段,尽力配合你们在单片机教学上有所突破,为“后PC时代”提供充足的人才。
一、 背景
我是一名从事智能仪表设计的工程技术人员,单片机的出现使这个领域产生了根本的变化,如何应用单片机成了设计的核心。但是,从目前毕业的学生看,能够真正使用单片机解决实际问题的几乎没有,令人倍感困惑!
我曾站在学生的角度去思考过:为何会有如此的局面?
不恰当的教学模式难辞其咎,学生固然有一定责任,但教学模式、实践手段陈旧才是根本原因。
四年前,由于兴趣驱使,我转行至Semia公司(一家LEGO教育器材的代理商),成为其销售技术支持。在此期间,我研究了国外使用LEGO辅助教学的案例,并且涉猎了一些相关的教育理论书籍,探讨了其理论依据 —— “知识建构理论”及“做中学”理念。
期间,Semia公司引进的一本《LEGO组件和ROBOLAB软件在工程学中的应用》(美国Eric.L.Wang 等著)一书触动了了我,作者全新的教学理念及生动的课程设计完全颠覆了我心中固有的教学模式,帮助我找到了目前“单片机应用”教学效果不佳的症结。
我曾努力按其思路构想过如何将其实施,并且作了一些尝试,可LEGO组件高昂的成本使我毫无建树,器材成了最大的障碍。
两年的努力,没有任何突破,我无奈离开了Semia 公司,开始自己另辟蹊径的尝试。这次我将目标从宽泛的“工程学”缩小至“单片机应用”这一主题,以期通过缩小需求来降低实施的难度。
经过两年的努力,总算在内容和成本之间找到了平衡,针对“单片机应用”课程设计出了一套可以按上述模式组织课程的器材。
二、课程需求分析
“单片机应用”课应该是一门实践课,它本身没有任何属于自己的知识点,是建筑在“计算机原理”、“C语言编程”、“电子技术基础”等课程基础上的,是这些知识在具体产品(单片机)中的应用。而学生学习它的目的主要是学会运用上述基础知识看懂某个产品(单片机)的技术资料,并且通过使用之验证自己的理解,培养阅读、设计、实践的能力。
从需求分析角度考量,这门课应该达到:
1、上述基础知识掌握程度、运用能力的检验;
2、技术资料搜集方式的锻炼;
3、技术资料阅读、理解能力的锻炼;
4、如何将单片机应用于具体问题的设计能力的培养;
5、通过实施自己的设计体验从设计到产品的过程,锻炼其实际工作能力;
6、通过实践过程锻炼交流、合作、书写技术文档等基本技能;
7、如有可能,在实施过程中学会某种规范的设计方法,如状态图、UML等。
上述所有需求都无法通过传统的讲授方式满足,必须每个学习者自己去做、去感受,才能发现存在的问题,也才能意识到需要加强什么?弥补什么?
很难想象,如果不通过做一个项目,如何考察出一个学生的搜集、阅读资料的能力?
编程能力也是如此,如果没有一定难度的需求,没有可以发挥的空间,如何能发现一个学生具备很好的编程潜质?又如何能培养一个学生良好的编程习惯?
所以,这门课的重点不是教会学生用某一种单片机,或者告诉学生某种单片机有些什么。而是通过实践,运用所学知识借助于单片机解决一些具体问题,从而熟悉工程问题的解决过程,掌握通过查找、阅读资料方式来选择、使用现有产品(单片机)的能力,至于用哪种、哪个厂家的单片机并不重要。
三、课程设计初探
在此,我无意越俎代庖,毕竟我不是老师。只想将我所阅读的那本书略作介绍,并且基于其提出自己的初步设想,期望能起到抛砖引玉的作用。
首先介绍一下LEGO组件和ROBOLAB软件。
LEGO组件是***麦LEGO公司为儿童设计的一套塑料积木,但其内容远超出一般积木的概念,包含的许多知识性的内容,特别是其教育系列,更是涉及了工程中的许多内容,从简单机械 —— 滑轮、杠杆、凸轮、齿轮等到一些气动部件,一应俱全,在国外已是男孩子的首选玩具,并在许多学校用于辅助教学。
1998年,MIT(麻省理工大学)为其设计了一个控制器RCX,使之步入智能玩具领域,LEGO公司为其配套设计了多种电机、传感器部件,使这套玩具的内涵丰富了许多。同时还以LabView ( NI 公司的虚拟仪器软件) 为基础,设计了一个配套的软件 —— ROBOLAB,大大降低了RCX的使用门槛,拓展了其教育市场,在国外已从小学延伸至中学、大学。
Eric.L.Wang 自己就是一个LEGO爱好者,现在是美国一所大学的教授。他被LEGO设计的精美、完善所征服,有意尝试将其用于枯燥的工程教学,使学习工程变得有趣,于是这本书应运而生。
他的课程设计核心是:
设计一系列任务(挑战),让学生使用LEGO组件去完成,从而掌握相应的知识和能力。
要传授的内容通过这些任务来体现,通过合理的设计、编排这些任务,使学生循序渐进学到知识、技能,培养一些基本的工程思维方式。
他的书编排方式为:
先是题目(挑战),后是必备的知识。这是一个颠覆性的想法,一改传统的先内容、后题目的课本编排方式,变:
做题目为了验证所学知识
为:
遇到问题去寻找所需知识
这个变化对学生思维方式有着深刻的影响,特别是对于工程类的学科,也正是这点打动了我。
在工作中总是先遇到问题,然后去寻找解决办法。所谓“一个人不会工作”主要表现在他无从寻找所需的知识、资源、手段,无法将问题与他能够得到的资源关联起来,导致他无从下手。
这个看上去没有什么“学术含量”的变化实质上影响着一个人的思维方式,尤其是对于学生,如果能够真正实施好,对学生的潜移默化作用是不可小视的。
我两年前和作者交流过,他认为课程实施的最大的障碍是器材,当时他上课是用自己的钱买的LEGO组件,处于尝试阶段。
如果器材和作业本一样低廉,至少能让学生承受,那这种授课方式是十分值得尝试的。我所做的努力正是针对这个障碍。
我设计了一套基于单片机控制的智能小车DIY套件,学生需要自己焊接、装配成一辆小车。设计上考虑了学生的客观条件和水平,应该说对于电子类大学生而言不应该存在问题。
小车在设计上充分考虑了一些课题所需要的扩充需求,基本上都能方便的实现,不论成本和时间均在课堂教学允许的范围内。
课程设计可以参考书中的做法,只需要重新设计、编排一些任务,以目前的单片机应用教学要求为基础,在任务中融入要学生掌握、理解的内容。
课本的编排由一系列任务组成,而所需的知识、技术资料可以罗列于任务之后,也可以要求学生自己查找,目前网络已十分普及,通过网络和图书馆资源,完全可以满足需要。
根据任务的难度确定课程的安排,通常为一个任务2个课时,一个用于交待任务,学生自己实施,另一个课时组织学生演示所完成的任务,给予适当的点评和交流。因为通常大学一次是2个课时,可以考虑安排为:本次的第二课时交待任务,下次的第一课时展示,留给学生时间去优化和发挥。
但需要要一个客观条件:这样的课可能要在计算机房上,或者说学生拥有一定数量的笔记本电脑。我想这在目前的大学应该不是问题。
老师的角色发生了较大的变化,从传授者变成了辅导员,要关注的内容从知识本身变为寻找知识、解决问题的方法。
四、器材介绍
这套器材设计时主要针对单片机学习,而选择小车作为载体,是由于小车为国内外使用最多的控制对象,而且也是人们最常接触、最能发表意见的事物。
从实现方式上,小车也比较方便,却不乏延伸的空间。
设计的前提是:
1) 电路及所选器件必须便于初学者自己动手;
2) 所选器件尽量便宜,以减低参与的心理门槛;
3) 电路设计要便于初学者理解工作原理;
4) 要允许易出现的错误,通过设计降低意外损坏的可能;
5) 要降低意外损坏的维护费用;
6) 要便于扩充、升级,以适应多层次、多样化的要求,以及自身的发展需求;
7) 基本开发手段要尽量便宜,不要造成“鞍子比马贵”的现象;
8) 要有足够的公共资源作为参考。
在上述前提下,设计如下:
套件DIY后为一辆直径10cm的圆形小车,控制电路采用多层叠装方式,目前设计了一块控制板和一块扩展板,可以再方便的叠加直径10cm的PCB。小车基本配置为198元/套。扩充轨迹采样部分40元/套,扩充无线接口40元/套。
主要部分设计考虑如下:
MCU选择:
因为51系列单片机仍是目前国内教学之首选,所以本设计的控制MCU选用51系列,但选用了改进型 —— STC12LE5412AD,相对于8052有如下优势:
1、存贮空间大 —— 12K Flash、512字节RAM ( 52: 4K ROM,256 字节RAM)
2、 速度快 —— 同样的晶振,大约是52 的6 - 8倍;
3、内置A/D —— 内置8路10位A/D转换器,可以直接测量模拟量;
4、扩充了4路PCA —— 52虽有3个定时器,但多数情况下不够,4路PCA的功能相当于4个Timer2 ,大大增加了控制的灵活性;
5、ISP编程 —— 支持ISP编程,而且是通过串口,不需要额外的编程工具。
还有一个因素:这类带A/D转换的新型单片机很少有DIP封装的,而这款有,方便了学生DIY,且是窄28脚封装,大大减小了PCB面积。
驱动方式:
小车的驱动采用三点支撑差分方式,即用两个电机分别驱动左右轮,实现直行或转向,而不是汽车所用的舵机转向方式,这样小车运动更灵活,适合于小场地,而且可作的题材多一些。
电机选用130系列玩具直流电机,意外损坏后维修成本低。
传动方式为皮带传动,降低了安装要求。
车轮上设计了50齿的码盘,并设计了相应的码盘采样器安装位置,用简单、价廉的方式实现了码盘检测功能,精度可达 1.3mm/脉冲(车轮直径4.2 cm,正、负跳检测),可方便的控制小车运动。
电机驱动:
采用分立元件构成的H桥驱动,主要考虑:
1、成本低、电流大,本设计为3A;
2、便于理解H桥的驱动原理,并且便于用程序尝试不同的控制效果,能够方便的检测个主要工作点的波形和电压,帮助学生真正掌握之。
3、由于电机堵转易造成驱动晶体管损坏,如使用L298 等集成驱动电路,如果损坏则维护成本较大,分立元件则只需更换损坏的器件即可。
为避免程序编写失误或调试出错导致同侧桥臂短路,设计了防护逻辑电路,同时为减低程序控制的软件开销做了优化。
ISP编程接口:
STC12系列单片机采用串口下载程序,而目前多数笔记本电脑不带串口,如使用市售的USB转串口适配器,由于此单片机编程时控制时序严格,并不是每款产品都适用,况且即使可用,还要用一个RS232电平转换电路才能和单片机相连,无疑增加了成本。
为此,我选择了一款可以适用的USB转串口芯片,包含在设计中,这样,使用者就不用再耗时费力的寻找编程接口了,也降低了成本。
因为这款芯片只有SMD封装,为降低学生的焊接难度,设计了一个转换板,将其转换为直插器件,使得DIY成为可能。
扩展板结构设计
因为这套器材的核心目标是辅助单片机应用学习,所以必须提供方便的扩展空间,通常学生使用的是市场销售的试验板(全是焊盘的),但多数是单面纸质板,质量较差,特别是学生这类设计通常不完善,需要频繁改动,焊盘很容易掉。只有个别商场有双面树脂板的,但成本较高(10 * 15cm 的要20元)。
所以在设计上考虑了这个需求,增设了一块扩展板,采用双面树脂板。
因为一般不会需要那么多扩展空间,所以将USB转串口部分设计在扩展板上(控制板由于全部使用直插器件,并设计了4路轨迹采样电路,空间不够了)。
为了便于将扩充部分与控制MCU连接,将所有的MCU引脚都引到了扩展板上,包括控制板的电源。这样设计派生出一个好处:
可以在扩展板上焊上自己想学的MCU,替换原来控制板上的MCU,只需将控制MCU拔下(因为是DIP封装,可以使用插座)即可,大大延展了套件的应用范围。
现在我随意选择了AVR系列的MEGA64/128设计在扩展板上,可以随时根据教学需要修改。
无线通讯接口
根据我做小车的经验,有一个无线通讯通道,可以大大增加调试的效率,还可以基于无线通道设计出许多应用内容、活动项目。
但是,成本是一个障碍,一次偶然的机会找到了一款仅20多元的无线收发模块,尝试使用后觉得效果不错,足以应付学习需要,所以将其设计于扩展空间,作为选项。
为了降低使用难度,使用了一片MCU控制,负责将普通的串口通讯转换为无线发送,相当于提供了一个“透明”接口,对于使用者而言,如同使用有线串口通讯一样。
所做的程序现只能支持 19200 8 N 1 格式的数据帧,可以根据需要修改、完善。但我觉得这部分也可以作为教学内容,由学生改进、完善之。
以上是这套器材的主要功能、设计初衷、器件选择原因,它不是固定不变的,只是一个开始,一种示例,随着技术的发展,教学要求的改变以及学校财力的增加可以随时改变,以最大限度的帮助学生使用恰当的手段学到所需的知识和技能。
轨迹采样:
因为小车寻迹乃最传统的项目,所以在控制板上设计了4路轨迹采样电路,作为选项,如果需要,可以方便的实现。
采样电路设计了背景光消除功能,改善了轨迹采样的可靠性,同时也帮助学生理解软、硬件如何配合工作,达到单纯软件或硬件难以实现的目标。
五、结语
“做中学”是一个被提及很多的教学理念,但是如何应用?在什么课程上应用?似乎很少有成功的范例,多数为一些新闻效用。
单片机应用这样一门实践性极强的课程应该是“做中学”最佳的应用对象,期望有识之士能够推动之,期望有志之士能够践行之!
我所能做之事是为你们提供需要的手段,尽力配合你们在单片机教学上有所突破,为“后PC时代”提供充足的人才。