O módulo de variação de laser em miniatura STA-M020X adota o componente a laser semicondutores de 905nm de 905nm humanos, que tem as vantagens de longo alcance, baixo consumo de energia, tamanho pequeno, peso leve, vida útil longa etc. e outros equipamentos e outros equipamentos.
Faixa de medição: 5-2000 metros
Medição de árvores ≥1500 metros
Precisão da medição ± 1m
Peso ≤14 ± 0,5g
Modelo | STA-M020X | |
Comprimento de onda do laser | 905nm | |
Capacidade de variação | Prédio | 2000m |
Árvores | 1500m | |
Grau a laser | Segurança ocular da classe 1 | |
Mini Range | 5m | |
Resolução | ± 0,1m | |
Corrente operacional | ≤90mA | |
Atual em espera | ≤20mA | |
Consumo de energia | Standby≤0.18w | |
Peak≤0,55w | ||
Interface de comunicação | Ttl | |
Temperatura operacional | · -20 ℃ ~+55 ℃ | |
Temperatura de armazenamento | · -30 ℃ ~+60 ℃ | |
Tensão de entrada | 3-5V (fonte de alimentação de 5V recomendada) | |
Ângulo de divergência de feixe | 5 doenças | |
Frequência de variação | 1-3Hz | |
Poder | ≤1 MW seguro para olhos humanos | |
Método de variação | Pulso | |
Peso | 14 ± 0,5g | |
Tamanho | Φ23x47mm |
Interface TTL | |||
Alfinete | Definição de pino | Descrever | Desenho esquemático |
1 | Gnd | Fonte de energia - |
![]() |
2 | Vin | Fonte de alimentação + | |
3 | Txd | Transmitir dados | |
4 | Rxd | Dados recebidos | |
5 | Eno | Ativar pino, reservado | |
|
|
|
Comando Master | ||
Código de comando | Descrição | Transmissão adicional. resposta |
0x80 | Leia o status do RangeFinder | NÃO |
0x81 | Leia o resultado da medição | NÃO |
0x83 | Comece a variando | NÃO |
0x84 | Pare de variando | NÃO |
0x9e | Programa de parâmetros de comunicação | SIM |
0xbe | Leia o parâmetro de comunicação | SIM |
0xc0 | Teste de comunicação | SIM |
0xc1 | Leia a versão do firmware | SIM |
|
|
|
Resposta do escravo | ||
Código de reconhecimento | Descrição | |
0x60 | Quadro de resposta simples | |
0x01 | Quadro de dados de alcance | |
0x20 | Quadro de status Rangefinder | |
0x21 | Quadro do parâmetro de comunicação | |
0xe0 | Quadro de mensagem de erro |
1. O formato do quadro de comunicação:
SlaveID + Instrução + Parâmetro + Verificação
2. O intervalo entre dois quadros adjacentes deve ser pelo menos o tempo de 1,5 byte quando
enviado, quando é inferior a 1ms, é considerado 1ms;
600BPS:25ms
1200BPS:12,5ms
2400BPS:6,25ms
4800BPS:3.125ms
9600BPS:1,56ms
19200BPS:1ms (0,78ms <1ms, pegue 1ms)
3. Enviando calcular a soma de verificação;
Este módulo usa o modo de verificação de byte por soma de acumulação de bytes, SlaveID não é
Incluído na verificação, o envio de soma de cheques.
Como calcular a soma da soma da instrução do modo de varredura "0x83 0x40":
A.Calcular a soma da acumulação:0x83 + 0x40 = 0xc3;
B.Take LSB [D7..D0]:0xc3;
C.Calculate 2 do complemento:0x100 - 0xc3 = 0x3d, 0x3d é soma de verificação;
Adicionar endereço de escravo quando o Mater enviar:0x10 0x83 0x40 0x3d
4. Recibo de verificação;
Como receber o quadro de comunicação:0x10 0x83 0x40 0x3d, verificação não incluindo
Endereço de escravo 0x10
A.Calcular a soma da acumulação:0x83 + 0x40 + 0x3d = 0x100;
B.Take lsb de soma de acumulação:0x00; 0x00 é resultado de verificação;
Se o resultado da verificação for 0x00, isso significa que os dados recebidos estão corretos; Se o resultado da verificação
não é 0x00, isso significa que os dados recebidos estão errados.
Nota: No exemplo, o endereço de escravo de cada comando é 0x10; no aplicativo, o endereço do escravo será o programado.
1 、 Teste de comunicação (0xc0) ; ;
Mestre envia | ||
Código de comando | Parâmetro | Descrição |
0xc0 | Nenhum |
|
Respostas de escravos | ||
Código de reconhecimento | Parâmetro | Descrição |
0x60 | Nenhum |
|
Exemplo | ||
Mestre envia: 0x10 0xc0 0x40; 0x40 é soma de verificação Resposta do escravo: 0x10 0x60 0XA0; 0XA0 é verificação |
2 、 Slave de comando para começar a variando (0x83) ;
Mestre envia | ||
Código de comando | Parâmetro | Descrição |
0x83 | BYTE1 | D7: Reserva |
D6: Modo de alcance contínuo, 0 = OFF; 1 = on; | ||
D5: Modo de neblina, 0 = OFF; 1 = on; | ||
D4: unidade de dados, 0 = medidor; 1 = quintal; | ||
D3 - D0: Modo de trabalho, 0 = variação; 1 = velocidade; 2 = Modo de destino pequeno; | ||
Respostas de escravos | ||
Código de reconhecimento | Parâmetro | Descrição |
0x60 | Nenhum | Se o escravo for definido como o modo de exportação automática, o escravo responderá 0x60 primeiro após a recepção do comando de início do início, após o término da variação, ele enviará o resultado variante; |
Exemplo | ||
Mestre envia: 0x10 0x83 0x00 0x7d: o modo 0 é para medida única, a unidade de dados é medidor; 0x10 0x83 0x40 0x3d: o modo 0 é para mesure contínua, a unidade de dados é medidor; 0x10 0x83 0x10 0x6d: o modo 0 é para medida única, a unidade de dados é pátio; 0x10 0x83 0x20 0x2d: o modo 0 é para mesure contínua, a unidade de dados é quintal; Resposta de escravos: 0x10 0x60 0XA0; |
Observação:1 、 Se o método de exportação de dados do módulo for definido como modo de consulta, ele poderá fazer apenas uma medida;
2. No modo de velocidade, a função de alcance contínuo é nulo, que não é uma medida de velocidade contínua;
3. O modoFog é válido apenas para dispositivo com função de modo de neblina;
4.Slave enviará o quadro de resposta 0x60 Após a recepção do comando STOW Ranging, ele começará a enviar o resultado interno após o término da variação.
3 、 Comando Stove Stop Stop (0x84) ;
Mestre envia | ||
Código de comando | Parâmetro | Descrição |
0x84 | Nenhum |
|
Nota: Depois que o mestre envia comando para escravo para fazer variações contínuas, ele precisa enviar esse comando para o escravo para parar de variação. Se o mestre enviar comando para o escravo para fazer um único tempo, não é necessário enviar esse comando, porque o escravo parará de variando automaticamente após o término da variação.
4 、 Ler Status do escravo (0x80) ;
Mestre envia | ||
Código de comando | Parâmetro | Descrição |
0x80 | Nenhum |
|
Respostas de escravos | ||
Código de reconhecimento | Parâmetro | Descrição |
0x20 | BYTE1 | D7: 1 = rangefinder ocupado; 0 = variando terminado; D6: 1 = mau funcionamento do rangefinder; 0 = sem funcionamento; D5-D2: Reserva; D1: 0 = Sensor de ângulo proibido; 1 = sensador de ângulo ativado; D0: 0 = O sensor de ângulo é normal; 1 = sensor de ângulo anormal; |
BYTE2 | Reserva |
5 、 Ler Range Finder Result (0x81) ;
Mestre envia | ||
Código de comando | Parâmetro | Descrição |
0x81 | Nenhum |
|
Respostas de escravos | ||
Código de reconhecimento | Parâmetro | Descrição |
0x01 | BYTE1 | D7 :: Dados de distância, 0 = dados válidos; 1 = dados inválidos; D6 :: Dados do ângulo, 0 = dados válidos; 1 = dados inválidos; D5: Resolução de dados, 0 = 0,5/LSB; 1 = 0,1/LSB; D4: unidade de dados, 0 = medidor; 1 = quintal; D3 - D0: Modo de trabalho, 0 = variação; 1 = velocidade; |
BYTE2 | Quando a distância é válida: distância [d15..d8]; Quando a distância é inválida: 0x80 = variando nenhum resultado; 0x81 = erro do sistema; |
|
Byte3 | Quando o ângulo é válido: distância [d7..d0]; Quando o ângulo é inválido: reserva; |
|
|
|
|
Exemplo | ||
1 、 escravo envia a distância quadro: 0x10 0x01 0x60 0x12 0xd7 0xb6 Valor da distância = 0x12d7 = 4823 = 482,3m 2 、 O escravo envia estrutura de velocidade: 0x10 0x01 0x21 0x03 0xd7 0x04 Valor de velocidade = 0x03d7 = 983 = 98,3km/h 3 、 escravo envia a distância quadro: 0x10 0x01 0xe0 0x80 0x00 0x9f O valor da distância é inválido (o primeiro byte é 0xe0, d7 = 1) |
6 、 Escreva taxa de transmissão de comunicação de escravos (0x9e), a configuração da fábrica é de 19200bps ;
Mestre envia | ||
Parâmetro | Descrição |
|
BYTE1 | tem que ser 0x90 |
|
BYTE2 | Reserva |
|
Byte3 | Reserva |
|
byte4 | Configuração da taxa de transmissão: 0 = 1200BPS; 1 = 2400bps; 2 = 4800bps; 3 = 9600BPS; 4 = 19200BPS (padrão); |
|
Respostas de escravos | ||
Parâmetro | Descrição |
|
(Consulte a parte do escravo Parte do parâmetro de escravo de leitura) | ||
Exemplo | ||
Se o mestre enviar quadro: 0x10 0x9e 0x90 0x00 0x00 0x04 0xce; É significa: definir a taxa de transmissão de escravo como 19200bps, |
Nota: A nova taxa de transmissão é válida apenas após a reinicialização o módulo;
7 、 Escreva endereço de escravo (0x9e), configurações de fábrica: 0x10 ;
Mestre envia | ||
Código de comando | Parâmetro | Descrição |
0x9e | BYTE1 | Deve ser 0x91 |
BYTE2 | Reserva | |
Byte3 | Reserva | |
byte4 | Novo endereço escravo; | |
Respostas de escravos | ||
Código de reconhecimento | Parâmetro | Descrição |
(Consulte a parte do escravo Parte do parâmetro de escravo de leitura) | ||
Exemplo | ||
Para escrever o endereço de escravo como 0x20, então o mestre envia: 0x10 0x9e 0x91 0x00 0x00 0x20 0xb1 |
Observação:1. O novo endereço de escravo é válido após o reinício do dispositivo
2. 0x00 é o endereço de transmissão, portanto, o endereço de escravo não pode ser definido como 0x00;
3. O endereço do escravo padrão é 0x10;
8 、 Escreva o método de exportação de resultado medido (0x9e) ;
Mestre envia | ||
Código de comando | Parâmetro | Descrição |
0x9e | BYTE1 | Deve ser 0x92 |
BYTE2 | Reserva | |
Byte3 | Reserva | |
byte4 | Método de exportação de resultado medido Selectiong: 0 = Modo de consulta (o escravo só pode exportar dados quando o mestre envia o comando Reading) 1 (padrão) = modo automático (após o término da variação, ele envia dados automaticamente); |
|
Respostas de escravos | ||
Código de reconhecimento | Parâmetro | Descrição |
(Consulte a parte do escravo Parte do parâmetro de escravo de leitura) | ||
Exemplo | ||
Para alterar a exportação de dados para exportação automática, o mestre envia: 0x10 0x9e 0x92 0x00 0x00 0x01 0xcf |
9 、 Defina a tensão IO UART (0x9E), configuração de fábrica: 3.3V ;
Exemplo | ||
Código de comando | Parâmetro | Descrição |
0x9e | BYTE1 | Deve ser 0x93 |
BYTE2 | Reserva | |
Byte3 | Reserva | |
byte4 | Configuração de tensão UART IO: 72 - 199, 0,025V/LSB; | |
Respostas de escravos | ||
Código de reconhecimento | Parâmetro | Descrição |
(Consulte a parte do escravo Parte do parâmetro de escravo de leitura) | ||
Exemplo | ||
Altere a tensão UART IO para 3.3V, então o mestre envia: 0x10 0x9e 0x93 0x00 0x00 0x84 0x4b |
Nota : Vio = Configuração * 0,025V, VIO padrão = 3,3V
10 、 Leitura Parâmetro de comunicação (0xBE) ;
Mestre envia | ||
Código de comando | Parâmetro | Descrição |
0xbe | BYTE1 | Deve ser 0x91 ou 0x92 |
Respostas de escravos | ||
Código de reconhecimento | Parâmetro | Descrição |
0x21 | BYTE1 | Endereço escravo: 0x01 - 0xff |
BYTE2 | D4: método de exportação de dados; D3 - D0: Configuração da taxa de transmissão; |
|
Byte3 | Configuração de tensão UART IO |
11 、 O escravo envia informações erradas (0xe0) ; ;
Respostas de escravos | ||
Código de reconhecimento | Parâmetro |
|
0xe0 | BYTE1 | D7 - D3: Reserva; D2: 1 = erro de parâmetro de comunicação; D1: 1 = Commmand irreconhável; D0: 1 = erro de soma de verificação; |
12 、 Leia a versão do firmware (este comando foi suportado apenas na versão V7.00 ou mais recente;) ;
Mestre envia | ||
Código de comando | Parâmetro |
|
0xc1 | Nenhum |
|
Respostas de escravos | ||
Código de reconhecimento | Parâmetro | Notas |
0x61 | byte0 | Versão de maio (BCD) |
BYTE1 | Versão menor (BCD) | |
Exemplo | ||
Respostas dos escravos: 0x10 0x61 0x07 0x00 0x98 Dados "0x07 0x00" significa que a versão do firmware é v7.00. |