A disciplina de Controle e Servomecanismo que se estuda na Universidade é temida por diversos alunos e até mesmo com um alto grau de reprovações. Seria muito interessante fazer uma playlist sobre o tema. Associar a teoria de controle com a prática foi excelente. Parabéns Mestre.
Exato João, Controle de Sistemas é bem difícil mesmo. Quero sim trazer bastante conteúdo sobre esse tema, mas sempre tentando ser o mais didático e com exemplos práticos, ajuda muito a entender toda a teoria por trás. Fique ligado que vem mais no futuro. Valeu!
Show de bola, professor! Uma aula acerca das leis de controle (P, PI e PID) e seus ajustes seria ótima, inclusive pra implementar essa matemática sem precisar se escorar nas bibliotecas.
Valeu Marley! Esse assunto é tão extenso que rende várias aulas. Pretendo deixar as aulas em uma linguagem mais simples para não depender tanto de matemática, em breve devemos ter vídeos sobre isso. Valeu!
Parabéns pelo vídeo, conteúdo excelente, ganhou mais uma inscrita, desejo saber mais sobre essa matemática complicada sobre controle ao qual você se refere, por favor faça um vídeo explorando melhor isso.
Boa noite. Excelente vídeo sobre Controle de Motor com Encoder/Controle PID e Sensor Infravermelho. Meus parabéns. Alias, a sua didática é ótima. Eu tenho uma dúvida e também uma sugestão. A dúvida é do porquê se usar, no controle PID, as variáveis KP, KI e KD no lugar de Banda Proporcional, Tempo de Integral (Reset) e Tempo de Derivada. Eu, como ex operador de planta petroquímica, utilizava o sistema Centum V/CS3000 da Yokogawa e me parecia tão bem mais simples de se ajustar os valores para obtenção da estabilidade do controle em automático. A sugestão é, até poderia fugir do seu escopo, de se fazer uma interface do Arduíno com uma linguagem, CSharp por exemplo, interagindo via serial, recebendo e transmitindo dados “full-duplex” (SP, PV, MV, KP, KI, KD). Eu procuro info como fazer de maneira correta essa implementação mas somente encontro envio unidirecional (Arduino → C# ou vice-versa) e apenas a uma variável aplicada. Espero que tenha sido claro nas minhas considerações. No aguardo. Grato. Gilberto.
Gilberto Carlos bom dia! Talvez o programa serialplot-0.12.0-win32 atenda ao seu projeto. Com ele é possível ler várias informações da serial e enviar os comandos.
Olá professor Cleber, minha sugestão de vídeo creio que não seria possível em apenas um vídeo mas acredito que você entenda do assunto que seria como usar um motor DC no lugar de um motor de passo para uma CNC (ou impressora 3D), se puder fazer algum vídeo sobre isso ficaríamos muito agradecidos.
Parabens pela aula! montei o circuto e funciona como descrito. Não querendo te explorar, mas ja explorando, vc tem alguma recomendação para conseguir partir um motor DC com baixa rotação? O controle PID não conseguiu resolver meu problema. Desde já obrigado
Boa noite amigão. Valeu pela aula, ajudou demais. Pergunto: eu consigo usar a informação de rpm de um motor para controle de velocidade de outro motor? Preciso q um motor de passo gire de acordo com o rpm de um outro motor específico para mover um eixo X de uma máquina de maneira associada ao eixo Y dessa mesma máquina
Boa Tarde, Tenho uma máquina que enrola arame em um carretel com motor trifasico 220v acoplado nesse carretel e inversor, o problema é que conforme o carretel vai enchendo o diametro aumentando a velocidade linear do arame aumenta, e não pode, preciso fazer essa puxada do arame em velocidade constante. Queria colocar um encoder para ver a velocidade do arame e esse encoder mandar a informação para o motor que irá reduzir a velocidade conforme o carretel vai enchendo. Tem como fazer desse jeito? Obrigado pelo ajuda
Talvez aumentando a resolução do PWM o controle consiga acomodar. Com o PWM de 0 a 255 a variação de uma unidade produz uma variação relativamente grande na tensão aplicada ao motor. Utilizei o PWM pelo Timer 1, que é de 16bits, e configurei para o PWM de 0 a 1600. Após esse ajuste eu consegui zerar o erro final (erro de regime permanente). Esse é o código: uint16_t icr = 1600; void setupPWM16() { DDRB |= _BV(PB1) | _BV(PB2); //Set pins as outputs TCCR1A = _BV(COM1A1) | _BV(COM1B1) //Non-Inv PWM | _BV(WGM11); // Mode 14: Fast PWM, TOP=ICR1 TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // Prescaler 1 ICR1 = icr; // TOP counter value (Relieving OCR1A*) } //* 16-bit version of analogWrite(). Only for D9 & D10 void analogWrite16(uint8_t pin, uint16_t val) { switch (pin) { case 9: OCR1A = val; break; case 10: OCR1B = val; break; } }
ola boa noite, podeira por gentileza mostrar como fica o código com o uso do potenciômetro para ajuste de velocidade, no meu caso eu não tenho essa placa e vou usar mosfet, então fiquei sem saber qual a porta de saída do pwm. desde ja agradeço a atenção.
Oi Franz, você vai mudar bem pouco do código que fiz. Lá no fim dele tem o comando motor.setSpeed(velocidade), você troca por analogWrite(pinoMosfet, velocidade). Daí é só escolher um pino PWM e correr pro abraço, valeu!
Parabéns pelo tutorial, sensacional 👍👏 Ficou claro o uso dos componentes. Só fiquei com uma pequena dúvida se vc ta usando uma ponteH no experimento. Seria muito legal mais vídeos sobre PID.
Sim, é uma ponte H, o L293D. Fiz outros vídeos com pid: Como Montar uma Estação Reflow com Controle PID e Arduino ua-cam.com/video/KA6ujauFUQk/v-deo.html
Quando vou fazer as medições de pwm da uns valores acima do real que seria variando em torne de 270. Não entendo o que eu poderia está errando nessa medição, já que o controlador funciona corretamente.
Boa tarde amigo !! Eu preciso controlar a velocidade de um motor 12v apartir da rotação da roda do equipamento onde a roda iniciando o motor inicia e trabalha na mesmo variação da roda do equipamento , parando a roda o motor para ! Como posso fazer esse projeto ? Se puder mim ajudar fico agradecido
Oi Gercion! Rapaz, para o seu caso, acredito que você precisa implementar um disco Encoder nessa sua roda e fazer o circuito que eu montei nesse vídeo, talvez só adaptar o driver de motor para o seu motor conforme a corrente dele.
RESUMO DO CALCULO INTEGRAL E DIFERENCIAL, COMPRA UM ARDUINO, USA A LIB Q ALGUEM JA FEZ E FALA QUE COMPLICADO DEMONSTRAR OQ ESTA POR TRAS DA LIB EM VIDEO RSSSS. SUCESSO
Essa aula de pid vai dar muito certo já estou aguardando obrigado desde já.
A disciplina de Controle e Servomecanismo que se estuda na Universidade é temida por diversos alunos e até mesmo com um alto grau de reprovações. Seria muito interessante fazer uma playlist sobre o tema. Associar a teoria de controle com a prática foi excelente. Parabéns Mestre.
Exato João, Controle de Sistemas é bem difícil mesmo. Quero sim trazer bastante conteúdo sobre esse tema, mas sempre tentando ser o mais didático e com exemplos práticos, ajuda muito a entender toda a teoria por trás. Fique ligado que vem mais no futuro. Valeu!
Parabéns pela aula!! seria muito bom se fizesse um vídeo sobre PID
Muito bom!!! Parabéns pela explicação.
Show de bola, professor! Uma aula acerca das leis de controle (P, PI e PID) e seus ajustes seria ótima, inclusive pra implementar essa matemática sem precisar se escorar nas bibliotecas.
Valeu Marley! Esse assunto é tão extenso que rende várias aulas. Pretendo deixar as aulas em uma linguagem mais simples para não depender tanto de matemática, em breve devemos ter vídeos sobre isso. Valeu!
Professor, fala sobre motores BLDC e como construir um controlado para esses motores.
Uma aula sobre interrupção seria ótimo. Pois isso é muito importante quando precisamos fazer multi tarefas com Arduíno.
Valeu Maninho, dica anotada!
Uma forma de usar um controle sem perda de torque em baixa rotação por potenciômetro, dimer ou algo do tipo.
Parabéns pelo vídeo, conteúdo excelente, ganhou mais uma inscrita, desejo saber mais sobre essa matemática complicada sobre controle ao qual você se refere, por favor faça um vídeo explorando melhor isso.
Oi Andrea, bem-vinda! Farei sim um vídeo dedicado sobre PID, estou preparando um circuito demonstrativo, logo deve ficar pronto. Valeu!
Eu gostaria muito de um vídeo mostrando somente como medir a velocidade do motor com o encoder me seria de imensa ajuda !!!!
boa noite gostei muito de su ula teria como vc fazer um videos mostrndo psso a passo como encrementar o pid em um robozinho utonomo
Boa noite. Excelente vídeo sobre Controle de Motor com Encoder/Controle PID e Sensor Infravermelho. Meus parabéns. Alias, a sua didática é ótima.
Eu tenho uma dúvida e também uma sugestão.
A dúvida é do porquê se usar, no controle PID, as variáveis KP, KI e KD no lugar de Banda Proporcional, Tempo de Integral (Reset) e Tempo de Derivada. Eu, como ex operador de planta petroquímica, utilizava o sistema Centum V/CS3000 da Yokogawa e me parecia tão bem mais simples de se ajustar os valores para obtenção da estabilidade do controle em automático.
A sugestão é, até poderia fugir do seu escopo, de se fazer uma interface do Arduíno com uma linguagem, CSharp por exemplo, interagindo via serial, recebendo e transmitindo dados “full-duplex” (SP, PV, MV, KP, KI, KD). Eu procuro info como fazer de maneira correta essa implementação mas somente encontro envio unidirecional (Arduino → C# ou vice-versa) e apenas a uma variável aplicada.
Espero que tenha sido claro nas minhas considerações. No aguardo. Grato. Gilberto.
Gilberto Carlos bom dia! Talvez o programa serialplot-0.12.0-win32 atenda ao seu projeto. Com ele é possível ler várias informações da serial e enviar os comandos.
@@willianferreira1566 Opa! Bom dia. Agradeço o seu retorno. Irei ver o programa por você indicado.
Olá professor Cleber, minha sugestão de vídeo creio que não seria possível em apenas um vídeo mas acredito que você entenda do assunto que seria como usar um motor DC no lugar de um motor de passo para uma CNC (ou impressora 3D), se puder fazer algum vídeo sobre isso ficaríamos muito agradecidos.
Parabens pela aula!
montei o circuto e funciona como descrito.
Não querendo te explorar, mas ja explorando, vc tem alguma recomendação para conseguir partir um motor DC com baixa rotação?
O controle PID não conseguiu resolver meu problema.
Desde já obrigado
Boa tarde! Queria saber se o funcionamento do programa seria o mesmo usando o pino D13 do L293D para a digital do encoder
Boa noite amigão. Valeu pela aula, ajudou demais. Pergunto: eu consigo usar a informação de rpm de um motor para controle de velocidade de outro motor?
Preciso q um motor de passo gire de acordo com o rpm de um outro motor específico para mover um eixo X de uma máquina de maneira associada ao eixo Y dessa mesma máquina
Boa Tarde,
Tenho uma máquina que enrola arame em um carretel com motor trifasico 220v acoplado nesse carretel e inversor, o problema é que conforme o carretel vai enchendo o diametro aumentando a velocidade linear do arame aumenta, e não pode, preciso fazer essa puxada do arame em velocidade constante. Queria colocar um encoder para ver a velocidade do arame e esse encoder mandar a informação para o motor que irá reduzir a velocidade conforme o carretel vai enchendo. Tem como fazer desse jeito?
Obrigado pelo ajuda
Talvez aumentando a resolução do PWM o controle consiga acomodar. Com o PWM de 0 a 255 a variação de uma unidade produz uma variação relativamente grande na tensão aplicada ao motor. Utilizei o PWM pelo Timer 1, que é de 16bits, e configurei para o PWM de 0 a 1600. Após esse ajuste eu consegui zerar o erro final (erro de regime permanente). Esse é o código:
uint16_t icr = 1600;
void setupPWM16() {
DDRB |= _BV(PB1) | _BV(PB2); //Set pins as outputs
TCCR1A = _BV(COM1A1) | _BV(COM1B1) //Non-Inv PWM
| _BV(WGM11); // Mode 14: Fast PWM, TOP=ICR1
TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // Prescaler 1
ICR1 = icr; // TOP counter value (Relieving OCR1A*)
}
//* 16-bit version of analogWrite(). Only for D9 & D10
void analogWrite16(uint8_t pin, uint16_t val)
{
switch (pin) {
case 9: OCR1A = val; break;
case 10: OCR1B = val; break;
}
}
ola boa noite, podeira por gentileza mostrar como fica o código com o uso do potenciômetro para ajuste de velocidade, no meu caso eu não tenho essa placa e vou usar mosfet, então fiquei sem saber qual a porta de saída do pwm. desde ja agradeço a atenção.
Oi Franz, você vai mudar bem pouco do código que fiz. Lá no fim dele tem o comando motor.setSpeed(velocidade), você troca por analogWrite(pinoMosfet, velocidade). Daí é só escolher um pino PWM e correr pro abraço, valeu!
Ótima aula, queria saber como que ficaria o código com mais de um motor.
Valeu Gustavo! Daí você duplica praticamente tudo, inclusive as variáveis de PID
Parabéns pelo tutorial, sensacional 👍👏
Ficou claro o uso dos componentes. Só fiquei com uma pequena dúvida se vc ta usando uma ponteH no experimento.
Seria muito legal mais vídeos sobre PID.
Sim, é uma ponte H, o L293D. Fiz outros vídeos com pid: Como Montar uma Estação Reflow com Controle PID e Arduino
ua-cam.com/video/KA6ujauFUQk/v-deo.html
@@FunBots Obrigado pelo retorno. Vou acessar o material que indicou.
Quando vou fazer as medições de pwm da uns valores acima do real que seria variando em torne de 270. Não entendo o que eu poderia está errando nessa medição, já que o controlador funciona corretamente.
Oi Luiza. Como você está medindo esse PWM? Me procura no insta para eu te ajudar melhor se quiser.
Boa tarde amigo !! Eu preciso controlar a velocidade de um motor 12v apartir da rotação da roda do equipamento onde a roda iniciando o motor inicia e trabalha na mesmo variação da roda do equipamento , parando a roda o motor para ! Como posso fazer esse projeto ? Se puder mim ajudar fico agradecido
Oi Gercion! Rapaz, para o seu caso, acredito que você precisa implementar um disco Encoder nessa sua roda e fazer o circuito que eu montei nesse vídeo, talvez só adaptar o driver de motor para o seu motor conforme a corrente dele.
Boa tarde gostei do video, muito interessante onde consigo essas bibliotecas para eu testar o codigo na pratica?
Boa tarde Professor, poderia fazer uma lista dos componentes utilizados?
faça uma aula de PID
Tá na lista sim Rodrigo, valeu!
Teria a possibilidade de fazer esse mesmo vídeo, porém com o PID já de forma "avançada" ? Pra aprendermos a modelar o PID de acordo com a situação
oi Daniel! Sim, estou planejando essa aula, vou achar um jeito de simplificar esse tema que é bem complexo. Fique ligado!
Boa Tarde, como eu consigo encontrar e instalar esta biblioteca para rodar o programa?
Pelo Gerenciador de Bibliotecas você consegue achar digitando o PID_V1. Valeu!
Como fazer isso sem biblioteca?
Aí vai precisar entender de cálculos avançados de Engenharia de Controle...
Seria possível substituir o L293 por mosfet ?
Oi Diego! Sim, é possível, mas recomendo utilizar em forma de ponte H, para poder alterar o sentido do giro. Valeu!
Olá, gostaria de desenvolver um projeto na faculdade com seu protótipo. Você pode me disponibilizar as bibliotecas utilizadas no código?
oi João! Achei que tinha deixado o link para download, mas esqueci! Coloquei agora na descrição do vídeo, confere lá! Valeu!
@@FunBots Realemente estão faltando as bibliotecas ADMotor.h e PID_v1.h, teria como disponibilizar por gentileza👍
RESUMO DO CALCULO INTEGRAL E DIFERENCIAL, COMPRA UM ARDUINO, USA A LIB Q ALGUEM JA FEZ E FALA QUE COMPLICADO DEMONSTRAR OQ ESTA POR TRAS DA LIB EM VIDEO RSSSS. SUCESSO
E se colocasse um potenciômetro para ajustar o KP, KI e KD. Resolveria? 🤣🤣