REQUISITOS:
1. Microcontrolador (AtMega 16)DESCRIÇÃO:
Os motores sem escova têm resultados muito mais satisfatórios em comparação com os motores com escova. A diferença básica entre eles é que em um motor sem escova, o próprio rotor contém os ímãs permanentes e os eletroímãs se movem para o estator, que é exatamente o oposto do visto em motores com escovas. É mais preciso e também pode levar em consideração a velocidade do motor na equação. Isso torna os motores sem escovas mais eficientes, pois não há faíscas, menos ruído elétrico e não há desgaste das escovas. Com os eletroímãs no estator, eles são muito fáceis de resfriar. Você pode ter muitos eletroímãs no estator para um controle mais preciso. A única desvantagem de um motor sem escovas é o seu custo inicial mais elevado, mas muitas vezes é possível recuperar esse custo através da maior eficiência ao longo da vida útil do motor. Agora, quando falamos sobre controlar esses motores, gostaria de introduzir um novo termo, ou seja, ESC, que significa Controladores Eletrônicos de Velocidade. Como o nome sugere, eles controlam a velocidade dos motores DC sem escovas usando algum protocolo eletrônico. Esses ESCs precisam de um comando para continuar trabalhando. Neste projeto estou enviando esses comandos usando um microcontrolador, AtMega 16. Você deve estar pensando o que seriam esses comandos? Não se preocupe, se você já lidou com servomotores antes, poderá controlar esses motores BLDC com muita facilidade. A maioria dos ESCs precisa de uma frequência de 50 Hz, ou seja, um ciclo de 20 ms e a velocidade depende do ciclo de trabalho fornecido. 1ms reduzirá sua velocidade ao mínimo ou até mesmo pará-la (depende do modelo ESC) enquanto um pulso de 2ms fará o motor funcionar em sua velocidade máxima. Os valores entre eles fornecem uma variação na velocidade.
|
Fig. 1: Protótipo de controlador de motor DC sem escova baseado em AVR ATMega16
|
Figura 2:
Imagem do motor DC sem escova
|
Figura 3: Imagem do Controlador Eletrônico de Velocidade
Deixe-me contar algo sobre as conexões envolvidas aqui. Um ESC precisa de uma fonte de energia para funcionar (esta fonte também fornecerá energia ao motor). Usei uma bateria de polímero de lítio (11,1V) aqui. Já no lado da entrada, além da necessidade da bateria, é necessário um sinal que conectei no pino OC1A (PD5). Esta é a saída do Timer1_A; Falarei sobre isso na parte posterior. Em seguida vem a seção de saída com 3 pinos A, B e C. Esses pinos correspondem aos 3 pinos do motor BLDC. O motor em uso vem com três fios nas cores: amarelo, preto e vermelho. Você precisa conectar A ao amarelo, B ao preto e C ao vermelho. Caso você encontre seu motor girando no sentido oposto ao desejado, basta trocar os fios amarelo e vermelho. O Timer1 no AtMega 16 é um temporizador de 16 bits, ou seja, pode contar até 65.535 começando do zero. A razão pela qual usei este temporizador e não o temporizador0 ou o temporizador2 é que estes são temporizadores de 8 bits e podem contar até 255. Quando queremos um ciclo de 20 ms, precisamos de um valor de 20.000 contagens (0-19999). Como você pode ver, este valor não pode ser acomodado em nenhum temporizador de 8 bits, portanto, mudei para um de 16 bits. Uma grande vantagem dos temporizadores de 16 bits é que você pode definir o valor superior entre 0-65535. O temporizador 1 é dividido em dois temporizadores individuais de 16 bits A e B. Este projeto usa a parte 'A' do temporizador 1. Além disso, os valores correspondentes a 1ms e 2 ms são 1000 e 2000, respectivamente. Ao assistir ao vídeo você notará que controlei a velocidade usando um potenciômetro (pote de 10K). Este potenciômetro fornece o valor analógico que é lido pelo pino PORTA_0. Este valor determina então o valor entre 1.000 e 2.000, conforme discutido acima. Sobre lidar praticamente com o motor que usei; estava escrito em sua folha de dados que ele requer um pulso de 1 ms por alguns segundos ou até que o motor responda com um sinal (você entenderá melhor quando assistir a parte do vídeo). Isto indica que o motor está agora pronto para os comandos discutidos anteriormente.
FORMULÁRIOS:
• Esses motores desempenham o papel mais importante na fabricação de qualquer veículo aéreo, como UAVs ou quadricópteros, etc. • O BLDC também pode ser visto em carros e aeronaves RC (controle remoto).Código fonte do projeto
#include
#include
void main
{
int value;
ADCinit ;
TCNT1=0;
TCCR1A =(1<
TCCR1B =(1<
DDRD =(1<<5);
ICR1=19999;
OCR1A=1000;
while(1)
{
value=read_adc(0);
OCR1A=value+1000;
}
}
Diagramas de circuito
Diagrama de circuito-AVR-ATMega16-Controlador de motor DC sem escova |