collapse

* Posts Recentes

Bibliotecas para arduino e drivers de stepper - o problema da 'distracção' por SerraCabo
[Ontem às 23:27]


Zener BZW04-105? por brunus
[Ontem às 17:34]


Artigo 11, 13 e os restantes por jm_araujo
[10 de Dezembro de 2018, 11:05]


Compra Colectiva Mouser N3-2018 (limite 25 Nov) por Hugu
[10 de Dezembro de 2018, 01:07]


Ajuda para reparar Luzes de LED de Natal por brunus
[09 de Dezembro de 2018, 00:59]


Como reproteger as pontas de cobre do ferros de soldar? por brunus
[09 de Dezembro de 2018, 00:12]


Usar steppers de 5 pontas como se fossem de 4 pontas por SerraCabo
[08 de Dezembro de 2018, 21:18]


LusoRobótica - Website - Estado actual por Tech_JA
[06 de Dezembro de 2018, 09:18]


Como transformar um mosquito killer de tomada em um portátil? por brunus
[05 de Dezembro de 2018, 23:28]


LR, passado, presente e futuro por iyahdub
[05 de Dezembro de 2018, 04:16]

Autor Tópico: Acelerómetro BMA250  (Lida 1176 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Vieira

  • Mini Robot
  • *
  • Mensagens: 40
Acelerómetro BMA250
« em: 24 de Março de 2017, 15:17 »
Boa Tarde,

Eu ando a trabalhar num projecto onde utilizo o acelerómetro da bosch, o BMA250. Consigo ler valores dos 3 eixos através de I2C, mas quando configuro a interrupção, não obtenho resposta no interrupt status. Alguém já utilizou este tipo de sensor? ou configurou alguma interrupção nele?

Cumprimentos,
Vieira

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.585
  • Helpdesk do sitio
Re: Acelerómetro BMA250
« Responder #1 em: 24 de Março de 2017, 16:07 »
Especificamente esse não, mas já usei vários acelerómetros diferentes, o que mais tenho usado é um MMA de 10 bits que custa 80 centimos.
Estás a usar código teu, ou uma biblioteca qualquer random das internets?
Código sff..
Avr fanboy

Offline Vieira

  • Mini Robot
  • *
  • Mensagens: 40
Re: Acelerómetro BMA250
« Responder #2 em: 24 de Março de 2017, 16:16 »
Estou a usar código meu.

i2cStart();
i2cTx((ACC_I2C_ADDR << 1) | I2C_OP_WRITE);
fwDelayUs(50000, FW_DELAY_RANGE_50_MS);    //send command and wait

i2cTx(ACC_BAND_CFG);    //Config Bandwith
i2cTx(SET_BAND);
i2cTx(ACC_RANG_CFG);    //Config Range
i2cTx(SET_RANGE);
fwDelayUs(25000, FW_DELAY_RANGE_50_MS);    //send command and wait
i2cTx(0x19);                   //Config Slope Interrupt
i2cTx(0x04);
fwDelayUs(25000, FW_DELAY_RANGE_50_MS);    //send command and wait
i2cStop();

O código é escrito no Sensor Controller Studio. É idêntico a C. Se precisarem de mais alguma informação, digam.

Cumprimentos,
Vieira

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.585
  • Helpdesk do sitio
Re: Acelerómetro BMA250
« Responder #3 em: 24 de Março de 2017, 16:21 »
Não estás a escrever nada para os reg's 0x16/0x17 que são os interrupt enables, e aconselho-te a reler a datasheet que pode-te/deve-te ter passado mais coisas ao lado.

Alguma devboard que estás a usar, ou algo custom?
« Última modificação: 24 de Março de 2017, 16:24 por senso »
Avr fanboy

Offline Vieira

  • Mini Robot
  • *
  • Mensagens: 40
Re: Acelerómetro BMA250
« Responder #4 em: 24 de Março de 2017, 16:26 »
Pois, esqueci-me de por aqui. No final tenho,

i2cTx(0x17);      //Enable New Data interrupt
i2cTx(0x10);
i2cTx(0x16);      //Enable XYZ SLOP interruption
i2cTx(0x01);

Como tenho muito código comentado só fiz post de algumas partes. Mas tenho feito enable das interrupções no final.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.585
  • Helpdesk do sitio
Re: Acelerómetro BMA250
« Responder #5 em: 24 de Março de 2017, 16:36 »
Muda o  registo  0x27/0x28 para ver no que dá.
Avr fanboy

Offline Vieira

  • Mini Robot
  • *
  • Mensagens: 40
Re: Acelerómetro BMA250
« Responder #6 em: 24 de Março de 2017, 16:40 »
Eu mudo, mas esses registos são dedicados ao slope threshold e ao slope duration.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.585
  • Helpdesk do sitio
Re: Acelerómetro BMA250
« Responder #7 em: 24 de Março de 2017, 16:50 »
Se li bem o default é de um sample, pode ou não ser suficiente.
Avr fanboy

Offline Vieira

  • Mini Robot
  • *
  • Mensagens: 40
Re: Acelerómetro BMA250
« Responder #8 em: 24 de Março de 2017, 17:12 »
Já testei. Tive uma altura em que consegui um sinal num dos status (0x0B) mas depois comecei a receber NACK pelo sensor. Não sei se pode ser sido algum bug ou assim. Porque eu mexo o acelarómetro em todas e direcções e nada.

Cumps.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.585
  • Helpdesk do sitio
Re: Acelerómetro BMA250
« Responder #9 em: 24 de Março de 2017, 17:58 »
Mas consegues ler o sensor sem problemas ou levas com NACK's?
Avr fanboy

Offline Vieira

  • Mini Robot
  • *
  • Mensagens: 40
Re: Acelerómetro BMA250
« Responder #10 em: 24 de Março de 2017, 18:09 »
Os valores dos 3 eixos eu consigo ler sem problemas nenhuns, consigo obter boas leitura de acordo com a posição do sensor.