Project

General

Profile

Actions

Atividade #1244

closed

Escolha do microcontrolador a ser utilizado

Added by Gabriel Lima about 5 years ago. Updated almost 4 years ago.

Status:
Fechada
Priority:
Normal
Assignee:
Start date:
02/27/2020
Due date:

Description

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.

Actions #1

Updated by Gabriel Lima about 5 years ago

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.

Actions #2

Updated by Luis David Peregrino de Farias about 5 years ago

Ó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.

Actions #3

Updated by Ana Luiza Buse da Silva about 5 years ago

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.

Actions #4

Updated by Gabriel Lima about 5 years ago

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.

Actions #5

Updated by Gabriel Lima about 5 years ago

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.

Actions #6

Updated by Gabriel Lima about 5 years ago

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

Actions #7

Updated by Erick Bezerra de Carvalho about 5 years ago

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

Actions #8

Updated by Gabriel Lima almost 5 years ago

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

Actions #9

Updated by Gabriel Lima almost 5 years ago

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.

Actions #10

Updated by Gabriel Lima almost 5 years ago

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

Actions #11

Updated by Gabriel Lima almost 4 years ago

  • Status changed from Em andamento to Fechada
Actions

Also available in: Atom PDF