我如何制作用于遥测传感器和控制外围设备的电子板

在创建机器人服务员,网真机器人,自拍照机器人的过程中,一些发展似乎表明,不与社区共享(即开源)是一种罪过。一种有效的版本是一块电子板,代号为SB版本4.0,它使用便宜且功能较低的Arduino,即Nano 3.0。 SB 4.0电路板非常简单易懂,可在组装过程中巩固其在电子学和焊接技能方面的知识,其功能足以进行自己的实际项目(例如,通过运动传感器和光传感器发出的信号或通过蓝牙命令来打开灯泡),从淘宝网向中国朋友订购时,组件的交付成本约为55美元(包括传感器本身)。

SB 4.0板的主要用途是硬件接口。收集后,您可以使用它来接收和处理来自几个预安装传感器的数据,并进一步决策和执行算法。为了便于调试,在OS Windows中创建了一个界面,其中清晰地显示了传感器和电源的遥测读数,按钮和伺服器的状态,并且可以将命令发送到微控制器。

在本出版物中,我将描述电路板的特性及其应用示例。同样,这些都是开源的,并根据CC Attribution Non-Commercial Share Alike获得许可。

是的,已经有类似的带有传感器的控制板和KIT(更昂贵的带屏蔽的Arduino板,用于Raspberry Pi,用于碘安培),但是SB 4.0与它们的不同之处在于电源板和使用LabView开发环境编写的便捷控制程序。也就是说,SB 4.0由两块板组成:控制+电源。这将在照片和视频中看到。

两块板,运动传感器和电池的照片:



程式设计


与往常一样,为了对微控制器进行编程,我们使用C / C ++。我们正在Arduino IDE中进行开发。

屏幕截图显示了Selfiebot控制面板程序的界面,其中清晰显示了传感器和电源的遥测读数,按钮和伺服器的状态,您可以将命令发送到微控制器。

界面部分的屏幕截图:



性能表现


SB 4.0使用具有8位ATmega328微控制器的最便宜的Arduino Nano 3.0平台之一。这足以处理代码并解决问题:控制机器人,智能家居系统等。



相容性


逻辑电压为5 V,可确保与Arduino外设的电气兼容性。

输入/输出端口


提供微控制器控制引脚。他在括号中指出了板子已经知道如何使用的预装元件。
  • 2个引脚,可以配置为数字输入/输出和PWM输出(用于两个数字伺服器);
  • 1针,数字输入/输出(用于运动传感器);
  • 3针,数字输入/输出(用于RGB LED);
  • 1针数字输入/输出(用于限位传感器,按钮);
  • 1针,数字输出+ 5V / 0V(控制外部负载)。

I2C总线和UART端口分别用于端口扩展板和蓝牙模块。
提供了SB 4.0板的通用性。匹配功率电平,信号电平,输入/输出类型!用您的传感器替换预先安装的传感器:

  • 温度
  • 噪音水平
  • 湿度
  • 压力等


输入引脚在闭合/断开状态下工作。在MK或+ 5V或0的引脚上。这些值包含在发送到Selfiebot控制面板软件的遥测数据中。

输出引脚产生的5V负载容量为1A,或者被禁用-0V。只能通过外部命令或固件算法命令向该连接器施加电压或不施加电压。

将模拟传感器连接到数字引脚没有任何意义。

营养学


通过2.1毫米电源插座或带有充电控制器的锂离子电池供电。源是自动确定的。
如果通过插座供电,建议输入电压为12-12.6 V,DC-DC电压转换器可为伺服器提供7 V,为USB1,USB2和其他负载提供5 V,作为电源,您可以使用网络适配器或电池。
使用5V引脚为外围设备供电。当使用外部电源时,从5V引脚可获得高达1A的电流。

电源套件包括:
  • 3x18650电池组,1个
  • 电池18650,3.7 V,2200 mAh,3个。
  • 充电控制器,1个
  • 1个电源连接器
  • DC-DC转换器,4个
  • 霍尔传感器1个
  • 晶体管,3个。
  • 光耦合器和电阻器。




沟通交流


Arduino Nano微控制器通过USB使用制造商网站MK上的标准免费软件进行编程。为了像往常一样在SB 4.0和计算机之间传输数据,我选择了便宜的通用蓝牙HC-06模块,数据传输速率为9600 Kb / s。遥测数据和控制命令通过此无线通道。

尺寸图


我得到了电子电源板的尺寸-100×70×40 mm。电子控制板的尺寸为90×70×45 mm。但是我敢肯定,您仍然可以进行萨满化并减小尺寸。

触点间距为0.1英寸(2.54毫米)。

单片机规格


  • 单片机:8位ATmega328。
  • 时钟频率:16 MHz。
  • 闪存:32 KB(2KB用于引导加载程序,30KB用于存储程序代码)。
  • RAM 2KB。
  • EEPROM 1 Kb。
  • 额定工作电压:5 V


SB 4.0电子板的功能


  • 额定工作电压:12.6 V
  • 推荐输入电压:12–12.6V。
  • 来自总线的最大电流5 V:1000 mA
  • 通用I / O端口:2
  • 具有PWM支持的端口:2


控制板包括以下元素:

  • 蓝牙模块HC-06,1个
  • 单片机端口扩展器电子板,1个。
  • 单片机Arduino Nano 3.0,1个
  • 1个电子照明水平板
  • Servos TowerPro MG966R,2个
  • 光敏电阻,1个。
  • 运动传感器,1个
  • 1个RGB LED
  • 按钮,1个
  • 保险丝1个
  • 跳线1个
  • 晶体管1个
  • 电容器1个




实际使用


实际使用的选项:

1.温度变化时打开/关闭窗户。
2.当室内湿度变化时,打开/关闭风扇。
3.在黑暗中移动时打开/关闭灯。
4.改变土壤湿度时打开/关闭供水。
5.在黑暗中打开红外照明。
6.通过Internet连接将任何遥测数据传输到服务器。

SB 4.0电路板应用示例


目的:只要按下按钮,则在检测到运动时打开灯。



为此,我们还需要一个继电器模块,一个灯泡(220 ADC或最高12 VDC)。

1.最常见的是我们发现继电器12VDC和05VDC。该数字表示必须将什么直流电压值提供给继电器输入。
2.考虑一下Songle的SRD-05VDC继电器的操作,这对Arduino很常见。
3.当Vcc引脚上电并短路到“ GND”引脚时,绿色LED点亮。
4.由于 我们有一个单通道模块,那么在板上您只会看到一个信号引脚In1。如果将电压电平LOW设置为In1,则继电器模块上的红色LED会亮起,并且继电器会发出咔嗒声。在Arduino上,digitalWrite(pin,LOW)命令负责设置引脚上的电压电平。要将继电器恢复到之前的状态,请使用digitalWrite(引脚为HIGH)命令;
5.将继电器模块连接到SB 4.0板上,该板上已预装了运动传感器和一个用户按钮。
5.1。继电器模块的信号引脚In1连接到引脚
13。5.2。在Arduino Nano程序代码中,我们发现:
***********************************
 //     -   ,       timeout_SnSM
 if (var_Tlm_SnSM == 1) { time_Move_detect = millis(); }
 if (millis() - time_Move_detect < timeout_Move_detect) { Move_detect = 1; } else { Move_detect = 0; }
***********************************


在下面添加以下行:
***********************************
  //     (== 0),     (== 1)     13 (== LOW),   timeout_SnSM
  if (var_Tlm_BUT == 0) { 
    if (Move_detect == 1) { digitalWrite(PIN_D13, LOW); } else {  digitalWrite(PIN_D13, HIGH); }
  } else {
    digitalWrite(PIN_D13, HIGH); 
  }
***********************************

5.3。下载新固件并打开电路板电源。

如果运动传感器检测到运动,则借助我们的算法,LOW电平出现在外部负载的电源引脚上,继电器工作,闭合电路,并且灯点亮。

因此,如果有人经过运动传感器,则灯会亮起。

Source: https://habr.com/ru/post/zh-CN397493/


All Articles