Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Guia de conexão do chapéu do servo Pi

Introdução


O chapéu SparkFun Pi Servo permite que seu Raspberry Pi controle até 16 servo motores via conexão I2C. Isso salva o GPIO e permite que você use o GPIO integrado para outros fins. Além disso, o Pi Servo Shield adiciona uma conexão de terminal serial que permitirá que você abra um Raspberry Pi sem ter que conectá-lo a um monitor e teclado.


Materiais necessários


Aqui está o que você precisa para acompanhar este tutorial. Sugerimos comprar um cartão microSD em branco em vez de um cartão compatível com NOOBS, uma vez que os cartões compatíveis com NOOBS podem não ter um sistema operacional novo o suficiente para suportar o Pi Zero W.



Além disso, você vai querer algum tipo de servo motor para testar a configuração. Tente testar os exemplos fornecidos posteriormente no tutorial com o sub-micro servo genérico primeiro.

Ferramentas necessárias


Nenhuma ferramenta especial é necessária para acompanhar a montagem deste produto. Você precisará de um ferro de solda, solda e acessórios de solda em geral.

Visão geral do hardware


Existem apenas alguns itens de interesse no quadro, pois é um chapéu projetado para ser minimamente difícil de usar.

Conector USB Micro B - Este conector pode ser usado para alimentar os servo motores apenas, ou para alimentar os servo motores, bem como o Pi que está conectado ao chapéu. Ele também pode ser usado para se conectar ao Pi por meio de uma conexão de porta serial para evitar o uso de um monitor e teclado para configurar o Pi.



Jumper de isolamento da fonte de alimentação - Este jumper pode ser limpo (é fechado por padrão) para isolar o barramento de alimentação do servo do barramento de alimentação Pi 5V. Por que você gostaria de fazer isso? Se houver vários servos, ou servos grandes com uma carga pesada sobre eles, o ruído criado no trilho de alimentação pelos servo motores pode causar operação indesejada no Pi, até um reset completo ou desligamento. Observe que, enquanto o Pi estiver ligado, a interface serial ainda funcionará independentemente do estado deste jumper.



Cabeçalhos de pino do servo motor - Esses cabeçalhos são espaçados para facilitar a fixação de servo motores a eles. Eles são fixados na ordem correta para a maioria dos conectores de servo motores do tipo hobby.




Montagem de Hardware


Sugerimos soldar os cabeçalhos machos no Pi Zero W.



Meu truque favorito para este tipo de situação é soldar um pino, derreter a solda naquele pino com o ferro seguro em minha mão direita e usar minha mão esquerda para ajustar o coletor até que fique plano como mostrado abaixo. Certifique-se de que você está soldando com o lado mais curto do cabeçalho e os pinos mais longos no lado do componente. Depois de pregar um pino, termine de soldar todos os pinos no Pi Zero W.



Repita as etapas com o cabeçalho feminino e o chapéu Pi Servo.





Certifique-se de inserir os pinos curtos da parte inferior da placa e adicionar solda ao lado do componente de modo que o chapéu do servo Pi empilhe na parte superior dos pinos de cabeçalho macho do Pi Zero W. Você também precisará se certificar de que a plataforma está nivelada antes de soldar todos os pinos.





Uma vez que os cabeçalhos tenham sido soldados, empilhe o Pi Servo Hat no Pi Zero W. Em seguida, conecte um servo hobby a um canal “0” baseado no servo que você está usando. Tente olhar a ficha técnica do servo hobby ou consultar algumas das pinagens do conector servo padrão listadas neste tutorial. Usando um adaptador de parede 5V suficiente, podemos alimentar o Pi Zero W. Conecte o adaptador de parede a uma tomada de parede para alimentação e conecte o conector micro-B rotulado como a porta “PWR IN” no Pi Zero W.

Software - Python


Veremos com alguns detalhes aqui como acessar e usar o chapéu do servo pi em Python.

O código de exemplo completo está disponível no repositório GitHub do produto.

Configure o acesso aos recursos do SMBus


Primeiro ponto:na maioria das interações de nível de sistema operacional, o I 2 O barramento C é conhecido como SMBus. Assim, obtemos nossas primeiras linhas de código. Isso importa o módulo smbus, cria um objeto do tipo SMBus e o anexa ao barramento "1" dos vários SMBuses do Pi.
import smbus
bus =smbus.SMBus (1)

Temos que informar ao programa o endereço da peça. Por padrão, é 0x40, então defina uma variável para usar mais tarde.
 addr =0x40 

Em seguida, queremos habilitar o chip PWM e dizer a ele para incrementar endereços automaticamente após uma gravação (o que nos permite fazer gravações multibyte de operação única).
 bus.write_byte_data (addr, 0, 0x20) bus.write_byte_data (addr, 0xfe, 0x1e) 

Grave valores nos registros PWM


Essa é toda a configuração que precisa ser feita. De agora em diante, podemos gravar dados no chip PWM e esperar que ele responda. Aqui está um exemplo.
 bus.write_word_data (addr, 0x06, 0) bus.write_word_data (addr, 0x08, 1250) 

A primeira gravação é no registro de “hora de início” do canal 0. Por padrão, a frequência PWM do chip é 200 Hz, ou um pulso a cada 5 ms. O registro de tempo de início determina quando o pulso fica alto no ciclo de 5 ms. Todos os canais são sincronizados com esse ciclo. Geralmente, isso deve ser gravado em 0. A segunda gravação é no registrador de “tempo de parada” e controla quando o pulso deve diminuir. O intervalo para este valor é de 0 a 4095, e cada contagem representa uma fatia desse período de 5 ms (5 ms / 4095), ou cerca de 1,2us. Assim, o valor de 1250 escrito acima representa cerca de 1,5 ms de tempo por período de 5 ms.

Servo motores obtêm seu sinal de controle dessa largura de pulso. De um modo geral, uma largura de pulso de 1,5 ms resulta em uma posição "neutra", a meio caminho entre os extremos da faixa do motor. 1,0 ms rende aproximadamente 90 graus fora do centro e 2,0 ms rende -90 graus fora do centro. Na prática, esses valores podem ser um pouco mais ou menos do que 90 graus, e o motor pode ser capaz de um pouco mais ou menos do que 90 graus de movimento em qualquer direção.

Para endereçar outros canais, simplesmente aumente o endereço dos dois registradores acima em 4. Assim, o tempo de início para o canal 1 é 0x0A, para o canal 2 é 0x0E, o canal 3 é 0x12, etc. e o endereço de tempo de parada para o canal 1 é 0x0C, para o canal 2 é 0x10, o canal 3 é 0x14, etc. Consulte a tabela abaixo.


Canal # Endereço inicial Endereço de parada
Ch 0 0x06 0x08
Ch 1 0x0A 0x0C
Ch 2 0x0E 0x10
Ch 3 0x12 0x14
Ch 4 0x16 0x18
Ch 5 0x1A 0x1C
Ch 6 0x1E 0x20
Ch 7 0x22 0x24
Ch 8 0x26 0x28
Ch 9 0x2A 0x2C
Ch 10 0x2E 0x30
Ch 11 0x32 0x34
Ch 12 0x36 0x38
Ch 13 0x3A 0x3C
Ch 14 0x3E 0x40
Ch 15 0x42 0x44

Se você escrever um 0 no endereço inicial, cada grau de deslocamento de 90 graus requer 4,6 contagens gravadas no endereço de parada. Em outras palavras, multiplique o número de graus de deslocamento de neutro que você deseja alcançar por 4,6 e, em seguida, some ou subtraia esse resultado de 1250, dependendo da direção do movimento desejada. Por exemplo, um deslocamento de 45 graus do centro seria 207 (45 × 4,6) contagens mais ou menos que 1250, dependendo da direção em que você deseja que o movimento ocorra.

Leia mais informações ...

Guia de conexão de chapéu de servo Pi



Processo de manufatura

  1. Guia de Prototipagem CNC
  2. Guia FLIR Lepton Hookup
  3. Guia de conexão do Raspberry Pi 3 Starter Kit
  4. Qwiic HAT para Raspberry Pi Hookup Guide
  5. Guia de conexão de cunha Pi de 40 pinos pré-montada
  6. Robô Pi Simples
  7. Guia para martelos elétricos
  8. Guia para forjas de ferraria
  9. Guia de fundição de precisão
  10. Guia Rápido Para Paralelismo GD&T