Atividade #663
FechadaMeta #523: Ter novas placas mãe para RoboCup 2018
Teste do shield com novos periféricos da placa mãe
Descrição
Desenvolvimento de firmware para teste de funcionalidade.
Arquivos
Atualizado por Onias Castelo Branco há mais de 6 anos
Usei a função que criamos que liga os leds e ambos funcionaram como previsto, com um potencial de 2.8V
Atualizado por Onias Castelo Branco há mais de 6 anos
mpu-9250 datasheet: http://www.invensense.com/wp-content/uploads/2015/02/PS-MPU-9250A-01-v1.1.pdf
mpu-9250 user guide (InvenSense Motion Sensor Universal Evaluation Board (UEVB) User Guide): http://www.invensense.com/wp-content/uploads/2017/06/AN-IVS-0001EVB-00-v1.4.pdf
mpu-9250 register map: http://www.invensense.com/wp-content/uploads/2017/11/RM-MPU-9250A-00-v1.6.pdf
Atualizado por Onias Castelo Branco há mais de 6 anos
Estou com problemas na programação do giroscópio e do acelerômetro. Pesquisei então algumas referências de programação do mpu9250. Seguem algumas abaixo:
Atualizado por Onias Castelo Branco há mais de 6 anos
Comecei um codigo baseado no firmware do futebol para ligar os leds. Feito isso, passei para o mpu9250.
Li sobre o uso dos registradores no mpu9250 e procurei referencias de programação. Sobre o spi, estudei o codigo do firmware mas não tive muito progresso. Não consegui dar chip select para selecionar o mpu9250.
Atualizado por Onias Castelo Branco há mais de 6 anos
- Arquivo usd_cmd_spi.png usd_cmd_spi.png adicionado
giroscopio:
comunicação por spi: observações: precisa limitar a frequencia de operação em até 1Mhz. como o prescaler do APB2 já vale 2 e a frequencia do sistema é 168Mhz, o prescaler precisa ser 128 (resultando numa frequencia de 65KHz). Essa frequencia eh baixa para o nrf24, ou seja, teriamos ou usar outra porta spi, ou alterar o prescaler sempre que quisermos trocar conversar com o mpu.
CPOL =0 e CPHA = 0.
Tinha uma ponta de solda fazendo um curto entre gnd e um pino de sinal. Isto foi removido.
funcionamento esperado quando le o valor do registrador WHO_AM_I
extensor de porta:
comunicação por i2c: observações: foi necessário colocar um resistor de 4.7k no pino de SCL (colocar o pino como pullup no codigo nao funcionou)
funcionamento esperado para o extensor de porta quando corrigido o problema do resistor de pull-up
7segmentos:
consegue-se gerar qualquer número de 0 a F e colocar ou nao o ponto.Observar a ordem dos pinos na hora de refazer a placa para facilitar a programação.
botão:
Funcionou okay quando programou-se o pino para PullUp e open drain.
uSD:
O cartão sd respondeu de forma coerente ao cmd0 após serem enviados os 74 clks como especificado nos guias abaixo. Apresentou um problema ao não energizar a placa por conta de um pino que não passava potencial da camada de baixo para cima. Por isso a placa apresentava um comportamento inesperado quando o cartão sd estava conectado. após esse problema ser corrigido e o procedimento de acionamento do cartão sd por spi ser obedecido, foi possivel receber a resposta esperada ao cmd0. Cartão SD funciona com CPOL e CPHA = 0. Os guias recomendam uma frequencia entre 100k e 400khz, porem usamos uma frequencia de 65 (a mesma do mpu - irao compartilhar o spi enquanto o nrf24 tem um só pra ele).
Para acionamento do cartão sd:
http://www.dejazzer.com/ee379/lecture_notes/lec12_sd_card.pdf e pdf: part1_physical_layer_simplified_specification
Atualizado por Onias Castelo Branco há mais de 6 anos
- Situação alterado de Em andamento para Resolvida
Atualizado por Onias Castelo Branco há quase 6 anos
- Situação alterado de Resolvida para Fechada