Projeto

Geral

Perfil

Controle pid da roda » Histórico » Versão 8

Renan Pícoli, 01/05/2017 16:13 h

1 1 Carlos Gabriel Oliveira Freitas
h1. Controle pid da roda
2
3 2 Carlos Gabriel Oliveira Freitas
Tutorial - criando um modelo: https://www.mathworks.com/help/simulink/gs/create-a-simple-model.html
4
5 1 Carlos Gabriel Oliveira Freitas
Tutorial - modelando um motor: https://www.mathworks.com/videos/modeling-a-dc-motor-68852.html
6 3 Carlos Gabriel Oliveira Freitas
7 7 Onias Castelo Branco
Design PID: http://www.mathworks.com/help/control/pid-controller-design.html
8 4 Renan Pícoli
9
frequência do contador do pwm (amostragem do pwm)= 20MHz
10
período da onda do pwm é 1/20kHz
11 1 Carlos Gabriel Oliveira Freitas
12 7 Onias Castelo Branco
Cálculo da frequência de amostragem do pwm: 20MHz = SYSCLK/AHB/APB1/APB2*picoli/renan
13
14 8 Renan Pícoli
página 152 e 640 do reference manual (RM0090 - revisão 11)
15 5 Gustavo Claudio Karl Couto
16
pwm.cpp
17
18
	TIM_TimeBaseStructure.TIM_Prescaler=(SystemCoreClock/20000000)-1;
19
	TIM_TimeBaseStructure.TIM_Period=168000000/168000;
20
21
/roboime-firmware/src/boot/system_stm32f4xx.c
22
23
 System Clock source                    | PLL (HSE)
24
  *-----------------------------------------------------------------------------
25
  *        SYSCLK(Hz)                             | 168000000
26
  *-----------------------------------------------------------------------------
27
  *        HCLK(Hz)                               | 168000000
28
  *-----------------------------------------------------------------------------
29
  *        AHB Prescaler                          | 1
30
  *-----------------------------------------------------------------------------
31
  *        APB1 Prescaler                         | 4
32
  *-----------------------------------------------------------------------------
33
  *        APB2 Prescaler                         | 2 System Clock source                    | PLL (HSE)
34
  *-----------------------------------------------------------------------------
35
  *        SYSCLK(Hz)                             | 168000000
36
  *-----------------------------------------------------------------------------
37
  *        HCLK(Hz)                               | 168000000
38
  *-----------------------------------------------------------------------------
39
  *        AHB Prescaler                          | 1
40
  *-----------------------------------------------------------------------------
41
  *        APB1 Prescaler                         | 4
42
  *-----------------------------------------------------------------------------
43
  *        APB2 Prescaler                         | 2
44
45
Interrupção do timer de controle do motor a 1k
46
47
/roboime-firmware/src/control/TimerTime.cpp
48
49
	TIM_TimeBaseStructure.TIM_Prescaler=83;
50
	TIM_TimeBaseStructure.TIM_Period=1000;
51 6 Gustavo Claudio Karl Couto
52
53
resposta do motor de velocidade 2.5m/s
54
!roboime.PNG!