Beruflich Dokumente
Kultur Dokumente
FELIPE SERAFIM ALBALADEJO GLENER GRGORI DOS SANTOS LUCAS VINICIUS TAVARES ALVES
CENTRO PAULA SOUZA FACULDADE DE TECNOLOGIA FATEC SANTO ANDR Tecnologia em Autotrnica
FELIPE SERAFIM ALBALADEJO GLENER GRGORI DOS SANTOS LUCAS VINICIUS TAVARES ALVES
Monografia apresentada ao Curso de Tecnologia Autotrnica da FATEC Santo Andr, como requisito parcial para concluso do curso em Tecnologia Autotrnica Orientador: Marco Aurlio Fres
Dedicamos este trabalho as nossas famlias e aos nossos amigos que sempre estiveram prximos durante esta jornada
AGRADECIMENTOS
Agradecemos aos professores Edson Kitani, Marcos Aurlio Froes e Fabio Delatore, por nos auxiliar no desenvolvimento do projeto. Alm de todos os nossos familiares e amigos que compreenderam esse momento duro de nossas vidas e estiveram sempre ao nosso lado mesmo muitas vezes no tendo nossas atenes.
A vida no d nem empresta No se comove nem se apieda Tudo quanto ela faz Retribuir e transferir... ...aquilo que ns lhe oferecemos. Albert Einstein
RESUMO
O objetivo deste trabalho apresentar anlise do funcionamento de um piloto automtico em automveis. Abordamos toda a evoluo desse sistema mostrando em um prottipo o seu funcionamento. Primeiramente, ser apresentado o contexto histrico do tema, desde mquinas a vapor at a mais recente imposio de velocidade instalada nos veculos e, em seguida, a metodologia envolvida na preparao do projeto, a motivao, hardwares e fluxogramas sero descritos. Por fim, esto todos os resultados alcanados com as pesquisas e os projetos desenvolvidos.
ABSTRACT
This work focuses on operation analysis of a cruise control in cars. We present the whole evolution of this system showing in a prototype the functions of it. At first, it will be introduce the historical context, from the steam up to the most recent adaptive cruise control installed in vehicles. Afterwards, it will be described the methodology involved in the development of this project, the motivation for it, and, the hardwares and flowcharts used. Finally, all the achieved results with the researches and projects developed are showed.
LISTA DE ILUSTRAES
Figura 1. Motor de Boulton e Watt de 1788. Extrado de http://www.answers.com/topic/centrifugal-governor, 2009..................................................... 13 Figura 2. Demonstrao do sistema de controle do pedal do acelerador utilizado nos primeiros veculos. Extrado de http://www.imperialclub.com/Articles/58AutoPilot/index.htm. ........... 14 Figura 3. Fluxograma desenvolvido para o projeto do hardware. ........................................... 20 Figura 4. Fonte estabilizada responsvel pela alimentao da prtica ..................................... 22 Figura 5. Configurao bsica do microcontrolador apresentando oscilador e RESET por MCLR....................................................................................................................................... 23 Figura 6. Configurao da interface entre motorista e microcontrolador ................................ 24 Figura 7. Configurao da interface entre motorista e microcontrolador ................................ 24 Figura 8. Sinal de entrada analgica do pedal .......................................................................... 25 Figura 9. Drive de controle para motor da borboleta ............................................................... 25 Figura 10. Corpo de Borboleta ................................................................................................. 26 Figura 11. Esquema para alimentao e comunicao com display LCD................................ 26 Figura 12. Drive de controle do motor DC por corrente .......................................................... 27 Figura 13. Sinal PWM atuante no corpo de borboleta ............................................................. 29 Figura 14 Funo de transferncia e diagrama de blocos do motor DC................................... 31 Figura 15. Sinal da sada do corpo de borboleta e o de atuao no motor DC......................... 32 Figura 16. Sinal do sensor Hall em plena carga e em rotao mdia ....................................... 33
2. HISTRIA DO SISTEMA DE PILOTO AUTOMTICO............................................ 13 2.1 Modos de Funcionamento ............................................................................................ 15 2.1.1 Sistema ACC ............................................................................................................ 16 2.2 Vantagens e Desvantagens ........................................................................................... 17 3. METODOLOGIA............................................................................................................... 19 3.1 Motivao ...................................................................................................................... 19 3.2 Desenvolvimento ........................................................................................................... 19 3.3 Aplicao........................................................................................................................ 21 3.3.1 Fonte Estabilizada .................................................................................................... 21 3.3.2 Configuraes Bsicas do Microcontrolador ........................................................... 22 3.3.3 Entradas Digitais e Analgicas ................................................................................ 23 3.3.4 Sadas Digitais.......................................................................................................... 25 4. ANLISE DOS RESULTADOS ....................................................................................... 28 4.1 Controle do Corpo de Borboleta ................................................................................. 28 4.1.1 Participao do Mdulo de Controle........................................................................ 29 4.2 Controle do Motor DC.................................................................................................. 30 4.3 Tratamento do Sensor Hall .......................................................................................... 32 6. REFERNCIAS ................................................................................................................. 36 7. APNDICE ......................................................................................................................... 37 7.1 Cdigo do Programa..................................................................................................... 37 7.2 Esquema eletrnico completo ...................................................................................... 47
1. INTRODUO
Conforto, praticidade e segurana, sem dvida o desejo de qualquer motorista ou passageiro. Com o avano natural da tecnologia isso se torna cada vez mais presente nos veculos, e como conseqncia o aumento de funes eletronicamente comandadas no automvel. Desenvolver unidades de controle inteligentes capazes de atender funes em um veculo, como a de conforto, de forma segura e eficiente, padronizada e aperfeioando conhecimentos j empregados, em concordncia com a legislao vigente, e acima de tudo, de forma que agrade o consumidor final, o que impulsiona os avanos no setor. As conseqncias, destes desafios impostos so veculos cada vez mais sofisticados. Um exemplo disso a unidade de controle do motor (UCM), ela controla todos os sensores e atuadores existentes no veculo (o que em um passado recente no lugar desses sensores e atuadores, o controle era feito mecanicamente). Entre os sistemas hoje controlados no veculo, podemos ver o avano exponencial tecnolgico na rea de conforto veicular. Diversos itens so implantados visando o bem estar do proprietrio como: sistemas de climatizao interna do veculo, navegao (GPS Global Positioning Sensor), entretenimento, transmisso (cmbio automtico) e finalmente, o piloto automtico. Toda essa evoluo foi implantada pelas montadoras, porque, alm de abrir novos mercados, a montadora obtm um reconhecimento dos seus produtos, aumenta as caractersticas de dirigibilidade e desempenho dos automveis e a satisfao do cliente. O objetivo deste trabalho disponibilizar uma fonte de pesquisa na lngua portuguesa, sobre o tema piloto automtico, colaborando desta forma para o desenvolvimento de novos trabalhos. Para que isso seja possvel apresenta-se neste trabalho a construo do circuito, os sinais obtidos e os resultados de um sistema de controle, no qual possvel impor velocidades de cruzeiro ao veculo, sem a necessidade de pressionar constantemente o acelerador. Com o auxlio do sensor Hall presente no distribuidor do veculo usado para teste (Polo da Volkswagen), obtemos o sinal de rotao do motor, e que junto com o sinal de velocidade, o software desenvolvido capaz de comparar a velocidade imposta com a velocidade atual, atuando na borboleta e realizando a leitura da rotao e da velocidade novamente, fechando desta forma a malha do sistema corrigindo o erro entre as duas velocidades.
12
Com esse circuito funcionando corretamente em uma carro com transmisso automtica, pode-se dizer que o veculo est equipado com um sistema de piloto automtico, que nada mas que um controle da velocidade do carro (programada pelo motorista), mantendo-a estvel no importando as circunstncias do ambiente em que est exposto.
Mantendo a mesma base proposta por Watt e Boulton o controle de velocidade mais moderno, foi desenvolvido por Ralph Teetor, um engenheiro mecnico formado na Universidade da Pensilvnia, na Filadlfia. Cego desde os cinco anos, Teetor criou seu primeiro carro com um cilindro quando tinha apenas doze anos de idade. O primeiro emprego dele foi com desenvolvimento de turbinas a vapor, onde teve o primeiro contato com o regime centrfugo exposto por Watt. Contudo, Teetor se interessou muito pelo sistema de controle de velocidade dos motores a vapor e resolveu pesquisar sobre o assunto. Dedicou alguns anos de sua vida estudando e fazendo testes em motores de combusto, at que em 1945, Ralph Teetor inventou o conceito de piloto automtico que at hoje tido como base na confeco dos controladores de velocidades para veculos. O primeiro nome dado para a inveno foi o Controlmatic passando ainda por: Touchomatic, Pressomatic e Speedostat at que chegar ao nome utilizado hoje, o Cruise Control.
14
Apesar de o experimento ter sido apresentado em 1945, o primeiro carro a adot-lo foi o Chrysler Imperial em 1958, seguido pelos Cadillacs em 1960 (BELLIS, 2009), que na poca saiu com o conceito de pedal de acelerador automtico, pois a velocidade que era escolhida atravs de um boto que ficava perto do painel de instrumentos do veculo (30 a 80 milhas), era controlada atravs de um sistema eletro-mecnico que atuava diretamente no pedal do acelerador (Figura 2). (ROWSOME JUNIOR, 1958) Esse sistema mostrado na Figura 2 tinha o seguinte funcionamento. Primeiramente, era preciso ajustar o boto do set de velocidade, que ao ser acionado exercia uma fora em cima de uma mola que ficava presa em algumas alavancas fixadas no cabo do acelerador e no controle fino de velocidade. A carga exercida na mola era diretamente proporcional a atuao do pedal do acelerador e conseqentemente a velocidade que o carro alcanava. Para se obter um controle fino e mais apurado da velocidade do veculo era usado um motor eletromagntico que atuava em um sistema mecnico com base no medidor de velocidade do carro. (ROWSOME JUNIOR, 1958)
Figura 2. Demonstrao do sistema de controle do pedal do acelerador utilizado nos primeiros veculos. Extrado de http://www.imperialclub.com/Articles/58AutoPilot/index.htm.
Com a evoluo da eletrnica nos automveis o sistema de controle de velocidade foi se atualizando e passando por diversas fases de adaptaes, pois a mecnica envolvida no circuito comeou a ficar obsoleta, sendo ento substituda por componentes eletrnicos. Essas mudanas comearam a acontecer, pois as frotas de veculos produzidas no mundo estavam crescendo muito, mas de uma forma desordenada. Com isso os governos comearam a interferir criando algumas legislaes que exigiam dos fabricantes um controle maior da segurana de todos os sistemas implantados nos veculos. Como o circuito eletro-
15
mecnico j estava no limite de sua capacidade de atuao, comearam ento a utilizar a tecnologia eletrnica para fazer um sistema que tivesse uma resposta mais rpida e segura. Depois de tantas mudanas o sistema mais atual existente hoje o chamado Adaptive Cruise Contol (ACC), cuja funo praticamente a mesma, porm o ACC utiliza um sistema com radares ou lasers que so capazes de detectar obstculos e diminuir a velocidade por um freio automtico, retornando velocidade anterior logo aps a ultrapassagem deles. Outra funo nova o programador de velocidade dinmico que detecta atravs de um GPS a velocidade permitida no local, calculando e mostrando se o veculo est com a velocidade maior que a permitida. Caso esteja, ele desacelera o carro at ficar estvel na mxima velocidade permitida do local. Isso tudo torna o sistema muito mais esperto, gil e seguro.
16
valor armazenado na memria. Finalmente a terceira funo enviar os pulsos PWM (Pulse Width Modulation), para um servomotor que determinar a posio da borboleta de acordo com a velocidade desejada. Para que o sistema desligue no h nenhum boto de off. Ento, para que isso acontea muito simples, preciso que o condutor pise no pedal do freio ou embreagem (em caso de carro com cmbio manual). Neles so instalados sensores que detectam presso ou movimento e esses mandam um sinal para o controlador que fazem com que o sistema seja desligado (BOBHEWITT, 1998).
O sistema ACC baseia-se em diversos sinais fornecidos por uma rede serial de comunicao, conhecida como Controller Area Network (CAN), que contm todas as informaes necessrias para ele fazer o processamento. Os componentes necessrios para a formao desse sistema so: o mdulo ACC, o mdulo do motor, o cluster do painel de instrumentos e o sensor de distncia. A funo principal do mdulo ACC processar as informaes do radar e determinar se h um veculo frente. Quando o sistema est em atividade, as informaes do radar so enviadas para o controle do motor e ao mdulo de controle do freio para controlar a distncia entre os veculos. J o mdulo de controle do motor utilizado no sistema ACC bem parecido com o que foi mostrado acima, tendo como principal funo receber informaes do mdulo ACC, do painel de instrumentos e do controle de velocidade do veculo. Com base nessas informaes o mdulo de controle do motor, fornece os sinais necessrios para a ideal acelerao do motor. No painel de instrumentos a funo principal coletar os sinais das chaves de seleo referentes ao piloto automtico e enviar suas informaes para o mdulo ACC e motor. Ele tambm utilizado como interface, exibindo mensagens de texto para o condutor. As informaes que devem estar contidas no painel de instrumentos so: Velocidade desejada; Status do computador; Tempo de resposta ajustado pelo motorista; Indicao do modo de acompanhamento que informa ao motorista se o sistema ir
17
Por ltimo, o sensor de distncia trabalha com uma alta freqncia, emitindo ondas que na presena de obstculos obstruem as ondas e refletem-nas de volta ao lugar de origem. Desta maneira, calcula-se a distncia, velocidade e posio angular em funo do tempo de propagao, pelo efeito Doppler e amplitude do sinal, atuando no freio do veculo e prevenindo colises. (SCHULZE, MKINEN, FLAMENT, KESSEL, IRION, 2008)
alertas, tornando-os mais seguros. H uma economia de combustvel, pois o carro procura trabalhar sempre na
rotao, potncia e torque ideal para manter a velocidade programada, economizando assim uma grande quantidade de combustvel em trechos longos. Excesso de velocidade se torna menos possvel de acontecer quando se usa o
sistema de velocidade cruzeiro, pois a tendncia programar o sistema para a velocidade mxima permitida, evitando assim um abuso de velocidade conseqentemente uma multa inesperada.
Friedlander)
O motorista pode dar toda a ateno para a estrada, pois no necessrio ficar
olhando no velocmetro, evitando com isso muitos acidentes. (1958 New York Times Paul J.C
Nos sistemas mais atuais, alm de todas essas vantagens citadas acima, encontra-
se tambm o controle de velocidade de acordo com a distncia que o carro est de qualquer objeto a sua frente. As desvantagens so: Quando o sistema usado em situaes de chuva ou neve e o veculo no
equipado com o Controle de Estabilidade Eletrnico ele pode vir a escorregar ou perder o controle do carro. O sistema de piloto automtico s pode ser usado em estradas e longas viagens,
no sendo vivel a utilizao dentro das cidades. Essas desvantagens so caractersticas de um sistema de imposio de velocidade, sendo desta maneira difcil de serem melhoradas. Porm podem-se tomar algumas precaues
18
como: implementar esse sistema somente em carros que tenham o controle de estabilidade eletrnica instalado, e para que ele esteja apto para ser usado em cidades possvel fazer uma integrao do sistema ACC com um reconhecimento de imagem, tornando assim o sistema mais confivel em baixas velocidades e em situaes de fluxo intenso.
3. METODOLOGIA
Este captulo ir tratar de todo o desenvolvimento utilizado no trabalho, desde a motivao que o grupo teve para fazer a escolha do tema, at os projetos dos hardwares e softwares utilizados para criao do prottipo.
3.1 Motivao
A idia de implementar um piloto automtico surgiu a partir do momento que o grupo conseguiu controlar a rotao da roda fnica atravs do sensor de relutncia varivel com auxlio de um PIC para fazer o controle de dados (rotao, velocidade e imposio da velocidade). Isto foi feito em uma bancada onde a roda dentada foi acoplada a um motor trifsico e atravs de hardwares e softwares foi possvel controlar a rotao do motor simplesmente por alguns botes. Seguindo essa idia e sabendo que o assunto de piloto automtico pouco conhecido e aplicado nos carros foi decidido o desenvolvimento do prottipo de um piloto automtico, cuja finalidade era fazer uma pesquisa e criar um material de bom nvel na lngua portuguesa. Alm de desenvolver uma bancada didtica e abertura para que todos possam compreender melhor o funcionamento da imposio de velocidade cruzeiro em um veculo.
3.2 Desenvolvimento
Para o desenvolvimento do sistema de piloto automtico foi necessrio uma pesquisa bem ampla, pois o material disponvel sobre o assunto muito restrito e isso tomou muito tempo de projeto. Pelo mesmo motivo foi necessrio executar medies de alguns sinais como: sensor da borboleta, pedal do acelerador, sensor de rotao (senso de relutncia varivel) e o do interruptor do freio. O veculo utilizado para fazer essas medies foi um Polo Sedan. Depois de obtido e analisado os sinais, iniciou-se a fase do projeto de hardware, que levou mais algum tempo de estudo para se ter a certeza da utilizao dos componentes corretos. Porm, esse tpico ser tratado mais adiante na seo sobre o desenvolvimento do hardware. Depois de definido o hardware, iniciou-se o estudo do software. Primeiramente, antes de iniciar a criao de um programa necessrio saber aonde se quer chegar com ele. Para
20
isso foi criado um fluxograma, que passo a passo, descreve o que conter no programa (Figura - 3). Em outras palavras, descreve os blocos principais do software de controle.
21
Esse fluxograma nos mostra a lgica de funcionamento do programa desenvolvido. Primeiramente, aps dado o incio no sistema de piloto automtico, verificado se h sinal de ignio. Se esse sinal estiver presente mostrado ao motorista a velocidade atual, e se foi feito algum set de velocidade no sistema. A partir deste momento o motorista tem acesso aos botes de set do piloto automtico, podendo selecionar a velocidade desejada, e aps a confirmao, o sistema entra em ao fazendo com que a velocidade atual se iguale velocidade desejada. Neste momento acontecem as correes. Caso as velocidades no se igualem (velocidade imposta e velocidade atual) a rotina de controle do PWM atua no corpo de borboleta a fim de realizar correes necessrias, fechando a malha do sistema. No LCD (Liquid Crystal Display), aps a ignio, sempre constam as informaes de velocidade atual e imposta podendo o motorista alterar a velocidade imposta quando desejado. Como segurana, ao ser acionado o pedal do acelerador ou freio, o sistema de piloto automtico prioriza os sinais destes pedais, ou seja, tanto o sinal do freio como o do acelerador funcionam independentes do sistema como apresentado no fluxograma da Figura 3.
3.3 Aplicao
Para a realizao prtica deste projeto, foi desenvolvido o hardware proposto neste tpico.
O esquema abaixo (Figura 4) representa uma fonte estabilizada com o objetivo de fornecer alimentao para o microcontrolador e seus respectivos drivers, sensores e atuadores. Destaca-se que em equipamentos ACC comercial parte desta fonte de alimentao no existe. Os veculos j dispe de uma alimentao contnua em 12V vindo da bateria portanto necessrio apena a reduo da tenso para os nveis adequados dos processadores e componentes eletrnicos. Devido aos testes serem realizados em bancada foi adotado um transformador de potncia com a relao de espiras de 8:1 e 250VA. Ao se aplicar 127VCA no primrio obteremos cerca de 15+15VCA no secundrio. Os diodos D2 e D3 fazem a retificao do sinal alternado do secundrio do transformador. Este sinal se tornar pulsante em freqncia
22
de 120Hz.Os capacitores C3, C6 e C8 realizam a filtragem para possveis sinais em freqncias mais altas, atuando como filtro passa-baixa passivo. O capacitor C4 auxilia na reduo do fator RIPLLE e o resistor R5 e o Led D5 sinalizam que a alimentao da fonte est energizada.
O circuito integrado U1 realiza o controle e estabilizao da tenso de entrada no pino 1, fornecendo 12VDC no pino 2. Os capacitores C5 e C7 auxiliam em manter a tenso de sada estabilizada em caso de oscilaes e curta durao. Os diodos D1 e D4 realizam a proteo dos circuitos integrados U1 e U2 contra possveis tenses reversas quando a fonte desligada ou ocorre alguma regenerao no motor. O circuito integrado U2 fornece 5VDC em sua sada a partir da tenso de entrada de 12VDC.
23
Os capacitores C1 e C2 associados ao cristal oscilador X1 formam o circuito oscilador de 4MHz ao qual o microcontrolador ir se sincronizar. O resistor R1 faz o circuito pull-up (o estado 1) que pulsado pelo boto B1. Ao ser pressionado B1, alternar o nvel lgico do pino 1 do microcontrolador para o estado 0, o que causar o RESET do microcontrolador.
Pode-se observar na Figura.6 a seguir o esquema das entradas digitais e analgicas, onde foi utilizada a configurao resistor pull-up para realizar o interfaceamento entre usurio e unidade de controle. Este consiste em incremento e decremento da velocidade, confirmao da mesma, e o momento de pressionamento do pedal para a interrupo do recurso cruise control. Ao se pressionar qualquer um dos botes ocorrer inverso de nvel lgico na respectiva porta conectada.
24
No esquema apresentado (Figura 7) temos um condicionador e interface para o sinal provido do sensor Hall. Os diodos de ao rpida D5 e D6 esto configurados como grampeador de sinal, protegendo a base do transistor contra possveis surtos de tenso.O resistor R8 protege os diodos nos breves momentos de conduo. Os resistores R9 e R10 juntamente com o transistor NPN alm de realizar a funo de interface entre sensor e unidade de controle, atua como porta inversora.
Podemos observar (Figura 8) a configurao bsica de um divisor de tenso atravs de um resistor de proteo R7 e offset e o potencimetro existente no pedal. Ao variar o ngulo de atuao do pedal o potencimetro rotativo movimentado variando sua resistncia e
25
alternado o nvel de tenso na entrada da porta analgica que posteriormente ser tratado por um conversor Analgico Digital (AD) do PIC.
26
A configurao entre resistor R11 e transistor NPN Q2 (Figura 9) formam um circuito chaveador bsico para o proposto controle PWM do motor DC M1. O diodo de ao rpida D7 protege o transistor Q2 contra possveis tenses reversas geradas pelo motor M1 (Figura 10).
O circuito (Figura 10) representa a ligao a ser feita para um display LCD que tem por finalidade apresentar o valor de velocidade programada e a medida. Ter a funo bsica de um IHM (Interface Homem Mquina).
27
Temos o resistor R12 juntamente com o potencimetro rotativo da borboleta atuando como um divisor de tenso sobre a base do transistor NPN Q3. Com a variao de tenso e o resistor R13, temos o controle da corrente de base do transistor, fazendo com que o mesmo trabalhe na regio ativa. Dessa forma temos o controle de velocidade do motor DC variando a sua corrente de consumo. O transistor Q3 deve ser dotado de um dissipador de calor. O diodo de ao rpida D8 protege o transistor Q3 contra possveis tenses reversas geradas pelo motor M2.
29
pulsos em alto e em baixo praticamente o mesmo, portanto, a borboleta no momento da captura desse sinal estava aberta aproximadamente 45.
Para que o sinal da figura 12 fosse gerado com sucesso, foi criado no mdulo de controle um software para a utilizao do PWM interno do PIC. Assim foi possvel atravs de alguns processamentos de variveis, a modulao da largura dos pulsos enviados pelo microcontrolador. As variveis envolvidas no processamento desse clculo foram: o sinal do sensor Hall, utilizado para detectar a rotao do motor, os sinais dos botes de imposio da velocidade, para definir o limite do duty cycle e por fim o boto de enter, utilizado para saber o momento exato do incio da atuao. Para programar o microcontrolador utilizamos a linguagem C, pois o entendimento e a composio da codificao mais fcil. Segue um trecho do nosso software que serviu para o controle do PWM:
void trata_pwm ()
30
{ if(vels > vel && !temp_b) // Se a velocidade imposta for maior que a atual e o tempo de filtro (temp_b) j estiver zerado execute a funo { borboleta = borboleta + 1; // Incrementa a varivel borboleta set_pwm2_duty(borboleta); // Aciona o PWM com a varivel borboleta temp_b = 100; // Carrega 100ms de filtro }
if(vels < vel && !temp_c) // Se a velocidade imposta for menor que a atual e o tempo de filtro (temp_c) j estiver zerado execute a funo { borboleta = borboleta - 1; // Decrementa a varivel borboleta set_pwm2_duty(borboleta); // Aciona o PWM com a varivel borboleta temp_c = 100; // Carrega 100ms de filtro }
if(vels == vel) Se a velocida imposta for igual a atual { set_pwm2_duty(borboleta); // Aciona o PWM com a varivel borboleta } }
31
resistncia a queda de tenso nela tambm varia, gerando assim um sinal de tenso varivel, tornando-se possvel a modulao da velocidade do motor trabalhando na regio ativa de um transistor, que funciona como um amplificador de corrente. O sinal que capturamos no osciloscpio (Figura 14), mostra o sinal de sada do corpo de borboleta e o tempo de resposta de atuao do motor (15ms) para chegar at a velocidade desejada e tambm ao erro de estado estacionrio (aproximadamente 1V) do motor, cuja funo de transferncia aproximadamente:
Ft =
12.5 s + 13.88
Essa funo de transferncia se refere a um sistema de controle de primeira ordem, onde no h oscilaes com o tempo. Como se pode observar na figura 14, o sistema de primeira ordem tem como caracterstica principal a entrada de degrau unitrio onde R(s) = 1/s, e esse o fator multiplicador da funo G(s), que no caso desse projeto 12,5 / 13,88. Resultando assim na funo de transferncia mostrada acima.
32
33
Esse sinal gerado pelo sensor Hall utilizado pelo microcontrolador para calcular a rotao do motor, para que ele mesmo possa comparar a velocidade que foi imposta atravs dos botes e a velocidade atual. Essa a base de todo o projeto, pois sem essa comparao no h maneiras de fazer o controle automtico da velocidade imposta. O cdigo utilizado para fazer o processamento do sinal e o clculo da rotao pode ser observado a seguir:
void car_rot () {
if (!temp_a) // Se o temp_a estiver zerado, entra na funo { conta = get_timer1 (); // coloca o valor carregado em get_timer1 em conta
34
temp_a = 10; // carrega temp_a com 10, para ser decrementado pelo timer 0 }
if (! j) // Se j estiver zerado, execute a funo { rot = (conta * 600)/8; // conta da rotao vela = (rot*180)/4000; // conta da velocidade vel = vela; // iguala vel a vela unid = vela % 10; // conta para mostra a unidade da velocidade no LCD vela = vela / 10; // conta para mostra a dezena da velocidade no LCD dez = vela % 10; // conta para mostra a dezena da velocidade no LCD vela = vela / 10; // conta para mostra a centena da velocidade no LCD cent = vela % 10; // conta para mostra a centena da velocidade no LCD j = 50; // carrega j com 50, para ser decrementado pelo timer 0 } }
5. CONCLUSO
Este trabalho buscou abordar, de uma maneira simples, porm completa, diversos tipos de conceitos necessrios para se obter um sistema de piloto automtico veicular. Software e hardware que foram aqui demonstrados deixam claro que possvel tanto a implementao como o aperfeioamento dos mesmos. A preveno o tratamento e o estudo de eventuais falhas que possam ocorrer aos sensores, gerando comportamentos imprevisveis ao sistema, so interessantes temas para futuras pesquisas na rea. Conceitos como estes que contribuem para novas pesquisas acadmicas no setor, o que deixa em evidncia que novos trabalhos viro aperfeioando o que aqui foi feito, desta forma aproximando cada vez mais, a tecnologia utilizada nas empresas em confiveis sistemas de conforto, com o que vem sendo desenvolvido em trabalhos acadmicos.
6. REFERNCIAS
ANAHEIN. Adaptative Cruise Control: System Overview. California: Anahein, 2005. 7 p.
BELLIS, Mary. Ralph Teetor Invented Cruise Control ELECTRIC CRUISE CONTROL. So Francisco: About.com: Inventors, 2009. 1 p. Disponvel em:
BOBHEWITT.
Cruise
Control
Basics.
Usa:
Brother
Bob's,
1998.
p.
Disponvel
em:
BOSH (Org.).
CENTRIFUGAL
governor
So
Paulo:
Answers.com,
2009.
Disponvel
em:
ROWSOME JUNIOR, Frank. 1958 Imperial: What It. Estados Unidos: Popular Science Monthly, 1958. 2 p.
SCHULZE, Matthias; MKINEN, Tapani; IRION, Joachim; FLAMENT, Maxime; KESSEL, Tanja. Preventive and Active Safety Applications: Integrated Project. Sindelfingen: Daimler Ag, 2008. 198 p.
7. APNDICE
//#define Hall PIN_a4 //#define botao_up PIN_b1 //#define botao_down PIN_b2 //#define enter PIN_b3
// Definies das variveis int i,a, imposta, set, unid, dez, cent, unid1, dez1, choice, teste, entra; unsigned int cent1, trata, conta, vela, vels, vel, rotina, borboleta; unsigned long int cont, timer_b, temp,j, temp_a, temp_b, temp_c, temp_d; float rot; short int flag;
void init_hw () { setup_timer_0 (RTCC_INTERNAL|RTCC_DIV_4); setup_timer_1(T1_EXTERNAL_SYNC); set_timer0 (5); set_timer1 (0); setup_adc_ports(NO_ANALOGS); enable_interrupts(global|int_timer0); setup_timer_2 (T2_DIV_BY_1, 248, 1); // timer 2 = 1,004 khz setup_ccp2 (ccp_pwm); // configura CCP1 para modo PWM set_pwm2_duty ( 0 ); }
38
// Inicializa as variveis
void init_var () { temp_a = 0; i = 0; rot = 0; unid = 0; dez = 0; cent = 0; unid1 = 0; dez1 = 0; cent1 = 0; imposta = 0; trata = 1; timer_b = 0; temp = 0; teste = 0; borboleta = 0; j = 0; temp_b = 0; temp_c = 0; temp_d = 0; entra = 0; choice = 0; }
// Preparao do LCD
void comando (a)// rotina p/ envio de um comando no display { output_low (pin_e0); output_low (pin_e1);
39
void escrita (a)//rotina para escrever um dado no display { output_high (pin_e0); output_low (pin_e1); output_d (a); output_high (pin_e1); delay_us (50); output_low (pin_e1); delay_us (40); }
void preparalcd () { delay_ms (15); a=0x30; comando (a); delay_ms (4); comando (a); delay_us (100); comando (a); delay_us (40); a=0x38; comando (a); delay_us (40); a=0x01; comando (a); delay_ms (2); a=0x0C;
40
void atualizalcd (int unidade, dezena, centena, unidade1, dezena1, centena1) // rotina para atualizar o LCD { escrita(0x41); escrita(0x74); escrita(0x75); escrita(0x61); escrita(0x6C); escrita(0x20); escrita(0x3D); escrita(0x20); a = (unidade) +0x30; escrita(a); a = (dezena) +0x30; escrita(a); a = (centena) +0x30; escrita(a); escrita(0x20); escrita(0x4B); escrita(0x6D); escrita(0x2F); escrita(0x68); escrita('m'); a=0xC0; comando (a); delay_us (40); escrita('s');
41
escrita('e'); escrita('t'); escrita(0x20); escrita('='); escrita(0x20); a = unidade1 + 0x30; escrita(a); a = dezena1 + 0x30; escrita(a); a = centena1 + 0x30; escrita(a); escrita(0x20); escrita(0x4B); escrita('m'); escrita(0x2F); escrita(0x68); }
// Rotina que prepara, atualiza e carrega as variveis com os valores corretos para a inicializao do ciclo
atualizacao() {
if(!timer_b)
{ preparalcd(); atualizalcd(cent, dez, unid, unid1, dez1, cent1); timer_b = 100; set_timer1 (0); conta = 0; } }
42
void trata_botao() { switch (choice) { case 0: if (!input(pin_b1) && !temp) { vels = vels +10; if (vels >140)vels = 140; temp = 500; } choice = choice +1; break; case 1: if (!input (pin_b2) && !i) { vels = vels - 10; if (vels < 0 || vels >140)vels = 0; i = 500; } choice = choice +1; break;
case 2: if (!input (pin_b3) && !temp_d) { entra = 1; temp_d = 500; } choice = choice + 1; break;
43
case 3: if (! input(pin_b0)) { entra = 0; } choice = 0; break; } cont = vels; cent1 = cont % 10; cont = cont / 10; dez1 = cont % 10; cont = cont / 10; unid1 = cont % 10;
void car_rot () {
if (!temp_a) // Se o temp_a estiver zerado, entra na funo { conta = get_timer1 (); // coloca o valor carregado em get_timer1 em conta
temp_a = 10; // carrega temp_a com 10, para ser decrementado pelo timer 0 }
44
vela = (rot*180)/4000; // conta da velocidade vel = vela; // iguala vel a vela unid = vela % 10; // conta para mostra a unidade da velocidade no LCD vela = vela / 10; // conta para mostra a dezena da velocidade no LCD dez = vela % 10; // conta para mostra a dezena da velocidade no LCD vela = vela / 10; // conta para mostra a centena da velocidade no LCD cent = vela % 10; // conta para mostra a centena da velocidade no LCD j = 50; // carrega j com 50, para ser decrementado pelo timer 0 } } // Rotina de tratamento do PWM
void trata_pwm () { if(vels > vel && !temp_b) // Se a velocidade imposta for maior que a atual e o tempo de filtro (temp_b) j estiver zerado execute a funo { borboleta = borboleta + 1; // Incrementa a varivel borboleta set_pwm2_duty(borboleta); // Aciona o PWM com a varivel borboleta temp_b = 100; // Carrega 100ms de filtro }
if(vels < vel && !temp_c) // Se a velocidade imposta for menor que a atual e o tempo de filtro (temp_c) j estiver zerado execute a funo { borboleta = borboleta - 1; // Decrementa a varivel borboleta set_pwm2_duty(borboleta); // Aciona o PWM com a varivel borboleta temp_c = 100; // Carrega 100ms de filtro }
if(vels == vel) Se a velocida atual for igual a atual { set_pwm2_duty(borboleta); // Aciona o PWM com a varivel borboleta }
45
#int_timer0 // interrupo atravs do timer 0 void trata_to(void) // inicializa uma rotina paralela. { set_timer0(5 );
// Inicializao do Hardware if (i) { i= i - 1; } if (timer_b) { timer_b = timer_b - 1; } if (temp) { temp = temp - 1; } if (temp_a) { temp_a = temp_a - 1; } if (temp_b) { temp_b = temp_b - 1; } if (temp_c) { temp_c = temp_c - 1;
46
// Programa Principal
void main (void) { init_hw (); init_var (); choice = 0; cont = 0; while (true) { trata_botao(); car_rot(); atualizacao(); set_pwm2_duty(0);
while (entra) { trata_botao (); car_rot (); trata_pwm (); atualizacao (); }}}
47
48
49