Você está na página 1de 1

07/07/2015

TutorialMotoresParte1:Lgicadeprogramaoparamotoreseltricos

biblioteca de mesmo nome e a inseriu em nosso programa logo aps finalizarmos a


configuraodomicrocontroladoratravsdoPW.

ints,k,botao//variaveisinteiras(int)declaradasparaexecuodoprograma
voidmain()//iniciodoprograma
{
s=1//condioinicialdavarivels(Sadaparaoscabosdomotor)
while(1){//inciodoinfiniteloopFormautilizadaparaqueoprogramanuncachegueaofimjque
1=1atodomomento.
botao=input(PIN_A0)//Comessecomandoavarivelbotaosempreassumirovalorlgicodaporta
A0
if(botao){//[ouif(boto==1)]condioparainiciaromovimentode36
for(k=1k<=21k++){//nmerokdepassosparaomovimentode36Comocadapassotem1,8,
sonecessrios20passosparacompletaros36Aquifizemosumcontadordepassosdomotor.
if(s>=16){
s=1
}
//A lgica para o movimento no sentido horrio 1, 2, 4, 8 Podemos facilmente perceber a
progressocomomultiplicador2.Entretanto,aoatingiroultimofio,queremosqueomotorreinicieo
ciclo para manter o movimento. Assim, o nmero seguinte da progresso seria 16, mas com esse
reguladorfazemoscomqueociclosejaretomado.
output_B(s)//AquideterminamosquenasportasdafamliaB(B0B7)saiaovalordes(embinrio)
s=s*2//AquiestanossaprogressodosvaloresdasadaemB.Aoatingiressalinha,anossavarivel
sassumirumvalorduasvezesmaiorqueoanterior.
delay_ms(100)// Aqui determinamos uma pausa em milissegundos (100 ms) para que o programa
reinicieoloop.Essedelayvariademotorparamotor,poisalgunsmotoresforamprojetadosparater
menos velocidade que outros. importante que se faa uma pesquisa do limite de velocidade do
motor para no comprometer o equipamento. Caso o motor comece a esquentar ou perca o passo,
significa que voc excedeu o limite do mesmo. Essa velocidade controlada pelo programador,
supondoquenossomotorsuporteeupoderiaterescrito:delay_ms(30).
}
}
}
}//FimdoPrograma

http://www.peteletrica.eng.ufba.br/?p=881

3/9