Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Esta impressão 3D simples e projeto de servo motor é um sentimento de melhora para Simone Giertz, uma fabricante incrível que acabou de passar por uma cirurgia de remoção de tumor cerebral. O dispositivo de tesoura é acionado por um micro servo motor e microcontrolador Trinket rodando um pequeno código Arduino e é alimentado por uma bateria 3xAAA. Este projeto é uma colaboração com Leslie Birch!
Eu modelei a placa de base e o suporte do motor usando o Tinkercad, uma ferramenta de modelagem 3D grátis e fácil, que tem um painel de componentes eletrônicos comuns embutidos. Consegui arrastar um micro servo e modelar a base para caber em torno dele e ver onde ele se alinharia com o mecanismo da tesoura.
A cobra tesoura foi projetada por ricswika no Thingiverse, e foi fácil trazê-la para o Tinkercad e modificar a alça e as pontas da garra para se encaixarem em nossa peça base.
Para este projeto, você precisará de:
- Micro servo motor
- Chapéu bobo
- Bola de golfe de plástico
- Fio de aço com cortadores apropriados
- Agulha de costura e linha
- Tesoura
- Microntrolador Trinket 5V
- Suporte de bateria 3xAAA
- Tubulação termorretrátil
- Ferro de solda e solda
- Ajudando a ferramenta de terceira mão
- Decapantes de arame
- Cortadores diagonais nivelados
- Fios de conexão fêmea ou alguns pinos de cabeçalho (para conectar ao conector servo padrão)
- Cola quente
Para acompanhar o que estou fazendo, siga-me no YouTube, Instagram, Twitter, Pinterest e inscreva-se no meu boletim informativo. Como um associado da Amazon, ganho com as compras qualificadas que você faz usando meus links de afiliados.
Encontre este circuito no Tinkercad
O diagrama e a simulação mostram o microcontrolador Attiny85, a bateria e o servo do Trinket. Clique em Iniciar simulação para executar o código e ver a rotação do servo.
Circuitos Tinkercad é um programa baseado em navegador gratuito que permite construir e simular circuitos. É perfeito para aprender, ensinar e criar protótipos.
Etapa 1: modelo Tinkercad
Eu carreguei o modelo básico de cobra tesoura no Tinkercad, em seguida, modifiquei arrastando uma forma de orifício do painel lateral e moldando-os para cobrir cada alça e as garras no final, depois agrupando os orifícios com a forma original. Em seguida, criei novas guias nas extremidades da base e orifícios para prender a bola de golfe de plástico, bem como na base / servo.
A peça base foi modelada do zero usando os componentes de circuito embutidos do Tinkercad. Tirei um micro servo motor do painel de componentes eletrônicos e modelei em torno dele, criando uma interface para proteger o motor e prender a cobra tesoura. Também fiz alguns furos na base para costurá-la no chapéu.
Você pode copiar este design do Tinkercad e exportar cada peça para imprimir você mesmo. A cobra tesoura vertical é para fins de demonstração - não tente imprimir esta parte duplicada. = D
Divulgação: no momento da redação deste artigo, sou funcionário da Autodesk, que fabrica o Tinkercad.
Etapa 2: montar 3D e servo-mecanismo
Usamos arame de aço rígido para ligar o lado fixo da cobra da tesoura à base e a parte móvel ao servo. Depois de dobrar um ângulo em um pequeno pedaço de arame, usamos contas de joalheria e um pouco de cola quente para prender as outras pontas de nossos "eixos". O próprio servo motor é mantido no lugar com mais do mesmo fio e um pouco de cola quente. Tivemos que fazer algumas experiências com o posicionamento do chifre do servo para permitir que sua amplitude de movimento se sobrepusesse à da cobra tesoura.
Etapa 3: circuito e código do Arduino
As conexões do circuito são as seguintes:
- Trinket BAT + para alimentação do servo motor
- Trinket GND para aterramento do servo motor
- Trinket pino # 0 para sinal do servo motor
- Energia do pacote de bateria 3xAAA (fio vermelho) para Trinket BAT + (na parte inferior da placa)
- 3 baterias AAA aterradas (fio preto) para Trinket GND (na parte inferior da placa)
O código do Arduino para este projeto é baseado no exemplo da SoftServo no tutorial Trinket Servo. Você precisará instalar a biblioteca SoftServo para usá-la, o que pode ser feito pesquisando no Gerenciador de Bibliotecas (Sketch -> Incluir Bibliotecas -> Gerenciar Bibliotecas…). Para obter mais informações sobre como instalar e usar bibliotecas de código no Arduino, verifique minha aula gratuita Instructables Arduino, lição 4.
/*******************************************************************
Esboço da SoftServo para Trinket Adafruit. (0 = zero graus, total = 180 graus) A biblioteca necessária é a biblioteca Adafruit_SoftServo disponível em https://github.com/adafruit/Adafruit_SoftServo A biblioteca servo IDE Arduino padrão não funcionará com microcontroladores AVR de 8 bits como Trinket e Gemma devido a diferenças no hardware de temporizador disponível e programação. Nós simplesmente atualizamos pegando carona no contador timer0 millis (). Hardware necessário inclui um microcontrolador Adafruit Trinket um servo motor. pin mapeamentos Trinket: BAT + Gnd Pin # 0 Conexão: Servo + - Servo1 ************************************* ********************************* / #include // SoftwareServo (funciona em pinos não PWM) // Demonstramos dois servos ! #define SERVO1PIN 0 // Linha de servo controle (laranja) no Trinket Pin # 0 int pos = 40; // variável para armazenar a posição do servo Adafruit_SoftServo myServo1; // cria o objeto servo void setup () {// Configure a interrupção que irá atualizar o servo para nós automaticamente OCR0A = 0xAF; // qualquer número está OK TIMSK | = _BV (OCIE0A); // Liga a interrupção de comparação (abaixo!) MyServo1.attach (SERVO1PIN); // Anexe o servo ao pino 0 em Trinket myServo1.write (pos); // Diz ao servo para ir para a posição por quirk delay (15); // Espere 15ms para o servo atingir a posição} void loop () {for (pos = 40; pos = 40; pos- = 3) // vai de 180 graus para 0 graus {myServo1.write (pos); // diz ao servo para ir para a posição na variável 'pos' delay (15); // espera 15ms para o servo alcançar a posição}} // Aproveitaremos o timer interno millis () que dispara // para controlar o tempo e atualizaremos o servo a cada 20 milissegundos volátil uint8_t counter = 0; SIGNAL (TIMER0_COMPA_vect) {// é chamado a cada 2 milissegundos contador + = 2; // a cada 20 milissegundos, atualize os servos! if (contador> = 20) {contador = 0; myServo1.refresh (); }}