Projeto

Geral

Perfil

Ações

Atividade #607

Fechada

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

Fazer shield com todos os periféricos que devem ser adicionados para a placa mãe 2018

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

Situação:
Fechada
Prioridade:
Normal
Atribuído para:
Início:
01/03/2018
Data prevista:
06/03/2018
Tempo gasto:

Descrição

Fazer um shield para adiantar a programação dos novos periféricos que queremos adicionar: giroscópio, leds, cartao sd e extensao de pinos (possivelmente para um led 7 segmentos) e um botão para troca de ID.


Arquivos

multiple_spi.png (11,9 KB) multiple_spi.png Onias Castelo Branco, 06/03/2018 13:38 h
shield_discovery.JPG (107 KB) shield_discovery.JPG Onias Castelo Branco, 07/03/2018 01:19 h
mpu-9250.SchDoc (161 KB) mpu-9250.SchDoc Onias Castelo Branco, 19/03/2018 19:45 h
mpu-9250.PcbDoc (8,57 MB) mpu-9250.PcbDoc Onias Castelo Branco, 19/03/2018 19:45 h
MPU-9250-breakout.rar (17,7 MB) MPU-9250-breakout.rar Onias Castelo Branco, 19/03/2018 19:46 h
gnd-plane issue.JPG (47,3 KB) gnd-plane issue.JPG Onias Castelo Branco, 27/03/2018 20:23 h
gerber-file-shield2.JPG (51,6 KB) gerber-file-shield2.JPG Onias Castelo Branco, 27/03/2018 21:00 h
gerber-file-shield.JPG (57,8 KB) gerber-file-shield.JPG Onias Castelo Branco, 27/03/2018 21:00 h
CAMtastic1.Cam (26,3 KB) CAMtastic1.Cam Onias Castelo Branco, 27/03/2018 21:45 h
CAMtastic2.Cam (188 KB) CAMtastic2.Cam Onias Castelo Branco, 27/03/2018 21:45 h
mpu-9250.SchDoc (155 KB) mpu-9250.SchDoc Onias Castelo Branco, 27/03/2018 21:46 h
mpu-9250.PcbDoc (8,59 MB) mpu-9250.PcbDoc Onias Castelo Branco, 27/03/2018 21:46 h
mpu-9250.SchDoc (155 KB) mpu-9250.SchDoc Onias Castelo Branco, 27/03/2018 22:29 h
cam.drl (1,36 KB) cam.drl Onias Castelo Branco, 27/03/2018 22:30 h
cam.rpt (386 Bytes) cam.rpt Onias Castelo Branco, 27/03/2018 22:30 h
mpu-9250.gbl (4,2 KB) mpu-9250.gbl Onias Castelo Branco, 27/03/2018 22:30 h
mpu-9250.PcbDoc (8,59 MB) mpu-9250.PcbDoc Onias Castelo Branco, 27/03/2018 22:30 h
mpu-9250.gtl (50,6 KB) mpu-9250.gtl Onias Castelo Branco, 27/03/2018 22:30 h
mpu-9250.gtp (1,63 KB) mpu-9250.gtp Onias Castelo Branco, 27/03/2018 22:30 h
mpu-9250.gts (3,84 KB) mpu-9250.gts Onias Castelo Branco, 27/03/2018 22:30 h
cam.drl (1,36 KB) cam.drl Onias Castelo Branco, 28/03/2018 17:57 h
cam.rpt (386 Bytes) cam.rpt Onias Castelo Branco, 28/03/2018 17:57 h
debug.log (2,85 KB) debug.log Onias Castelo Branco, 28/03/2018 17:57 h
mpu-9250.gbl (4,2 KB) mpu-9250.gbl Onias Castelo Branco, 28/03/2018 17:57 h
mpu-9250.gtl (49,8 KB) mpu-9250.gtl Onias Castelo Branco, 28/03/2018 17:57 h
mpu-9250.gtp (1,63 KB) mpu-9250.gtp Onias Castelo Branco, 28/03/2018 17:57 h
mpu-9250.gts (3,84 KB) mpu-9250.gts Onias Castelo Branco, 28/03/2018 17:57 h
mpu-9250.txt (1,96 KB) mpu-9250.txt Onias Castelo Branco, 28/03/2018 17:57 h
mpu-9250.gbl (4,2 KB) mpu-9250.gbl Onias Castelo Branco, 28/03/2018 18:30 h
mpu-9250.gm1 (245 Bytes) mpu-9250.gm1 Onias Castelo Branco, 28/03/2018 18:30 h
mpu-9250.txt (1,96 KB) mpu-9250.txt Onias Castelo Branco, 28/03/2018 18:30 h
mpu-9250.gtl (49,8 KB) mpu-9250.gtl Onias Castelo Branco, 28/03/2018 18:30 h
mpu-9250.gbl (42,1 KB) mpu-9250.gbl Onias Castelo Branco, 28/03/2018 18:38 h
mpu-9250.gbl (41,4 KB) mpu-9250.gbl Onias Castelo Branco, 28/03/2018 20:54 h
mpu-9250.gm1 (245 Bytes) mpu-9250.gm1 Onias Castelo Branco, 28/03/2018 20:54 h
mpu-9250.gtl (49,2 KB) mpu-9250.gtl Onias Castelo Branco, 28/03/2018 20:54 h
cam.rpt (370 Bytes) cam.rpt Onias Castelo Branco, 28/03/2018 20:55 h
mpu-9250.SchDoc (155 KB) mpu-9250.SchDoc Onias Castelo Branco, 28/03/2018 20:57 h
MPU-9250-breakout.PrjPcb (43,3 KB) MPU-9250-breakout.PrjPcb Onias Castelo Branco, 28/03/2018 20:57 h
mpu-9250.PcbDoc (8,67 MB) mpu-9250.PcbDoc Onias Castelo Branco, 28/03/2018 20:57 h
mpu-9250.txt (1,96 KB) mpu-9250.txt Onias Castelo Branco, 29/03/2018 15:04 h
mpu-9250.gm1 (245 Bytes) mpu-9250.gm1 Onias Castelo Branco, 29/03/2018 15:04 h
mpu-9250.gbl (41,4 KB) mpu-9250.gbl Onias Castelo Branco, 29/03/2018 15:04 h
mpu-9250.gtl (49,2 KB) mpu-9250.gtl Onias Castelo Branco, 29/03/2018 15:04 h
draftsman_shield.pdf (135 KB) draftsman_shield.pdf Onias Castelo Branco, 29/03/2018 16:57 h
mpu-9250.PCBDwf (1,25 MB) mpu-9250.PCBDwf Onias Castelo Branco, 30/03/2018 17:57 h
draftsman_shield_montagem.pdf (354 KB) draftsman_shield_montagem.pdf Onias Castelo Branco, 30/03/2018 17:57 h
mpu-9250.SchDoc (155 KB) mpu-9250.SchDoc Onias Castelo Branco, 30/03/2018 17:57 h
mpu-9250.PcbDoc (8,67 MB) mpu-9250.PcbDoc Onias Castelo Branco, 30/03/2018 17:57 h
Ações #1

Atualizado por Onias Castelo Brancomais de 6 anos

Encontrei a datasheet do mpu9250 que consta no vault: http://img.filipeflop.com/files/download/Datasheet_MPU9250_REV1.0.pdf

Diferentemente das outras datasheets que eu tinha encontrado, este encapsulamento tem só 24 pinos, que é o que consta no vault.

Ele segue a mesma recomendação de pinagem deste esquematico: https://cdn.sparkfun.com/datasheets/Sensors/IMU/SparkFun_MPU-9250_Breakout.pdf

Ações #2

Atualizado por Onias Castelo Brancomais de 6 anos

Para os leds, pensei em duas funcionalidades:

- sensor de bola

- comunicação chegando

Para isso, precisaríamos de dois leds, preferencialmente de cores diferentes. Analisando os leds que tem no vault, achei este aqui que pareceu bom: https://br.mouser.com/ProductDetail/Kingbright/APT2012PGW?qs=sGAEpiMZZMvyj6n1w4pZD5QO%2FJ%252bHmnjZECWTl5%252bac1A%3D

Porém ele é verde e aparentemente só tem dessa cor.

No vault tem tambem leds pth. Não vejo pq não usá-los.

Para calcular a resistência dele usei esta referencia: http://www.comofazerascoisas.com.br/como-calcular-o-resistor-adequado-para-um-led.html

Ações #4

Atualizado por Onias Castelo Brancomais de 6 anos

Pesquisei sobre extensores de portas para usar e achei este aqui. Achei um pouco caro (2,55 dolares) pro uso que daríamos a ele. Segue também um link da sparkfun sobre um breakout deste componente.

https://www.digikey.com/product-detail/en/semtech-corporation/SX1509BIULTRT/SX1509BIULCT-ND/2295548
https://www.digikey.com/product-detail/en/semtech-corporation/SX1509QBIULTRT/SX1509QBIULTRTCT-ND/4626699

https://www.sparkfun.com/products/13601

sch - sparkfun: https://cdn.sparkfun.com/datasheets/BreakoutBoards/SparkFun-SX1509-Breakout-v20.pdf

Ações #5

Atualizado por Luiz Renault Leite Rodriguesmais de 6 anos

Usar o STMPE811QTR. Temos na fábrica.

Ações #6

Atualizado por Onias Castelo Brancomais de 6 anos

Dei uma lida em comunicação spi para começar a ligar o mpu com a discovery.

usei esta referencia:
https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi

Ações #7

Atualizado por Onias Castelo Brancomais de 6 anos

Onias Castelo Branco escreveu:

Para calcular a resistência dele usei esta referencia: http://www.comofazerascoisas.com.br/como-calcular-o-resistor-adequado-para-um-led.html

Segue datasheet que eu encontrei de um led 5mm pth: https://www.vishay.com/docs/83171/tlur640.pdf

Ações #8

Atualizado por Onias Castelo Brancomais de 6 anos

Uma dúvida surgiu lendo sobre o SPI com multiplos slaves. Teria que usar um pino a mais para selecionar qual slave estou usando no momento, porém o nrf24 tem 8 portas que se ligam na placa mãe e elas ja estão ocupadas. Como faríamos para se comunicar com multiplos slaves via SPI?

![](multiple_spi.png)

Ações #9

Atualizado por Luiz Renault Leite Rodriguesmais de 6 anos

Os sinais SCK MOSI E MISO são compartilhados entre os escravos.

Deverá haver um SS para cada escravo. O NRF necessita de outros sinais além do SPI para funcioanr, como o IRQ, por exemplo.

Ações #10

Atualizado por Onias Castelo Brancomais de 6 anos

Luiz Renault Leite Rodrigues escreveu:

Os sinais SCK MOSI E MISO são compartilhados entre os escravos.

Deverá haver um SS para cada escravo. O NRF necessita de outros sinais além do SPI para funcioanr, como o IRQ, por exemplo.

O mpu-9250 usa além do sck, miso e mosi, o nCS, INT e FSYNC. O nCS é o chip select, o INT é a interrupção de acionamento.

Já para o NRF24, ele usa o NRF_CE, NRF_IRQ e NRF_CS#. São os mesmos três? Depois da aula vou ler mais sobre.

Ações #11

Atualizado por Onias Castelo Brancomais de 6 anos

Segue anexa a proposta de pinagem para o shield do mpu e dos leds novos. Falta ainda a pinagem do cartao mini-sd, que farei assim que concluído o mpu. Li sobre o uso de com SPI na datasheet do componente e no reference manual do stm32f4. Não entendi muito bem o uso do NRF_CE. Procurei no firmware seu uso e pelo que entendi ele setava se o nrf estava escrevendo ou não.

Sobre a porta INT do mpu, ela deve ser usada só se o ci quiser ativar alguma interrupção, que eu não se é o caso. A única aplicação que eu pensei seria para uso de detecção de grandes mudanças de trajetória, mas o que faríamos de útil com esse interrupt? Dar uma flag pra intel que o robo está com um problema? Nós já saberíamos disso olhando para o robo andando torto no campo. Para caso de não usarmos a porta INT deixei ela como open-drain, como instruído na datasheet. O resistor de pull-up que eu coloquei é do valor de 10k, deveria ser mais alto?

Para o chip select do spi, escolhi a porta PA15 pois também é SPI1_NSS.

Já coloquei no github as ultimas mudanças do projeto.

A ideia é terminar o shield até sexta ou sábado para já começar a programação e/ou fazer as mudanças na placa mãe.

Ações #14

Atualizado por Onias Castelo Brancomais de 6 anos

Foi visto que a discovery stm32f411 não pode ser usada pra substituir a 407 por não ter o timer8. Checar se pode ser usada trocando o chip dela. (checar os pinos das 2 discoveries)

Outro ponto levantado foi sobre os encoders. Sairam de linha e precisamos de mais.

Ações #15

Atualizado por Onias Castelo Brancomais de 6 anos

Sobre pinagem e uso do cartão micro SD:

http://www.dejazzer.com/ee379/lecture_notes/lec12_sd_card.pdf

http://www.interfacebus.com/MicroSD_Card_Pinout.html

Terminei o pcb e o sch do cartão SD. Prosseguindo para o extensor de porta. Feito o extensor, prosseguir para o led 7 segmentos e o botão. O sr tem o numero do fabricante do que usaremos?

Atualizado por Onias Castelo Brancomais de 6 anos

Seguem anexados o sch, o pcb e o proj (em rar). Falta rotear algumas trilhas de vdd.

Ações #18

Atualizado por Luiz Renault Leite Rodriguesmais de 6 anos

Fazer o roteamento pensando na placa produzida na LPKF, sem metalização dos furos, ou seja, evitar vias e rotear os componentes PTH pelo lado da solda.

Ações #19

Atualizado por Onias Castelo Brancomais de 6 anos

Capitão, estamos com este problema no plano do shield. Colocamos distance de 0.5mm entre polygons e SMD/pads. Porém agora os gnds dos ci's não estão em contato com o plano da placa. Como proceder?

Ações #20

Atualizado por Onias Castelo Brancomais de 6 anos

Onias Castelo Branco escreveu:

Capitão, estamos com este problema no plano do shield. Colocamos distance de 0.5mm entre polygons e SMD/pads. Porém agora os gnds dos ci's não estão em contato com o plano da placa. Como proceder?

ultima forma. resolvido.

Atualizado por Onias Castelo Brancomais de 6 anos

No gerber file gerado não constam os furos. As configurações estão corretas?

Ações #22

Atualizado por Luiz Renault Leite Rodriguesmais de 6 anos

Colocar as imagens em linha, usando thumbnail.

gerber-file-shield2.JPG gerber-file-shield.JPG

Ações #23

Atualizado por Luiz Renault Leite Rodriguesmais de 6 anos

Você tem que gerar NC Drill.

Atualizado por Onias Castelo Brancomais de 6 anos

Luiz Renault Leite Rodrigues escreveu:

Você tem que gerar NC Drill.

gerei. Seguem anexos os arquivos.

Ações #25

Atualizado por Luiz Renault Leite Rodriguesmais de 6 anos

Onias Castelo Branco escreveu:

Luiz Renault Leite Rodrigues escreveu:

Você tem que gerar NC Drill.

gerei. Seguem anexos os arquivos.

Gerar arquivos gerber.

Ações #26

Atualizado por Onias Castelo Brancomais de 6 anos

Luiz Renault Leite Rodrigues escreveu:

Onias Castelo Branco escreveu:

Luiz Renault Leite Rodrigues escreveu:

Você tem que gerar NC Drill.

gerei. Seguem anexos os arquivos.

Gerar arquivos gerber.

Não entendi. Estou gerando eles através da série de comandos: Files -> Fabrication Outputs -> Gerber Files. Ai ele gera esse CAM. O Camtastic dos furos feito com Fabrication Outputs -> NC Drill Files. Não entendi o q era preu ter feito. Quando fiz minha placa para o Cel Júlio usamos esse camtastic.

Ações #28

Atualizado por Onias Castelo Brancomais de 6 anos

Onias Castelo Branco escreveu:

Luiz Renault Leite Rodrigues escreveu:

Onias Castelo Branco escreveu:

Luiz Renault Leite Rodrigues escreveu:

Você tem que gerar NC Drill.

gerei. Seguem anexos os arquivos.

Gerar arquivos gerber.

Não entendi. Estou gerando eles através da série de comandos: Files -> Fabrication Outputs -> Gerber Files. Ai ele gera esse CAM. O Camtastic dos furos feito com Fabrication Outputs -> NC Drill Files. Não entendi o q era preu ter feito. Quando fiz minha placa para o Cel Júlio usamos esse camtastic.

Usei este link antes de perguntar pro sr e ele segue as mesmas etapas q eu mencionei. https://www.altium.com/documentation/18.0/display/ADES/WorkspaceManager_Dlg-GerberSetup_Form((Gerber+Setup))_AD

Ações #29

Atualizado por Luiz Renault Leite Rodriguesmais de 6 anos

Veja no final, em Location of Generated Files

Atualizado por Onias Castelo Brancomais de 6 anos

Ações #31

Atualizado por Onias Castelo Brancomais de 6 anos

acho que agora foi

Ações #32

Atualizado por Luiz Renault Leite Rodriguesmais de 6 anos

Amanhã a tarde faço as placas.

Atualizado por Onias Castelo Brancomais de 6 anos

Atualizado por Onias Castelo Brancomais de 6 anos

Ações #35

Atualizado por Onias Castelo Brancomais de 6 anos

Atualizado por Onias Castelo Brancomais de 6 anos

Atualizado por Onias Castelo Brancomais de 6 anos

Ações #39

Atualizado por Luiz Renault Leite Rodriguesmais de 6 anos

Falta indicação do pino 1 do MPU

Ações #41

Atualizado por Onias Castelo Brancomais de 6 anos

  • Situação alterado de Em andamento para Feedback
Ações #42

Atualizado por Onias Castelo Brancomais de 6 anos

  • Situação alterado de Feedback para Fechada

shield testado e aprovado. Prosseguindo para modificação do esquematico final da placa.

Ações

Exportar para Atom PDF