ec12编码器原理-EC12 编码器原理
大量人刚entuh 到 ec12 编码器,第一反应肯定是:“影屏上那个五彩斑斓的圆点,如何就能让我摸到黑乎乎的小方块了?”别急眼,这实际上是一场天平的拉扯,是物理世界在数字世界里留下的痕迹。 想象一下,你手里拿着一把量尺,想要量一个硬币的厚度。你先把量尺的某个刻度对准硬币的边缘,手腕一压,那个刻度线就死死地卡在硬币侧面了。
这时候,你不需求知道硬币具体有多厚,你只需求记住“刚刚压在这里那个位置”。
这就好比 ec12 编码器,它的工作模式就像这把量尺。芯片内部存有一种“记忆”,叫作匹配计数(Match Counter),它就像那个被压住的刻度线。当它把这个计数值传回给你时,你只需求关切这个值落在哪段区间里。 比如,你设定一个阈值,低于 10 个计数,你就认定是 0;10 到 20 个之间,就是 1;超过 20 个,那就是 2。ec12 的奇妙之处在于,它不会直接告诉你“我刚刚数了 15 下”,它只会说:“我数到了 15 个,落在 1 的区间里”。
故此,你根本不需求去猜那 15 个是如何存有的,你只需求根据你设定的规则去映射。
这就像你在玩“猜拳”的游戏,输赢分得挺清楚,但你不需求知道每次你具体比哪位赢了,你只需求知道最终的结局是啥。
这就是 ec12 的核心智慧:把复杂的物理运动抽象成离散的数字状态,把复杂的信号处理简化成好办的区间判断。 再说说数据如何流转。
这种编码一般出目前 OLED 屏、EMD 驱动器要么好办的电机管住里。信号线要么是单端电压,要么是单端电流,就像是你刚刚用手按在量尺上的那个压力。芯片接收这个信号,把它当成输入,然后内部电路启动干活。它会把这个输入信号和内部预设的基准值做对比。
要是输入信号的电压比基准值高,计数器就往上跳;要是低,就往下跳。
这个过程挺快,可能在纳秒级别,不需求你手动去算。 举个具体的例子,假设你要模拟 0 到 255 的 8 位数据。你的电路上连着一个 5V 的电源,和一个通过受控电阻分压后的信号。
这个信号在 0V 时挺低,在 2.5V 左右时挺高。芯片内部有个比较器,它时刻监视着这个信号。一旦信号从 0V 跃升到 2.5V 的那一瞬间(假设这个过程刚好是 10 个计数),计数器就像是个自动递增器,从 0 启动数:1, 2, 3... 直到 255。数到 255 时,状态锁存,告诉外部:“我到了最大值,状态是 255"。
反过来,要是信号从 2.5V 跌到 0V,计数器就停在这里,外部收到的是 0。 这里有个细节,ec12 有个参数叫“回差”(Hysteresis)要么“死区”(Deadband)。
这就好比你用手按量尺,轻轻一按就掉下去,但手松一松,门槛重新抬高,再按下去又升上去。
要是死区设得忒小,信号可能在你想从 0 变 1 的时候,出于瞬间的那点抖动直接跳乱了,害得状态不稳定。
故此,在连接外围电路的时候,你得留一点余量。
要是信号刚好卡在比较器的中间位置,它可能啥都不会触发,你得把信号推上去一点点再试。
这就像你踩在门槛上,正好一脚没沾地,你得再轻轻跺跺脚,才能意识到自己跨那会儿了。 在实际的应用里,你会发现 ec12 编码的输入端往往没接特别复杂的电路,就连大量时候,信号直接就从管住器的 GPIO 引脚要么 DAC 的输出端取过来,这就是典型的单端编码场景。输入电流要是忒大,可能会烧坏芯片的输入引脚,故此一般都要接个电阻把电流压下来,要么反过来接个电阻把输入阻抗调高。 有时候你会认定 ec12 有点“傻”,出于它只负责计数和判断状态,不负责把高低电平变成 0 和 1。但在编程里,这彻底没难题。
只要你的代码逻辑里,把“状态为 0"对应到某个特定的数值,把“状态为 1"对应到另一个数值,你就已经搞定了从物理到数字的转换。
比如驱动一个步进电机,逻辑可能是:计数小于 100,就转一格;大于 200,就转两格。电机外部接的是模拟电压,电机内部处理后变成电流脉冲,电流脉冲再回来变成电压,最终传给 ec12,再由 ec12 传回 MCU。中间所有的“电”都消亡了,只剩下一个个离散的数字。 这种设计在低成本开发里贼受欢迎。出于它省去了 BUF 电路、比较器、A/D 转换器这些贵得吓人的模块。你只需求一颗 ec12 芯片,就能搞定模拟转数字、硬件 PWM 要么电机管住这些任务。别看它不能直接输出标准的 TTL 电平给其他逻辑电路使用,但在封闭的嵌入式系统要么作为外围驱动模块时,它带来的便利远大于成本。 最终,回到那个手按量尺的画面。当你慢慢松开手指头,量尺上的刻度线慢慢滑回原来的位置,那就是 ec12 在平静地等待下一次信号的到来。它不负责记忆那会儿的过程,它在当下这一秒,只负责确认现状。
这种极简的哲学,把复杂的模拟信号世界,折叠成了最朴素的数字逻辑。
这就是 ec12 编码器的魅力所在,不炫技,不堆砌参数,就是一切,一切,除了那个压在你手上的东西,剩下的都是代码。
声明:演示网站所有内容,若无特殊说明或标注,均来源于网络转载,仅供学习交流使用,禁止商用。若本站侵犯了你的权益,可联系本站删除。
