"Um movimento brusco e sua mão se afasta da superfície quente. O rápido estimulo lhe faz questionar como se dá a transmissão nervosa desse comando involuntário. Como você apenas moveu-se?"
Discutiremos sobre o Schmitt Trigger 74HC14 com o propósito de modelar um sistema nervoso adaptativo para um robô inseto.
Faremos análises gráficas e comparações com o modelo biológico de potencial de ação e montaremos uma rede neural com dois núcleos.
Vamos entrar nessa rede nervosa?
Discutiremos sobre o Schmitt Trigger 74HC14 com o propósito de modelar um sistema nervoso adaptativo para um robô inseto.
Faremos análises gráficas e comparações com o modelo biológico de potencial de ação e montaremos uma rede neural com dois núcleos.
Vamos entrar nessa rede nervosa?
Os estudos de Otto Schmitt (1913 – 1998) sobre o impulso neural de uma lula(o bicho mesmo) levou ao entendimento do que hoje é usado na eletrônica como "Schmitt Trigger" o que seria em uma tradução direta o "Ativador do Schimitt".
O principio de funcionamento tem base na propagação do sinal(dado) de um neurônio. Como pode ser visto abaixo:
Digamos que tenha um estimulo como uma chapa quente ou um espinho. Ao passar de um patamar(theshold) o sinal segue viagem. Vemos no gráfico o pico de subida.
Caso esse estimulo não seja "grande o bastante" é desconsiderado e o sinal não é propagado.
Com isso um sinal que tem um falso estimulo pode ser desprezado. E o ajuste das bordas de disparo de nível baixo ou alto podem tornar o sistema mais ou menos tolerante ao ruído ou interferência do meio.
No caso do 74hc14 temos esses valores previamente determinados pelo fabricante do CI como podemos ver no datasheet do 74HC14 abaixo.
Temos o limitante(thershold) positivo é VT+ é 2.5V e o limitante(thershold) negativo VT- é 1.6V. Essa variação na tomada de resposta mediante o sentido(se a tensão cai ou se sobe) é chamada de histerese.
1-Hora do experimento:
Vamos analisar um CI numa matriz de contatos e no osciloscópio para ver o comportamento do sinal que simula o comportamento do neurônio e aprender mais com isso.
Para esse experimento foi usado:
1x osciloscópio de dois canais.
1x CI 74HC14
1x fonte com ajuste manual de tensão.
1x matriz de contatos
Fios e cabos.
Veja na foto abaixo como deve ficar:
O fio Azul e o fio amarelo devem estar ligados diretamente nas ponteiras do osciloscópio.
O Fio Azul deve receber uma tensão que pode ser ajustada manualmente.
O CI 74hc14 tem os pinos que devem receber uma alimentação fixa de 0V(GND) e 5V(Vcc)
Lembrando que o GND da fonte deve estar comum ao osciloscópio.
Note que estamos usando apenas um inversor que são os pino "1" e "2". Mas o CI possui 6 inversores que podem ser usados. Veja abaixo:
As imagens abaixo mostram a coleta de dados sendo feita.
O osciloscópio possui a função "PRINT" que descarrega a imagem da tela num cartão de memória. Usaremos essas imagens para melhor entendimento.
Análise das imagens:
Após variar a tensão(Azul) temos a resposta na saída(Amarelo) da porta inversora. Congelamos a imagem com a função "STOP" e podemos trabalhar com a onda dando um zoom no ponto que for conveniente :
Nota: Estamos trabalhando com tensões levemente diferente cerca de "0.7V" de diferença do datasheet(4.5V) por motivo de praticidade. Assim é esperado uma pequena variação nos valores limitantes(thershold).
Fazemos manualmente a tensão(cor Azul) de entrada subir de 1,2V para o máximo de 5.2V e depois volta a cair.
A saída(cor amarela) reage abruptamente assim que a tensão(azul) atinge um limitante e vai a zero(0V).
Com a tensão(azul) em 5.2V fazemos cair e após atingir o segundo limitante a saída(Amarela) reage rapidamente e volta ao nível alto(5V).
Vamos agora analisar a primeira situação(subida da tensão) com mais detalhes:
Vamos aproximar mais um pouco. Como tudo acontece muito rápido precisamos dar uma olhada detalhadamente.
Agora bem próximo vemos o comportamento semelhante ao realizado pelo neurônio.
Quando a tensão chega em 2.8V há o disparo e a saída vai a zero. Esse valor varia pouco e tem valor médio próximo do declarado no datasheet que é de 2.5V
Note que há flutuações que passam das bordas(0V e 5V) mas logo há o ajuste exatamente como acontece num mecanismo biológico.
Agora vamos analisar a segunda situação(quando a tensão cai):
Vamos ampliar a imagem na intersecção entre a tensão de entrada e a saída para ver com detalhes como foi feito antes.
Temos então esse comportamento. Note o estouro de proximidade 1V acima dos 5V.
Temos(6,2V-5.2V=1V). Sendo 6,2V de estouro -(menos) 5.2V(da fonte).
Este é o estímulo para a retomada do equilíbrio. É a percepção de estouro.
Sendo a tensão de 2V o ponto de ativação. Valor bem próximo do esperado.
Notamos flutuações próximas a 600mA tanto para mais como para menos na parte inferior. Estes serão os estímulos para a retomada do equilíbrio. É a percepção de estouro.
Abaixo temos alguns vídeo ilustrativos que mostra o mesmo comportamento a nível celular.
Nota: O Vídeo 7, Parte 2 é o mais interessante para o entendimento do tema.
Vídeo 1- em inglês
Vídeo 2 - em inglês
Vídeo 3 - em espanhol
Vídeo 4- em espanhol
Vídeo 5 - em português
Vídeo 6 - em português
Video7 - Parte1 / Parte2 / Parte 3- em Português
Agora sabemos que é possível reproduzir a resposta neural com uma grande semelhança ao que acontece na natureza usando poucos transistores que compõem o inversor.
E há grandes utilidades nesse comportamento. Dentre eles:
- Propagar sinal.
- Gerar frequências.
- Modificar a frequência mediante uma resposta na saída(feed back)
- Debounce para botões
- Delay
-Temporizadores.
2- Projeto de um Microcore:
Vamos então para a construção de um Microcore de dois núcleos(Bicore) também conhecido como: "Nerv net" "Nv neurons" idealizados por Mark W. Tilden. Com isso é possível controlar motores e modificar seu comportamento mediante o esforço que tem sobre o terreno.
É um sistema bem interessante que elimina uma programação inteligente ou design inteligente para resolver problemas reais de alta complexidade na robótica como andar conforme o terreno, bem como responder a obstáculos. Simula o comportamento analógico e não linear da natureza.
O bom entendimento desse problema é a resposta para a pergunta: Porque os robôs que fazemos ou vemos são mais parecidos com carros de controle remoto(duro e seco) que uma barata flexível e furtiva ?
E, se possível aplicar esses conceitos em estruturar mais complexas ou híbridas.
Nota: Há outro CI que pode ser usado e vai apresentar comportamento semelhante ao "74hc14" que é o "4093" mas vamos nos ater ao 74hc14 por questões didáticas. Também é possível usar um amp op para esse propósito.
Projeto de um Microcore de dois núcleos:
Para finalizar essa primeira parte dessa publicação faremos um oscilador com dois nervos que gera uma frequência com base num circuito RC.
A célula básica é essa abaixo chamada de "Core":
Nota: vamos usar outros valores de resistores e capacitor.
O tempo de carga e descarga do capacito associado ao resistor estabelece uma base tempo para o estimulo da porta inversor. Assim temos uma onda com uma frequência dependente de RC(resistor capacitor).
Para uma rede neural precisamos de dois nódulos ou nervos(Bicore). Vamos então adicionar mais um nódulo e adicionar um fio de realimentação(feedback) para que o padrão de comportamento seja reinicializado ao percorrer toda a rede.
Os Leds servem para mostrar a saída. Assim podemos ver o comportamento de cada saída.
Monte o circuito abaixo:
Tensão de alimentação é de 5V(+).
Veja imagem de como deve ficar:
Vamos avaliar a alteração da resistência e o surgimento de frequências ou comportamentos diferentes.
Veja vídeo funcionando com os resistores R1 e R2= 2.2M
Neste caso temos uma frequência de saída de 2,77Hz:
Veja vídeo com os Resistores R1 e R2=10M
Neste caso temos uma frequência de saída de 0,62Hz
Nesta imagem vemos o Led 1(Azul) e LED 2(Amarelo) numa mesma tela.
Um tem o comportamento contrário o outro.
Um tem o comportamento contrário o outro.
Logo ao modificar o resistor temos a alteração da frequência. E modificar o capacitor também provoca uma mudança semelhante na onda.
Lembrando que o fio de realimentação(feedback) pega o sinal de saída da última porta inversora e joga na entrada da primeira. Fazendo a realimentação do sistema. Assim temos um modelo que propaga uma informação com frequências diferentes mediante a relação do circuito RC(resistor capacitor) e esse dado se propaga continuamente ao longo dos nódulos caso o estimulo inicial seja suficiente para ultrapassar o limiar de ativação(therdhold). Logo num sistema em atividade uma interferência na capacitância ou resistência em um dos nódulos gera uma frequência diferente que se propaga. Assim um solo mais acidentado pode provocar uma interferência na rede que por sua vez reage a esse estimulo mudando a frequência e o surgimento de um comportamento emergente. Temos então um sistema dinâmico e adaptativo e extremamente simples e eficaz.
O entendimento desse circuito é importante e será a base para o próximo projeto que será uma rede neural para um inseto robô. Ou seja, usaremos quatro nervos para controlar dois motores.
Essa será a segunda parte apresentada numa outra postagem.
Veja a Segunda Parte AQUI. (em desenvolvimento)
Referência:
http://mix-engineering.com/2011/04/oscillating-with-the-74hc14/
http://www.biologymad.com/NervousSystem/nerveimpulses.htm
datasheet do 74HC14
https://www.fairchildsemi.com/datasheets/CD/CD4093BC.pdf
http://beamland.solarbotics.net/library/pdflib/pdf/living_machines.pdf
http://www.talkingelectronics.com/te_interactive_index.html Imagem:
6.5: Lecture Notes - http://blog.canacad.ac.jp/bio/BiologyIBSL2/5357.html
https://classconnection.s3.amazonaws.com/544/flashcards/666544/png/app1317789045502.png
3 comentários:
Colega, parabens pela matéria.
Sabe onde consigo mais informações sobre redes neurais? Depois de ler o que vc escreveu estou pensando em fazer meu TCC sobre esse assunto.
olá
fico feliz que tenha sido motivador.
Ha diversas fontes e frentes de estudo nesse sentido.
Em breve vou fazer mais postagens sobre o tema indicando livros e material para consulta.
Mas a grande maioria das fontes com conteudo tecnico são em ingles.
Vai encontrar algo com os tópicos: Neural Network.
No fim da postagem tem umas referencias da uma olhada que pode ser de ajuda
Nice, Great Work!
Postar um comentário