中级
30 分钟

通过使用LTV-817S和ATmega328增强您的电子设备的光隔离能力

信号的守护者:OptoSentry实现完全隔离!

OPTO 4 Click with Arduino UNO Rev3

已发布 6月 26, 2024

点击板

OPTO 4 Click

开发板

Arduino UNO Rev3

编译器

NECTO Studio

微控制器单元

ATmega328

通过将您的电路与电气噪声和干扰隔离开来,实现更清晰、更可靠的信号传输。

A

A

硬件概览

它是如何工作的?

Opto 4 Click基于ON Semiconductor的LTV-817S,这是一款带有高隔离电压的光耦合器。这是一个单通道的光耦合器,它使用微控制器(MCU)的输出引脚提供的低电流来激活其输出级。除了内部偏置LED外,MCU还驱动额外的外部黄色LED,用于指示MCU输出处于高逻辑电平。该LED标记为ON,用于指示光耦合器输出级(导电或非导电)的状态。主机MCU使用mikroBUS™的CS引脚驱动LTV-817S光耦合器的输入级。光耦合器的工作原理非常简单:一个发光元件 - 通常是红外LED - 集成在一块芯片上,与感光元件一起,通常是感光晶体管。LED和感光晶体管在电气上被隔离,但在光学上不是:当内部LED通电时,它发出光,使输出级处的感光晶体管的基极偏置,从而允许电流通过。在实践中,光耦合器可能配备有额外的元件,例如施密特触发器、光敏达林顿对、各种配置的MOSFET等。光耦合器的输出级

用于驱动由ON Semiconductor制造的采用PowerTrench®技术的外部功率MOSFET,例如FDD10AN06A0。由于其极低的导通电阻(通常为10 mΩ,10V),这个MOSFET允许更多的电流流过连接的负载。此MOSFET设计用于开关电路和DC/DC转换器,为这些应用提供了高效率。因此,它的栅极终端上的电容非常低,可以通过相对较高频率的PWM信号进行驱动。光耦合器的输出级连接到外部电源连接器的VIN端子,标记为POWER。当光耦合器的输出级关闭时(mikroBUS™的CS引脚处于高逻辑电平),它将功率MOSFET的栅极连接到VIN电压,从而启用功率MOSFET。当光耦合器的输出级打开时(CS引脚处于低逻辑电平),MOSFET的栅极将通过10K电阻被拉至GND,从而禁用MOSFET。在启用时,功率MOSFET将能够通过连接到LOAD端子的外部负载传导电流。光耦合器的输出级还有

一个绿色LED指示灯,标记为OUT,用于指示POWER端子之间存在有效的电压水平。VIN端子上的欠压电路可防止外部电源电压下降至10V以下。理想情况下,电源电压应保持在12V以上。重要的是外部电源电压保持在10V以上,因为在这种情况下,MOSFET的导通电阻约为10 mΩ,确保通过负载的高电流不会导致明显的热耗散。随着外部连接的电源电压下降,可能会导致功率MOSFET的导通电阻在激活欠压电路之前就足够上升(取决于负载中的电流),从而导致其损坏。因此,外部电源的电压必须保持在10V以上,以确保这个Click board™能够可靠地工作。欠压保护功能可在发生短路情况时关闭负载:在短路事件期间,电源电压可能会下降,导致欠压电路被激活。但是,如果使用合理强大的电源,短路电流可能足以破坏功率MOSFET或输入端子。

OPTO 4 Click top side image
OPTO 4 Click bottom side image

功能概述

开发板

Arduino UNO 是围绕 ATmega328P 芯片构建的多功能微控制器板。它为各种项目提供了广泛的连接选项,具有 14 个数字输入/输出引脚,其中六个支持 PWM 输出,以及六个模拟输入。其核心组件包括一个 16MHz 的陶瓷谐振器、一个 USB 连接器、一个电

源插孔、一个 ICSP 头和一个复位按钮,提供了为板 子供电和编程所需的一切。UNO 可以通过 USB 连接到计算机,也可以通过 AC-to-DC 适配器或电池供电。作为第一个 USB Arduino 板,它成为 Arduino 平台的基准,"Uno" 符号化其作为系列首款产品的地

位。这个名称选择,意为意大利语中的 "一",是为了 纪念 Arduino Software(IDE)1.0 的推出。最初与 Arduino Software(IDE)版本1.0 同时推出,Uno 自此成为后续 Arduino 发布的基础模型,体现了该平台的演进。

Arduino UNO Rev3 double side image

微控制器概述 

MCU卡片 / MCU

default

建筑

AVR

MCU 内存 (KB)

32

硅供应商

Microchip

引脚数

32

RAM (字节)

2048

你完善了我!

配件

Arduino Mega 的 Click Shield 配备了四个 mikroBUS™ 插槽,其中两个是 Shuttle 连接器,允许所有的 Click board™ 设备与 Arduino Mega 板轻松连接。Arduino Mega 板采用了AVR 8位微控制器,具有先进的RISC架构,54个数字 I/O 引脚,并且兼容 Arduino™,为原型设计和创建多样化应用提供了无限的可能性。该板通过 USB 连接方便地进行控制和供电,以便在开箱即用时高效地对 Arduino Mega 板进行编程和调试,另外还需要将额外的 USB 电缆连接到板上的 USB B 端口。通过集成的 ATmega16U2 程序器简化项目开发,并利用丰富的 I/O 选项和扩展功能释放创造力。有八个开关,您可以将其用作输入,并有八个 LED,可用作 MEGA2560 的输出。此外,该 shield 还具有来自 Microchip 的高精度缓冲电压参考 MCP1501。该参考电压默认通过板底部的 EXT REF 跳线选择。您可以像通常在 Arduino Mega 板上那样选择外部参考电压。还有一个用于测试目的的 GND 钩子。另外,还有四个额外的 LED,分别是 PWR、LED(标准引脚 D13)、RX 和 TX LED,连接到 UART1(mikroBUS™ 1 插槽)。此 Click Shield 还具有几个开关,执行诸如选择 mikroBUS™ 插槽上模拟信号的逻辑电平以及选择 mikroBUS™ 插槽本身的逻辑电压级别等功能。此外,用户还可以使用现有的双向电平转换器,无论 Click board™ 是否以3.3V或5V逻辑电压级别运行,都可以使用任何 Click board™。一旦您将 Arduino Mega 板与 Click Shield for Arduino Mega 连接,就可以访问数百个使用3.3V或5V逻辑电压级别工作的 Click board™。

Click Shield for Arduino UNO accessories 1 image

使用的MCU引脚

mikroBUS™映射器

NC
NC
AN
NC
NC
RST
Optocoupler Input
PB2
CS
NC
NC
SCK
NC
NC
MISO
NC
NC
MOSI
Power Supply
3.3V
3.3V
Ground
GND
GND
NC
NC
PWM
NC
NC
INT
NC
NC
TX
NC
NC
RX
NC
NC
SCL
NC
NC
SDA
NC
NC
5V
Ground
GND
GND
1

“仔细看看!”

Click board™ 原理图

OPTO 4 Click Schematic schematic

一步一步来

项目组装

Click Shield for Arduino UNO front image hardware assembly

从选择您的开发板和Click板™开始。以Arduino UNO Rev3作为您的开发板开始。

Click Shield for Arduino UNO front image hardware assembly
Arduino UNO Rev3 front image hardware assembly
Charger 27 Click front image hardware assembly
Prog-cut hardware assembly
Charger 27 Click complete accessories setup image hardware assembly
Arduino UNO Rev3 Access MB 1 - upright/background hardware assembly
Necto image step 2 hardware assembly
Necto image step 3 hardware assembly
Necto image step 4 hardware assembly
Necto image step 5 hardware assembly
Necto image step 6 hardware assembly
Arduino UNO MCU Step hardware assembly
Necto No Display image step 8 hardware assembly
Necto image step 9 hardware assembly
Necto image step 10 hardware assembly
Debug Image Necto Step hardware assembly

实时跟踪您的结果

应用程序输出

此款Click板可通过两种方式进行接口连接和监控:

  • Application Output - 在调试模式下,使用“Application Output”窗口进行实时数据监控。按照本教程正确设置它。

软件支持

库描述

该库包含用于OPTO 4 Click驱动程序的API。

关键功能:

  • opto4_output_enable - 用于启用或禁用输出的函数

开源

代码示例

完整的应用程序代码和一个现成的项目可以通过NECTO Studio包管理器直接安装到NECTO Studio 应用程序代码也可以在MIKROE的GitHub账户中找到。

/*!
 * \file 
 * \brief OPTO 4 Click example
 * 
 * # Description
 * This click sets power on switch enabled and disabled.
 *
 * The demo application is composed of two sections :
 * 
 * ## Application Init 
 * Initialization driver init.
 * 
 * ## Application Task  
 * The Output voltage enable and disable every 3 sec.
 * 
 * \author MikroE Team
 *
 */
// ------------------------------------------------------------------- INCLUDES

#include "board.h"
#include "log.h"
#include "opto4.h"

// ------------------------------------------------------------------ VARIABLES

static opto4_t opto4;
static log_t logger;

// ------------------------------------------------------ APPLICATION FUNCTIONS

void application_init ( void )
{
    log_cfg_t log_cfg;
    opto4_cfg_t cfg;

    /** 
     * Logger initialization.
     * Default baud rate: 115200
     * Default log level: LOG_LEVEL_DEBUG
     * @note If USB_UART_RX and USB_UART_TX 
     * are defined as HAL_PIN_NC, you will 
     * need to define them manually for log to work. 
     * See @b LOG_MAP_USB_UART macro definition for detailed explanation.
     */
    LOG_MAP_USB_UART( log_cfg );
    log_init( &logger, &log_cfg );
    log_info(&logger, "---- Application Init ----");

    //  Click initialization.

    opto4_cfg_setup( &cfg );
    OPTO4_MAP_MIKROBUS( cfg, MIKROBUS_1 );
    opto4_init( &opto4, &cfg );
}

void application_task ( )
{
    opto4_output_enable( &opto4, OPTO4_OUTPUT_ENABLE );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
    opto4_output_enable( &opto4, OPTO4_OUTPUT_DISABLE );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
}

int main ( void ) 
{
    /* Do not remove this line or clock might not be set correctly. */
    #ifdef PREINIT_SUPPORTED
    preinit();
    #endif
    
    application_init( );
    
    for ( ; ; ) 
    {
        application_task( );
    }

    return 0;
}


// ------------------------------------------------------------------------ END

额外支持

资源

喜欢这个项目吗?

'购买此套件' 按钮会直接带您进入购物车,您可以在购物车中轻松添加或移除产品。