Servo controle SG90 sem microcontrolador


Peguei na mão o popular servo barato SG90. E eu pensei em gerenciá-lo, mas sem um microcontrolador. Neste artigo, descreverei a mentalidade do desenvolvedor ao implementar uma das opções de solução.

Quem se importa, por favor, debaixo do gato.

Idéia


É necessário controlar o servo, mas sem um microcontrolador.

Conhecimento


Todo mundo sabe que a experiência e o conhecimento ajudam a criar e encontrar soluções. Existem muitos exemplos do uso de um servoconversor com o uso de controladores nas páginas do Giktims. Eles descrevem em detalhes sobre o sistema de servo controle. Levaremos essa experiência de outros desenvolvedores para o conhecimento necessário para resolver o problema. O servoconversor SG90 é controlado por um sinal PWM cujos parâmetros determinam a posição do rotor. O período PWM é de cerca de 20 ms, a duração do sinal de controle é de 500 a 2100 μS.

Desafio


Idéia e conhecimento dão origem a um problema que deve ser resolvido. Formulamos o problema para a realização da ideia. Isso é algo como um Termos de Referência. Parece que tudo é simples, você precisa de um gerador de pulsos com um ciclo de trabalho variável, conectar a energia ao servoconversor e aplicar um sinal de controle do gerador. Enfatizamos que há mudanças no ciclo de trabalho nos requisitos - ou seja, deve haver controles ou uma interface com o usuário.

Implementação


É aqui que começa a agonia da criatividade: o que levar e onde obtê-la? Você pode encontrar um gerador de pulsos de laboratório pronto, por exemplo, G5-54 com alças, botões, definir os parâmetros necessários, conectar o gerador a um servoconversor. No entanto, é complicado e nem todos podem se dar ao luxo de tal luxo. Portanto, os desenvolvedores, contando com sua experiência e conhecimento, tentam combinar desejo (idéia-tarefa) e oportunidades (material e criativa) para a implementação da tarefa. Possibilidades materiais são aquele "sapo""Quanto e o que eu quero gastar na implementação de uma idéia?" Criatividade é: "Verei o que já tenho". Esses não são necessariamente alguns valores materiais, mas a experiência e o conhecimento de desenvolvimentos anteriores que podem ser adaptados à implementação. Além disso, não será supérfluo pesquisar (google) que alguém já tenha implementado algo semelhante. Para reduzir as opções da solução, você precisa adicionar requisitos adicionais que limitam as fantasias de implementação. Por exemplo, adicionamos mais uma condição aos requisitos, seja uma limitação material, a implementação deve ser barata .

Procure alternativas


Usando a Internet, procuramos opções que a rede oferece. Definimos na pesquisa: “um gerador de pulsos retangular com um ciclo de trabalho variável”. Teremos muitas opções, tanto com o uso de temporizadores integrados NE555 (analógico doméstico do KR1006VI1), quanto em circuitos lógicos. De toda a variedade, escolhi a opção de um gerador em um inversor com um gatilho Schmitt na entrada. Primeiro, é o mais simples e, segundo, requer um mínimo de detalhes, e o mais interessante usa um único elemento lógico de seis, se, por exemplo, você usar o chip 74HC14.

O circuito de um gerador desse tipo se parece com o seguinte:


Pouco de teoria


A teoria diz que a frequência de um gerador desse tipo é f = 1 / T = 1 / (0,8 * R * C). Para obter a frequência necessária, você precisa selecionar o valor de face de um dos elementos que especificam a frequência. Como o elemento lógico é feito de acordo com a tecnologia CMOS, ele possui uma grande impedância de entrada, portanto, elementos que especificam pequenas correntes operacionais podem ser usados. Escolhemos a capacitância C1 de um número de denominações comuns, por exemplo 0,47 μF. Então, para obter a frequência requerida (50Hz), o resistor deve ser de aproximadamente 53 kOhm, mas como não existe na série padrão, escolhemos 51 kOhm.


Um sinal próximo ao meandro é gerado na saída de um gerador desse tipo; portanto, precisamos ajustar o circuito para que ele atenda aos requisitos da tarefa. Para obter uma duração de pulso ajustável na saída, é necessário alterar o modo de recarregar o capacitor de um nível alto na saída, ou seja, reduzir o tempo de recarga. Para fazer isso, adicione mais dois elementos ao circuito: um diodo e um resistor variável. Qualquer diodo de comutação de baixa potência é adequado.

Então o circuito terá a seguinte forma:


Parece: tudo, o problema está resolvido, mas nas posições extremas do resistor variável o comportamento do servo é instável. Isso se deve ao fato de o valor da duração do pulso, nas posições extremas do resistor variável, não corresponder aos exigidos. Pessoalmente, também não gosto do uso de um resistor variável, por isso quero alterar a interface de controle adicionando uma nova lista de desejos aos termos de referência, por exemplo, para que o ciclo de trabalho mude dependendo da luz. Existe uma solução simples e barata para isso: aplique um fotorresistor GL55xx (usado em projetos do Arduino) como um elemento regulador, cuja mudança na resistência está em uma ampla gama.

Então a diversão começa. Não existem fórmulas de cálculo para obter os valores de resistência que fornecem as durações de pulso necessárias; portanto, no nível da intuição (experimentalmente, usando um resistor variável), determinamos os valores de resistência nos quais os valores necessários de durações de pulso são definidos. Em seguida, alteramos o circuito para que, quando a resistência do fotorresistor for alterada, a resistência total seja alterada, configurando os valores exigidos para a duração do pulso.

O esquema final assume a seguinte forma:


Explicações para o esboço final


O capacitor C1 com um valor nominal de 0,47 μF determina o tempo de recarga. Um resistor de 51 kΩ R1 define a taxa de repetição de pulso fundamental na região de 50 Hz. A combinação de resistores R2-R4 no total variará de 2,5 kOhm a 24 kOhm, dependendo da iluminação. Juntamente com o diodo D1, esses resistores afetam o tempo de recarga do capacitor C1 sob a ação de um pulso positivo na saída do elemento lógico, determinando sua duração.

Resultado


Ao conectar este gerador à entrada de controle do servoconversor, poderemos controlá-lo alterando a iluminação do fotorresistor. No vídeo, você pode ver o que aconteceu:



Isso seria tudo, mas posso oferecer o desenvolvimento desse desenvolvimento. Como usamos apenas um dos seis elementos lógicos incluídos no alojamento do microcircuito, podemos montar outros cinco geradores e conectá-los a outros servos. Ao conectar as abas às alavancas de atuação dos servos, que bloquearão o fluxo luminoso dos fotorresistores que controlam outros servos, você pode obter um comportamento engraçado dos servos, mas proponho realizar esse experimento por conta própria.

Vá em frente e boa sorte!

Source: https://habr.com/ru/post/pt400631/


All Articles