×

基于GreenPAK的非接触式旋转编码器

消耗积分:0 | 格式:zip | 大小:0.01 MB | 2022-12-22

香香技术员

分享资料个

本方案是基于 GreenPAK 的非接触式旋转编码器设计。

该项目描述了如何使用 GreenPAK IC 设计高可靠性旋转开关或编码器。这种开关设计是非接触式的,因此忽略了触点氧化和磨损。它非常适合在存在长期潮湿、灰尘、极端温度等的室外使用。

该GreenPAK SLG46537 :该IC提供了所有为这个设计的电路功能。它生成一个信号 (EVAL) 以改善信噪比,从旋转开关的每个扇区焊盘接收输入,并使用异步状态机 (ASM) 解释每个扇区焊盘以保证只有一个开关选择。

下面我们描述了了解如何对解决方案进行编程以设计非接触式旋转编码器所需的步骤。

设计理念
此设计按时序工作。它生成时钟 (EVAL) 信号,通过外部 100 kohm 电阻器缓慢上拉每个扇区焊盘(图 1)。EVAL 信号与中央“抽头”电容耦合,该抽头驱动所选扇区焊盘的上升沿比所有其他信号都快(图 1 中的快)。GreenPAK 异步状态机 (ASM) 然后评估哪个上升沿首先到达并锁存结果。电容耦合设计的优点是可靠性。无论编码器是内置电容然后磨损到直接连接,还是内置直接连接然后退化(氧化)为电容,它仍然可以工作。

图 1 中的顶层原理图显示了连接到外部 LED 以进行演示的输出。

图 2 是示波器捕获,显示了选择器滑动器与其对齐的扇区焊盘的上升时间与其他未选择焊盘的上升时间的差异。delta T 为 248 nS,对于 GreenPAK 异步状态机 (ASM) 解决来说,这绰绰有余。ASM 可以在一纳秒内解决,其内部仲裁电路保证只有一种状态有效。因此,任何时候只有一个输出会注册。

GreenPAK 设计实施
编程到 GreenPAK IC 中的原理图如图 3 所示。

为了节省功耗,EVAL 信号以适合应用响应时间的速率生成。使用低频振荡器并与 CNT2 进一步分频。在这个例子中,它大约是 16 Hz。请参见图 4 中的配置设置。

ASM 状态图(图 5)中显示了可能的状态转换的图示。

一个稍微延迟的 EVAL 副本用作每个周期的 ASM 复位。这确保我们总是从 STATE0 开始。在 ASM 复位条件之后,每个焊盘上的 ASM 都会监控 EVAL 信号。只有最早的上升沿才会导致状态从 STATE0 跳出。来自其他焊盘的任何后续上升沿都将被忽略,因为只有一种状态转换是可能的。这也是因为我们配置 ASM 的方式如图 6 所示。 6 个 ASM 输出状态中的每一个都只对应一个扇区焊盘。

DFF 锁存器保持 ASM 结果稳定,因此在 ASM 复位期间没有最终输出的切换。驱动开漏 NMOS 输出引脚所需的极性要求我们将 DFF 配置为反相输出。

检测结果
下面的照片显示了一个粗略的原型,完全可操作。它也是低功耗的,GreenPAK 的测量电流仅为 5 uA。

焊盘和擦拭器的布局最大化以获得最强信号。发现该原型不受强射频干扰的影响,例如大型荧光灯泡和 5 W 145 MHz 无线电。这可能是因为所有焊盘都受到共模干扰。

可以布置垫片和擦拭器尺寸,因此在任何位置都不会同时有 2 个垫片与擦拭器重叠。这可能不是真的,因为 ASM 仲裁电路将只允许其中一种状态有效,即使在 2 个同时上升沿的情况下也是如此。这是该设计稳健的另一个原因。具有到焊盘的互连迹线非常窄且彼此等长的电路板布局实现了良好的灵敏度,因此每个扇区焊盘的总电容与其他焊盘相匹配。最终产品可能包括用于雨刷器的机械棘爪,因此当它在每个位置居中时“咔哒”一声,并提供良好的触感。

结论
GreenPAK IC 为这种高可靠性旋转开关提供了低功耗、稳健且完整的解决方案。它非常适合需要稳定、长期运行的户外定时器和控制等应用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.lene-v.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'基于GreenPAK的非接触式旋转编码器',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.lene-v.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);