Sunday, November 17, 2013

Eletronic Speed Control (ESC)

O controle eletrônico de velocidade é aplicado a motores brushless para controlar a velocidade.


Hobbywing Flyfun 30A
É na verdade um ATMEGA8L com 6 (Alpha & Omega) AOD208 30V N-Channel MOSFET
Firmware totalmente aberto com diversos controles, suporte i2c, alta frequência, .....
https://github.com/sim-/tgy
Para gravar o firmware aberto é basta soldar os pinos de gravador do ATMEGA8L
Verso do Hobbywing Flyfun 30A
Todos são N-FET AOD208

O Hobbywing Flyfun 30A vendido no DX é na verdade Hobbypower 30A amarelo.

Tá tabela do Openpilot  http://wiki.openpilot.org/display/Doc/RapidESC+Database
No linha Hobbypower 30A tem o link para as fotos dele http://0x.ca/sim/esc/Hobbypower_30A/
que copiei para ver se era igual mesmo.

No caso o firmware para o Hobbywing ou Hobbypower é o:  tgy.hex



Hobbypower 30a verso

Hobbypower 30a virgem

Hobbypower 30a frente

A turma do RCgroup já andou gravando o Hobbypower/Hobbywing 30A com firmware simonk
http://www.rcgroups.com/forums/showthread.php?t=1513678&page=621

Hobbywing / Hobbypower - pinout para gravação
ATMEGA8L pinout


Os motores brushless são compostos por 3 ou mais bobinas separadas, precisam ser acionadas sequencialmente para que o motor gire.
A maioria dos ESC são microcontroladores de 8-bits com 6 transistores FET (transistor de efeito de campo) dispostos em forma de inversor triplo. O microcontrolador utilizar as entradas ADC para detectar o cruzamento por zero da tensão de cada fase do inversor triplo. O cruzamento por zero serve de referência para fazer a comutação entre as fases do inversor triplo. Esse tipo de ESC que utiliza apenas o ADC para detectar o cruzamento por zero chama-se de ESC Sensorless. 
O controle de velocidade geralmente é feito por um entrada PWM de 50 Hz ou 60 Hz que serve de referência para geração do PWM de cada fase do inversor triplo.
Alguns modelos de ESC possuem um saída estabilizada de 5V (battery eliminator circuit [BEC]), geralmente utilizada para alimentar a placa de controle de voo.
É Importante lembrar: a corrente máxima suportada pelo ESC deve ser sempre maior (pelo menos 10% de folga) em relação a corrente máxima especificada pelo motor. O erro mais comum é usar um ESC com corrente menor do que a especificada pelo motor. A consequência deste erro é ver o ESC (em especial os FETs) virar carvão em menos de 1 segundo.

Implementação ESC Sensorless

Existem diversos "application notes" para controles de motores brushless, um dos mais usados é o AVR444.


  • AVR444: Sensorless control of 3-phase BLDC motors based on tinyAVR and megaAVR devices This application note describes how to implement sensorless commutation control of a 3-phase brushless DC (BLDC) motor with the low cost ATmega48 microcontroller. http://www.atmel.com/images/doc8012.pdf

Outros  "application notes" de boa qualidade foram disponibilizados pela Microchip usando todo tipo de PIC. 

AN885 - Brushless DC (BLDC) Motor Fundamentals

AN857 - Brushless DC Motor Control Made Easy

AN970 - Using the PIC18F2431 for Sensorless BLDC Motor Control

AN899 - Brushless DC Motor Control Using PIC18FXX31 MCUs

AN957 - Sensored BLDC Motor Control Using dsPIC30F2010
AN1160 - Sensorless BLDC Control with Back-EMF Filtering Using a Majority Function

Também existem esquemáticos completos como do ESC Tower Pro.
Esquema elétrico de um ESC Sensorless [s1]

ESC avançados (na média cerca 30 dólares)

Ultraesc (http://www.ultraesc.com/)
  • interfaces: I2C, SPI, USART, USB
  • rotate: CW and  CCW
  • realtime monitor
  • completely reprogrammable
Ultraesc board design

Utraesc configuration and monitor application


ESC Simples (na média menos de 10 dólares)


ESC Hobbywing Flyfun Pentium 30A Black

Compre no DX

ESC programming card
Alguns modelos de ESC possuem configurações que podem ser ajustas por um cartão de programação ou via placa de controle de voo e controle RF.
 As configurações mais comuns são:
  • Freio
  • Tipo de bateria
  • Tipo de corte em caso de bateria fraca
  • Limite de tensão para considerar a bateria fraca
  • Método de partida do motor
  • Temporização do motor
  • Quantidade de células da bateria


Hobbywing ESC programming card
http://www.hobbywing.com/product_show.asp?id=216
Compre no DX
http://www.dx.com/p/hobbywing-program-card-for-r-c-helicopters-15150
Compress no Aliexpress
http://www.aliexpress.com/item/Free-Shipping-Hobbywing-LED-program-card-For-FlyFun-SkyWalker-Brushless-ESC-Airplane-Helicopter-Brand-New/1126139887.html


Engenharia reversa de um ESC programming card
Provavelmente todos os ESC usam o mesmo método para programação de configuração.
O método é uma USART virtual de 1 fio que fica ativa durante alguns segundos apos energizar o ESC.
Durante este período a troca de informações é feita por pelo protocolo USART de 10-bits.


ATmega-328p code to emulate ESC programming card