Projeto

Geral

Perfil

Ações

Atividade #1244

Fechada

Escolha do microcontrolador a ser utilizado

Adicionado por Gabriel Lima mais de 4 anos atrás. Atualizado mais de 3 anos atrás.

Situação:
Fechada
Prioridade:
Normal
Atribuído para:
Início:
27/02/2020
Data prevista:

Descrição

Uma das diferenças entre a arquitetura de 2019 e a de 2020 é a utilização de um microcontrolador para a comunicação com os motores em vez de ligá-los diretamente ao SBC. Essa arquitetura visa diminuir o tempo de cada iteração de controle dos motores, aumentando a precisão do movimento, além de possibilitar o controle simultâneo de dois motores.

Ações #1

Atualizado por Gabriel Limamais de 4 anos

Uma das possibilidades é o uso de uma STM32F4DISCOVERY, que possui seis saidas UART que podem trabalhar em half-duplex, o que elimina a necessidade de um integrado comutador além de possibilitar o controle de seis motores por vez. Além disso, a DISCOVERY é a placa utilizada pela roboime nos projetos SSL e VSS, logo, seu uso reforça a padronização e o compartilhamento de componentes entre os projetos.

Ações #2

Atualizado por Luis David Peregrino de Fariasmais de 4 anos

Ótimo, alguma novidade quanto a mexer o motor usando a discovery? Pega ajuda do Mateus e da Ana para entender melhor os comandos que precisam ser enviado ao motor.

Ações #3

Atualizado por Ana Luiza Buse da Silvamais de 4 anos

Gabriel Lima escreveu:

Uma das diferenças entre a arquitetura de 2019 e a de 2020 é a utilização de um microcontrolador para a comunicação com os motores em vez de ligá-los diretamente ao SBC. Essa arquitetura visa diminuir o tempo de cada iteração de controle dos motores, aumentando a precisão do movimento, além de possibilitar o controle simultâneo de dois motores.

Outra possibilidade de microcontrolador sugerida pelo Major Renault foi o uso da NI MyRIO ou da NI SbRIO.
Elas podem ser programadas em LabVIEW ou C. Queríamos saber quais os modelos podem delas podem ser disponibilizados pelo major.

Ações #4

Atualizado por Gabriel Limamais de 4 anos

Foi possível enviar para o motor AX-12A um comando que fizesse ele girar até uma posição definida. Isso mostra a capacidade da STM32F4DISCOVERY de enviar comandos para o motor. Foi utilizada a baud rate de 1000000bps, padrão do motor AX-12A. Ainda existe um problema: Foi utilizada a função HAL_UART_Transmit_DMA, que só está chegando a enviar o comando na primeira vez que é chamada, logo, só foi possível enviar o motor para uma única posição.

Ações #5

Atualizado por Gabriel Limamais de 4 anos

Conseguimos resolver o problema do DMA transmitindo apenas na primeira chamada da HAL_UART_Transmit_DMA. Era necessário habilitar o Global Interrupt para a porta UART utilizada. Além disso, conseguimos habilitar o modo Half-Duplex da Discovery, utilizando um resistor de 10k como pull-up de 5v. Ainda, foi possível ver pelo analisador lógico uma resposta de feedback do motor, quando foi requisitado. O próximo passo será implementar a leitura do DMA pelo código, a fim de se poder trabalhar com o feedback recebido. Falta ainda reduzir o tempo de resposta do motor, que ainda está na faixa de 2ms, tempo que pode ser considerado como muito grande.

Ações #6

Atualizado por Gabriel Limamais de 4 anos

Foi feito o push do código para o repositório do Github.

Ações #7

Atualizado por Erick Bezerra de Carvalhomais de 4 anos

O que vocês já chegaram a implementar no firmware?

Ações #8

Atualizado por Gabriel Limamais de 4 anos

Até agora, foi implementada uma comunicação UART com um motor, tanto de ida (comando de movimento) como de volta (feedback).

Ações #9

Atualizado por Gabriel Limamais de 4 anos

Agora, a próxima tarefa será chegar até esse mesmo ponto utilizando como base a placa MyRIO, da National Instruments. Até agora consegui instalar o LabVIEW MyRIO Toolkit, rodar um programa de exemplo, piscar um led, piscar um led usando FPGA, implementar uma saída UART de apenas um valor específico e implementar uma saída uart com os conteúdos de um vetor.

Ações #10

Atualizado por Gabriel Limamais de 4 anos

Até o final do dia de hoje, vou colocar o código no github e abrir a wiki do projeto com mais detalhes sobre a arquitetura dos dois controladores

Ações #11

Atualizado por Gabriel Limamais de 3 anos

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

Exportar para Atom PDF