segunda-feira, 25 de abril de 2011

Sistemas de Segurança

O ATLASCAR está neste momento dotado de 3 grandes sistemas de segurança:
  • Comutação Manual / Automático
  • Botão de Emergência para corte de potência
  • Botões de Paragem de Emergência

A comutação manual/automático é de extrema importância pois permite parar um sistema que por algum motivo tenha algum problema. Esta comutação pode ser feita de duas maneiras, através do gamepad, ou através de um painel de botões que se encontra por cima do porta luvas. Existe um botão para cada módulo de actuação no veículo.
Estes botões estão em série com a linha do PLC que enviam a informação para o módulo, sendo assim possível que o utilizador se sobreponha sempre à ordem enviada pelo PLC. É possível também utilizar estes botões para o teste dos diversos módulos separadamente ou mesmo para condução híbrida do veículo (alguns módulos comandados pelo PC e outros comandados pelo condutor).


O botão de emergência para corte de potência encontra-se localizado na zona frontal e central do interior do veículo (de fácil acesso para o condutor e passageiro) e tem como o objectivo cortar a potência dos diversos módulos, deixando assim de poder efectuar as ordens provenientes do PLC.
Com este botão activado é possível actuar os diferentes módulos manualmente com excepção da admissão, pois como esta foi convertida num sistema drive-by-wire não funciona manualmente sem potência.


Os botões de Paragem de Emergência são 4 e encontram-se posicionados no exterior do veículo de modo a que uma pessoa próxima do carro tenha sempre possibilidade de carregar num dos botões.
Estes botões estão ligados ao PLC e quando accionados é corrida uma rotina de emergência no PLC que consiste em carregar os pedais da embraiagem e travão deixando de acelerar o carro e imobilizando assim o veículo.


O veículo tem também um pirilampo que indica quando este se encontra em estado autónomo.

domingo, 17 de abril de 2011

ATLASCAR controlado por um gamepad



Esta é a primeira demonstração do ATLASCAR a ser conduzido com um gamepad da xbox.
O gamepad envia as posições desejadas para o computador e o computador comunica com o PLC que vai actuar os sistemas necessários para garantir o movimento pretendido pelo utilizador.

sábado, 9 de abril de 2011

Programação PLC

Depois de concluído o quadro eléctrico, iniciou-se a programação do PLC.

O programa está dividido em 4 partes essenciais:
  • comunicação com o PC
  • monitorização do estado do veículo
  • actuação dos diversos módulos
  • rotinas de Emergência
Comunicação com o PC
A comunicação com o PC é feita por TCP/IP utilizando funções disponibilizadas pelo software de programação do PLC.
Numa primeira fase a comunicação enviava ordens individuais para cada sistema do carro e tinha uma frequência de 6Hz . Esta velocidade verificou-se demasiado baixa para fazer o controlo e monitorização do veículo, pois para obter o estado de todo o veículo seria necessário enviar 21 mensagens diferentes o que demoraria cerca de 3,5 segundos. Foi necessário então repesar todo o programa e protocolo de comunicação para tentar aumentar a velocidade de transferência de dados.
A primeira alteração realizada foi no protocolo de comunicação, as mensagens enviadas e recebidas deixaram de ser individuais para passar a ser uma mensagem única que define todo o estado do carro.
Com esta mensagem foi possível receber e enviar todo o estado do veículo com a frequência de 6Hz.

Numa segunda fase realizou-se uma optimização do código, dividindo o programa em funções e distribuindo-o apenas num Organization Block (programa principal). Com esta metodologia foi possível obter mais 2Hz na comunicação.

Numa terceira fase alterou-se a descodificação de mensagens passando a assumir-se que os campos se encontram sempre nas mesmas posições e assim retirar apenas a parte da mensagem relativa aos valores. Com esta alteração obteve-se mais 2Hz na frequência de comunicação.

Por fim o envio de valores para os actuadores foi alterado de forma a que esta parte do código apenas seja executada quando existem novos valores. Obteve-se com este procedimento mais 0.5Hz.

Com todas estas alterações a frequência de comunicação melhorou consideravelmente (10,5 Hz), no entanto é necessário optimizar mais o código de modo a poder ser feito um controlo refinado do veículo.

Monitorização do veículo
No que diz respeito à monitorização de veículo o facto que merece mais destaque é a contagem das rpm's do motor. Foi utilizado numa primeira fase o frequencímetro do PLC, no entanto este revelou alguns problemas (devido às baixas frequências que se verificam no sinal) e por isso decidiu-se utilizar a contagem de pulsos e a divisão pelo tempo em que estes são contados para conseguir obter as rpm's do motor. Com este procedimento foi possível aumentar a taxa de leitura das rpm's.

Actuação nos diversos módulos
Como já mencionado acima, esta actuação é feita apenas quando chegam novos valores. A actualização dos valores das saídas é feito numa função realizada para o efeito.

Rotina de Emergência
A rotina de emergência realizada nesta fase consiste em actuar nos pedais da embraiagem e travão (enviado valores que os mantenham carregados), deixar de acelerar, e desactivar os restantes sub-sistemas.