Projeto

Geral

Perfil

Ações

Atividade #763

Fechada

Cálculo de velocidade da roda na stm32f407

Adicionado por Onias Castelo Branco aproximadamente 6 anos atrás. Atualizado quase 5 anos atrás.

Situação:
Fechada
Prioridade:
Imediata
Início:
26/05/2018
Data prevista:
Tempo gasto:

Descrição

Desenvolver com auxilio da standard peripheral codigo que le encoder para medição de velocidade.

Calcular ARR e tempo entre alterações de velocidade baseado na precisão desejada para o robo.


Arquivos

Resposta ponte H.png (21,1 KB) Resposta ponte H.png João Guilherme Oliveira Carvalho de Melo, 21/02/2019 00:26 h
Ações #1

Atualizado por Onias Castelo Brancoaproximadamente 6 anos

Calculamos o tempo de amostragem e o valor máximo do encoder.

A conversão é dada por:

2*pi*raio_roda/(valor_max_encoder*transferencia)

para os valores da ssl, a conversão vale 0.00005497786.

raio_roda = 0.028
valor_max_encoder = 400
transferencia = 8

o valor minimo que escolhemos foi 1cm/s e o máximo 6m/s, visto que isso é para a velocidade total da roda.

Fazendo as contas, vimos que é necessário recalcular o valor do encoder a cada 5ms e que o valor máximo medido pelo encoder seria de 550.

Ações #2

Atualizado por Onias Castelo Brancoaproximadamente 6 anos

Conseguimos também realizar a leitura do encoder.

Ações #3

Atualizado por Onias Castelo Brancomais de 5 anos

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

Atualizado por Onias Castelo Brancomais de 5 anos

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

Atualizado por João Guilherme Oliveira Carvalho de Melomais de 5 anos

Usando um analisador de sinais, detectei o erro no código que eu fiz na cadeira de microcontroladores 2018, que servia para medir e controlar a velocidade de uma roda do robô.

Link do código: https://github.com/Microcontroladores2018/Joao-Carvalho

Segue imagem dos sinais correspondentes a uma roda girando para trás com 20% de duty cycle:

![](Resposta ponte H.png)

Devido aos MOSFETs canal-P do CI IRF7389, os sinais de MBL e MAL são invertidos na placa.

Com isso, o código poderá ser utilizado para a implementação do algoritmo de controle PID para otmização das constantes do motor.

Ações #6

Atualizado por João Guilherme Oliveira Carvalho de Melomais de 5 anos

O código foi corrigido efetivamente e iniciei a implementação da malha de controle para otimização das constantes PID.

Para entender melhor o cálculo dos valores que deveriam ser usados nos registradores no PWM, utilizei como referência este video: https://www.youtube.com/watch?v=zkrVHIcLGww

Ações #7

Atualizado por João Guilherme Oliveira Carvalho de Meloaproximadamente 5 anos

Importando algumas classes do firmware da SSL e ajustando os comandos da porta USB, agora é possível controlar todos os motores do robô tanto em malha aberta quanto fechada e, também, ajustar as constantes PID.

O Nicolas está trabalhando em um programa em LabView para enviar/receber os comandos do robô para controlar os motores, plotar suas velocidades e ajustar as constantes que, futuramente, será usado também para fazer uma modelagem mais precisa da função de transferência do motor.

O código atualizado se encontra na minha página do github com um README explicativo: https://github.com/joaogocm/RoboIME-PID (as imagens estão desatualizadas)

Ações #8

Atualizado por João Guilherme Oliveira Carvalho de Meloquase 5 anos

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

Exportar para Atom PDF