基于Arduino开发环境的光电编码器检测仪设计方案

最新更新时间:2014-04-10来源: 21IC关键字:Arduino  开发环境  光电编码器 手机看文章 扫描二维码
随时随地手机看文章

Arduino是一款基于单片机系统的电子产品开发平台,它的软硬件系统都具有高度的模块化,而且软件系统是完全开源的。其硬件系统也是高度模块化的,在核心控制板的外围有开关量输入/输出模块、各种模拟量传感器输入模块、总线类传感器的输入模块,还有网络通信模块[1-2].Arduino有自己特有的编程语言。其语法规则类似C/C++语言,IDE环境和语言把单片机与硬件相关的一些参数都参数化并进行了很好的封装,把端口都打包,寄存器、地址指针之类的基本不用管,大大降低了软件开发难度。因此不用开发者去了解其硬件结构即可对其编程,实现设计者的设计意图和创意[3].

本文提出了一种基于Arduino开发环境的光电编码器检测仪设计方案,能够对光电编码器的好坏进行判断,实现光电编码器正转与反转时的脉冲计数。

1 整体设计

该检测仪主要由调理电路、Arduino控制板、液晶显示电路等组成,如图1所示。

 

 

CLKA和CLKB为光电编码器输出的两路相位相差90°的编码信号。调理电路用来对这两路信号进行整形滤波等信号处理,最后送至Arduino控制板。Arduino控制板用来实现光编码器脉冲个数的计数,正转、反转两种脉冲信号的判别。液晶显示电路用来显示检测的参数,同时对不同型号光电编码器进行选择控制。

2 硬件部分设计

2.1 调理电路

信号调理电路用于检测信号的调理,主要是把待测交流信号,经过滤波、放大、选通、有效值转换、限幅等处理,送到微控制器进行测量。

图2为调理电路框图,光电编码器输出的两路相位相差90°的正弦波信号A、B,经施密特触发器变为a、b两组方波信号。A 分为两组:一路经微分电路,在方波的上升沿形成脉冲信号d,再由门电路输出,形成正转脉冲,另一路经反相器,形成反相方波c,再经微分电路形成脉冲信号e,由门电路输出反相脉冲g.b组方波直接连到两个门电路的控制端,作为两个门电路的选通信号。

 

 

光电编码器正转时,b组信号超前90°,它的方波正半波对应不经反相器a组方波的上升沿,正半波又使门电路选通,d组脉冲通过门电路形成正转脉冲;而c组方波的上升沿对应b组方波负半波,此时虽然微分电路输出e脉冲,但门电路关闭,不能输出反相脉冲g.当编码器反转时,情况正好相反。最终输出的脉冲分别送入控制检测电路进行计数。

2.2 Arduino控制板

本检测仪采用了意大利最新开发的Arduino Due微控制器。Arduino Due 是一块基于Atmel SAM3X8ECPU 的微控制器板。它是第一块基于32 位ARM 核心的Arduino,使用32位ARM核心的Due相较于以往的使用8位AVR核心的其他Arduino更强大:32位核心在一个时钟能处理32位的数据。控制板包括54个数字I/O引脚(其中12路PWM输出),12个模拟输入通道,2个模拟输出通道(DAC),I/O口总输出电流为130 mA.3.3 V端口输出能力为800 mA,5 V 端口输出能力为800 mA,FLASH 512 KB(所有空间都可以储存用户程序),SRAM96 KB(两个部分:64 KB and 32 KB),时钟速率[4-5]为84 MHz.

由于Arduino due的工作电压为3.3 V,I/O口可承载电压也为3.3 V,所以经过调理电路产生的5 V 脉冲不能直接处理。本检测仪通过SN74lVC4245 芯片把5 V的脉冲整形为3.3 V的脉冲。

2.3 液晶显示电路

本设计中采用了国产开发的可编程智能LCD(即Programmable Smart LCD,简称PS-LCD)。PS-LCD 是一种包含LCD显示屏、LCD控制器、触摸屏、人机界面处理系统和通信接口于一体的智能显示模组,通过可选的通信接口与外部控制单元(如:51单片机、ARM、DSP、PC、PLC、总线设备等)连接,实现系统的人机交互界面。

新建Designer工程,定义界面分辨率、界面切换效果和主界面等;设置背景、加入/设置控件、定义事件动作等;PS-LCD的采用Java Script的脚本语言,Java Script是因特网上最流行的脚本语言,它存在于全世界所有Web 浏览器中,能够增强用户与Web 站点和Web 应用程序之间的交互。本液晶显示屏通过脚本编写实时地显示微控制器采集送过来的脉冲个数,并进行判断。

用LCD 模拟器验证界面效果和通信过程,重复前面步骤直到满意为止。

PS-LCD 作为先进的智能人机界面产品,能通过通信接口轻松灵活地与外部控制单元实现数据交互。目前,PS-LCD支持两种通信协议:CTP(Cooky Talking Pro-tocol)协议和用户自定义(UserDefine)协议。本检测仪采用的是CTP协议。

在CTP通信模式下,PS-LCD在收到通信命令后,会立刻执行,结束后会向主控制器返回结果。由于PS-LCD的串口通信协议跟微控制器Arduino Due的通信协议不一致,在通信过程中要进行转换和控制。为了取消PS-LCD 命令执行结果的自动回复消息,在CTP 通信模式下,通过调用ctpSet(“reply”,0)函数取消PS-LCD 的自动回复。PS-LCD同时通过通信协议产生的串口信号来控制微控制器的工作,真正实现人机互动的效果[6].

生成界面输出文件spf,然后将spf文件通过PS-LCD专用软件工具Flex下载到PS-LCD验证最终界面效果。

本检测仪PS-LCD最终的检测界面如图3所示。

 

3 软件部分设计

3.1 脉冲计数子程序

为了能更加准确地对脉冲进行测试,采用外部中断进行计数,Arduino due 控制板的54个数字I/O引脚,均可以作为中断端口。编写的主要计数程序如下[7-10]:

 

 

 

 

3.2 液晶显示程序

根据所要测试的光电编码器,选择不同的型号,不同型号的光电编码器定义不同的发送信号,以LBJ-001-2048 型光电编码器为例,选择按钮的脚本编写子程序如下:

其中sysCom0.write(0×41)为写入串口发送缓冲区,串口向外部发送1 字节数据0×41,即是字符‘A'.当Arduino微控板接收到串口送过来的'A’字符时,即可判断出待测试的光电编码器型号为LBJ-001-2048,启动相对应的程序进行测试。同理当选择第二种型号测试时,Arduino微控板将接收到串口送过来的‘B’字符时,即可判断出待测试的光电编码器型号为SE0932II-5400P/r,启动相对应的程序进行测试。

4 结语

本文着重介绍了基于Arduino开发环境的光电编码器检测仪的设计,并实现Arduino微控板与PS-LCD的通信控制问题。由于Arduino是一个开放的单片机开发人机互动产品的软硬件平台,对于基于Arduino开发环境的电子制作竞赛、电子艺术品创意开发、电子检测产品等方面具有较好的参考价值。

关键字:Arduino  开发环境  光电编码器 编辑:探路者 引用地址:基于Arduino开发环境的光电编码器检测仪设计方案

上一篇:基于实验系统采用电路可动态重组的设计方案
下一篇:基于磁阻传感器的车流量检测系统应用设计

推荐阅读最新更新时间:2023-10-12 22:38

Arduino使用光敏电阻实验
Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David CuarTIelles、Tom Igoe、Gianluca MarTIno、David Mellis和Nicholas ZambetTI等。 它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在
[嵌入式]
IC大厂纷纷拥抱Arduino,原因是?
    2013年8月Intel宣布进军穿戴式(Wearable)、物联网(Internet of Thing, IoT),并对此提出Gelileo开发板,该板能相容Arduino接脚与Arduino软体整体开发环境(Integrated Development Environment, IDE),以及程式语法、函式库等。另外Intel也推出仅有SD记忆卡大小的Edison,Edison的开发板一样相容Arduino。 2014年1月Linear Technology提出Linduino ONE开发板,该板相容于Arduino,2014年6月MediaTek与深圳SeeedStudio合作,以MediaTek MT
[手机便携]
基于Keil C51集成开发环境的单片机教学探索
  一、引言   单片机教学改革与实践是为了更好地使学生将所学到的单片机理论知识转化为适应社会发展和就业需要的实际能力的一种教学活动。如今,职业教育的主要任务之一是为社会提供“既懂理论,又懂实践,有一定的研发经验和动手能力的应用型人才”,这种人才当遇到一个开发项目时知道从哪里入手做和怎样做。因此,我们的教学活动就要加强学生实用能力的培养。对于专门培养应用型人才的高职高专院校来讲,更需要重视的是教学中的实际操作训练。   与本科院校相比,离职院校应主要培养应用型人才。高职学院生源质量与本科院校有一定的差距,采用传统的单片机教学方式,不根据课程特点与学生特点,只注重教师讲、学生做,在教学实践中是行不通的。在教学过程中教师应和学
[单片机]
基于Keil C51集成<font color='red'>开发环境</font>的单片机教学探索
51单片机入门教程(0)—— 开发环境配置
本教程包含51单片机开发环境Keil_C51的安装、破解和汉化,以及51单片机仿真环境Proteus的安装、破解。 (说明:本教程仅供学习交流之用,禁止任何商业用途!请在24小时之内删除,如要使用Keil和Proteus请购买正版) 1、 Keil_C51 1.1 keil_c51简介 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。如果你
[单片机]
51单片机入门教程(0)—— <font color='red'>开发环境</font>配置
AVR开发 Arduino方法(四) 串行通信子系统
  Arduino UNO R3主处理器ATMega328P的串行通信子系统可以用于与计算机、外设或其他微控制器进行通信,它支持3种串行通信方式:通用同步/异步收发器,串行外设接口和两线串行接口。 1. 通用同步/异步收发器   在串行通信中,波特率用来衡量传输速率的快慢,同步和异步的对象是波特率的时钟信号;同步通信的设备之间需要一条额外的时钟线,也因此同步方式可以提供更高的波特率;这里将以异步为例。   下面的示例可以使通过串口发送给Arduino的数据回显到串口监视器上: 1 // SerialEcho.ino 2 char data; 3 4 void setup() { 5 Serial.begin(9600
[单片机]
AVR开发 <font color='red'>Arduino</font>方法(四) 串行通信子系统
Microchip扩展MiWi™无线开发环境
全球领先的整合单片机、模拟器件和闪存专利解决方案的供应商——Microchip Technology Inc.(美国微芯科技公司)宣布扩展其MiWi™开发环境(DE),它是设计星型和网状无线网络产品的一个完整的生态系统。MiWi DE包括Microchip免费、专有的MiWi P2P、MiWi及MiWi PRO星型和网状网络协议栈,8位无线开发工具包(WDK)和ZENA™无线适配器(2.4 GHz、868 MHz和915 MHz),以及跨平台支持Linux、Mac OS®和Windows®操作系统的多用途无线开发环境Studio(WDS)。对于家庭和工业自动化、无线传感器监测和控制、智能能源市场的ISM频段无线网络应用开发,M
[网络通信]
Proteus与Arduino的整合在单片机系统开发中的应用
  1.引言   Arduino是一款便捷灵活、方便上手的开源电子原型平台,具有接口丰富、编程环境简便、自由度大与可拓展性强等优点.它基于AVR平台,对AVR库进行了二次编译封装,将复杂的单片机底层代码封装成简单实用的函数,使使用者不用关心单片机编程繁琐的细节,如寄存器、地址指针等基本不用管,从而大大降低了单片机系统开发难度,特别适合老师、学生和一些业余爱好者使用。   由于Arduino使用者一般都是那些对电路知识、电子技术及单片机技术等了解不深入的初学者,如何在Arduino开发过程中快速有效的提高他们的单片机系统开发能力及电子电路设计能力是一个需要迫切解决的问题。   Proteus的引入较好的解决了存在的
[单片机]
Proteus与<font color='red'>Arduino</font>的整合在单片机系统开发中的应用
基于Proteus的单片机虚拟开发环境介绍
  单片机是国内大专院校电子技术类专业的必修课程之一,很多学生毕业之后也在从事单片机的软硬件设计工作。单片机的开发要求设计人员具有一定的硬件设计基础和汇编或者C语言的编程能力,目前国内多数大专院校都是采取先教学后实验的教学步骤,学生在学习的过程中缺少一个感性认识,在实验时又无法与课本上的知识联系起来,因此造成了时间与教学资源的双重浪费。    l Proteus的引入   伴随着计算机软件和硬件技术的飞速发展,在各个领域都出现了各种仿真系统,为各种实际系统的开发提供了准确可靠的保证,同时节约了大量的人力和物力。仿真技术的出现与发展是科技发展的必然结果,是现代科技的关键技术之一,并逐渐成为科技人员的必备技术。Proteu
[单片机]
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved