Pular para o conteúdo principal

Grove - Acelerômetro Analógico de 3 Eixos 40g (ADXL356C)

pir

Você pode encontrar uma variedade de acelerômetros de 3 eixos em nosso site que podem atender a diferentes cenários e necessidades. Desta vez, trazemos a você os acelerômetros triaxiais da série ADI ADXL de grau industrial, alta estabilidade, alta precisão e baixo consumo de energia.

O Grove - Acelerômetro Analógico de 3 Eixos ±40g (ADXL356C) é um acelerômetro MEMS com saída analógica. Este sensor possui duas faixas de medição selecionáveis: ±10g, ±40g. Você só precisa fazer um pequeno trabalho de calibração para obter um resultado relativamente preciso. A porta Grove on-board pode fornecer dados analógicos de dois canais: um para o eixo Z e um para o eixo X/Y. Você pode escolher a saída do sinal do eixo X ou do eixo Y com a chave on-board. Também é possível usar o furo de soldagem de 4 pinos para obter a saída dos eixos X/Y/Z ao mesmo tempo. O consumo de energia deste sensor é extremamente baixo, 150 μA no modo de operação normal e apenas 21 μA no modo de espera. Você pode alternar o modo de operação alterando a conexão do pad na parte traseira.

A Série de Acelerômetros ADI ADXL inclui quatro produtos que atenderão às suas diferentes necessidades de faixa e tipo de saída:

ProductMeasurement RangeOutput PortPower Consumption
Grove - 3-Axis Analog Accelerometer ±20g (ADXL356B)±10 / ±20gAnalogmeasurement mode:150 μA / standby mode:21 μA
Grove - 3-Axis Analog Accelerometer ±40g (ADXL356C)±10g / ±40gAnalogmeasurement mode:150 μA / standby mode:21 μA
Grove - 3-Axis Digital Accelerometer ±40g (ADXL357)±10g@51200 LSB/g / ±20g@25600 LSB/g / ±40g@12800 LSB/gDigital I2Cmeasurement mode:200μA
Grove - 3-Axis Digital Accelerometer ±200g (ADXL372)±200gDigital I2Cmeasurement mode:22μA

pir

Recursos

  • Ruído líder na indústria, desvio mínimo de offset em função da temperatura e estabilidade de longo prazo, permitindo aplicações de precisão com calibração mínima.
  • O encapsulamento hermético oferece excelente estabilidade de longo prazo; offset de 0 g vs. temperatura (todos os eixos): 0,75 mg/°C máximo
  • O baixo ruído do ADXL356 em frequências mais altas é ideal para monitoramento de condição sem fio.
  • Baixo desvio, baixo ruído
  • Consumo de energia ultrabaixo: modo de operação normal - 150 μA, modo de espera 21 μA.

APLICAÇÕES

  • Unidades de medição inercial (IMUs)/sistemas de referência de altitude e rumo (AHRSs)
  • Sistemas de estabilização de plataforma
  • Monitoramento de integridade estrutural
  • Monitoramento de condição
  • Imageamento sísmico
  • Detecção de inclinação
  • Robótica

Especificação

ParameterValue
Supply voltage3.3V / 5V
Operating ambient temperature-40 – 125℃
Output Full-Scale Range (FSR)±10g / ±40g
Sensitivity at XOUT, YOUT, ZOUT / (Ratiometric to V1P8ANA)±10 g@80 mv/g (Typ.) / ±40 g@20 mv/g (Typ.)
Sensitivity Change due to Temperature±0.01%/°C (TA = −40°C to +125°C)
0g OFFSET / (Referred to V1P8ANA/2)±125 mg(Typ.)
Output interfaceAnalog

Pinagem

pir

pir

Plataformas Suportadas

ArduinoRaspberry Pi

pir

pir

Primeiros Passos

Brincar com Arduino

Materiais necessários

Seeeduino V4.2Base ShieldGrove 3-aixs Accelermeter ADXL356C

pir

pir

pir

Adquira agoraAdquira agoraAdquira agora

Além disso, você pode considerar o nosso novo Seeeduino Lotus M0+, que é equivalente à combinação do Seeeduino V4.2 com o Base Shield.

nota

1 Conecte o cabo USB com cuidado; caso contrário, você pode danificar a porta. Use o cabo USB com 4 fios internos, pois o cabo de 2 fios não consegue transferir dados. Se você não tiver certeza sobre o cabo que possui, pode clicar aqui para comprar. 2 Cada módulo Grove vem com um cabo Grove quando você o compra. Caso você perca o cabo Grove, pode clicar aqui para comprar.

Conexão de Hardware

  • Passo 1. Conecte o Grove - Acelerômetro Analógico de 3 Eixos ±20g (ADXL356B) à porta A0 do Base Shield.

  • Passo 2. Conecte o Grove - Base Shield ao Seeeduino.

  • Passo 3. Conecte o Seeeduino ao PC por meio de um cabo USB.

pir

Software

nota

Se esta é a primeira vez que você trabalha com Arduino, recomendamos fortemente que veja Getting Started with Arduino antes de começar.

ou você pode simplesmente copiar o código a seguir.

nota

Este código foi escrito tanto para o ADXL_356B quanto para o ADXL_356C e, se você precisar implementá-lo no 356C, mude a linha #define MODUEL_RANGE 20 para #define MODUEL_RANGE 40, caso contrário ele não funcionará.


#include <Arduino.h>

#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
#define SERIAL SerialUSB
#define SYS_VOL 3.3
#else
#define SERIAL Serial
#define SYS_VOL 5
#endif

float cali_data_xy;
float cali_data_z;
int16_t scale;

#define MODUEL_RANGE 20

#define MODULE_VOL 1.8

#define CALI_BUF_LEN 15
#define CALI_INTERVAL_TIME 250

float cali_buf_xy[CALI_BUF_LEN];
float cali_buf_z[CALI_BUF_LEN];

#define XY_PIN A0
#define Z_PIN A1

float deal_cali_buf(float *buf)
{
float cali_val = 0;

for(int i = 0;i < CALI_BUF_LEN;i++)
{
cali_val += buf[i];
}
cali_val = cali_val/CALI_BUF_LEN;
return (float)cali_val;
}


void calibration(void)
{
SERIAL.println("Please Place the module horizontally!");
delay(1000);
SERIAL.println("Start calibration........");

for(int i=0;i<CALI_BUF_LEN;i++)
{
cali_buf_xy[i] = analogRead(XY_PIN);;
cali_buf_z[i] = analogRead(Z_PIN);
delay(CALI_INTERVAL_TIME);
}
cali_data_xy = deal_cali_buf(cali_buf_xy);
cali_data_z = (float)deal_cali_buf(cali_buf_z);
SERIAL.println("Calibration OK!!");
scale = (float)1000 / (cali_data_z - cali_data_xy);
cali_data_z -= (float)980 / scale;
SERIAL.println(cali_data_xy);
SERIAL.println(cali_data_z);
SERIAL.println(scale);

}



void AccMeasurement(void)
{
int16_t val_xy = 0;
int16_t val_z = 0;
val_xy = analogRead(XY_PIN);
val_z = analogRead(Z_PIN);

SERIAL.print("Raw data xy = ");
SERIAL.println(val_xy);
SERIAL.print("Raw data z = ");
SERIAL.println(val_z);
SERIAL.println(" ");

val_xy -= cali_data_xy;
val_z -= cali_data_z;
SERIAL.print("x or y position acc is ");
SERIAL.print(val_xy * scale / 1000.0);
SERIAL.println(" g ");
SERIAL.print("z position acc is ");
SERIAL.print(val_z * scale / 1000.0);
SERIAL.println(" g ");
SERIAL.println(" ");
SERIAL.println(" ");
SERIAL.println(" ");
delay(1000);
}

void setup()
{
SERIAL.begin(115200);
#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
analogReadResolution(12);
#endif
calibration();
SERIAL.print("Scale = ");
SERIAL.println(scale);

}



void loop()
{
AccMeasurement();
}

  • Passo 2. Faça o upload da demonstração. Se você não sabe como fazer o upload do código, verifique How to upload code.

  • Passo 3. Abra o Serial Monitor da Arduino IDE clicando em Tool-> Serial Monitor. Ou pressione as teclas ++ctrl+shift+m++ ao mesmo tempo. Defina a taxa de transmissão para 115200.

  • Passo 4. Calibração Siga as dicas de calibração no Serial Monitor, em apenas alguns passos a calibração será concluída

  • Passo 5. Agora você pode usar este sensor, e a saída será assim:

Please Place the module horizontally!
Start calibration........
Calibration OK!!
184.93
185.03
121
Scale = 121
Raw data xy = 185
Raw data z = 193

x or y position acc is 0.00 g
z position acc is 0.85 g



Raw data xy = 188
Raw data z = 196

x or y position acc is 0.36 g
z position acc is 1.21 g
nota

Se você usar a porta Grove para enviar os dados, os eixos X e Y não podem ser enviados ao mesmo tempo; você pode usar a chave integrada para selecionar o canal de saída. Se quiser enviar X/Y/Z ao mesmo tempo, você pode usar o furo de solda de 4 pinos.

FAQ

P1: Como selecionar a faixa de medição de ±10g?

R1: Para alterar a faixa de medição, você precisa modificar tanto o hardware quanto o software. Primeiro, corte o pad traseiro que está conectado a ±40g e ressolde-o em ±10g. Em seguida, modifique o código na linha 12 do bloco de código

#define MODUEL_RANGE           40
\downdownarrows
#define MODUEL_RANGE           10

Visualizador de Esquemático Online

Recursos

Suporte Técnico & Discussão sobre o Produto

Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...