controle de motor bldc com arduino, motor hd recuperado e sensores hall
Lar » Blogue » controle de motor bldc com arduino, motor hd recuperado e sensores hall

controle de motor bldc com arduino, motor hd recuperado e sensores hall

Visualizações: 0     Autor: Editor do site Horário de publicação: 2020-09-02 Origem: Site

Pergunte

botão de compartilhamento do Facebook
botão de compartilhamento do Twitter
botão de compartilhamento de linha
botão de compartilhamento do wechat
botão de compartilhamento do LinkedIn
botão de compartilhamento do Pinterest
botão de compartilhamento do WhatsApp
botão de compartilhamento kakao
botão de compartilhamento do snapchat
botão de compartilhamento de telegrama
compartilhe este botão de compartilhamento

Hoje em dia, os entusiastas estão muito interessados ​​em controlar Brushless DC (BLDC).
Em comparação com o motor DC tradicional, o desempenho do motor melhorou, a eficiência energética também melhorou, mas é mais difícil de usar. Existem muitos produtos prontos para
uso para essa finalidade.
Por exemplo, existem muitos controladores BLDCs pequenos que funcionam muito bem para aeronaves RC.
Para aqueles que desejam se aprofundar no controle do BLDC, também existem diversos microcontroladores e outros hardwares eletrônicos para usuários industriais, que geralmente possuem uma documentação muito boa.
Até agora não encontrei nenhuma descrição abrangente de como usar o microcontrolador Arduino para controle BLDC.
Além disso, se você estiver interessado em fazer frenagem regenerativa, ou usar um BLDC para geração de energia, não encontrei muitos produtos adequados para uso com motores pequenos, nem descobri como controlar gerador trifásico.
Esta estrutura estava originalmente em uma história sobre
cálculo em tempo real, continuo fazendo isso após o término do curso.
A ideia do projeto é apresentar um modelo proporcional de carro híbrido com armazenamento de energia no volante e frenagem regenerativa.
O motor utilizado no projeto é um pequeno BLDC limpo do disco rígido do computador danificado.
Este manual descreve como usar o microcontrolador Arduino e
os sensores de posição Hall-Affects nos modos de condução e frenagem regenerativa.
Observe que visitar a oscillisoft é muito útil, senão essencial, para concluir este projeto.
Se você não conseguir acessar o escopo, adicionei algumas sugestões sobre como fazer isso sem o escopo (etapa 5).
Uma coisa que este projeto não deve incluir em nenhum controlador de motor real é qualquer função de segurança, como proteção contra sobrecorrente.
Na verdade, o pior é queimar o motor HD.
No entanto, implementar proteção contra sobrecorrente com hardware atual não é difícil, e talvez eu faça isso em algum momento.
Se você estiver tentando controlar um motor maior, adicione proteção contra sobrecorrente para proteger seu motor e sua própria segurança.
Quero tentar usar este controlador com um motor maior que possa fazer algum trabalho 'real', mas ainda não tenho o correto.
Percebi que o eBay vendeu um carro de 86 W por cerca de US$ 40.
Parece um bom candidato.
Existe também um site RC chamado \'GoBrushless\' que vende kits que montam seu próprio BLDC.
Não são muito caros e vale a pena experimentar para construir um.
Observe que não há sensor Hall para o motor neste site. Uau!
Escrever essa estrutura é um grande trabalho.
Espero que você ache útil, por favor, faça seus comentários e sugestões.
Multímetro Digital (DMM) -
Se o seu DMM tiver um osciloscópio medidor de frequência (
é melhor ter pelo menos 2 canais)
driver T8 Torx (
você precisa de um deles para abrir qualquer disco rígido).
Há uma boa loja de ferragens.
Oficina de máquinas e protótipo rápido (
são muito úteis, mas acho que este projeto pode ser feito sem eles).
Material anel magnético do motor bldc do disco rígido do computador (
metade do motor)
De outro disco rígidoVários (3-6)
Há um segundo motor pequeno no disco prateado no disco rígido (DC escovado OK)
Elástico ou (de preferência)
O motor DC sem escova com uma alça com outro motor placa de pão eletrônico fio sólido mês o Arduino Duemilanove Resistor de 120 k ohm Resistor de seis a 400 ohm Poteniômetro linear ou giratórioMicro circuito ST de 100 k ohm L6234 driver de motor trifásico IC dois capacitores de 100 uF um capacitor de 10 nF um capacitor de 220 nF um capacitor de 1 uF um capacitor de 100 uF três diodos de recepção Um 2.
Honeywell SS411A bipolar Hall-5 Amp Fusível 1 porta-fusível 3
Nota: Mike Anton projetou e vendeu um produto que substituirá os circuitos eletrônicos de potência e do sensor Hall que mostrei neste manual (
é controlado usando indução de potencial traseiro).
Especificações e informações sobre aquisições podem ser encontradas nestes dois links: Se você for realizar este projeto, sugiro que reserve um tempo para entender completamente como o BLDC funciona e controla.
Há um grande número de referências online (
veja abaixo algumas sugestões).
No entanto, incluo alguns gráficos e tabelas em meu projeto que devem ajudá-lo a entender.
Aqui está uma lista dos conceitos que considero mais importantes para a compreensão deste projeto: Transistores MOSFET Meia ponte trifásica 6-
Redução de sentença em 3 etapas
Modulação por largura de pulso do motor de fase (PWM)Hall-
Microchip AVR443: sensores-referência geral Motor DC Princípios básicos para sensores de posição digitais
Controle de motor DC trifásico sem escovas baseado em controle de motor DC atmelbrusless
Controle de motor BLDC de fase do sensor Flying Star Hall, um bom vídeo de limpeza do motor do disco rígido, mas o autor parece estar operando o motor como motor de passo e como motor de passo. Uma página da web de referência mais específica para o BLDC no IC de acionamento do motor l6234, incluindo folhas de dados, notas de aplicação e informações de compra.
Amostra grátis para acionamento de motor sem escova PM para aplicações em veículos elétricos híbridos.
Este é o único artigo que encontrei que descreve a ordem da mudança de fase da frenagem regenerativa.
Este artigo, frenagem regenerativa em veículos elétricos, é útil. Peguei emprestados alguns números dele, mas acho que descreve incorretamente como funciona a regeneração.
Fiz esse projeto com motor de drive de disco reciclado porque era fácil de passar e gosto de usar um pequeno motor de baixa tensão para aprender o cabo controlado pelo BLDC e não causar problemas de segurança.
Além disso, a configuração do ímã do sensor Hall torna-se muito simples usando o anel magnético (rotor)
do segundo desses motores (consulte a Etapa 4).
Se você não quiser ter todo o trabalho de instalar e calibrar o sensor Hall (etapas 5 a 7),
sei que existem pelo menos alguns motores de unidade de CD/DVD integrados ao sensor Hall.
Para dar alguma inércia de giro ao motor e dar-lhes um pouco de carga, coloquei 5 discos rígidos no motor, colei delicadamente com um pouco de cola forte e colei no motor (
isso fez o volante do meu projeto original).
Se você for remover o motor do disco rígido, precisará de uma unidade torx T8 para desparafusar a caixa (
geralmente há dois parafusos escondidos atrás do bastão na etiqueta central)
e parafusos internos que prendem o motor no lugar.
Você também precisa remover o cabeçote do leitor (
círculo sonoro executivo).
Dessa forma, você pode retirar o disco de memória para alcançar o motor.
Além disso, você precisará de um segundo motor de disco rígido para remover o rotor desse motor (
há um ímã dentro).
Para desmontar o motor, peguei o rotor (parte superior).
Uma morsa do motor e levantei-o no estator (parte inferior).
As duas chaves de fenda estão separadas por 180 graus.
Não é fácil segurar o motor em um par suficientemente apertado sem deformação.
Você pode querer construir um
bloco v de madeira usado para essa finalidade.
Fiz um furo no anel magnético do torno para que ele se encaixe confortavelmente na parte superior do motor.
Caso não consiga usar o torno, você pode fixar o rotor invertido no motor com uma cola forte.
As fotos 2 e 3 abaixo mostram o interior de um dos motores que desmontei.
Na primeira metade há (o rotor) 8 pólos (
Ímã envolto em plástico).
Na segunda metade (o estator)
existem 12 ranhuras (enrolamentos).
Cada uma das três fases do motor possui 4 slots em série.
Alguns motores HD possuem três contatos na parte inferior, um contato por fase, e o outro é a derivação central do motor (
onde três estágios se encontram).
Neste projeto, nenhum toque central é necessário, mas pode ser útil no controle sem sensor (
espero um dia lançar uma nota sobre o controle sem sensor).
Se o seu motor tiver quatro contatos, você pode identificar a fase com um ohmímetro.
A resistência entre a derivação central e a fase é metade da resistência entre quaisquer duas fases.
A maior parte da literatura sobre motores BLDC trata daqueles com forma de onda de potencial traseiro em forma de escada, mas o motor do disco rígido parece ter um potencial traseiro que se parece com um seno (veja abaixo).
Pelo que eu sei, acionar um motor de onda senoidal com PWM de onda senoidal está funcionando bem, embora a eficiência possa cair um pouco.
Como todos os motores BLDC, este é composto por
ponte semi-transistor trifásica (
ver 2ª fotos abaixo).
Eu uso o IC da ST Micro (L6234)
para a ponte, também conhecido como driver do motor.
A conexão elétrica do L6234 é mostrada no passo 8.
A terceira foto abaixo mostra um diagrama esquemático do driver do motor e das três fases do motor.
Para que o motor funcione no sentido horário, a chave será feita na seguinte ordem (
A primeira letra é o transistor superior e a segunda letra é o transistor inferior)
: Passo 1 2 3 4 5 6 sentido horário: CB, AB, AC, BC, BA, CA sentido anti-horário: BC, BA, CA, CB, AB, AC estes 6-
A sequência de passos requer um \'grau elétrico\' de 360, mas apenas um grau físico de 90 para estes motores.
Portanto, a velocidade de rotação de cada motor ocorre quatro vezes.
As duas sequências parecem iguais, mas não são iguais porque para
a sequência de 6 etapas, para CW, a direção da corrente através da fase é uma direção, e para CCW, a direção da corrente é oposta.
Você pode ver isso aplicando a tensão da bateria ou da fonte de alimentação a qualquer uma das fases do motor.
Se você aplicar tensão, o motor se moverá um pouco em uma direção e parará.
Se você puder alterar rapidamente a tensão na fase em uma das sequências acima, poderá girar o motor manualmente.
Transistores e microcontroladores completam todas essas mudanças muito rapidamente, comutando centenas de vezes por segundo quando o motor está funcionando em alta velocidade.
Além disso, observe que se a tensão for aplicada a ambas as fases, o motor se move um pouco e depois para.
Isso ocorre porque o torque é zero.
Você pode ver isso na quarta foto abaixo, que mostra o potencial traseiro de um par de fases do motor.
Esta é uma onda senoidal.
Quando a onda passa pelo
eixo x, o torque fornecido por esta fase é zero. Na
sequência de mudança de fase do BLDC de seis etapas isso nunca aconteceu.
Antes que o torque em uma determinada fase fique baixo, a energia é comutada para outra combinação de fases.
Motores BLDC maiores geralmente são fabricados por sensores Hall dentro do motor.
Se você tiver esse motor, poderá pular esta etapa.
Além disso, sei que existem pelo menos alguns motores de unidade de CD/DVD já integrados ao sensor Hall.
Quando o motor gira, três sensores Hall são utilizados para detecção de posição, para que a mudança de fase seja realizada no momento certo.
Meu motor HD funciona até 9.000 RPM (150 Hz).
Como são 24 trocas por roda, a 9.000 RPM, a máquina é trocada a cada 280 microssegundos.
O microcontrolador Arduino funciona a 16 MHz, então cada ciclo de clock é de 0,06 microssegundos.
Não sei quantos ciclos de clock são necessários para realizar uma redução de sentença, mas mesmo que sejam necessários 100 ciclos de clock, ou seja, são necessários 5 microssegundos para cada redução de sentença.
Os motores HD não possuem sensores Hall, portanto é necessário instalá-los na parte externa do motor.
O sensor precisa ser fixado em relação à rotação do motor e exposto a uma série de pólos que sejam consistentes com a rotação do motor.
Minha solução é retirar o anel magnético do mesmo motor e instalá-lo de cabeça para baixo no motor a ser controlado.
Em seguida, instalei três sensores Hall acima deste anel magnético, separados por 30 graus um do outro no eixo do motor (
rotação do motor elétrico de 120 graus).
O suporte do sensor My Hall consiste em um suporte simples composto por três peças de alumínio processadas por mim e três peças de plástico feitas em um protótipo rápido.
Se você não possui essas ferramentas, não será difícil encontrar outra forma de indicar a posição.
Criar suportes para sensores Hall será mais desafiador.
Esta é uma maneira possível de trabalhar: 1.
Encontre uma bandeja de plástico do tamanho certo e você poderá aplicar epóxi cuidadosamente no sensor Hall. 2.
Um modelo é impresso no papel, que tem o mesmo círculo que o raio do anel magnético e as três marcas estão separadas por 15 graus 3.
Cole o modelo no disco e use-o como guia para colocar cuidadosamente o epóxi do sensor Hall no lugar.
Agora que os sensores Hall estão instalados no motor, conecte-os ao circuito mostrado abaixo e teste-os usando um DMM ou osciloscópio para garantir que a saída aumente e diminua conforme o motor gira.
Eu executo esses sensores em 5 V usando a saída de 5 V do Arduino.
O sensor Hall tem saída alta ou baixa (1 ou 0).
Depende se eles sentem a Antártica ou o Ártico.
Como estão separados por 15 graus, os ímãs giram sob eles e mudam a polaridade a cada 45 graus, esses três sensores nunca estarão altos ou baixos ao mesmo tempo.
Quando o motor gira, a saída do sensor é 6-
O padrão de etapas mostrado na tabela a seguir.
O sensor deve estar alinhado com o movimento do motor para que um dos três sensores mude precisamente na posição de mudança de fase do motor.
Neste caso, a borda ascendente do primeiro sensor Hall (H1)
deverá ser consistente com a abertura da combinação C (alta) e B (baixa).
Isso equivale a ligar os transistores 3 e 5 no circuito em ponte.
Alinho o sensor com o ímã com um osciloscópio.
Para fazer isso, preciso usar três canais de escopo.
Eu giro o motor conectando-o à correia do segundo motor e meço o potencial de retorno entre as duas combinações de fases (
A e B, A e C).
São dois seno.
Como as ondas da imagem abaixo.
Observe o sinal do sensor Hall 2 no canal 3 do osciloscópio.
O suporte do sensor Hall é girado até que a borda ascendente do sensor Hall esteja totalmente alinhada com o ponto onde a mudança de fase deve ser realizada (veja abaixo).
Agora percebo que existem apenas dois canais para fazer a mesma calibração.
Se o BEMF da combinação de fase B-
Usando C, a borda ascendente de H2 estará relacionada à curva BC.
A razão pela qual a mudança de fase deve ser realizada aqui é manter sempre o torque do motor o mais alto possível.
O potencial de retorno é proporcional ao torque e você notará que cada mudança de fase ocorre quando o potencial de retorno passa abaixo da curva do próximo estágio.
Portanto, o torque real consiste na parte mais alta de cada combinação de fases.
Se você não consegue acessar o escopo, aqui está minha ideia de alinhamento.
Na verdade, este é um exercício interessante para quem deseja saber como funciona o motor BLDC.
Se a Fase A do motor estiver conectada (positiva) e B (negativa)
à fonte de alimentação e ligar a fonte de alimentação, o motor irá girar um pouco e parar.
Então, se o cabo de alimentação negativo for movido para a fase C e a alimentação for ligada, o motor continuará girando e parando.
A próxima parte da sequência será mover o fio positivo para a Fase B, etc.
Ao fazer isso, o motor sempre para onde o torque é zero, o que corresponde a um local onde o gráfico passa pelo eixo x no gráfico.
Observe que o ponto zero da combinação da terceira fase corresponde à posição de mudança de fase das duas primeiras combinações.
Portanto, a posição de torque zero da
combinação B-C é onde você deseja posicionar a borda ascendente de h2.
Marque esta posição com marcas finas ou lâminas afiadas e, em seguida, ajuste o suporte do sensor Hall usando o DMM até que a saída de H2 seja exatamente maior nesta marca.
Mesmo que você se desvie um pouco do horário escolar, o motor deve funcionar bem.
As três fases do motor receberão energia do driver do motor trifásico L6234.
Descobri que este é um bom produto que pode resistir ao teste do tempo.
Há muitas maneiras de fritar acidentalmente seus componentes ao usar eletrônica de potência. Não sou engenheiro elétrico e nem sempre sei o que está acontecendo.
No meu programa escolar, fizemos nossa própria
saída trifásica de meia ponte de 6 transistores MOSFET e 6 diodos.
Usamos isso no HIP4086 do outro driver Intersil, mas temos muitos problemas com essa configuração.
Queimamos vários transistores e chips.
Eu corro L6234 (
então o motor) em 12V.
O L6234 possui um conjunto incomum de entradas para controlar uma meia ponte de 6 transistores.
Nem todo transistor possui uma entrada, mas sim uma
entrada de habilitação (EN) para cada um dos três estágios, e depois outra entrada (IN)
Selecione qual transistor está na fase aberta (superior ou inferior).
Por exemplo, ligue o transistor 1 (superior) e 6 (inferior).
Ambos EN1 e EN3 estão altos (
EN2 baixo para manter o estágio fechado)
IN1 alto, IN3 baixo.
Isso torna a combinação de fase-C.
Embora a nota de aplicação do L6234 sugerisse aplicar o PWM usado para controlar a velocidade do motor no pino IN, resolvi fazer no pino EN porque, naquele momento, acho que seria \'estranho\' ligar os transistores superior e inferior da fase alternadamente\'.
Na verdade, parece que não há nada de errado em ligar os transistores baixos de ambas as fases ao mesmo tempo, porque eles têm o mesmo potencial, então nenhum deles passa pela corrente.
Com o meu método, a fase alta é habilitada e desabilitada alternadamente na frequência PWM, enquanto a fase baixa permanece ligada durante toda a mudança de fase.
Abaixo está um esquema do acionamento do motor, adicionei a conexão do pino à placa Arduino. Também adicionei um
fusível de 2,5 amperes entre o cabo positivo da bateria e o circuito, fusível de 100 uF entre a fonte de alimentação e o gnd para reduzir a ondulação na corrente regenerativa.
L6234.
Nota: Mike Anton fez o PCB para L6234, que
e poupará o trabalho de montá-la. Veja estes links para especificações e informações de compra: Não encontrei muito sobre
(eu acredito) substituirá esta trilha
Descreverei minha
compreensão de como ela funciona. na frenagem, o sistema de controle também maximiza o torque,
3-
desta vez é um torque negativo que faz com que o motor desacelere enquanto envia a corrente de volta para a bateria. O método de frenagem regenerativa que usei
do Oakridge National Laboratory nos Estados Unidos.
Um laboratório que faz muitas pesquisas para
veio de um artigo
mas
motores
Na figura, mostra o momento em que o BEMF está alto no estágio B e baixo no estágio.
Nesse caso, é possível que a corrente flua de B para.
automotivos. a tensão na fase do motor flutua para cima e para baixo .
. Essa energia
é liberada quando o transistor low-end é desligado, mas em uma
tensão
como um dispositivo chamado conversor boost, onde a energia é armazenada na fase do motor (
a Wikipedia tem um bom artigo explicando como funciona o conversor boost)
mais alta, a corrente flui instantaneamente através do diodo \'anti-excitação\' próximo a cada transistor e depois retorna para a bateria. O diodo impede que
corrente flua da bateria para o motor.
a
Ao
torque negativo que desacelera o motor.
O transistor do lado inferior usa uma chave PWM, e o ciclo de trabalho do PWM controla a quantidade de frenagem.
dirigir, a comutação do motor muda de uma combinação para a próxima no devido tempo para manter o torque mais alto possível
que o principal motivo é que o motor do disco rígido que uso é um motor de torque muito
, mas não funciona. bem. Acho
baixo, por isso não produz muito BEMF, exceto na velocidade mais alta
, há muito pouca frenagem regenerativa (se houver) .
Além disso, meu sistema funciona em uma tensão relativamente baixa (12 V).
Além disso, como cada caminho através do diodo anti-excitação reduz a tensão em vários volts, isso também reduz bastante a eficiência.
com menor queda de tensão.
Abaixo está uma lista de entradas e saídas no arduino
Também inclui gráficos e fotos da minha placa 2-
Hall de entrada digital 1
Resistência de 120 K do Gnd 3
Hall de entrada digital 2
Resistência de 120 K do Gnd 4
Hall 3 - Resistência de 120 K
do Gnd 5
Entrada digital do
1 Saída digital em série com resistor de 400 ohms. 7
3 Saídas digitais em série
com resistor de 400 ohms 9- Saída digital da EN 1
em série com
resistor de 400 ohms 10- Saída digital da EN 2 em série com resistor de 400 ohms 11- A saída digital da EN 3 está em série com um resistor
também
de alimentação de 5
fonte
V
de 400 ohms, potenciômetro de 100 k Ohm, com 5 v e terra conectados em ambas as extremidades e pino analógico 0 conectado no meio. o potenciômetro é usado para controlar a velocidade do motor e o volume de frenagem. A
é usada para operar os sensores Hall (veja a etapa 5). três
sensores de efeito Hall * Arduino recebe saída de 3 sensores Hall (pinos 2,3,4)
* E converte sua combinação em 6 etapas diferentes de mudança de fase nos pinos 9, 10
, 11 a 32 kHz * Saída PWM (correspondente a EN 1,2, 3*3 DO nos pinos 5,6, 7, respectivamente (IN 1,2,3)
em 0 ao potenciômetro para alterar o ciclo de trabalho PWM e Mudança * entre condução e frenagem regenerativa * * 0-
*
Conecte
simulação
499 : freio * 500- 523: Táxi * 524- 1023: motorização
a
Int allstate1 ;
vários valores em uma conexão serial */
para motor;
/Nível de velocidade int bSpeed = 0
* comenta muitas linhas para depuração imprimindo
int MSPs = 0;
/
Nível de freio do acelerador = 0 /Esta variável é usada em conjunto com o analógico
para medir a posição do
acelerador (){pinMode
(2,INPUT);
pinMode (3,INPUT)
; pinMode motor driver (5,OUTPUT);
/Hall 1
ajuste de folga do potenciômetro do
/
In 1 pinMode (6,OUTPUT); /In 2 pinMode (7,OUTPUT); /In 3 pinMode (9,OUTPUT);
/EN 1 pinMode (10,OUTPUT); /EN 2 pinMode (11,OUTPUT)
; /EN 3/serial. begin(9600); If you will be using a serial connection, please uncomment this line. The flush command no final
/* Defina a frequência PWM
nos pinos 9, 10 e 11/defina o PWM para 32 kHz para os pinos 9, 10
do programa.
/primeiro limpe todos os três bits do pré-divisor: int prescalerVal = 0x07
/Crie uma variável chamada prescalerVal e defina-a para ser igual ao número binário \'00000111\' TCCR1B & = ~ Prescaler
/E o valor em TCCR0B com um número binário de \'11111000\'/agora defina o bit de pré-codificação apropriado:
int bit de pré -codificação 2
= 1;
32 kHz para
pino
/Set prescalerVal para igual ao número binário \'00000001\' TCCR1B =
3,11 (Este programa usa apenas o pino
prescalerVal2 | PWM para
11)
/Limpe todos os três bits de pré-caler primeiro:
TCCR2B & = ~ Pré-calerval ;
um número binário de \'00000001\'
/primeiro limpe todos os três bits pré-codificados:} O
loop principal do/PRGROM void loop (){ /Time = millis (); Tempo
Ler
após o início do programa de impressão (Throttle, 512,1023, (3); (4);
HallState1 ); /
o valor de entrada/escrita numérica do Hall 3 (8,
Quando o sensor correspondente estiver em alta potência, o led acenderá Originalmente usado para depurar digitalWrite (9, HallState2); //digitalWrite(10, HallState3); HallVal = (HallState1)+ (2*HallState2)+ (4*HallState3);
print(\'H 1: \');
For debugging serial port. println(HallState1
); Serial. print(\'H 2: \ ')
; Serial. println(HallState2);
Serial. print(\'H 3: \'); Serial. println(HallState3); Serial. println(\' \'); */ //Serial. println(mSpeed); //Serial. println(HallVal); //Serial. print(\'\'); /Monitor transistor output/delay (1000); /* T1 = digitalRead (2); //T1 = ~T1; T2 = digitalRead (4); //T2 = ~T2; T3 = digitalRead (5); //T3 = ~T3; Serial. print(T1); Serial. print(\'\t\');
Serial. print(T2); Serial. print(\'\t\'); Serial. print(T3); Serial. print(\'\'); Serial. print(\'\'
); Serial. print(digitalRead(3))
; Serial. print(\'\t\'
)
; Serial.
print
(digitalRead(9)); Serial. print(\'\t\')
;
Serial. println
(digitalRead(10)); Serial. print(\'\'); Serial. print(\'\')
;
//delay(500
de trabalho do
>
/
) ciclo
PWM ( 0 = OFF, 255 = ON ou valor do acelerador controlado pelo potenciômetro if (throttle
511
){switch (HallVal){
Caso 3:/PORTD = 1111xxx00;
Saída esperada do pino 0-7 xxx refere-se à entrada Hall e PORTD
& = B00011111 não deve
; /Analowrite (9,mSpeed); B00011111;
ser alterado
/Saída esperada do pino 0-7
PORTD & = B00011111;
= B10100000 ;
analógica (9,255); analogWrite
= B00011111; PORTD | = bym000; /Saída
/Saída esperada do pino 0-7
PORTD &
(
11,mSpeed); analogWrite(10,mSpeed); analogWrite(11,0); break;
Case 2:/PORTD = B010xxx00;
/Expected output of pin 0-
7 PORTD & = B00011111;
B0201700 PORTD | =;
/Analowrite (9,0); analogWrite(10,mSpeed); analogWrite(
fase do freio regenerativo/PORTD ( Saída do pino IN no
)
Os pinos estão sempre baixos, então apenas transistores baixos em cada fase são usados durante a frenagem
11,255); break; }} /
Mudança de
L6234
regenerativa. // switch (HallVal){
Caso 3: escrita de analogia. (9
,bSpeed); //analogWrite(9,0); analogWrite(10,0);
analogWrite(11,0); break;
Case 1: analogy writing (9,bSpeed); analogWrite(10,0); analogWrite(11,0); break;
Case 5: analogy writing (9,0); analogWrite(10,0); analogWrite(11,bSpeed); break;
Case 4: analogy writing (9,0); analogWrite(10,0); analogWrite(11,bSpeed); break; Case 6: analogy writing
); analogWrite(10,bSpeed); analogWrite(11,0); break
; Case 2: analogy writing (9,0); analogWrite(10,bSpeed); analogWrite(11,0); break
(9,0
; }} /Time = millis (); Time after the printing program starts. println(time)
verdade
; //Serial. print(\'\'); //Serial. flush().
Na
Lattice Semiconductor)
para fazer este trabalho
. familiarizado com
, as notas de aplicação do L6234 recomendam um array de portas programável simples ( GAL16V8 feito de
a programação deste dispositivo, mas o custo do IC é de apenas US $ 2,39 em Newark. Outros circuitos integrados semelhantes também são muito baratos. Outra opção é montar as portas lógicas discretas. A porta \'not\' deve ser trocada para o
outro lado da \'ou. O problema com essa abordagem é que há quase 20 conexões em cada estágio, então é preciso muito trabalho para montá-la.
É melhor programá-la como uma porta lógica programável.

O grupo HOPRIO, um fabricante profissional de controladores e motores, foi fundado em 2000. Sede do grupo na cidade de Changzhou, província de Jiangsu.

Links rápidos

Contate-nos

WhatsApp: +86 18921090987 
Tel: +86- 18921090987 
Adicionar: No.19 Mahang South Road, distrito de alta tecnologia de Wujin, cidade de Changzhou, província de Jiangsu, China 213167
Deixe um recado
CONTATE-NOS
Copyright © 2024 ChangZhou Hoprio E-Commerce Co., Ltd. Todos os direitos reservados. Mapa do site | política de Privacidade