×

12通道USB供电继电器板开源硬件

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

20615

分享资料个

描述

笔记!这个项目next-hack.com上保持最新

介绍

有时使用 PC/Mac 控制各种负载是可取的:可以选择他/她喜欢的高级语言、编程环境。使用继电器可以轻松且廉价地切换负载。

然而,必须在继电器和 PC 之间放置某种接口。

USB 控制板是一种非常有利的解决方案:您可以将它连接到任何带有 USB 端口的 PC/Mac,它还可以直接从中获取所需的电源。

这个非常简单的项目允许您控制多达 12 个继电器。所选继电器允许切换高达 3A 的(电阻性)负载。如果必须切换较重的负载,则可以放置一个更坚固的继电器,或者可以将这些继电器用作开关,以控制靠近负载的更大的继电器。

所有继电器处于开启状态时的电流消耗小于 350 毫安,因此任何标准的 500 毫安 USB 兼容端口都应该足够。

我们使用了 uChip ,这是一个 Arduino 零兼容板,缩小为 16 个 DIP 封装。这使我们能够进行紧凑的设计。

添加了两个按钮以扩展电路板的功能(例如紧急关闭、序列 ecc...)这些功能任由您发挥想象力!

操作原理

设备等待 USB 端口 (CDC) 上的串行连接。建立连接后,它会定期侦听命令。

命令如下:

大写字母 A 到 L 选择您要打开或关闭的继电器。例如,ACF 将选择第一个、第三个和第六个继电器。随后的 0 将关闭所有选定的继电器。随后的 1 将打开选定的继电器。任何其他字符(包括小写字母 al 和 2 等)都将中止命令。

例如“ACF1”将打开继电器 A、C 和 F。

如果我们写入“CF0”,继电器 C 和 F 将被关闭。

可以同时打开/关闭任何继电器组合。

每个继电器都使用 BJT 连接到 uChip。LED 显示通道的状态。

准备

在这些步骤中,我们使用 10x16 厘米的穿孔板。当然,您也可以按照版图制作PCB。

1) 在穿孔板上测量 6.35 厘米。

 

 
pYYBAGOrhdmAfcShAAE-4ZOx9Jc945.png
 

2)沿线切割穿孔板。

 
pYYBAGOrhdyAI9ncAAGGDWxqtEI799.png
 

3) 使用文件平滑边缘。

4)标记孔的位置。

安全警告!如果使用 110-240 V 负载,则将孔放置得比此处显示的稍远一些,尤其是靠近螺丝端子或者不要使用金属支架,而是按照组件列表中的建议使用塑料支架

 

 
poYBAGOrhd6ATz9XAAEg5bx6sTc463.png
 

5) 钻孔。

 
pYYBAGOrheGAfdj-AAE9GI5UW3s715.png
 

6)按高度顺序焊接所有组件。电阻器、IC 插座、BJT、二极管、5 毫米 LED、螺丝接线端子、电容器、其他 LED、继电器、按钮。

保留元件引线。这些将在以后的连接中很有用!

 
poYBAGOrheWAT3J2AAF8URbe8-0362.png
 

7) 元器件焊接完成后,去掉继电器周围多余的焊盘和螺丝接线端子,提高绝缘性。这可以使用烙铁完成。一定要使用牺牲小费,而不是你的好小费!

 
poYBAGOrheqAP3xwAAILI-gXTqA974.png
 

8)使用从组件上剪下的电线进行连接。当没有剩余空间时,使用额外的电线。:-)

 

 
pYYBAGOrheyAbrwUAAJKscGOu98789.png
 

9) 插入 uChip,用 microUSB 电缆连接开发板,并使用提供的草图和 Arduino IDE 对 uChip 进行编程。

 
pYYBAGOrhe-AFxyPAAE7b3busgg678.png
 

10) 使用你最喜欢的终端程序(串行监视器、白蚁等)并编写一个测试字符串以查看它是否有效。例如,输入 ABCDEFGHIJK1 将导致所有 LED 亮起。

 
pYYBAGOrhfOALHGVAAG1WUYAc-s343.png
 

 

11) 享受吧!


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

评论(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:'12通道USB供电继电器板开源硬件',//标题 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);