Olá pessoal.
Já há algum tempo, achava que dava para fazer um controle de posição bem simples com um motor CC.
O controle não é nem proporcional, nem integral e nem derivativo.
NÃO É PID!!!
Usei o PIC12F675, com 8 pinos e ainda sobrou muita memória flash e registros. Aliás o programa em assembler possui apenas 132 bytes, ficando ainda 892 livres. Só usa 5 registros de propósito geral.
A resolução, garantida, é de 8 bits. Montei, testei e comprovei. Com aproximadamente 27 graus, de um dia para o outro, a tensão de referência ficou em 5,00V, sem alterar. Usei um TL431 como fonte de referência e um trimpot para o ajuste, já que a tensão de alimentação do PIC não possui nem ajuste, nem precisão com a temperatura, e ainda possui ruído causado pelas comutações do PIC. Esta tensão de referência varia teoricamente entre 4,99V e 5,01V, para uma faixa de temperatura de -25 a 85 graus Celcios. É para crer, pois eu não testei.
Como este PIC não possui PWM, fiz com modulação por posição do pulso mesmo (PPM). O movimento ficou suave, sem tremedeiras da modulação.
O controle é simples e se baseia na seguinte suposição
"Se faltou, avance. Se sobrou retroceda!". Por este motivo, a estabilidade é alcançada após um overshoot, que no meu caso ficou bem difícil de se observar.
O PIC recebe 2 sinais e a referência. O sinal do valor analógico da
posição desejada, o valor analógico da
posição medida e a tensão de referência. O PIC exterioriza dois sinais de controle. O H (de horário) e o AH (de anti-horário). Estes dois sinais são enviados ao drive, que aciona o motor. Os dois sinais foram necessários para que seja evitada a condução de um dos ramos do circuito "H" do drive, antes do outro ramo cortar. Isso causaria a queima do drive. Com isso, mesmo que o PIC possuisse PWM, não poderia ser usado, pois o PWM estaria disponível em apenas um pino de saída.
Segue um vídeo que eu fiz para o YouTube.
http://www.youtube.com/watch?v=NhY-JRYiYM8
Meu próximo projeto é um controle analógico, com as mesmas características deste. Quero ver as diferenças entre eles. Para mim é um trabalho bem mais simples que com o PIC.
Depois vou tentar fazer um outro projeto com o PIC. Este já com o PID. Minha idéia é não fazer nada complicado. Tentar fazer todas as variáveis com apenas um byte e a operação matemática mais complicada seria a de subtração de 2 bytes. As multiplicações e divisões, caso hajam, serão implementadas com deslocamentos à esquerda e à direita, respectivamente.
É isso aí. Quando tiver mais coisas eu posto aqui.
Em tempo. Visitem meu recém-inaugurado site. Lá estou acrescentando alguma coisa interessante para os amantes da eletrônica.
Apesar de já ter divulgado em alguns sites de busca, o tempo que eles pedem é de 2 meses. Se você pagar é pro dia seguinte. Vou disponibilizar o site aqui no fórum.
Abraços.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain