Dúvidas em algoritmo para gerar 3 fases senoidais com PWM defasadas em 120 graus

439 views
Skip to first unread message

Leonardo Leo

unread,
Sep 3, 2015, 10:11:55 PM9/3/15
to texa...@googlegroups.com

Olá pessoal,

Estou desenvolvendo um projeto de um inverter DC/AC, basicamente num primeiro momento irá chavear 6 transístores e cada par irá gerar uma fase.
Já implementei toda tratativa de chaveamento da "ponte" de transístores, e esse chaveamento tem um dead time de 1us os pulsos dos canais do Pwm estão devidamente invertidos, sincronizados e alinhados pela borda.
A minha dificuldade está no algoritmo para gerar uma senoide apartir do Pwm, não estou sabendo criar uma tabela de valores para construir a senoide a 60hz. Fiz uma tabela com 32 pontos da senoide e coloquei na ponte, mais ao invés de gerar uma senoide a tabela gerar uma onda triangular.
Meu algoritmo funciona assim:
Apartir da frequência da rede 60hz,  tenho um tempo de 16,6ms, para cada semi-ciclo tenho 8,3ms, nesse semi ciclo programo um time para estourar a cada 260,4us (8,3ms / 32 valores da tabela) = 260,4us, cada vez q esse timer estoura, carrego o buffer do pwm com um valor da tabela nas 32 vezes, desta maneira gero um semi ciclo, no outro semi-ciclo faco o mesmo procedimento, o valor mínimo do Pwm e 100 1% e o max e 3300 99%.
Não tenho qualquer familiaridade com inversores, e se falei alguma besteira me perdoem. Mais alguém poderia me dar uma ajuda?.
Caso esse tópico que estou postando fuja da missão do grupo peco desculpa a todos.

Att.

Francisco Fambrini

unread,
Sep 3, 2015, 10:20:49 PM9/3/15
to Leonardo Leo, texa...@googlegroups.com
Veja este projeto, serve como base, apesar de usar um microcontrolador diferente:


--
--
Você recebeu esta mensagem porque está inscrito no Grupo Google "Texas Instruments Info para Designers e Projetistas".
Para postar uma mensagem neste grupo, mande um email para texa...@googlegroups.com
Para deixar o grupo, mande um email para texas-sc+u...@googlegroups.com
Para mais opções, visite este grupo no endereço:
http://groups.google.com/group/texas-sc?hl=pt-BR

---
Você recebeu essa mensagem porque está inscrito no grupo "Texas Instruments Info para Designers e Projetistas" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para texas-sc+u...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

agaelema .

unread,
Sep 4, 2015, 11:59:44 AM9/4/15
to Texas Instruments Info para Designers e Projetistas
Leonardo, veja se este código ajuda, montei ele para alguns testes em meus projetos.

Ele calcula os valores e salva em um array. Primeiro calcula uma constante em radianos que será a base do cálculo, depois chama a função que calcula os valores. Essa função tem como entrada o array (unsigned int) onde serão salvos os valores, a constante calculada, o numero de pontos, a amplitude da senoide e o nível DC dela.

#include <math.h>

#define PI (double)3.141592654
#define N_points 32

unsigned int wave[N_points];
unsigned int        n = N_points;

double const_sin_calc(unsigned int parts);
void pure_sin_calc(unsigned int * array, double const_sin_rad, unsigned int points, unsigned int amplitude, unsigned int dc_level);


main(int argc, char **argv)
{
double const_sinwave_rad = const_sin_calc(N_points);
pure_sin_calc(wave, const_sinwave_rad, N_points, 32767, 32767);

getch();
}



double const_sin_calc(unsigned int parts)
{
double value = (2 * PI) / parts;
return (double)value;
}

void pure_sin_calc(unsigned int * array, double const_sin_rad, unsigned int points, unsigned int amplitude, unsigned int dc_level)
{
volatile int i;
volatile long temp;
for (i = 0; i < points; i++)
{
array[i] = (amplitude*sin(const_sin_rad*i*1)) + dc_level;
}
}


Veja o resultado dessa execução.


Espero que ajude.


Haroldo L. M. Amaral

Laboratório de Sistemas de Potência e Técnicas Inteligentes - LSISPOTI
Doutorando em Eng. Elétrica - Poli USP - SP

Mestre em Eng. Elétrica - UNESP Bauru

Tecnólogo em Sistemas Biomédicos - FATEC Bauru

Técnico em Eletrônica - CTI/UNESP Bauru

Skype: academic_haroldo_amaral

agae...@gmail.com

Lattes || Linkedin || Embarcados

Raimundo Nonato Pimenta Filho

unread,
Sep 4, 2015, 2:42:52 PM9/4/15
to Leonardo Leo, Texas Instruments Info para Designers e Projetistas
Supondo que você está utilizando o PWM numa frequência alta, para
tentar controlar a amplitude num nível desejado dado por uma tabela
com 32 valores, pelo menos foi o que entendi...

A tabela
0,0000
0,1951
0,3827
0,5556
0,7071
0,8315
0,9239
0,9808
1,0000
0,9808
0,9239
0,8315
0,7071
0,5556
0,3827
0,1951
0,0000
-0,1951
-0,3827
-0,5556
-0,7071
-0,8315
-0,9239
-0,9808
-1,0000
-0,9808
-0,9239
-0,8315
-0,7071
-0,5556
-0,3827
-0,1951

Dá uma olhada em Modulação Delta
https://en.wikipedia.org/wiki/Delta_modulation

[]s

Em 3 de setembro de 2015 23:11, Leonardo Leo
<uc.sistema...@gmail.com> escreveu:

Raimundo Nonato Pimenta Filho

unread,
Sep 4, 2015, 4:03:29 PM9/4/15
to Francisco Fambrini, Texas Instruments Info para Designers e Projetistas
Expandindo para o grupo...

Eu não tinha considerado as 3 fases... mas é bico, mais duas colunas, 120°...

0,0000 0,8660 -0,8660
0,1951 0,7518 -0,9469
0,3827 0,6088 -0,9914
0,5556 0,4423 -0,9979
0,7071 0,2588 -0,9659
0,8315 0,0654 -0,8969
0,9239 -0,1305 -0,7934
0,9808 -0,3214 -0,6593
1,0000 -0,5000 -0,5000
0,9808 -0,6593 -0,3214
0,9239 -0,7934 -0,1305
0,8315 -0,8969 0,0654
0,7071 -0,9659 0,2588
0,5556 -0,9979 0,4423
0,3827 -0,9914 0,6088
0,1951 -0,9469 0,7518
0,0000 -0,8660 0,8660
-0,1951 -0,7518 0,9469
-0,3827 -0,6088 0,9914
-0,5556 -0,4423 0,9979
-0,7071 -0,2588 0,9659
-0,8315 -0,0654 0,8969
-0,9239 0,1305 0,7934
-0,9808 0,3214 0,6593
-1,0000 0,5000 0,5000
-0,9808 0,6593 0,3214
-0,9239 0,7934 0,1305
-0,8315 0,8969 -0,0654
-0,7071 0,9659 -0,2588
-0,5556 0,9979 -0,4423
-0,3827 0,9914 -0,6088
-0,1951 0,9469 -0,7518

[]s

Em 4 de setembro de 2015 16:48, Francisco Fambrini
<ffam...@gmail.com> escreveu:
> O importante é usar algum timer para poder acessar a tabela em tempos
> deterministicos.
>
> Se o intervalo de tempo de mudança entre um ponto e outro da Tabela não for
> sempre o mesmo, a senoide deforma.
>
> Em 4 de setembro de 2015 15:42, Raimundo Nonato Pimenta Filho
> <mrbon...@gmail.com> escreveu:
>> --
>> --
>> Você recebeu esta mensagem porque está inscrito no Grupo Google "Texas
>> Instruments Info para Designers e Projetistas".
>> Para postar uma mensagem neste grupo, mande um email para
>> texa...@googlegroups.com
>> Para deixar o grupo, mande um email para
>> texas-sc+u...@googlegroups.com
>> Para mais opções, visite este grupo no endereço:
>> http://groups.google.com/group/texas-sc?hl=pt-BR
>>
>> ---
>> Você está recebendo esta mensagem porque se inscreveu no grupo "Texas
>> Instruments Info para Designers e Projetistas" dos Grupos do Google.
>> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie
>> um e-mail para texas-sc+u...@googlegroups.com.
>> Para obter mais opções, acesse https://groups.google.com/d/optout.
>
>

Cleber Toss Hoffmann

unread,
Sep 4, 2015, 4:21:16 PM9/4/15
to texa...@googlegroups.com
Prezado Raimundo
Envio uma tabela, no qual você pode utilizar os dados para gerar o seno
do seu algoritmo.
A ideia é simples.
1 passo é você criar o seno puro. Entretanto o seno varia de -1 à +1,
neste caso você deve somar 1 e dividir por 2 para ficar variando de 0 à 1.

void cal_seno(void)
{
int i=0;
for(i=0;i<SizeSeno;i++)
{
sine[i] = ((sin(i*(3.15149/180))+1)/2);
}
}

2 passo calcular o pwm de cada fase.
Neste caso você deve informar o valor do periodo do pwm e multiplicar
pelo valor do seno. No caso do código abaixo , tem um fator de 0.8 para
não saturar o pwm e também um offset de 5 steps do pwm para não ficar
com valores 0.

for(j=0;j<SizeSeno;j++)
{
pwm[j]=((0.8 *( (float)ulPeriod * sine[j]))+5);
}

3 passo gerar a a senoide apartir dos valores do pwm.

void Timer0IntHandler(void)
{

//
// Clear the timer interrupt.
//
TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT);

PWMPulseWidthSet(PWM0_BASE, PWM_OUT_0,pwm[pwm_u]);
PWMPulseWidthSet(PWM0_BASE, PWM_OUT_1,pwm[pwm_v]);
PWMPulseWidthSet(PWM0_BASE, PWM_OUT_2,pwm[pwm_w]);

pwm_u++;
pwm_v++;
pwm_w++;

if(pwm_u>=SizeSeno)
{
pwm_u=0;
}
if(pwm_v>=SizeSeno)
{
pwm_v=0;
}
if(pwm_w>=SizeSeno)
{
pwm_w=0;
}
}

É isso.

Abraço e espero ter ajudado

Cleber
tabela PWM.xlsx

Raimundo Nonato Pimenta Filho

unread,
Sep 5, 2015, 7:59:11 AM9/5/15
to Cleber Toss Hoffmann, Texas Instruments Info para Designers e Projetistas
Quem tá precisando de ajuda é o Leonardo...
Obrigado pela contribuição.
[]s

Em 4 de setembro de 2015 17:21, Cleber Toss Hoffmann
<cleber.tos...@gmail.com> escreveu:

Raimundo Nonato Pimenta Filho

unread,
Sep 8, 2015, 5:26:16 AM9/8/15
to fannaticc Pereira, Texas Instruments Info para Designers e Projetistas
Respondeu em privado, poderia ter respondido para o grupo... acontecia
bastante acidentalmente comigo, mudei a configuração do gmail para
responder para todos ser o padrão.

Expandindo para o grupo...

No caso a memória utilizada é a de programa.

Se houver tempo sobrando para processamento, por exemplo, deixando os
valores disponíveis para a próxima utilização, calcular o seno é uma
outra solução.
https://groups.google.com/forum/#!msg/texas-sc/mm-iw0eQ16k/JOkcXtJZM7kJ
Utilizando séries de Taylor.

[]s

Em 8 de setembro de 2015 02:00, fannaticc Pereira
<fanna...@gmail.com> escreveu:
> Pode usar uma tabela só, e três variáveis unsigned char que armazenam a
> defazagem, economiza muita memória....
>
> Em 04/09/2015 17:03, "Raimundo Nonato Pimenta Filho" <mrbon...@gmail.com>

fannaticc Pereira

unread,
Sep 8, 2015, 11:23:56 AM9/8/15
to Raimundo Nonato Pimenta Filho, Texas Instruments Info para Designers e Projetistas

Era para ter ido para todos.....

fannaticc Pereira

unread,
Sep 8, 2015, 11:25:11 AM9/8/15
to Raimundo Nonato Pimenta Filho, Texas Instruments Info para Designers e Projetistas

De qualquer forma você tem que jogar isso na RAM para acessar....

Raimundo Nonato Pimenta Filho

unread,
Sep 8, 2015, 11:57:07 AM9/8/15
to fannaticc Pereira, Texas Instruments Info para Designers e Projetistas
Em ASM.

Acessando tabelas com o PIC - RETLW
http://ww1.microchip.com/downloads/en/AppNotes/00556e.pdf

No slide 13 tem o equivalente ao RETLW...
http://www.ti.com/lit/ml/slap114/slap114.pdf

Não tenho ideia de como é feito em C, pra convencer o compilador a
fazer o que se quer.

É claro que, se for gerar a tabela no próprio micro, tá torrando o recurso...

[]s

Em 8 de setembro de 2015 12:25, fannaticc Pereira
<fanna...@gmail.com> escreveu:

Leonardo Leo

unread,
Sep 8, 2015, 12:58:38 PM9/8/15
to agaelema ., texa...@googlegroups.com
Olá, Agaelema e pessoal do grupo...

Consegui entender e implementar no meu código a função do Agaelema. Pelo que eu entendi, a tabela gerada deve ser de valores inteiros, pois a função seno gera valores com dominio de -1 até 1, o algoritmo do agaelema pega os valores gerados pelo seno e os "converte" para valores que estão delimitados pelo range do PWM que são valores inteiro. Caso contrário o sistema deveria ter um esforço computacional muito grande.
Tirei uma foto do osciloscópio, com a forma de onda em anexo.
A minha tabela ficou assim:
/******************************************************/
/*   3-PHASE STAGIO                                   */
/*                                                                 */
/*      Q1                    Q3                      Q5    */
/*                                                                 */
/*       |-                    |-                      |-           */
/*     -|                    -|                      -|             */
/*       |-                    |-                      |-           */
/* ----------------------------------------------------------------*/
/*      Q2                    Q4                      Q6    */
/*                                                                 */
/*       |-                    |-                      |-           */
/*     -|                    -|                      -|             */
/*       |-                    |-                      |-           */
/*                                                                 */
/******************************************************/

const uint16 Tab_Seno[N_POINTS] = {
1700,
2012,
2312,
2588,
2831,
3030,
3178,
3269,
3299,
3269,
3178,
3030,
2831,
2588,
2312,
2012,
1699,
1387,
1087,
811,
568,
369,
221,
130,
100,
130,
221,
369,
568,
811,
1087,
1387
   };

Irei estudar mais...
Muito obrigado ao Agaelema e a todos pela ajuda!


Realmente 

No dia 4 de setembro de 2015 às 14:52, agaelema . <agae...@gmail.com> escreveu:
Você esta corrento Leonardo, a tabela será calculada em função dos ângulos, mais especificamente através dos respectivos valores em radianos (já que nativamente as funções trigonométricas do C, excel, matlab, utilizam esta notação - corrijam-me se estiver errado por favor). Para encontrar o valor respectivo a cada passo nós dividimos o total da circunferência (2*pi) pela quantidade de pontos da sua tabela. Nó código que passei isso é feito pela função "const_sin_calc(unsigned int parts)".

Sabendo destes limites de valores, manipulando a amplitude e o nível DC conseguimos delimitar os parâmetros.

O nível DC é equivalente ao nível médio da senoide, a partir deste nível a senoide excursionará para mais ou para menos. No seu caso o valor média é dado por "(100+3300)/2", que nos levará ao valor 1700. Agora veja, de subtrairmos este valor de 3300 ou então subtrairmos 100 deste valor encontraremos a amplitude do sinal, que será 1600.

nível máximo = DC(1700) + 1600 = 3300.
nível mínimo = DC(1700) - 1600 = 100.

Seria algo semelhante a escrever assim na função que passei "pure_sin_calc(wave, const_sinwave_rad, N_points, 1600, 1700);".

att,
DSC_0039.JPG

agaelema .

unread,
Sep 8, 2015, 1:14:06 PM9/8/15
to Texas Instruments Info para Designers e Projetistas
Parabéns Leonardo. 

Você pegou bem a ideia do algoritmo, depois você pode até brincar e modificar ele para "fazer tudo sozinho" por você, ao inves da amplitude e nível DC você entra com o valor min e max, a partir dai o algoritmo calcula o DC, amplitude, etc...

A senoide ficou legal hein, esta filtrada?

Abraço,

Haroldo L. M. Amaral

Laboratório de Sistemas de Potência e Técnicas Inteligentes - LSISPOTI
Doutorando em Eng. Elétrica - Poli USP - SP

Mestre em Eng. Elétrica - UNESP Bauru

Tecnólogo em Sistemas Biomédicos - FATEC Bauru

Técnico em Eletrônica - CTI/UNESP Bauru

Skype: academic_haroldo_amaral

agae...@gmail.com

Lattes || Linkedin || Embarcados


Z A

unread,
Sep 14, 2015, 4:57:21 PM9/14/15
to agaelema, Texas Instruments Info para Designers e Projetistas
A Texas Instruments possui algumas soluções semelhantes, completas e com projeto disponível:


fannaticc Pereira

unread,
Sep 27, 2015, 2:51:49 AM9/27/15
to Z A, Texas Instruments Info para Designers e Projetistas, agaelema

O problema desse circuitos da Texas,  e que para os caras não usarem chip de outra marca, tem trafo para "draivar" os fets. Além de o circuito ficar maior, da mais trabalho e é mais caro.

Z A

unread,
Sep 28, 2015, 11:11:43 PM9/28/15
to fannaticc Pereira, Texas Instruments Info para Designers e Projetistas, agaelema
fannaticc Pereira, tentei achar circuitos menores, menos trabalhosos e mais baratos do que "um" transformador para desacoplar eletricamente os sinais, adequar a amplitude, casar impedâncias, manter o sincronismo, sensoriar o controle de corrente, "draivar" fets, mas, não encontrei um que atendesse esses requisitos.

Poderia nos dar um exemplo?

Z A

unread,
Sep 28, 2015, 11:25:30 PM9/28/15
to fannaticc Pereira, Texas Instruments Info para Designers e Projetistas, agaelema
...Outro detalhe também, não encontrei literatura que defina o uso de trafos somente para chips da Texas, sem a possibilidade de outras marcas utilizarem, ou, não, nos circuitos com transistores fets.

Parece que o trafo é uma escolha de recurso para realimentação de sinais e pode ser usado com qualquer chip microcontrolador, de qualquer marca.

Você não acha fannaticc?

Raimundo Nonato Pimenta Filho

unread,
Sep 29, 2015, 3:58:25 AM9/29/15
to xtech...@gmail.com, fannaticc Pereira, Texas Instruments Info para Designers e Projetistas, agaelema
Leia novamente a resposta do Pereira, não tá bem escrito, mas ele
sugere trafo a chips caros.
Eu tive a mesma impressão que a sua, mas chips e trafos tava
contraditório, olhei os links dos ANs, e reli a resposta dele...
[]s

Z A

unread,
Sep 29, 2015, 8:57:57 AM9/29/15
to Raimundo Nonato Pimenta Filho, fannaticc Pereira, Texas Instruments Info para Designers e Projetistas, agaelema
Pois é... Relendo o precário e confuso texto do colega percebe-se que podem existir diferentes interpretações.
A língua portuguesa admite situações como essa... Ainda mais quando alguém não apresenta objetividade em seu discurso!

Mas se o objetivo foi destacar o acionamento dos gates, a Texas também sugere acoplamento ótico, que, é mais complexo e caro do que os "trafos" que podem até ser construídos artesanalmente ou reaproveitados de acordo com as necessidades de potência e consumo.

Nas notas de aplicação não existem restrições para o uso de buffers integrados.

O interessante é buscar a forma mais prática, de baixo custo e rápida para atender a lógica e programação.

Z A

unread,
Oct 4, 2015, 8:16:36 PM10/4/15
to fannaticc Pereira, Texas Instruments Info para Designers e Projetistas
Pois é fannaticc Pereira, errar é humano... Eu, por exemplo, erro muitas vezes! Mas, aprendo algo com os erros...

"...Eu me referi a utilizar um trafo para drivar os gates...."

Essa frase trás um erro conceitual enorme ao sugerir o uso de trafo para "drivar" gates. O sinal quadrado provindo do controlador poderia ser totalmente distorcido e ruidoso para disparar os mosfets.

Não estou aqui para defender ou glorificar a Texas Instruments, nem, outra marca qualquer. Mas, nenhum dos links sugere o uso de trafos para "drivar" gates dos mosfets. Apenas sugerem sensoriar, acoplar níveis de alimentação, realimentar, filtrar, etc. Nenhum trafo é mostrado ativando mosfets!

Agora, se o VGS do mosfet for 9 volts (típico), com certeza vai precisar de 2 CI's GATE DRIVER (buffer/driver), tipo o TC4427 sugerido para acionar a ponte de transistores. Ainda assim, a melhor opção seria optoacoplador devido ao baixo custo.



Em 4 de outubro de 2015 16:47, fannaticc Pereira <fanna...@gmail.com> escreveu:
Realmente eu nunca vi um acoplador que fosse mais caro do que um trafo, pode ate existir, mas......

Trafo exige cálculos muito mais complexos do que simplesmente colocar um opto acoplador, ocupa mais espaço, depende de
se encontrar os materiais para fabrica-lo, como carretel núcleo, verniz isolante, tem que ter alguma "ferramenta" para
enrolar este. um simples opto 

Eu me referi a utilizar um trafo para drivar os gates....

Eu tenho um exemplo clássico, que é o ir2101, que e um drive para mosfet/IGBT.

Eu nunca quiz dizer que os trafos so podem ser utilizados nos circuitos da Texas, mas que eles fazem coisas complexas, 
só pra não ter que utilizar de chips de outros fabricantes.

Por exemplo a Microchip tem varios chips para fets como o: 

TC4427

Aqui voce pode ter um ideia dos modelos disponíveis:


 
--
Raphael Fannaticc
Enviado pelo gmailweb...

Paulo Ricardo Pabst

unread,
Oct 5, 2015, 12:41:43 AM10/5/15
to Texas Instruments Info para Designers e Projetistas
Z A,

Eu já utilizei, há muito tempo atrás, transformadores de pulso para acionar MOSFET. 
Funciona muito bem. Eu mesmo "fabriquei" os transformadores. 

Vale observar que:
1. Duty cycle deve ser menor que 50%
2. Deve haver uma forma de descarregar o campo residual
3. Deve calcular muito bem a grandeza Tensão·Tempo para reduzir a queda quando 
    o duty cycle aproxima-se de 50%

Eu consegui chavear 50kHz ou 100kHz (não lembro), com 100ns de tempo de subida. 
Claro que tem todo um circuito com diodos, resistores, capacitores e transistores 
para conseguir acionar o bendito MOSFET.


--Paulo.

Z A

unread,
Oct 5, 2015, 9:19:12 PM10/5/15
to fannaticc Pereira, Texas Instruments Info para Designers e Projetistas, prp...@gmail.com
Bela e clássica contribuição de experiência prática, Paulo!

Dá para perceber a possibilidade de "drivar" mosfets com trafos de pulso, extremamente baratos, fabricados com pequenos toróides e 2 enrolamentos com algumas espiras de fio 1mm. Sem cálculos fanáticos!

O tamanho dos trafos pode ser uma restrição, dependendo da finalidade do projeto.

Já usei uma sugestão da Motorola para o antigo controlador MC33035 para controle de carga de potência com IRF3710Z usando um Boost (MC1555), optoacopladores (4N25) e mais alguns componentes:

Imagem inline 1
Um detalhe interessante é que GATE/DRIVERS parecem não funcionar bem para aplicações de cargas de alta potência...
Não sei dizer porquê, apenas constatei com testes práticos e abandonei a idéia...

Em 4 de outubro de 2015 21:33, fannaticc Pereira <fanna...@gmail.com> escreveu:
Cometi um erro de português:

"drivar" Realmente é um termo que não pertencia língua portuguesa, mas acho que seu uso torna bem claro o entendimento, quando referido
a utilizar um componente de modo a tornar possível a comutação de mosfet tipo N, na parte alta de uma ponte inversora.

Repetindo eu nunca disse que os links apresentavam soluções compostas por trafos.

Em 4 de outubro de 2015 21:30, fannaticc Pereira <fanna...@gmail.com> escreveu:
Você esta entendendo totalmente ao contrario, 

Sou contra o uso de trafos nessas aplicações.

Prefiro o uso de chips feitos pra isso.


Entendeu?


"drivar" Realmente é um termo que não pertencia língua portuguesa, mais acho que seu uso torna bem claro o entendimento, quando referido
a utilizar um componente de modo a tornar possível a comutação de mosfet tipo N, na parte alta de uma ponte inversora.

Repetindo eu nunca disse que os links apresentavam soluções compostas por trafos.

fannaticc Pereira

unread,
Oct 5, 2015, 11:36:12 PM10/5/15
to Z A, prp...@gmail.com, Texas Instruments Info para Designers e Projetistas

Aqui tem uma que pode ser comprovada uma ponte inversora projetada por mim utilizando drivers feitos com cis.

Se os cálculos são tão ridículos se é tão fácil fazer onde está seu projeto?
Ensina pra galera os cálculos que de acordo com você são "não fantásticos".

Falar eu posso falar até que trabalho na NASA,  que é bobo acredita, mas com uma foto fica difícil discutir.

20151006_003149.jpg

fannaticc Pereira

unread,
Oct 5, 2015, 11:37:00 PM10/5/15
to Z A, Texas Instruments Info para Designers e Projetistas, prp...@gmail.com

A propósito o que seriam grandes potências pra você?
Minha ponte foi projetada para motores de até 4HP...

Z A

unread,
Oct 7, 2015, 2:00:06 AM10/7/15
to fannaticc Pereira, Paulo Ricardo Pabst, Texas Instruments Info para Designers e Projetistas
Sem a mínima intenção de competir com ninguém daqui, considero conveniente apresentar alguma experiência para os interessados!

A aplicação de optoacopladores 4N25, como citado anteriormente, para disparar Power Mosfets IRF3710Z foi implementada no protótipo das imagens:

Imagem inline 1

Imagem inline 2

A intenção foi de controlar um BLDC trifásico de 80 Watts (http://www.maxonmotor.com/medias/sys_master/root/8816804266014/15-214-EN.pdf), mas a capacidade dessa ponte é de 5700 Watts (7,64cv) por fase.

Um detalhe interessante é que a NASA usou exatamente esse modelo de motor, entre outros 35 modelos, nas sondas Spirit e Opportunity da missão à Marte (http://www.maxonmotor.com/medias/sys_master/root/8814542553118/2014-6-en-story-marsmission.pdf?attachment=true).

Se alguém tiver interesse, posso comercializar o projeto!

Para quem tem interesse em conceitos, equações, características de partida, ensaios, detalhes construtivos, entre outros assuntos sobre motores elétricos, nada melhor do que o material de uma grande empresa renomada, entre outras:

fannaticc Pereira

unread,
Oct 7, 2015, 4:34:26 AM10/7/15
to Z A, Paulo Ricardo Pabst, Texas Instruments Info para Designers e Projetistas

Muito bacana o seu circuito, mas fico na dúvida.... como resolveu o problema da tensão mais alta no gate da parte de cima? Isso se utilizou mosfets tipo n.

Não vejo nada que se pareça com um elevador de tensão na placa. Poderia explicar melhor....

Qual foi seu objetivo ao isolar os fets do circuito digital?

Raimundo Nonato Pimenta Filho

unread,
Oct 7, 2015, 5:00:14 AM10/7/15
to fannaticc Pereira, Z A, Paulo Ricardo Pabst, Texas Instruments Info para Designers e Projetistas
O opto resolve exatamente o problema da tensão no gate.
Olha o esquema novamente.
[]s

Em 7 de outubro de 2015 05:34, fannaticc Pereira
<fanna...@gmail.com> escreveu:

Z A

unread,
Oct 7, 2015, 10:59:22 AM10/7/15
to Raimundo Nonato Pimenta Filho, fannaticc Pereira, Paulo Ricardo Pabst, Texas Instruments Info para Designers e Projetistas
Agradeço o "...Muito bacana...", acho que agora já podemos ser amigos!

Para detalhar a solução do elevador de tensão, basta uma imagem para dizer muito:

Imagem inline 1

Esse circuito consta na placa, implementado no canto superior esquerdo da primeira imagem do email anterior.

Na verdade foi utilizado o MC1455 (http://www.onsemi.com/pub_link/Collateral/MC1455-D.PDF).

Raimundo você tem razão sobre as muitas soluções do optoacoplador, e, outros aspectos levantados pelo Paulo também!

Não houveram critérios de otimização e minimização nessa fase do projeto, apenas tinha que funcionar adequadamente para o Rds, Ids e Vgs do PowerMosfet disponível...

O objetivo de usar uma saída "bufferizada" era, justamente, adequar níveis de disparo que não eram fornecidos diretamente pelo controlador para a ponte de potência.

Com o MC1455 foram obtidos, aproximadamente, 22 volts de disparo nos Gates.

Simao

unread,
Oct 8, 2015, 9:28:26 AM10/8/15
to texa...@googlegroups.com


    Desculpe a curiosidade qual a frequência de chaveamento conseguida usando o 4N25 neste seu circuito. Eu tive sérios problemas com aumento da frequência de chaveamento com esse componente.

Simão

 
Em 7/10/2015 02:59, Z A escreveu:
Sem a mínima intenção de competir com ninguém daqui, considero conveniente apresentar alguma experiência para os interessados!

A aplicação de optoacopladores 4N25, como citado anteriormente, para disparar Power Mosfets IRF3710Z foi implementada no protótipo das imagens:





A intenção foi de controlar um BLDC trifásico de 80 Watts (http://www.maxonmotor.com/medias/sys_master/root/8816804266014/15-214-EN.pdf), mas a capacidade dessa ponte é de 5700 Watts (7,64cv) por fase.

Um detalhe interessante é que a NASA usou exatamente esse modelo de motor, entre outros 35 modelos, nas sondas Spirit e Opportunity da missão à Marte (http://www.maxonmotor.com/medias/sys_master/root/8814542553118/2014-6-en-story-marsmission.pdf?attachment=true).

Se alguém tiver interesse, posso comercializar o projeto!

Para quem tem interesse em conceitos, equações, características de partida, ensaios, detalhes construtivos, entre outros assuntos sobre motores elétricos, nada melhor do que o material de uma grande empresa renomada, entre outras:

Paulo Ricardo Pabst

unread,
Oct 8, 2015, 9:41:12 AM10/8/15
to texa...@googlegroups.com
​Concordo com o Simão.

Sinais com mais de 10kHz possuem grande atenuação devido aos 
capacitores​ parasitas base-emissor e base-coletor. Uma solução 
prática é adicionar um resistor base-emissor para descarregar 
estes capacitores. 

O valor deste resistor varia de fabricante para fabricante, mas 
fica na região de 100k à 1M ohm. Num circuito aqui na empresa 
usamos 220k e obtivemos uns 40kHz de chaveamento.

--Paulo.

Simao

unread,
Oct 8, 2015, 9:58:50 AM10/8/15
to texa...@googlegroups.com

    Este circuito que voces utilizam conseguiu gerar no gate do FET exatamente o mesmo duty cycle que voce usou para excitar o diodo do 4N27?? Eu confesso que fiz o diabo aqui e acabei tendo que usar uns foto acopladores da HP para chegar perto do que eu queria, e olha que era apenas uma transmissão a 9.600 bps.
    Se puder mostrar apenas a parte referente ao foto + Fet eu agradeceria Paulo.


Simão


Em 8/10/2015 10:41, Paulo Ricardo Pabst escreveu:

Paulo Ricardo Pabst

unread,
Oct 8, 2015, 10:12:03 AM10/8/15
to Texas Instruments Info para Designers e Projetistas
Simão,

Segue a parte do opto. Tanto a entrada quanto a saída são em 3.3V.
Não estranhe as tensões negativas.... a referência do MSP430 era 
-5Vdc :)

A alimentação é -1.7Vdc.

Imagem inline 1

--Paulo.

Z A

unread,
Oct 8, 2015, 1:45:18 PM10/8/15
to simao...@yahoo.com.br, texa...@googlegroups.com
Simão, na implementação do controle para motor brushless a rotação chegou a 12700 RPM em regime de carga, com menos de 1KHz e Duty-cycle de 20%...

Reply all
Reply to author
Forward
0 new messages