当前位置:首页 > 电源 > 数字电源
[导读]本文介绍了一种基于Arduino新型集成开发环境的光电编码器检测仪, 为了能快速简便地判断光电编码器的好坏,实现了Arduino板与可编程智能液晶触摸显示器终端的通信控制,完成了对光电编码器信号准确的计数,并能判断其好坏。

  0 引言

  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所示。[!--empirenews.page--]

  

 

  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开发环境的电子制作竞赛、电子艺术品创意开发、电子检测产品等方面具有较好的参考价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

深圳2025年8月4日 /美通社/ -- 近日,电子元件和工业品数字化全球供应商欧时RS联合四方维(Supplyframe)创新中心成功举办 "欧时RS创客沙龙——Arduino主题开放日"。活动聚焦开源硬件与编程领军平...

关键字: Arduino 开源 创客 智能未来

我们已经看到了如何通过HC-05发送和接收数据,但大多数蓝牙应用程序需要的不仅仅是发送和接收。在本教程中,我们将看到如何将HC-05与0.91英寸。OLED显示屏打印HC-05接收到的数据。

关键字: OLED显示器 Arduino HC-05蓝牙模块

ESP32模块非常通用,可以通过WiFi连接到各种不同的平台来发送和接收数据。在本教程中,我们将使用Arduino的物联网云平台(这是完全免费使用)与ESP32。有关Arduino IoT Cloud的更详细概述,请查看...

关键字: GPS ESP32模块 Arduino 物联网

在这个中级电子和无线电通信教程中,我们将深入研究使用Arduino平台和nRF24L01+无线模块构建功能齐全的8+通道RC(无线电控制)发射器和接收器。该项目结合了微控制器编程,传感器集成和射频通信的核心技能,非常适合...

关键字: Arduino RC控制器 发射器 接收器

作为飞行员,在空中和地面上,在飞行和飞行前的许多方面保持“安全第一”是很重要的,其中之一就是避免碰撞。过去几年,即使是小型航空、自由飞行的飞机,如滑翔机、滑翔伞、悬挂式滑翔机等,在未来的无人机中,也开始采用仪器来观察和让...

关键字: Arduino ESP32 LED

用c++编程似乎是让你的Arduino项目起步的障碍吗?您想要一种更直观的微控制器编程方式吗?那你需要了解一下Visuino!这个图形化编程平台将复杂电子项目的创建变成了拖动和连接块的简单任务。在本文中,我们将带您完成使...

关键字: Visuino Arduino ESP32 STM32

你有没有想过Arduino是如何成为制造商和爱好者的强大工具的?在Arduino for Beginners课程的第二篇文章中,我们将探索Arduino背后的鼓舞人心的故事和一些展示其多功能性的实际应用程序。最后,我将指...

关键字: LED Arduino UNO板

美国 宾夕法尼亚 MALVERN、中国 上海 — 2025年7月1日 — 日前,威世科技Vishay Intertechnology, Inc.(NYSE 股市代号:VSH)宣布,推出采用 0402外壳尺寸的新器件,扩展...

关键字: ADI Adafruit Arduino

本项目基于Wio Terminal(2.4寸液晶屏、物理按键、高效处理器)的硬件特性和Arduino开源生态系统,实现了一款沉浸式F1赛车游戏。玩家通过按键控制赛车躲避障碍物,游戏难度随分数动态增加,结合专业的赛车图形渲...

关键字: Arduino 开源生态系统 Wio Terminal

使用LoRaWAN的智能水位和洪水警报系统。实时数据+环境。传感器=零连接成本的早期预警。

关键字: Arduino LoRaWAN 传感器
关闭