SparkMAX
Aqui nós temos tudo a respeito do controlador de motor da REV SparkMAX
- Visão Geral do SparkMAX
- Especificações do SparkMAX
- Começando com o SparkMAX
- Padrões do LED de Status
- Solução de Problemas
Visão Geral do SparkMAX
O Controlador de Motor REV Robotics SPARK MAX é um controlador de motor tudo-em-um com USB, habilitado para CAN e PWM que pode controlar tanto motores DC 12V com escova, quanto motores DC sem escovas de 12 V. O SPARK MAX é projetado para uso na FIRST® Robotics Competition (FRC), incorporando controle avançado de motor em um pacote pequeno, fácil de usar e acessível. Configure e execute o SPARK MAX através de sua interface USB integrada sem a necessidade de um sistema de controle completo.
Recursos do SparkMAX:
- Controle de motor com escova e sem escova com sensor
- Interfaces de controle PWM, CAN e USB
- PWM/CAN - Conector de 4 pinos JST-PH com trava e chave
- USB - Tipo C USB
- Configuração e controle via USB
- Configuração rápida com um PC
- Modos de controle inteligentes
- Controle de velocidade em malha fechada
- Controle de posição em malha fechada
- Modo seguidor
- Porta de encoder
- Conector de 6 pinos JST-PH com trava e chave
- Entrada de encoder de sensor Hall de 3 fases
- Entrada de sensor de temperatura do motor
- Porta de dados
- Entrada para Limit Switch
- Entrada para encoder de quadratura
- Pino multifuncional
- Botão de modo
- Configuração a bordo do tipo de motor e comportamento em repouso (brake/coast)
- LED de status RGB
- Feedback detalhado do modo e operação
- Fiação integrada de energia e motor
- Fio de silicone ultra-flexível 12 AWG
- Resfriamento passivo
Conteúdo do Kit:
Os seguintes itens estão inclusos com cada Controlador de Motor SPARK MAX:
- 1 - Controlador de Motor SPARK MAX
- 1 - Cabo de USB-A macho para USB-C
- 1 - Cabo de CAN com conector JST-PH de 4 pinos
- 1 - Cabo único PWM com conector JST-PH de 4 pinos
- 1 - Clipe de retenção de cabo PWM/CAN
- 1 - Tampa de proteção da porta de dados
Especificações do SparkMAX
A seguinte tabela mostra as especificações mecânicas e de operação do controlador de motor SparkMAX
Especificações Elétricas Principais
Parâmetro | Min | Typ | Max |
---|---|---|---|
Faixa de Tensão de Operação | 5.5 | 12 | 24 |
Tensão Máxima Absoluta | - | - | 30 |
Corrente de Saída Contínua | - | - | 60* |
Corrente Máxima de Saída (pico de 2 segundos) | - | - | 100 |
Frequência de Saída | - | 20 | - |
Especificações de Entrada PWM
Parâmetro | Min | Typ | Max |
---|---|---|---|
Pulso de Entrada Totalmente Reverso † | - | 1000 | - |
Pulso de Entrada Neutro †† | - | 1500 | - |
Pulso de Entrada Totalmente Para Frente ††† | - | 2000 | - |
Faixa de Pulso de Entrada Válida | 500 | - | 2500 |
Frequência de Entrada | 50 | - | 200 |
Timeout de Entrada ‡ | - | 50 | - |
Deadband de Entrada Padrão ‡‡ | - | 5 | - |
Nível Alto de Entrada | 0.5 | 0.7 | 0.9 |
Máximo de Tensão de Entrada | 12 | - | - |
† Escovado: entre as saídas A e B a 100% de ciclo de trabalho.
Sem escovas: direção A->B->C a 100% de ciclo de trabalho.
†† Neutro corresponde a zero de tensão de saída (0 V) e pode ser tanto frenagem quanto inércia, dependendo do modo atual de comportamento em repouso.
††† - Escovado: entre as saídas A e B a 100% de ciclo de trabalho.
Sem escovas: direção C->B->A a 100% de ciclo de trabalho.
‡ - Se um pulso válido não for recebido dentro do período de tempo de espera, o SPARK MAX desativará sua saída.
‡‡ - O deadband de entrada é adicionado a cada lado da largura do pulso neutro. Dentro do deadband, o estado de saída é neutro. O valor do deadband é configurável usando o Cliente de Hardware REV ou através da interface CAN.
Especificações do Porta de Dados
Parâmetro | Min | Typ | Max |
---|---|---|---|
Faixa de tensão de entrada digital † | 0 | - | 5 |
Tensão de entrada digital-alta † | 1.85 | - | - |
Tensão de entrada digital-baixa † | - | - | 1.36 |
Faixa de tensão de entrada analógica †† | 0 | - | 3.3 |
Entrada analógica (12bit) | - | 81 | - |
Corrente de fornecimento de 5V (I5V) ‡ | - | - | 100 |
Corrente de fornecimento de 3.3V (I3.3V) | - | - | 30 |
Corrente total de fornecimento (I5V + I3.3V) | - | - | 100 |
† - Veja mais detalhes na página da Porta de Dados
†† - Veja mais detalhes na página da Porta de Dados
‡ - Alimentação de 5V é compartilhada entre a porta de dados e de encoder
Especificações da Porta do Encoder
Parâmetro | Min | Typ | Max |
---|---|---|---|
Faixa de tensão de entrada digital † | 0 | - | 5 |
Tensão de entrada digital-alta † | 1.85 | - | - |
Tensão de entrada digital-baixa † | - | - | 1.36 |
Faixa de tensão de entrada analógica †† | 0 | - | 3.3 |
Corrente de fornecimento de 5V (I5V) ‡ | - | - | 100 |
Corrente de fornecimento de 3.3V (I3.3V) | - | - | 30 |
Corrente total de fornecimento (I5V + I3.3V) | - | - | 100 |
† - Veja mais detalhes na página da Porta do Encoder
†† - Veja mais detalhes na página da Porta do Encoder
‡ - Alimentação de 5V é compartilhada entre a porta de dados e de encoder
Especificações Mecânicas
Parâmetro | Min | Typ | Max |
---|---|---|---|
Comprimento do corpo | - | 70 | - |
Largura do corpo | - | 35 | - |
Altura do corpo | - | 25.5 | - |
Peso | - | 113.3 | - |
Calibre do fio de força e motor | - | 12 | - |
Comprimento do fio de força e motor | - | 15 | - |
Começando com o SparkMAX
Começando com o SparkMAX
O SPARK MAX é um controlador de motor que pode controlar motores DC com escova e motores DC sem escova. Vindo de fábrica, o MAX usa como padrão o modo Brushless e está pronto para acionar um motor NEO Brushless com sua interface PWM. Nesta seção estão incluídas as etapas básicas para fazer um motor girar usando o REV Hardware Client, bem como informações sobre como configurar seu SPARK MAX.
Recomendamos seguir este guia pelo menos uma vez para compreender os principais recursos do SPARK MAX. Este guia também pode servir como conteúdo em caso de qualquer problema enfrentado.
Antes de começar
Antes de seguir este guia, o REV Hardware Client deve ser instalado antes de continuar. O REV Hardware Client é a melhor forma de verificar se o dispositivo está configurado corretamente e é necessário antes de utilizar a interface CAN.
Conectando o SparkMAX
Materiais necessários:
- Bateria 12V
- Disjuntor Geral de 120A
- PDP ou PDH (Power Distribution Panel ou Hub)
- SPARK MAX
- Motor com escova ou sem escova
- USB tipo C
Prepare os componentes:
Tábua de testes
Usar uma tábua de testes é uma maneira fácil de começar a usar o SPARK MAX e verificar as conexões e o código. Para a instalação inicial do SPARK MAX, recomenda-se uma bancada de teste com um único SPARK MAX, um motor sem escova ou com escova e uma PDP ou PDH devidamente conectado com disjuntor.
Conexões elétricas
Os fios de alimentação e do motor são permanentemente conectados ao SPARK MAX e não podem ser substituídos. Portanto tome cuidado para não cortar esses fios muito curtos. É altamente recomendado instalar conectores nesses fios para simplificar as conexões de alimentação e do motor. Um conector comum usado para essa finalidade é o conector Anderson Power Pole. Siga o guia da REV a respeito do Anderson Power Pole para obter dicas sobre como crimpar adequadamente esses conectores.
Conecte os cabos de alimentação integrados do SPARK MAX identificados como V+ (vermelho) e V- (preto) a um canal disponível na PDP ou PDH. Caso seja necessário estender o comprimento dos fios integrados, recomenda-se utilizar fio 12AWG ou maior (número de bitola do fio).
Conexão de motores
O primeiro passo é determinar o tipo de motor que você deseja conectar. O SPARK MAX suporta dois tipos de motores: DC com escovas e DC sem escovas. Uma maneira fácil de determinar o tipo de motor é observar o número de fios primários (maiores) do motor. Os motores escovados possuem apenas 2 fios primários de motor (vermelho e preto), enquanto os motores sem escova possuem 3 fios primários (vermelho, preto e branco) e fios de sensor menores a mais.
Conexões Motor NEO
Conecte os três fios do motor; vermelho, preto e branco, aos fios de saída do SPARK MAX correspondentes identificados como A (vermelho), B (preto) e C (branco).
Em seguida, conecte o cabo do codificador do NEO ou NEO 550 à porta identificada como ENCODER logo acima dos fios de saída.
Conexões com Motores com escova
Conecte os dois fios do motor, M+ (vermelho) e M- (preto), aos fios de saída SPARK MAX identificados como A (vermelho) e B (preto).
O terceiro fio de saída, identificado como C (branco), não é usado ao controlado um motor com escovo e deve ser isolado. Recomendamos amarrá-lo com um zip e cobrir a ponta com um pedaço de fita isolante. Não corte este fio caso deseje usar um motor sem escova no futuro. No exemplo abaixo, o fio extra do motor não utilizado é isolado pelo conector branco e preso no bloco.
Verifique a conexão
Verifique cuidadosamente todas as conexões antes de continuar e cheque se todas as cores correspondem entre si. O SPARK MAX pode ser permanentemente danificado se a conexão de alimentação for invertida.
Deixe a CAN desconectada agora, vamos fazer a conexão depois.
Faça Girar!
Ligar
Agora que o dispositivo SparkMAX está conectado e as conexões foram checadas, ligue o robô. Você deveria ver o SparkMAX piscando lentamente, caso for um dispositivo novo a cor será magenta. Se o LED estiver apagado, ou estar piscando outra combinação, siga a cartilha do Status do LED para a procura de erros.
Se você estiver usando um motor com escova, poderá ver um erro no sensor. Isso é esperado até que você configure o dispositivo para aceitar um motor com escovas nas etapas a seguir.
Conecte ao SparkMAX
Plugue o cabo USB C no Spark e ao seu computador e inicie o Rev Hardware Client. Selecione o SparkMAX entre os hardwares conectados:
Se você não consegue ver o SPARK MAX, certifique-se de que o SPARK MAX não esteja sendo usado por outro aplicativo . Em seguida, desconecte o SPARK MAX do computador e conecte-o novamente.
Setup e configuração básica
Antes que qualquer parâmetro possa ser alterado, você deve primeiro atribuir um CAN ID exclusivo ao dispositivo. Pode ser qualquer número entre 1 e 63. Após definir um ID CAN exclusivo, a interface será atualizada e permitirá que você altere outros parâmetros.
Eventualmente você pode configurar uma rede CAN em sua bancada de testes ou robô. Certifique-se de que cada dispositivo na rede tenha um CAN ID exclusivo. É útil etiquetar cada dispositivo com seu número de identificação para ajudar na solução de problemas.
Definir Tipo De Motor
Se você estiver usando um NEO ou NEO 550, verifique se o tipo de motor está definido como REV NEO Brushless, o tipo de sensor é Hall Effect e o LED está piscando em magenta ou ciano.
Se você ver um pisque do Spark que signifique uma Sensor Fault, confira se o cabo de encoder está conectado
Se você estiver operando um motor com escova, defina o tipo de motor como Brushed, o tipo de sensor como No Sensor e verifique se o LED está piscando em Amarelo ou Azul.
Limitando Corrente
Há duas maneiras de proteger os motores do seu robô de danos elétricos em situações de alta corrente: Fusíveis e a Configuração do Smart Current Limit do SPARK MAX. Para proteger seus motores de correntes muito altas, é uma boa prática limitar sua corrente tanto com o Smart Current Limit do SPARK MAX quanto com um disjuntor adequadamente classificado.
Disjuntores ou fusíveis, embora uma parte extremamente importante da fiação e segurança de um robô, são projetados apenas para disparar a uma temperatura específica, após um determinado período de tempo, para proteger o sistema elétrico de incêndios ou outros perigos elétricos. Por isso, recomendamos definir um Smart Current Limit para proteger seus motores de danos devido a altas correntes.
O Controlador de Motor SPARK MAX inclui um recurso de Limite de Corrente Inteligente (Smart Current Limit) que pode ajustar a saída aplicada ao motor para manter uma corrente de fase constante.
Direto da caixa, a configuração padrão do Limite de Corrente Inteligente do SPARK MAX é 80A para qualquer motor que você use. Recomendamos utilizar nossos dados de teste de rotor (a parte que gira do motor) bloqueado ou a tabela abaixo para decidir o que definir para o Limite de Corrente Inteligente do seu robô: Teste de Rotor Bloqueado para o NEO e NEO 550.
Lembre-se de que algumas configurações, como Limite de Corrente Inteligente, devem ser gravadas no flash via código ou no Cliente de Hardware para serem retidas através de um ciclo de energia do SPARK MAX.
Limites de Corrente Sugeridos
Seu limite de corrente ideal pode variar com base na sua aplicação específica, mas esses valores podem ser usados como um ponto de partida para reduzir a chance de uma sobrecarga no seu motor à medida que você começa a ajustar o Limite de Corrente Inteligente do seu mecanismo.
Tipo de Motor | Faixa de Limite de Corrente |
---|---|
NEO | 40A - 60A |
NEO 550 | 20A - 40A |
Aviso: Definir limites de corrente fora das faixas sugeridas acima pode causar sobrecarga não intencional e danos graves aos componentes.
Salvar as Configurações
As configurações devem ser salvas para que o SPARK MAX lembre-se de sua nova configuração quando o robô ser desligado. Para fazer isso, pressione o botão Burn Flash
na parte inferior da página. Isso levará alguns segundos para salvar, indicado pelo símbolo de carregamento no botão.
Qualquer configurações salvas dessa forma serão lembradas quando o dispositivo for ligado novamente. Você sempre pode restaurar os padrões de fábrica se precisar redefinir o dispositivo.
Girar o Motor
Antes de executar qualquer motor, certifique-se de que todos os componentes estão em um estado seguro, que o motor está em um espaço seguro e que todos próximos estejam cientes. Motores da FRC são muito potentes e podem rapidamente causar danos a pessoas e propriedades.
Mantenha o cabo CAN desconectado durante todo o teste. Por razões de segurança, o Cliente de Hardware REV não executará o motor se o roboRIO estiver conectado. Se o roboRIO estiver conectado, reinicie o SPARK MAX.
Para girar o motor, vá para a aba Run, mantenha todas as configurações padrão e pressione Run Motor
. O setpoint é 0 por padrão, o que significa que o motor está parado (0% de potência). Quando você pressiona Run
, você deve ver o LED mudar de piscar lentamente para sólido, indicando que o motor está ocioso.
Aumente lentamente o deslizante do setpoint. O motor deve começar a girar e você deve ver um padrão de piscar verde proporcional à velocidade que você definiu para o motor. Diminua lentamente o deslizante. O motor deve girar em reverso, e você deve ver um padrão de piscar vermelho proporcional à velocidade que você definiu para o motor.
Se você não conseguir girar o motor, visite o guia de solução de problemas.
Padrões do LED de Status
O SPARK MAX indicará informações importantes de status em seu LED de STATUS multicolorido localizado no topo do dispositivo. A tabela a seguir mostra cada estado e o padrão de cor do LED correspondente.
Fique claro alguns termos antes de consultar a tabela:
Brake -> Motor freia quando está parado
Coast -> Motor fica solto quando parado
Operação Padrão
Identificação, Atualização e Recuperação
Condições de Falha
Solução de Problemas
Muitos problemas podem ser resolvidos por meio de solução de problemas sistemática sem a necessidade de contatar o suporte da stemOS ou REV. Olhe as dicas de solução de problemas abaixo para ajudar a determinar a causa do problema que você está vendo. Caso precise nos contatar, descrever os passos que você tomou em detalhes nos ajudará a colocá-lo em funcionamento rapidamente.
Dicas Gerais de Solução de Problemas
A chave para uma solução de problemas eficaz é isolar o problema. Muitos problemas podem apresentar o mesmo sintoma, então eliminar pontos de falha um por um é crítico para encontrar a causa raiz.
Isolar Problemas por Eliminação
Se possível, tente eliminar uma seção do sistema ao solucionar problemas. Por exemplo:
-
Elimine um problema de código ou de conexão de controle:
- Use o Cliente de Hardware REV para executar o SPARK MAX via USB.
- Esteja ciente da função de bloqueio do CAN do SPARK MAX. Se ele foi conectado ao barramento CAN do roboRIO, uma função de segurança dentro do SPARK MAX a comunicação USB será bloqueada. Desconectar do barramento CAN e reiniciar o MAX vai liberar o bloqueio.
- Se esta for a primeira vez que você está executando o REV Hardware Client, veja o Guia de Início ao REV Hardware Client para um tour do software e suas características.
-
Elimine um problema de código:
- Crie um programa de teste simples usando um Código de Exemplo do SPARK MAX.
-
Elimine um problema mecânico:
- Remova o motor do mecanismo ou use um motor diferente que gire livremente.
Usar a Driver Station
Um conjunto de ferramentas extremamente útil pode ser encontrado na Driver Station:
- Use o Visualizador de Log da Driver Station
- Olhe para a corrente do canal da PDH:
- Uma corrente maior que a esperada em um canal pode indicar problemas mecânicos e elétricos.
- Olhe para a tensão da bateria:
- Grandes quedas na tensão da bateria no momento de um problema podem indicar problemas de saúde da bateria que causam brownouts.
- Use a Aba CAN/Energia
- Olhe para a Utilização do Barramento CAN.
- Olhe para Falhas no CAN.
- Olhe para Falhas de Comunicação:
- Falhas de comunicação podem afetar o SPARK MAX. Se ele perder a comunicação com o roboRIO, ele irá para um estado de desativado. Isso pode parecer uma falha momentânea em um motor girando se as falhas de comunicação são infrequentes e irregulares.
Usar as APIs
Também é muito útil registrar ou plotar valores operacionais internos do SPARK MAX. Esses valores podem ser acessados usando as APIs do SPARK MAX na sua programação. Alguns valores úteis como exemplo para registrar:
- getAppliedOutput()
- Este valor mostrará o que o SPARK MAX está realmente aplicando à saída do motor. Isso pode te ajudar a identificar problemas com o ajuste de controle de malha fechada.
- getOutputCurrent()
- Este valor mostrará a corrente de saída indo para as fases do motor. A corrente de saída não será sempre a mesma que a corrente de entrada medida pela PDH. Saber a corrente de saída é útil para diagnosticar problemas de limite de corrente se os motores estiverem superaquecendo.
- getBusVoltage()
- Uma maneira de medir a tensão de entrada diretamente no controlador.
- getStickyFaults()
- Uma falha persistente pode identificar um erro que você tenha observado no seu robô
Falhas e Problemas Comuns
Abaixo você encontrará alguns passos de solução de problemas para algumas falhas e problemas comuns relacionados à operação do SPARK MAX.