Dando movimento aos “olhos da segurança”…
Com o aumento da criminalidade em todo o mundo tem incrementado a procura de dispositivos de segurança. O uso de câmeras digitais tem se intensificado amplamente. Raro é o lugar em que não estamos sendo “observados” por elas. Em algumas aplicações, é interessante poder mover o foco da câmera, quer seja para esquerda ou direita, quer para cima ou para baixo. O uso de servos 0-2ms é muito comum em pequenos suportes de câmeras vendidos pela internet (Pan Tilt). Nestes temos 2 servos onde um controlar o movimento no sentido vertical e outro no sentido horizontal. Como poderíamos controlar estes servos de forma simples? Veja uma solução fácil no esquema abaixo:
Foi usado um pequeno PIC12f675 para gerar os tempos necessários para controlar os servos. Para um servo operar ele precisa receber um pulso positivo de duração variável correspondente a posição desejada. Este pulso pode durar entre 750 uSeg a 2500 uSeg. Também a cada 20 mSeg deve haver a repetição deste pulso.
O programa usa o timer 1 para gerar o intervalo de repetição (18 a 20 mSeg) e o timer 0 para produzir a largura do pulso positivo (ou seja, a posição do servo).
Foi usado a interrupção destes timers para acionar as saídas de cada servo. Já no programa principal apenas testamos os interruptores que são responsáveis pela modificação dos valores que serão usados pelo timer 0.
Caso queira outros valores de excursão dos servos, ou mudar a posição inicial após reset, ou ainda alterar a velocidade de acionamento, poderá alterar nos ‘defines’ estes valores conforme o modelo de seu ‘Pan Tilt’ ou sua adaptação. Serão estes valores disponíveis:
//limites de excursão dos servos horizontais e verticais
#define lim_minv 35 //determina o limite horário max. do servo vertical
#define lim_minh 35 //determina o limite horário max. do servo horizontal
#define lim_maxv 190 //determina o limite anti-horário max. do servo vertical
#define lim_maxh 190 //determina o limite anti-horário max. do servo horizontal
#define lim_initv 105 //posição pós reset do servo vertical
#define lim_inith 105 //posição pós reset do servo horizontal
#define p_total 220 //determina o periodo total (aprox.18 ms))
#define vel_inc 50 //determina a velocidade da atuação dos botões
Depois de alterar, não esqueça de recompilar usando o MplabX_Ide, e usar o novo arquivo Hex gerado.
As chaves devem ser montadas próximas ao pic, enquanto as saídas dos servos podem ser levadas por uma distância considerável, por meio de cabos blindado de 3 fios, até o servomotor. Use uma fonte de alimentação de 5 volts para alimentar o circuito.
Obs. Esta montagem é de natureza didática, sendo realizada apenas em placa de montagem experimentais (do tipo Protoboard), sujeito a bugs ainda não observados. Esta sendo fornecido os arquivos desta montagem, podendo ser alterados conforme a necessidade dos hobistas.
Atenção: Antes de fazer placa de circuito impresso, teste em placa de montagem experimental e veja se o circuito atende as suas necessidades.
Segue abaixo a pasta com os arquivos da montagem usando o MplabX, compilador XC8, da MicroChip:
Manuais:
PIC12F675
servomotor
Pan Tilt Camera
Curiosidades:
A capacidade de cicatrização do corpo humano
As baleias estão aqui!
Pedro foi o primeiro papa?
Camafeus italianos: obras-primas em miniatura
Como tornar seguro o ambiente de trabalho
O “endereço” perfeito da Terra
A arca de Noé e a arquitetura naval
O que descobriram em Jezreel?
“Vamos nos encontrar no poço?”
Faça sua parte por manter a casa limpa
Use a tecnologia de modo respeitoso e econômico
Hipocrisia! Até quando?
Vigor juvenil para sempre!
Outros assuntos:
Brigas na família — Por que acontecem?
O que há de errado nos costumes do Natal?
Como ser um bom ouvinte
Como lidar com as dívidas
Como resolver problemas no casamento
Aprenda a perdoar
Como lidar com os sogros
Como criar filhos responsáveis
Como administrar o seu dinheiro
Ensine valores morais a seus filhos
Como evitar ferir com palavras?
Como tratar seu cônjuge com respeito?
Vídeos Educativos para assistir com seus filhos pequenos
Até o próximo artigo!!!