ABOUT RELY-MEASURE
您的当前位置:主页 > 使用说明 >

AVR单片机教程——旋转编码器

发布时间:2020-02-12 14:30 作者:澳门体育开户

  旋转编码器好像不是单片机玩家很常用的器件,但是我们的开发板上有,原因如下:

  旋转编码器挺好用的。电位器能旋转的角度有限,旋转编码器可以无限圈旋转;旋转时不连续,有卡点,适合对应离散数据。

  本来旁边的电位器(旋钮,以后会讲)一枝独秀,挺孤单的,我就配一个高度大致相同的旋转编码器陪伴它。

  今天我想写旋转编码器,于是在网络上搜索了一下,相关资料很少。最基本地,旋转编码器的作用是将角位移、角速度等机械量转换为电信号。本文不求成为旋转编码器的百科全书,但会把触点电刷式增量式旋转编码器的原理讲清楚。这里出现了两个定语,是对类别的限定;关于旋转编码器的分类,请自行百度。

  开发板上的旋转编码器是从淘宝买的,淘宝商家提供了资料,这是本讲的主题。为避免广告嫌疑,我不能放链接上来,所以我就把它转换成图片放在文章里(请在新页面中查看):

  我们从旋转编码器的原理开始。旋转编码器的内部是触点与电刷,可以看作按键:当两者接触时,开关闭合;反之断开。实际上它们的本质是一样的。在旋转时,按键会周期性地闭合、断开;如果一端接地,另一端接上拉电阻,就会有周期性高、低电平的脉冲信号产生。我们使用的旋转编码器每转过一圈会输出24个脉冲。

  通过对脉冲进行计数,可以知道编码器转过的角度。如果不管方向,测量角度或角加速度等,用一个输出就够了。但是如果考虑方向,无论是顺时针还是逆时针转动,电平都是“高低高低高……”。为了获得方向的信息,需要使用两个输出,它们的相位相差90°,如图所示:

  A和B是两个输出端,C端接地。当程序检测到A端由高电平变为低电平时(方法在按键那里讲过了),如果检测到B端是高电平(这就更简单了),那就是顺时针旋转;如果是低电平,那就是逆时针旋转。实际上不一定要检测A端的下降沿,只要按照这张图来,怎么都对。

  库函数使用的检测方法是:A、B端由低低变为高低时,判为顺时针转过一格;由低低变为低高时,判为逆时针转过一格。这不是最好的方法(你可以想一下怎样改进,但是不要低估它的难度),但从实际使用上来看,只要用户不故意在两个卡点之间扭来扭去,这种方法是可以胜任的。

  我们写一个用旋转编码器控制数码管显示数字的程序,也可以理解为对旋转编码器进行计数并用数码管显示。旋转编码器A和B端分别连接端口4和5,数码管连接6和7。程序的思路是:每隔一毫秒调用rotary_rotated(它和button_pressed函数类似——如果你还记得的话)检测编码器是否被转动以及转动的方向,并根据方向对计数器变量num进行增减。(为什么让num为uint8_t类型?)为了凸显旋转编码器的主题,数码管就用segment_auto来解决了。

  注意相邻卡点之间挤了4个AB端口的状态,因此延时不能过长。你可以试试更长的间隔。

  本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

  下一篇:LCD1602液晶显示模块的单片机驱动深入详解之软件篇(AVR)

  需求分析本方案中使用的仪表具有如下特点和设计参数:●指针响应灵敏、走位准确,即收到驱动脉冲后不能丢步;●指针转动平稳,即指针从当前位置到目标位置之间的走位要平稳,正、反转都不能出现抖动;●两相、步距角10o、转动范围300o。根据技术参数可知,采用两相四拍和两相八拍时的步距角为10o和5o,在300o的范围内只能作30和60个刻度划分,在实际应用中,会发现指针步距角不能满足要求而且抖动不可避免。为了实现指针高精度的准确走位和平稳运转,要对步进电机步距进行高分辨率细分,这也是设计的难点所在。步进电机步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载

  下面是目前市面上两种常见的后缀:AVR MEGA8-16PU AVR MEGA8-16AU AVR MEGA8L-8PU AVR MEGA8L-8AU,前面黑色部分为芯片型号,后面数字一般会带有容量信息(8即是8K、16即16K)。(L)表示芯片支持低压,有效电压:3.3V-5V。(16)红色数字部分表示芯片最高工作频率,16即是0-16M,8即是0-8M。(PU)黄色:PU代表DIP直插封装,后面U表示工业级环保型。AU即TQFP帖片封装。AVR MEGA48-20PU AVR MEGA48-20AU AVR MEGA48V-10PU AVR MEGA48V-10AU前面黑色部分为芯片型号,后面数字一般会带有容量信息(48即是

  (1)在AVR的器件手册中,对熔丝位使用已编程(Programmed)和未编程(Unprogrammed)定义熔丝位的状态, “Unprogrammed”表示熔丝状态为“1”(禁止);“Programmed”表示熔丝状态为“0”(允许)。因此,配置熔丝位的过程实际上是 “配置熔丝位成为未编程状态“1”或成为已编程状态“0””。(2)在使用通过选择打钩“√”方式确定熔丝位状态值的编程工具软件时,请首先仔细阅读软件的使用说明,弄清楚“√”表示设置熔丝位状态为“0”还是为“1”。(3)使用CVAVR中的编程下载程序时应特别注意,由于CVAVR编程下载界面初始打开时,大部分熔丝位的初始状态定义为“1”,因此不要使用其编程菜单选项中的

  什么是AVR单片机?AVR单片机有什么优点?为什么要选择AVR单片机?AVR单片机是ATMEL公司研制开发的一种新型单片机,它与51单片机、PIC单片机相比具有一系列的优点:1:在相同的系统时钟下AVR运行速度最快;2: 芯片内部的Flsah、EEPROM、SRAM容量较大;3:所有型号的Flash、EEPROM都可以反复烧写、全部支持在线:多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也可以工作;5:每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强;6:内部资源丰富,一般都集成AD、DA模数器;PWM;SPI、USART、TWI、I2C通信口;丰富的中断源等。目前支持

  Mega16已经内置了上电复位设计。并且在熔丝位里,可以控制复位时的额外时间,故AVR外部的复位线路在上电时,可以设计得很简单:直接拉一只10K的电阻到VCC即可 (R0)。为了可靠,再加上一只0.1uF的电容(C0)以消除干扰、杂波。D3(1N4148($0.0054))的作用有两个:作用一是将复位输入的最高电压钳在 Vcc+0.5V 左右,另一作用是系统断电时,将R0(10K)电阻短路,让C0快速放电,让下一次来电时,能产生有效的复位。当AVR在工作时,按下S0开关时,复位脚变成低电平,触发AVR芯片复位。重要说明:实际应用时,如果你不需要复位按钮,复位脚可以不接任何的零件,AVR芯片也能稳定工作。即这部分不需要任何的外围零件

  一、项目概述1.1 引言本项目设计的基于AVR的GSM 无线智能变压器综合报警系统,其目的在于提供一种无线智能变压器综合报警系统,可以识别系统停电,杜绝误报的发生;可以测量变压器油温并在油温超温时报警;具有“人体非正常接近报警”功能;具备断电工作保护功能,当电源线被破坏或由于其它原因断电时,系统仍能继续工作;可以对电力变压器综合运行参数进行检测,并对故障运行状态(过流、过压、欠压等)进行预警(可选)。该装置可以用在电力系统和大型工业企业领域中,并且本系统稍加改进后,可用于各种无线报警、控制装置中。例如,可以将本装置运用在电力节能方向,如通过该系统的语音、短信功能来控制路灯的开关,实现路灯的防盗与节能。1.2 项目背景/选题动机

  STM32MP1系列通用型MPU, 集成双 Arm® Cortex®-A7和 Cortex®-M4 内核

  STM32MP1系列通用型MPU, 集成双 Arm® Cortex®-A7和 Cortex®-M4 内核

  站点相关:综合资讯51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程


澳门体育开户
Copyright © 2018 澳门体育开户 All Rights Reservrd 版权所有 技术支持:捷搜网络 琼ICP备16000871号-1
网站部分图片来自互联网,如有侵权,请及时通知,我们会及时更换!