Ir ao conteúdo

Posts recomendados

Postado

Olá Pessoal!!!!

Peguei essas formas de onda com osciloscópio de um acionamento de compressor BLDC, utilizado em aparelhos de ar condicionado. O funcionamento básico conforme a terceira imagem é que o microprocessador manda 6 sinais PWM para o módulo IGBT, onde cada 2 IGBTs chaveiam para um fase, um para o positivo e outro para negativo.

A primeira imagem é a saida de duas fases para o compressor com referencia para o negativo, a segunda imagem é dois sinais que vem do microprocessador para chavear dois IBTs da mesma fase, quando um esta em nivel lógico baixo o outro esta em alto. 

A forma de onde da terceira imagem para o compressor parece estar tentando imitar uma senoide. mas o que achei estranho que não tem defasem entre elas.

Minha duvida é como fazer um programa com arduino para fazer esse tipo de modulação para acionar o compressor BLDC?

WhatsApp Image 2022-04-02 at 13.38.14 (1).jpeg

WhatsApp Image 2022-04-02 at 13.38.14.jpeg

images.png

  • Membro VIP
Postado
1 hora atrás, carlos.camj disse:

estranho que não tem defasem entre elas.

Meio sofrível mas parece que consigo ver a defasagem. Queira por gentileza ajustar o T/div pra dar um maior zoom.

  • Curtir 1
  • Membro VIP
Postado

Neste caso penso que o google pode te ajudar melhor. Mas pra modular uma senoide é relativamente fácil. Algo como você cria uma tabela de senos - use o excel - e alimente a saída pwm com ela. Algo como o minimalismo abaixo


 

//18 valores é mais que suficiente pra criar uma senoide bem redondinha pra maioria dos motores -- que conheço
const tabela_seno[18]={0,1,2,3,2,3,4,4,5,6,6,7,7,6,5,5,4,3}; //claro não são estes valores 

setup()
{
//setup do hw
}

unsigned char i,f=5;//pra um ajuste da freq
loop()

{
for (i=0;i<18;i++) {analog_write(3,tabela_seno[i]);delay(f);}
}

Para as 3 fases - supondo que o tal motor é algo como um motor trifásico -  vai ter que pensar um algoritmo no estilo algo como:

#define fase 6
for (i=0;i<18;i++) {
                   analog_write(3,tabela_seno[i]);//0º
                   analog_write(4,tabela_seno[i+fase); //60º
                   analog_write(5,tabela_seno[i+fase+fase]);//120º
                   }

claro vai dar erro pois tem que tratar o index.. se estiver pensando em ctrl-c ctrl-v vai resolver sua vida, receba um cóqui virtual

  • Curtir 1
Postado

@.if quando dou zoom, só consigo pegar a parte que esta modulando. por que a onda modula variando o duty cicle e fica alguns ms em nivel alto e depois faz o inversor, modula e fica alguns instantes em nivel baixo.

Mas como pode ver, essa imagem é entre duas fases. elas iniciam junto a modulação e depois ficam juntas em nivel alto e baixo, como mostrado nas primeiras imagens. Muito estranho ou eu que sou muito leigo no assunto🤔

WhatsApp Image 2022-04-04 at 18.14.58.jpeg

  • Membro VIP
Postado
12 horas atrás, carlos.camj disse:

eu que sou muito leigo no assunto

Tmj.. Neste caso não vejo alternativa a não ser você dar uma pesquisada sobre e se achar que deve, compartilhar. O que você me leu são conceitos extremamente elementares com relação tênue com sua problemática. (apesar que já fiz um motor monofásico girar com o conceito incorporado num mc pic16fxxx)

 

Enfim... não sei que pontos são estes mas penso que como é trifásico, você deve pegar 3 pontos não? Ah tá.. seu osc só tem 2 canais.. pobre ..🤪

Postado

@.if Meu osc é probrezinho mesmo😢. Mas enfim, já estou procurando e estudando sobre o assunto na net. mas não consegui achar muito coisa. Mas pelo que estudei, motores BLDC não podem e nem funciona em um rede 220VCA trifásico, precisa  receber um tensão modulada para acionar. Alguns compressores utiliza sensores de efeito hall ou a própria tensão geradas na bobinas ociosas (a bobinas do compressor, aciona duas por vez) para identificar a posição do rotor. Vou continuar estudando e aguarda se alguma alma caridosa que conheça bem do assunto, possa me ajudar.

Obrigado pela atenção👍

4 horas atrás, .if disse:

 não sei que pontos são estes mas penso que como é trifásico

Esta imagem são duas formas de ondas de duas das três fases que vai para o compressor, com a ponta do osc com referencia para o negativo. Como disse, essa é só parte que esta modulando, em alguns ms a tensão fica fixa no positivo (300VDC) e depois de outra modulação fica fixa no negativo.

  • Curtir 1
  • Membro VIP
Postado
2 horas atrás, carlos.camj disse:

Esta imagem são duas formas de ondas de duas das três fases que vai para o compressor, com a ponta do osc com referencia para o negativo

Entendi .. pelo jeito você está medindo com o motor desconectado pois a indutância era pra dar uma arredondada no sinal, não? Acho que não: o sinal redondo (senoidal) seria o de corrente e não necessariamente o de tensão.. bem .. pelo menos foi isso que vi no meu inversor DIY.. Já publiquei o fonte, esquema e ondas dele pelo forum afora.. preguiça de procurar.

 

2 horas atrás, carlos.camj disse:

com referencia para o negativo.

Atenção pra não usar osc com fio terra ou 3º pino no plug nas medições da rede ac: pode dar um baita curto.

 

E não te esqueças de nos contar o resultado de teus experimentos, ok? sempre observo isso nas finalizações de minha participação e sempre me deixam no vácuo kk.. nunca ninguém retornou.. faz parte 😁

  • Curtir 1
Postado
Em 04/04/2022 às 06:46, carlos.camj disse:

Minha duvida é como fazer um programa com arduino para fazer esse tipo de modulação para acionar o compressor BLDC?

 

Bom, me parece que tem uma modulação no duty cycle. O que pode-se fazer é usar um dos Timers do Arduino para gerar o sinal PWM, e alterar o valor da frequência gerada também se for necessário.

Agora, a sequência a ser feita em cada fase eu nem faço ideia....

 

Paulo

  • Curtir 1
  • Membro VIP
Postado
12 horas atrás, aphawk disse:

usar um dos Timers do Arduino para gerar o sinal PWM, e alterar o valor da frequência gerada

Permiti-me... Uma das belezas (ligeiramente mórbida) da plataforma arduína é que é quase bem exatamente isso que faz a função analog_write(). Ninguém se preocupa com o sacal ajuste no hw do mc. Também a função é a mesmíssima pra qualquer mc companheiro da plataforma. . mesmo sendo este totalmente diferente dos avr's e claro com hw e setup totalmente diferente. Mas sim há a 'desvantagem' de se ter que confiar totalmente nas funções mastigadas além do engessamento mental. Mas na atual conjuntura é necessária uma ligeira evolução de nossa parte - minha e sua 🤪 - senão essa molecada come a gente vivo 😁

  • Curtir 1
Postado
21 minutos atrás, .if disse:

Permiti-me... Uma das belezas (ligeiramente mórbida) da plataforma arduína é que é quase bem exatamente isso que faz a função analog_write(). Ninguém se preocupa com o sacal ajuste no hw do mc. Também a função é a mesmíssima pra qualquer mc companheiro da plataforma. . mesmo sendo este totalmente diferente dos avr's e claro com hw e setup totalmente diferente. Mas sim há a 'desvantagem' de se ter que confiar totalmente nas funções mastigadas além do engessamento mental. Mas na atual conjuntura é necessária uma ligeira evolução de nossa parte - minha e sua 🤪 - senão essa molecada come a gente vivo 😁

 

Sim, ela esconde todo o tratamento com o hardware. Mas também "mata" algo muito útil : definir a frequência na qual ocorre o PWM ........ é o tal "engessamento" .

 

Mas nem essa funçãozinha é perfeita, olhe o aviso :

 

 

"Notes and Warnings

The PWM outputs generated on pins 5 and 6 will have higher-than-expected duty cycles. This is because of interactions with the millis() and delay() functions, which share the same internal timer used to generate those PWM outputs. This will be noticed mostly on low duty-cycle settings (e.g. 0 - 10) and may result in a value of 0 not fully turning off the output on pins 5 and 6."

 

Ou seja, não espere precisão kkkkk ! 

 

Olha, eu creio que já cheguei no ápice de minha evolução nesta vida : BASIC ....  e sou totalmente contra o fato de os usuários não saberem o que existe além da IDE do Arduíno, nunca irão aprender a real mecânica do funcionamento dos hardwares, sempre serão simples programadores, iguais aos que programam para fazer os programinhas que rodam nos PCs da vida, o SO esconde todo o hardware por trás ...

 

Podem achar estranho eu usar uma linguagem tão antiga, mas com ela eu garanto que tudo funciona como eu espero que funcione...

 

Enfim, estamos ficando mesmo obsoletos.... já entendo o que os dinossauros sentiram quando viram o meteoro chegando  kkkkk !

 

Paulo

  • Curtir 1
  • Haha 1
Postado

@aphawk @.if

16 horas atrás, aphawk disse:

Agora, a sequência a ser feita em cada fase eu nem faço ideia....

 

Essa minha maior duvida tb, entender qual a frequência e defasagem entre as fases. A programação no arduino acredito que não irá dar trabalho. Na teoria o motor Brushless (BLDC) teria que ter essa sequencia de acionamento nas bobinas, mas na pratica não funcionou muito bem. o motor até ligou, mas ficou com muito ruido, barulho estranho. tentei alterar a frequencia e sequencia das bobinas, mas sem sucesso.

WhatsApp Image 2022-04-07 at 11.37.42.jpeg

Postado

@carlos.camj ,

 

voce precisa também implementar um dead time, e o sinal não é uma simples onda retangular... creio que conforme a velocidade ir aumentando você tem de compensar a frequência também.... na realidade todo mundo usa um ESC para facilitar o controle, mas nunca ví um ESC trabalhar com mais de 50 Volts ....

 

Paulo

  • Curtir 1
Postado
2 horas atrás, aphawk disse:

@carlos.camj ,

 

voce precisa também implementar um dead time, e o sinal não é uma simples onda retangular... creio que conforme a velocidade ir aumentando você tem de compensar a frequência também.... na realidade todo mundo usa um ESC para facilitar o controle, mas nunca ví um ESC trabalhar com mais de 50 Volts ....

 

Paulo

Teria que usar um comparador para pegar os sinais Back-EMF e verificar a posição do rotor e com isso ir corrigindo a modulação conforme a posição.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!