Projeto

Geral

Perfil

Ações

Atividade #663

Fechada

Meta #523: Ter novas placas mãe para RoboCup 2018

Teste do shield com novos periféricos da placa mãe

Adicionado por Onias Castelo Branco mais de 6 anos atrás. Atualizado quase 6 anos atrás.

Situação:
Fechada
Prioridade:
Normal
Atribuído para:
Início:
12/04/2018
Data prevista:
17/04/2018
Tempo gasto:

Descrição

Desenvolvimento de firmware para teste de funcionalidade.


Arquivos

usd_cmd_spi.png (2,88 KB) usd_cmd_spi.png Onias Castelo Branco, 24/04/2018 14:03 h
Ações #1

Atualizado por Onias Castelo Brancomais de 6 anos

Usei a função que criamos que liga os leds e ambos funcionaram como previsto, com um potencial de 2.8V

Ações #3

Atualizado por Onias Castelo Brancomais 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:

https://github.com/kriswiner/MPU9250

https://os.mbed.com/users/onehorse/code/MPU9250AHRS/

Ações #4

Atualizado por Onias Castelo Brancomais 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.

Ações #5

Atualizado por Onias Castelo Brancomais de 6 anos

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

Ações #6

Atualizado por Onias Castelo Brancomais de 6 anos

  • Situação alterado de Em andamento para Resolvida
Ações #7

Atualizado por Onias Castelo Brancoquase 6 anos

  • Situação alterado de Resolvida para Fechada
Ações

Exportar para Atom PDF