M1K Analog Devices: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
 
(16 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 21: Linha 21:
[[Arquivo:adalm1000_block.png|400px]] <ref NAME=M1K_analog-inputs> https://wiki.analog.com/university/tools/m1k/analog-inputs </ref>
[[Arquivo:adalm1000_block.png|400px]] <ref NAME=M1K_analog-inputs> https://wiki.analog.com/university/tools/m1k/analog-inputs </ref>


As '''entradas analógicas''' podem medir tensões de '''0 a 5 V'''. Para medir tensões além destes limites, deve-se utilizar um circuito [[Divisor de Tensão|'''divisor de tensão''']] externo.
As '''entradas analógicas''' podem medir tensões de '''0 a 5 V'''. Para medir tensões além destes limites, deve-se utilizar um circuito [[Divisor de Tensao|'''divisor de tensão''']] externo.


===Divisor de tensão externo===
===Divisor de tensão externo===
Linha 35: Linha 35:
  R<sub>IN</sub> // R2 = 1M . 500K / 1M + 500k = 333,33 K&Omega;
  R<sub>IN</sub> // R2 = 1M . 500K / 1M + 500k = 333,33 K&Omega;


  V<sub>DIV</sub> = (333,33 K / 1M + 333,33K) V<sub>IN</sub> = 0,25 V<sub>IN</sub>
  ADC<sub>IN</sub> = (333,33 K / 1M + 333,33K) V<sub>IN</sub> = 0,25 V<sub>IN</sub>


;Uso do ''offset'':
;Uso do ''offset'':
*Caso '''R2''' seja conectado a '''terra''' somente poderemos medir tensões positivas (0 V a 20 V). Com '''V<sub>IN</sub> = 0 V''' e tensão medida será '''0 V''', com '''V<sub>IN</sub> = 10 V''' e tensão medida será '''2,5 V''' e com '''V<sub>IN</sub> = 20 V''' e tensão medida será '''5 V'''.
*Caso '''R2''' seja conectado a '''terra''' somente poderemos medir tensões positivas (0 V a 20 V). Com '''V<sub>IN</sub> = 0 V''' e tensão medida será '''0 V''', com '''V<sub>IN</sub> = 10 V''' e tensão medida será '''2,5 V''' e com '''V<sub>IN</sub> = 20 V''' e tensão medida será '''5 V'''.
*Caso '''R2''' seja conectado a '''5V''' poderemos medir tensões positivas e negativas (-10 V a 10 V). Com '''V<sub>IN</sub> = 0 V''' e tensão medida será '''2,5 V''', com '''V<sub>IN</sub> = -10 V''' e tensão medida será '''0 V''' e com '''V<sub>IN</sub> = 10 V''' e tensão medida será '''5 V'''.
*Caso '''R2''' seja conectado a '''5V''' poderemos medir tensões positivas e negativas (-10 V a 10 V). Com '''V<sub>IN</sub> = 0 V''' e tensão medida será '''2,5 V''', com '''V<sub>IN</sub> = -10 V''' e tensão medida será '''0 V''' e com '''V<sub>IN</sub> = 10 V''' e tensão medida será '''5 V'''.
====Capacitâncias no circuito====
A '''capacitância''' de entrada do '''M1K''' é '''C<sub>IN</sub> = 380 pF'''. Esta capacitância pode reduzir a resposta em frequência do divisor de tensão. Através de simulações e testes empíricos o fabricante sugere compensar esta capacitância através de um '''capacitor''' em '''paralelo''' com '''R1''' com '''130 pF'''. Esta capacitância pode ser obtida com 100 pF em paralelo com 27 pF (total de 127 pF) ou dois capacitores de 68 pF em paralelo <ref NAME=M1K_analog-inputs/>.


===Acoplamento AC===
===Acoplamento AC===


Outra variação de circuito de entrada é inserir um '''capacitor em série''' para prover um '''acoplamento AC'''.
Outra variação de circuito de entrada é inserir um '''capacitor em série''' para prover um '''acoplamento AC''' <ref NAME=M1K_analog-inputs/>.
 
Se utilizarmos um resistor R2 = 1 M&Omega; conectado entre o canal A e a fonte de alimentação de +5 V teremos a entrada variando em torno de 2,5 V (tensão no meio do divisor de tensão entre R2 e R<sub>IN</sub>). Dependendo da frequência de corte desejada e da resistência paralela equivalente (R<sub>IN</sub> // R2 = 500 K&Omega;), um capacitor apropriado pode ser escolhido. Na figura foi inserido um capacitor de 47 pF (valor grande) que deixa passar frequências acima de 1 Hz.


Se utilizarmos um resistor R2 = 1 M&Omega; conectado entre o canal A e a fonte de alimentação de +5 V teremos a entrada variando em torno de 2,5 V, baseado no resistor em paralelo com R<sub>IN</sub> = 1 M&Omega;. Dependendo da frequência de corte desejada e da resistência paralela um capacitor apropriado pode ser escolhido. Na figura foi inserido um capacitor de 47 pF (valor grande) que deixa passar frequências acima de 1 Hz.
[[Arquivo:adalm100_input_ac.png]]


[[Arquivo:adalm100_input_ac.png]] <ref NAME=M1K_analog-inputs/>
Na figura podemos ver o sinal de entrada (vermelho) com a mesma amplitude do sinal visualizado no canal A (verde) agora centrado em 2,5 V.  


====Capacitâncias no circuito====
[[Arquivo:adalm100_input_ac_graph.png]]
A '''capacitância''' de entrada do '''M1K''' é '''C<sub>IN</sub> = 380 pF'''. Esta capacitância pode reduzir a resposta em frequência do divisor de tensão. Através de simulações e testes empíricos o fabricante sugere compensar esta capacitância através de um '''capacitor''' em '''paralelo''' com '''R1''' com '''130 pF'''. Esta capacitância pode ser obtida com 100 pF em paralelo com 27 pF (total de 127 pF) ou dois capacitores de 68 pF em paralelo <ref NAME=M1K_analog-inputs/>.


==Software==
==PixelPulse==
Dois aplicativos oferecem interface usuário para visualizar e manipular sinais em dispositivos conectados ao módulo Analog Devices '''M1K''':
* '''pixelpulse'''
*'''Alice'''


===pixelpulse===
O '''PixelPulse''' é uma aplicação que provê uma interface usuário para visualizar e manipular sinais em dispositivos conectados ao módulo '''Analog Devices M1K'''.
O '''pixelpulse''' é uma aplicação que provê uma interface usuário para visualizar e manipular sinais em dispositivos conectados ao módulo Analog Devices '''M1K''' <ref NAME=pixelpulse> https://wiki.analog.com/university/tools/m1k/pixelpulse</ref>.


;Descrição da instalação realizada no Ubuntu 20.04: [[Usuário:Evandro.cantu|Evandro.cantu]] ([[Usuário Discussão:Evandro.cantu|discussão]]) 16h02min de 12 de junho de 2020 (-03)
Uma descrição dos procedimentos para '''instalação''' do '''PixelPulse''' em diferentes sistemas é mostrada em <ref NAME=PixelPulse> https://github.com/analogdevicesinc/Pixelpulse2</ref>.


Antes de instalar o aplicativo '''pixelpulse''' é necessário instalar a biblioteca '''LibSMU''' <ref NAME=M1K> https://wiki.analog.com/university/tools/m1k</ref>.
;Linux: Para instalação no '''Linux''' o software deve ser montado a partir dos fontes, juntamente com a instalação de várias dependências e softwares adicionais:
*Montagem e instalação do '''libsmu''';
*Instalação do '''Qt5''';
*Montagem e instalação do '''PixelPulse'''.


====libsmu====
===libsmu===
Biblioteca de programas desenvolvida em '''Python''' para dispositivos conectados via USB, como o M1k. Oferece suporte para apresentar as formas de onda periódicas, configuração do hardware e medida de sinais.  
Biblioteca de programas para dispositivos conectados via USB, como o M1k. Oferece suporte para apresentar as formas de onda periódicas, configuração do hardware e medida de sinais.  


;Passos instalação: <ref>https://github.com/analogdevicesinc/libsmu</ref>
;Passos instalação <ref>https://github.com/analogdevicesinc/libsmu</ref>:
:Atualização da instalação:
*Instalação dos pré requisitos:
  sudo apt update
  sudo apt-get update
  sudo apt -y upgrade
  sudo apt-get install libusb-1.0-0-dev libboost-all-dev cmake pkg-config
:Verificação da versão do Python
*Instalação do Python:
python3 -V
  sudo apt-get install python3 python3-setuptools python3-pip
:Instalação dos pacotes
  python3 -m pip install --upgrade pip
sudo apt install -y build-essential libssl-dev libffi-dev python3-setuptools python3-dev
  sudo python3 -m pip install cython setuptools build wheel
sudo apt install -y python3-pip
*Instalação da documentação:
:Pacote Cython
  sudo apt-get install doxygen
sudo apt install cython
*Clonar o repositório do Libsmu:
:Verificar a versão e instalar cmake
apt info cmake
sudo apt  install cmake
:Instalar a biblioteca LibUSB
  sudo apt-get install libboost-all-dev
  sudo apt-get install -y libusb-1.0
  sudo apt-get install libusb-1.0-0-dev libudev-dev
:Instalar os pacotes adicionais
  sudo apt-get install libblkid-dev e2fslibs-dev libboost-all-dev libaudit-dev
:Clonar o repositório do Libsmu:
  git clone https://github.com/analogdevicesinc/libsmu.git
  git clone https://github.com/analogdevicesinc/libsmu.git
:Configurar com cmake
*Montagem e instalação:
  cd libsmu
  cd libsmu
  mkdir build
  mkdir build && cd build
cd build
  cmake .. -DBUILD_PYTHON=ON
  cmake ..
  make
  make
  make install
  sudo make install


====pixelpulse====
===pixelpulse===
Para a instalação do '''pixelpulse''' é necessário o software '''Qt5.4'''.
Para a instalação do '''pixelpulse''' é necessário o software '''Qt5.4'''.
 
:Passos instalação: <ref>https://wiki.analog.com/university/tools/m1k/pixelpulse/build</ref>
;Passos instalação <ref NAME=PixelPulse/>:
:Instalação do pacote QT5
*Instalação do Qt5 e outros módulos:
  sudo apt install qtbase5-dev qtdeclarative5-dev
  sudo apt-get install -y qt5-default qtdeclarative5-dev qml-module-qtquick-dialogs qml-module-qt-labs-settings qml-module-qt-labs-folderlistmodel qml-module-qtqml-models2 qml-module-qtquick-controls
:Clonar o repositório do Pixelpulse:
*Clonar o repositório do PulsePixel:
  git clone --recursive https://github.com/signalspec/pixelpulse2
  git clone https://github.com/analogdevicesinc/Pixelpulse2
*Montagem e instalação:
  cd pixelpulse2
  cd pixelpulse2
  mkdir build
  mkdir build
  cd build
  cd build
:Checar versão do qmaker
  cmake ..
  qmake --version
  make
  qmake ..
*Rodar PixelPulse:
 
./pixelpulse2
A realização dos procedimentos para instalar o software '''Qt5.4''' e o '''pixelpulse''' ocorreu sem erros. Entretanto, o '''pixelpulse''' não rodou devido a vários pacotes pendentes no módulo QT5.
 
;Procedimentos realizados:


;Outros procedimentos realizados:
  export QT_SELECT=5
  export QT_SELECT=5


Pacotes complementares instalados:
<!--===Alice===
sudo apt-get install cmake cmake-data qtdeclarative5-dev qml-module-qtquick-controls qml-module-qtquick-dialogs qmlscene qt5-default
 
sudo apt-get install qml-module-qtquick-controls qml-module-qtquick-dialogs
 
sudo apt-get install qml-module-qt-labs-folderlistmodel
 
sudo apt-get install qml-module-qtqml-models2
 
sudo apt-get install qml-module-qt-labs-settings
 
===Alice===


;Alice: '''A'''ctive '''L'''earning '''I'''nterface (for) '''C'''ircuits (and) '''E'''lectronics M1K
;Alice: '''A'''ctive '''L'''earning '''I'''nterface (for) '''C'''ircuits (and) '''E'''lectronics M1K
Linha 158: Linha 138:
*Incluir no PATH o '''PYTHONPATH''' para evitar o erro '''"Pysmu not found"''' com o comando:
*Incluir no PATH o '''PYTHONPATH''' para evitar o erro '''"Pysmu not found"''' com o comando:
  export PYTHONPATH=/usr/lib/python2.7/site-packages/:${PYTHONPATH}
  export PYTHONPATH=/usr/lib/python2.7/site-packages/:${PYTHONPATH}
:Pode também editar o arquivo '''.bashrc''' e incluir o comando para ser executado a cada login.
:Pode também editar o arquivo '''.bashrc''' e incluir o comando para ser executado a cada login. -->


==Referências==
==Referências==

Edição atual tal como às 16h28min de 28 de maio de 2022

M1K Analog Devices

O Kit Analog Devices M1K é um módulo educacional para estudo de eletrônica, oferecendo de dois canais analógicos que podem gerar ou medir sinais analógicos de até 100 k amostragens por segundo (kSPS). As referências deste material foram obtidas na wiki do fabricante [1].

Cada canal analógico possui três modos de operação:

  • Medir tensão
  • Gerar tensão e medir corrente
  • Gerar corrente e medir tensão

No modo de medida de tensão o sistema se comporta como um osciloscópio, mostrando as formas de onda de tensão no display.

No modo gerador de tensão/medida de corrente, o sistema gera formas de onda de tensão contínua, senoidal, triangular, dente de serra e quadrada, e mede a forma da corrente. De modo similar, no modo gerador de corrente/medida de tensão, o sistema gera diferentes formas de onda de corrente e mede a tensão.

O módulo M1K recebe energia da interface USB e opera con tensões de 0 a 5 V e corrente de -200 a 200 mA, com precisão de 100 μV, 100 μA e 10 μs [2].

Entradas Analógicas

O módulo M1K possui 6 pinos de entrada/saídas analógicas, das quais os Canais A e B são os pinos externos. O diagrama em blocos de um dos canais é mostrado na figura:

[3]

As entradas analógicas podem medir tensões de 0 a 5 V. Para medir tensões além destes limites, deve-se utilizar um circuito divisor de tensão externo.

Divisor de tensão externo

[3]

O divisor de tensão externo deve trabalhar em conjunto com a resistência interna do M1K, RIN = 1 MΩ. O resistor R1 é a resistência de entrada do divisor de tensão. O resistor R2 pode ser conectado a terra, ou a 2,5 V ou 5 V para inserir um offset e permitir medir tensões negativas.

Exemplo de utilização

Cálculo do divisor de tensão
  • Se R1 = 1 MΩ e R2 = 500 KΩ e conectado a terra, a resistência na base do divisor será o paralelo entre RIN e R2, ou seja, 333,33 KΩ, o que resulta num fator de divisão de 4X.
RIN // R2 = 1M . 500K / 1M + 500k = 333,33 KΩ
ADCIN = (333,33 K / 1M + 333,33K) VIN = 0,25 VIN
Uso do offset
  • Caso R2 seja conectado a terra somente poderemos medir tensões positivas (0 V a 20 V). Com VIN = 0 V e tensão medida será 0 V, com VIN = 10 V e tensão medida será 2,5 V e com VIN = 20 V e tensão medida será 5 V.
  • Caso R2 seja conectado a 5V poderemos medir tensões positivas e negativas (-10 V a 10 V). Com VIN = 0 V e tensão medida será 2,5 V, com VIN = -10 V e tensão medida será 0 V e com VIN = 10 V e tensão medida será 5 V.

Capacitâncias no circuito

A capacitância de entrada do M1K é CIN = 380 pF. Esta capacitância pode reduzir a resposta em frequência do divisor de tensão. Através de simulações e testes empíricos o fabricante sugere compensar esta capacitância através de um capacitor em paralelo com R1 com 130 pF. Esta capacitância pode ser obtida com 100 pF em paralelo com 27 pF (total de 127 pF) ou dois capacitores de 68 pF em paralelo [3].

Acoplamento AC

Outra variação de circuito de entrada é inserir um capacitor em série para prover um acoplamento AC [3].

Se utilizarmos um resistor R2 = 1 MΩ conectado entre o canal A e a fonte de alimentação de +5 V teremos a entrada variando em torno de 2,5 V (tensão no meio do divisor de tensão entre R2 e RIN). Dependendo da frequência de corte desejada e da resistência paralela equivalente (RIN // R2 = 500 KΩ), um capacitor apropriado pode ser escolhido. Na figura foi inserido um capacitor de 47 pF (valor grande) que deixa passar frequências acima de 1 Hz.

Na figura podemos ver o sinal de entrada (vermelho) com a mesma amplitude do sinal visualizado no canal A (verde) agora centrado em 2,5 V.

PixelPulse

O PixelPulse é uma aplicação que provê uma interface usuário para visualizar e manipular sinais em dispositivos conectados ao módulo Analog Devices M1K.

Uma descrição dos procedimentos para instalação do PixelPulse em diferentes sistemas é mostrada em [4].

Linux
Para instalação no Linux o software deve ser montado a partir dos fontes, juntamente com a instalação de várias dependências e softwares adicionais:
  • Montagem e instalação do libsmu;
  • Instalação do Qt5;
  • Montagem e instalação do PixelPulse.

libsmu

Biblioteca de programas para dispositivos conectados via USB, como o M1k. Oferece suporte para apresentar as formas de onda periódicas, configuração do hardware e medida de sinais.

Passos instalação [5]
  • Instalação dos pré requisitos:
sudo apt-get update
sudo apt-get install libusb-1.0-0-dev libboost-all-dev cmake pkg-config
  • Instalação do Python:
sudo apt-get install python3 python3-setuptools python3-pip
python3 -m pip install --upgrade pip
sudo python3 -m pip install cython setuptools build wheel
  • Instalação da documentação:
sudo apt-get install doxygen
  • Clonar o repositório do Libsmu:
git clone https://github.com/analogdevicesinc/libsmu.git
  • Montagem e instalação:
cd libsmu
mkdir build && cd build
cmake .. -DBUILD_PYTHON=ON
make
sudo make install

pixelpulse

Para a instalação do pixelpulse é necessário o software Qt5.4.

Passos instalação [4]
  • Instalação do Qt5 e outros módulos:
sudo apt-get install -y qt5-default qtdeclarative5-dev qml-module-qtquick-dialogs qml-module-qt-labs-settings qml-module-qt-labs-folderlistmodel qml-module-qtqml-models2 qml-module-qtquick-controls
  • Clonar o repositório do PulsePixel:
git clone https://github.com/analogdevicesinc/Pixelpulse2
  • Montagem e instalação:
cd pixelpulse2
mkdir build
cd build
cmake ..
make
  • Rodar PixelPulse:
./pixelpulse2
Outros procedimentos realizados
export QT_SELECT=5


Referências


--Evandro.cantu (discussão) 18h15min de 18 de outubro de 2017 (BRST)