Olá pessoal! O desenvolvimento do hexapod está ativamente em andamento e é hora de mostrar as mudanças fundamentais no design e nos planos do firmware. Houve uma grande pausa no lançamento de novos artigos como resultado do longo projeto de novos eletrônicos e caixas. Em princípio, este será o artigo, como sempre, muitas fotos.
Etapas do desenvolvimento:Parte 1 - DesignParte 2 - montagemParte 3 - CinemáticaParte 4 - trajetórias e sequências matemáticasParte 5 - EletrônicaParte 6 - transição para impressão 3DAlguns pontos gerais
Dei um novo nome ao projeto, já que nada de prático atual fala sobre ele. De fato, o SKYNET é uma rede celestial, bem, ou algo assim (céu-céu, rede-rede). Nesse caso, não há rede, e mais ainda o céu.
O novo nome é
AIWM (máquina de andar com inteligência artificial
) - uma máquina de andar com inteligência artificial. À custa da inteligência, é muito cedo aqui, mas de repente eu posso viver até este ponto :)
Fiz uma breve demonstração com uma descrição dos recursos atuais (a visualização de um novo design começa a partir do segundo minuto).
Mudanças funcionais
Durante o redesenho, muitas idéias e complexidades surgiram. Várias partes desnecessárias foram removidas e nova funcionalidade foi adicionada. Aqui está uma lista de alterações que estão planejadas para serem implementadas:
- Arquitetura de multiprocessador. Atualmente, três MCUs estão planejados: controlador de visão de máquina (Broadcom BCM2835), controlador de energia (STM32F030), controlador de cabeça (STM32F373);
- O controlador de visão de máquina é um módulo Raspberry Pi Zero pronto e estará envolvido na coleta, processamento e reconhecimento de objetos da câmera. Todo o hardware necessário para isso está conectado a ele. A comunicação é realizada usando o protocolo ModBus no modo escravo;
- O controlador de energia é um poderoso DC-DC (até 250 W) com a capacidade de ajustar a tensão de saída em tempo real através da comunicação. Ele alimenta todos os componentes eletrônicos do hexapod e é o seu coração. Talvez no futuro seja possível mudar para a fonte de alimentação direta de unidades de 7,4V, mas essas unidades são bastante caras, mesmo em Ali. A comunicação é realizada usando o protocolo ModBus no modo escravo;
- O controlador principal é o link nesta arquitetura. Ele está envolvido no processamento de movimento e fornece uma interface para comunicação com o mundo exterior. A comunicação é realizada de acordo com o protocolo ModBus no modo escravo (mundo externo) e no mestre (comunicação interprocessos);
- Suporte a streaming de vídeo ou transferência de imagem WIFI para controle fora da linha de visão, se houver recursos livres suficientes do Raspberry Pi Zero;
- Decidiu-se transferir o controle para o Bluetooth (será usada a ponte BLE-UART HM-10 já pronta), já que o WIFI já está teoricamente ocupado para transmitir vídeo para o painel de controle. Além disso, quero poder atualizar o firmware ou a configuração em tempo real a partir de um servidor remoto e, se você usa WIFI para comunicação, não fica mais on-line;
- Gerenciamento de LEDs RGB na frente para iluminar no escuro e mostrar simultaneamente o status do FW;
- Os sensores de toque são integrados à estrutura das pernas, o que permitirá um algoritmo de movimento mais inteligente;
Controlador principal ou painel de controle
Eu estava cansado da atual placa sanduíche e foi decidido projetar uma nova placa de controle, levando em consideração as inovações no design. No processo de design, a tela foi descartada (na verdade, para quê, ele é necessário lá) e um medidor de alcance ultrassônico (depois guano). Ao longo do caminho, decidi mudar para o STM32F373 para finalmente me livrar do Arduino, e a presença de FPU neste processador, é realmente necessário instalá-lo.
Após uma semana de elaboração do circuito e rastreamento, apareceu um protótipo eletrônico do painel. No total, foram necessárias 20 horas para projetar.Para reduzir o número de possíveis fontes de erros, uma transição gradual para novos eletrônicos é planejada. Nesse caso, o primeiro plano de controle será lançado em conjunto com o antigo painel de energia.
Para compatibilidade do software Android atual, uma pegada é fornecida sob a ponte WIFI-UART, que agora é usada no protótipo. As capturas de tela da placa são mostradas abaixo (o WIFI-UART foi removido na visualização 3D, porque o Altium, por algum motivo, exibe seu modelo completamente em uma cor). De fato, não faz diferença o que usar para comunicação - o principal é que a saída da interface tenha UART.
Os seguintes conectores são fornecidos na placa:
- A fonte de alimentação principal são contatos de 12V + do conector de balanceamento para a possibilidade de monitorar a tensão de cada célula; com base nisso, você também pode determinar o tipo de bateria conectada (número de células);
- Um conector para transmitir sinais para a placa de energia dos servos;
- Conectores para controlador de visão de máquina e controlador de potência;
- Conector para controle de LEDs RGB frontais;
- Conectores para sensores de toque nos membros;
- Um conector para conectar um emissor piezo. Supõe-se que o tweeter já tenha um circuito de controle, e apenas trocamos a potência.
Tudo é bastante simples e a mudança para o STM deve ser indolor. Eu projetei o código com sucesso e é suficiente substituir os drivers que trabalham com registros periféricos.
Controlador de potência
À medida que minha experiência em eletrônica aumentou, através de várias tentativas e erros, finalmente pude compreender o DC-DC. De fato, não há nada complicado lá, o principal é saber como a bobina funciona e por que ela é realmente necessária.
Para controlar uma carga poderosa, que neste caso é de 18 inversores com um consumo médio de 12 a 15A, é necessário algo mais eficiente que um simples DC-DC. Como regra, o gargalo neles é o diodo, que em altas correntes começa a aquecer a sala. A tensão de alimentação dos inversores é de 6V com uma tensão de entrada de até 12V; nesse caso, o diodo funcionará ~ 50% do ciclo (uma estimativa aproximada sem levar em conta a queda de tensão e outras alegrias). Assim, mesmo ao usar um diodo Schottky, a energia alocada a ele será grande o suficiente para começar a pensar em dissipação de calor.
DC-DCs síncronos vêm ao resgate, no qual um transistor de efeito de campo é usado em vez de um diodo. Com bons transistores, a resistência do canal é baixa o suficiente para acionar grandes correntes sem geração significativa de calor. As principais diferenças entre DC-DC assíncrono e síncrono são mostradas abaixo:
Em geral, depois de ler um monte de informações, finalmente decidi sobre os requisitos:
- A capacidade de acionar correntes de até 20A no modo nominal;
- Transição para o modo de emergência, violando a operação normal: superaquecimento ou saturação da bobina, superaquecimento dos interruptores, baixa tensão de entrada, curto-circuito, tensão de saída inadequada e outras alegrias;
- Capacidade de se comunicar com o DC-DC para obter valores medidos: tensões de entrada e saída, consumo de corrente, temperaturas da bobina e interruptores de energia;
- Eficiência adequada;
Decidi projetar o DC-DC usando o microcontrolador STM32F030, custa um centavo e possui todos os periféricos necessários para solucionar meus problemas. A única desvantagem do uso deste MK é um ajuste de tensão bastante bruto com um passo de 25mV a uma frequência de 100kHz. Para obter maior precisão, você precisa usar o MK com temporizadores de alta resolução a bordo ou reduzir a frequência de comutação dos transistores. Para os meus requisitos, esta etapa da regulação de tensão é suficiente.
No momento, o primeiro protótipo foi projetado e montado, o que mostrou a eficiência do circuito. A eficiência para medições aproximadas é de 87% a uma corrente de 11A na configuração de depuração da placa usando resistores de proteção de correntes passantes (necessárias para configurar o tempo morto entre a comutação do transistor).
Mais detalhes sobre o DC-DC serão um pouco mais tarde, quando eu me lembrar disso. Há muitos pontos interessantes, o cheiro de drivers de obturador frito e MK :) A propósito, os transistores se mostraram tão poderosos que, como resultado da falha, a corrente passante queimou a placa de circuito e, ao mesmo tempo, os transistores permaneceram intactos.
Um pouco sobre o novo prédio
A eletrônica é muito interessante, mas você também não precisa esquecer a mecânica. Finalmente, o hexapod adquiriu uma caixa fechada adequada, de onde os fios e as peças das placas de circuito impresso não se destacam. Aqui está ele
Durante o design, tentei evitar o redimensionamento dos elementos dos membros e do próprio corpo, pois a versão anterior se mostrava bem em termos de velocidade e carga nos acionamentos. Em geral, apenas a ideia da localização das pernas e tamanhos permaneceu no edifício anterior, o restante foi redesenhado.
A parte mais difícil do projeto foi o desenvolvimento do projeto do casco. No começo, eu queria abandonar esse negócio várias vezes por causa da discrepância entre fantasia e realidade, mas dia após dia os elementos decorativos começaram a aparecer e esse sentimento se foi. Afinal, o escultor também não mói imediatamente sua criação, e esse momento só precisa ser experimentado.
O gabinete é um conjunto de peças para montagem subsequente com parafusos “parafuso” M3 (em alguns lugares, você pode usar parafusos de plástico, por exemplo, para as tampas superior e inferior) para reduzir o peso. Nesse caso, os parafusos são parafusados diretamente no plástico nos orifícios para isso com roscas pré-cortadas.
A base é montada a partir de três partes diferentes usando ranhuras, seguidas de parafusos. Não há idéia de design para dividi-lo em partes, são apenas os recursos físicos da impressora (220x220) e não quero expandi-lo, então tenho que descobrir como sair dessa situação. Há uma vantagem nisso - em caso de qualquer dano, basta reimprimir apenas a peça danificada, o que economizará em plástico e tempo de reparo (tudo pode acontecer durante os testes).
Depois de conectar todas as peças, instalar as unidades e os componentes eletrônicos, tudo é fechado com tampas de 6 mm, que são presas com parafusos da mesma maneira. Uma placa de controle é instalada na tampa central, que é então fechada com um painel decorativo.
A força do corpo é aplicada ao cair de 0,5 m de altura para uma superfície sólida sem violar a integridade. A propósito, a versão em compensado do casco não sobreviveu às duras condições de carga no avião, enquanto o casco foi embalado em uma grande colisão e, como resultado, a perna foi quebrada.
Os acionamentos de controle de membros foram movidos para a FEMUR, o que deve reduzir um pouco a carga, reduzindo o peso do TIBIA como resultado da transferência do fixador e da mudança do servomotor mais perto do início da alavanca. E será melhor no design se o TIBIA e o COXA estiverem instalados na parte FEMUR, e não vice-versa como antes.
COXA, FÊMUROS E TÍBIA? - o que é isso? De acordo com cálculos preliminares, a impressão da caixa levará 670g de plástico e 51 horas de impressão contínua com uma camada de 0,2 mm e uma espessura de bico de 0,4 mm. Em geral, por dinheiro, sai um pouco mais barato que o compensado, mas o design é inútil de comparar e vale a pena.
PS
Ficarei feliz em dar sugestões sobre o caso. No momento da redação deste documento, o caso já havia sido impresso, mas ainda há tempo para fazer alterações nos detalhes restantes. Eu sou o único desenvolvedor de todo esse projeto e, às vezes, há períodos em que novos pensamentos não me vêm à mente estupidamente - agora esse período começa :)
Algumas fotos do processo de impressão