Boa noite pessoal, estou me batendo e até agora não consegui descobri o problema com a biblioteca PID. Estou preparando um controle de temperatura de uma resistencia usando um tiristor ( acho que é esse o nome, https://dxarts.washington.edu/wiki/ac-dimmer-circuit ) e um ds18b20. Estou lendo sobre a utilização de controle PID no arduino e gostei mas até agora não consegui utilizar a biblioteca PID_v1.h. Quando tento compilar um dos exemplos aparece o seguinte erro:
C:\Users\juliano\Documents\Arduino\libraries\PID_v1\PID_v1.cpp: In constructor 'PID::PID(double*, double*, double*, double, double, double, int)':
C:\Users\juliano\Documents\Arduino\libraries\PID_v1\PID_v1.cpp:46: error: type 'PID' is not a direct base of 'PID'
Também notei que o include PID_v1.h não aparece destacado. Gostaria de saber se alguem já passou por esse problema ou saberia dizer oque está acontecendo? Já salvei o diretorio da biblioteca libraries, e alterei o nome, mas nada!!!
Tags:
Bom dia Juliano,
Responda todas perguntas, por favor.
1) Você instalou a biblioteca corretamente?
Clique em : Sketch > Incluir Biblioteca > Adicionar biblioteca.zip
Abra o arquivo, para instalar automaticamente a biblioteca. Após a instalação da Biblioteca, é necessário que feche e abra novamente o programa Arduino IDE.
2) A biblioteca que esta usando é essa ?
https://github.com/br3ttb/Arduino-PID-Library
Algumas bibliotecas antigas, tornam-se incompatíveis após atualizações de IDEs do Arduino. Não sei se é o seu caso.
3) Qual a versão da IDE do Arduino esta usando?
https://www.arduino.cc/en/main/software
Sugiro que sempre use bibliotecas homologadas para a Arduino IDE :
Sketch > Incluir Biblioteca > Gerenciar Bibliotecas
Após abrir a janela do Gerenciador de Biblioteca, refine a busca digitando pid . Escolha uma bilbioteca, clique em More Info e depois em Instalar. Após alguns segundos, ela será automaticamente instalada. Lembre-se que o seu computador precisa estar conectado na internet, para poder baixar a biblioteca. Após a instalação da Biblioteca, é necessário que feche e abra novamente o programa Arduino IDE.
Sugiro que use essa biblioteca. Não usei ainda, mas já estudei-a. E parece ser excelente.
Boa tarde Juliano,
Não use IDEs muito antigas ! Pode ser por isso que esta tendo problemas.
1) Atualize a IDE
https://www.arduino.cc/en/main/software
2) Instale a biblioteca do jeito recomendado. Apague antes, o diretório da Biblioteca que instalou.
Clique em : Sketch > Incluir Biblioteca > Adicionar Arduino-PID-Library-master.zip
Abra o arquivo, para instalar automaticamente a biblioteca. Após a instalação da Biblioteca, é necessário que feche e abra novamente o programa Arduino IDE.
2) Envie o Sketch que esta usando. Pode ser um erro no seu programa.
Boa noite José, instalei a IDE 1.8.9 e instalei a biblioteca PID. Usei um exemplo da biblioteca para teste e a mesma não apresentou mais erro. Ufa, um problema a menos. Agora vai começar a trabalheira, hehehehe. Quero controlar a temperatura de uma caixa, utilizando uma resistencia eletrica e um ds18b20. Montei dois circuitos, um é este dimmer, e um scr aqui do laboratorio (wiechert)
O primeiro ponto a descobrir é qual deste devo usar para usar o controle PID e o segundo ponto é escrever o código PID para este controle. Não vai ser fácil, Como toda sua experiencia, teria uma dica por onde devo partir?
A implementação de um PID em Arduino é bem simples, talvez até dispense o uso de bibliotecas. Basicamente é uma conta com os operadores básicos que tem como parâmetro amostras anteriores.
Você já modelou seu sistema e encontrou a função de transferência no domínio da frequência?
Projetou seu controlador PID adequadamente?
Feito isso, basta aplicar algum método de discretização (mais comuns são Trapezoidal, Forward e Backward) e obter a equação no domínio z.
Implementando a função obtida está pronto sua malha de controle.
Acredito que fazer desta forma lhe trará mais benefícios em questão de agregar conhecimento sobre controladores PID e sobre os efeitos de cada ganho ( proporcional (Kp), integral (Ki) e derivativo (Kd) ) implicam em seu sistema, e como eles podem, ou não, controbuir para o controle e estabilidade da planta e auxiliar para atingir os parâmetros desejados (tempo de subida, maior sobre sinal, tempo de estabilização e etc...).
Existem métodos bem simples para sintonizar um PID, como analisar os polos e zeros da sua equação de malha aberta, e outros bem mais complexos envolvendo trocentas contas matriciais. Comece pelo simples!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por