1 7.º CONGRESSO DO COMITÉ PORTUGUÊS DA URSI - "UM MAR SEM FRONTEIRAS: DESAFIOS TECNOLÓGICOS" Sistema de Apontamento Programado para Experiências com o Satélite Alphasat João Matos, Armando Rocha Depart. de Electrónica, Telecomunicações e Informática Instituto de Telecomunicações Paulo Pedreiras Depart. de Electrónica, Telecomunicações e Informática Universidade de Aveiro Universidade de Aveiro, Aveiro, Portugal Resumo — Um sistema de baixo custo para apontamento programado de uma antena, a usar para experiências de propagação, a um satélite geoestacionário com uma inclinação reduzida é descrito. O hardware, que atua em apenas um eixo, baseia-se num atuador linear acoplado a um encoder ótico. O firmware do sistema, desenhado para implementar um protocolo eficiente com um sistema anfitrião é discutido. O software de calibração do sistema, ajuste dos parâmetros mecânico da malha de controlo e do apontamento é igualmente apresentado e os respetivos desempenhos avaliados. Index Terms — Alphasat, Antenna tracking system, Alphasat propagation experiments. Um sistema de apontamento a dois eixos é, porém, bastante mais complexo e dispendioso que a, apenas, um eixo. O satélite Alphasat apresentar-se-á, contudo, descrevendo uma trajetória Azimute-Elevação essencialmente ao longo de uma linha reta (ou uma figura elipsoidal com uma razão axial muito elevada). Assim, especialmente para uma antena de diâmetro não muito elevado, poderá usar-se uma montagem do tipo polar e ajustar a denominada declinação com base nas previsões da posição do satélite. A. Influência das características da antena e do movimento aparente do Satélite A escolha do sistema de seguimento está diretamente relacionada com as características da antena e nomeadamente a denominada largura de feixe a meia potência I. INTRODUÇÃO O advento de novos e mais exigentes serviços de banda larga, tais como HD-TV e 3D-TV, irão requerer a exploração de bandas de frequências superiores nas comunicações por satélite. Em julho do corrente ano foi lançado o maior satélite de comunicações europeu, denominado Alphasat. A Agência Espacial Europeia contratou a instalação a bordo de hardware, os denominados Tecnology Demonstration Payloads (TDPs), um conjunto de experiências de propagação e comunicação envolvendo frequências nas bandas Ka, Q e V. Destaca-se o TDP que contém dois padrões de frequência -19.7 e 39.4 GHz permitindo a realização de estudos de propagação TerraSatélite pela sua monitorização com estações terrestres. A característica mais relevante da órbita do satélite Alphasat é que, ao contrário dos satélites geoestacionários, poderá ter uma inclinação que poderá alcançar 3º no eixo N-S (inclinação em relação ao plano equatorial) [1]. Isto deve-se a que o efeito de diversas forças de deriva (e.g. força gravítica do sol, lua e pressão da radiação solar) não serão completamente compensadas. O sistema de apontamento da estação terrestre terá o requisito de corrigir periodicamente o seu estado de apontamento de modo minimizar as variações de amplitude do sinal recebido. II. REQUISITOS DO SISTEMA DE APONTAMENTO A elevação e o azimute com que se observa um qualquer satélite podem ser calculados usando software livre e dados de uma matriz descritiva denominada Two Line Elements (TLE) acessíveis por exemplo em [2]. A TLE contém informação preditiva com bastante precisão da posição do satélite num futuro próximo (uma a duas semanas). largura de feixe 3dB . A 3dB , para uma antena de diâmetro D (m) a uma frequência de utilização a que corresponde comprimento de onda é obtida pela expressão (1). 3dB 70 D o (1) Tendo como base uma antena com 0.6 m de diâmetro, rendimento típico 0.6 e a frequência de 39.4 GHz, pode estimar-se a perda de ganho G (dB) devido a um desvio do apontamento em relação à direção de máximo ganho através da expressão (2). G 12 3dB 2 (2) Considerando a perda de ganho admissível, G 0.1 dB será necessária uma precisão de apontamento = 0.06º. B. Sistemas de apontamento Os sistemas de controlo de posição de antena vulgarmente utilizados no seguimento de satélites são: apontamento programado e apontamento em malha fechada. TABELA I SISTEMAS DE POSICIONAMENTO Erro de Tracking (típico) Tipo de Tracking Perda de ganho Fixo - Programado 0.01º Função de station-keeping box Função de D Conical scanning Step-by-step Electronic deviation Monopulso 0.01º 0.01º 0.005º 0.005º 0.03-0.5 dB 0.03-0.3 dB <0.03 <0.03 Adaptado de [3]. 2 7.º CONGRESSO DO COMITÉ PORTUGUÊS DA URSI - "UM MAR SEM FRONTEIRAS: DESAFIOS TECNOLÓGICOS" No que respeita ao apontamento programado, o azimute e elevação são calculados em avanço, tendo em conta previsões do movimento aparente do satélite; trata-se, portanto, de um apontamento em malha aberta, pois não é tido em conta o erro de apontamento relativamente à atual direção do satélite e a direção efetivamente apontada. O apontamento automático em malha fechada é utilizado quando a largura de feixe da antena é muito reduzida, comparativamente ao movimento do satélite e consiste no alinhamento constante da antena com a direção do sinal proveniente do satélite. As técnicas de seguimento em malha fechada mais usadas são monopulso e deteção sequencial de amplitude. Trata-se dos sistemas de apontamento mais precisos (pode ser obtido um erro inferior a 0.005º) e os mais complexos em termos de software e hardware e, portanto, os mais dispendiosos. Por fim, quando a largura de feixe da antena é largamente superior comparativamente ao ângulo sólido que representa o movimento aparente do satélite, não é necessário sistema de seguimento, encontrando-se assim a montagem da antena fixa. Na tabela I podem ser observadas as características dos sistemas de posicionamento descritos[3]. O algoritmo de controlo de posição usado foi um PID (compensador proporcional, integral e derivativo) pois este permite a compensação simultânea do regime transitório e estacionário. O hardware e software, descritos nas secções seguintes, possibilitam a calibração e correção do estado de apontamento do sistema. O software irá também permitir a integração num recetor mais vasto. IV. HARDWARE O sistema de apontamento apresenta o diagrama de blocos ilustrado na Fig. 2. O computador é responsável pelo envio e receção de comandos e início da comunicação série com o microcontrolador. III. DESCRIÇÃO DA SOLUÇÃO Tendo em conta os requisitos do sistema de apontamento anteriormente enunciados e a necessidade de desenvolver uma solução de baixo custo, que garanta precisão, fiabilidade e resolução, decidiu-se por implementar um sistema de apontamento programado. Nesse sentido, foi desenvolvida uma plataforma baseada, apenas, na atuação num eixo, feita a partir do alongamento ou contração do braço de um atuador linear, ver Fig 1. O sistema de apontamento poderá, mais tarde, ser integrado numa montagem polar de antena, em que apenas é controlado o ângulo de declinação, mantendo-se o eixo horário fixo. Deste modo, pode ser corrigido o desvio angular do satélite no eixo N-S. O sistema foi testado em laboratório usando um apontador laser perpendicularmente ao lado oposto em que está assente o atuador linear, a apontar para uma parede (dentro da gama 2.35 m-3.01 m, o que corresponde a uma variação angular de 6º) que se encontra a uma distância de aproximadamente 4.8 m. Deste modo o sistema, depois de calibrado, permite efetuar o teste do sistema de apontamento, ou seja, verificar se o sistema consegue compensar uma variação angular diária de +/-3º com uma precisão de, pelo menos, 0.06º. Fig. 1. Montagem (A unidade das medidas expostas é o cm) Fig. 2. Diagrama de blocos sistema Legenda: 1 – Ligação 2 – UP 3 – DOWN 4 – PWM 5 – UP 6 – DOWN 7 – Ligação física 8 – Fase A 9 – Fase B 10 – Barramento 8 bits 11 – Select 12 – Output enable 13 – Reset 14 – Relógio A. Atuação no eixo Por forma a traduzir os comandos de movimentação recebidos em sinais passíveis de controlar a movimentação do motor, o microcontrolador gera um sinal PWM, que irá ser introduzido na entrada de ativação do driver do motor e dois sinais que irão definir o sentido de rotação do motor. Então, de acordo com a percentagem de duty-cycle do sinal PWM irá ser fornecida mais ou menos potência ao motor, controlando-se assim a sua velocidade. Para provocar a rotação do motor do atuador linear numa direção é necessário que a entrada de ativação do driver apresente um nível lógico alto e as saídas seguintes, respeitantes aos sinais de direção, níveis diferentes, de modo a que a corrente flua no sentido entrada 1 do motor — entrada 2 do motor ou vice-versa. Complementarmente pode ser feita uma atuação manual através de um gerador de onda quadrada baseado num schmittrigger, em que o duty-cycle é controlado por um potenciómetro, e o sentido de rotação por um interruptor momentâneo (ON) OFF (ON). A comutação entre atuação manual e atuação pelo microcontrolador é definida por um interruptor ON ON. B. Leitura da posição A leitura de posição é efetuada com recurso a um encoder ótico que foi acoplado mecanicamente à engrenagem do motor do atuador linear. Para isso, prolongou-se o eixo de rotação do 7.º CONGRESSO DO COMITÉ PORTUGUÊS DA URSI - "UM MAR SEM FRONTEIRAS: DESAFIOS TECNOLÓGICOS" encoder através de um beam coupler e inseriu-se uma roda dentada na sua extremidade que se irá movimentar solidariamente com uma roda dentada da engrenagem do motor. Para assegurar a compatibilidade entre rodas dentadas estas deverão apresentar o mesmo módulo (0.5), que pode ser determinado pela expressão (3), em que Dext representa o diâmetro exterior e Z o número de dentes da roda dentada. m Dext Z 2 (3) O encoder ótico tem uma resolução de 500 pulsos por revolução e apresenta na sua saída duas fases em quadratura. O sentido de rotação do motor é auferido pelo desfasamento entre as fases e a posição através da contagem de impulsos. Esta contagem de impulsos é realizada por um contador de 16 bits que apresenta na sua entrada as fases em quadratura do encoder e incrementa ou decrementa a posição de acordo com o seu desfasamento. O microcontrolador especifica os sinais de controlo do contador, lê periodicamente o valor de contagem através de um barramento de 8 bits e, se necessário, efetua a sua inicialização. V. SOFTWARE A. Sistema de Controlo: Microcontrolador O sistema de controlo constitui um sistema de tempo real, isto é, um sistema que garante um serviço dentro de uma gama temporal bem definida, imposta por um processo físico. A programação do microcontrolador teve por base o sistema operativo de tempo real, freeRTOS [3]: software open source, simples e compacto que suporta diversas famílias de processadores (e.g. pic18, pic32, 8051, etc.). Permite entre outros, a criação de tarefas, mecanismos de sincronização entre tarefas (e.g. semáforos, mutex e filas) a definição da política de escalonamento e mecanismos de gestão de recursos e de memória. Foram definidas 3 tarefas periódicas com ordem decrescente de prioridade, responsáveis pela amostragem, controlo e atuação, respetivamente. A sincronização entre tarefas foi feita recorrendo a semáforos, que garantem a execução sequencial das 3 tarefas. A tarefa responsável pela comunicação corre em plano de fundo, ou seja, é executada quando o processador se encontra livre. O funcionamento do programa é descrito no seguinte diagrama de Gantt, ver Fig. 3. Fig. 3. Diagrama de Gantt da ativação das tarefas A função main do programa, inicializa a base de dados com valores razoáveis, chama as funções de inicialização do encoder, motor, comunicação e controlador PID, cria as tarefas A, B, C e D referentes à amostragem, controlo, atuação e comunicação e, por fim, inicia o escalonador, que permite a execução das quatro tarefas de 10 em 10 ms (período de amostragem). A primeira tarefa a ser executada é responsável pela amostragem, apresenta um período de 10 ms e é a mais prioritária. Ela começa por ler o valor registado pelo contador de 16 bits, averigua se ocorreu overflow, e age de acordo, de seguida guarda a posição na base de dados. No final efetua a operação take do semáforo que permite executar a tarefa seguinte. A tarefa B averigua se o controlo manual está ativo, e, se sim, aplica o PWM recebido pelo utilizador. Caso contrário, efetua o controlo de posição de acordo com o algoritmo PID, com os ganhos proporcional, integral e derivativos definidos à-priori pelo utilizador. Por fim, à semelhança da tarefa A, realiza a operação take do semáforo respetivo, possibilitando a execução da tarefa com prioridade imediata. A tarefa C é responsável por aplicar o valor de PWM calculado na tarefa anterior e os sinais que definem o sentido de rotação. Este valor de PWM começa por ser linearizado para a gama de atuação no motor, de seguida é auferido o seu sinal e aplicados os sinais que definem o sentido de rotação. Por último, a tarefa de comunicação, a menos prioritária, é executada em plano de fundo. É responsável pelo envio e receção de informação, de acordo com o protocolo de comunicação definido. A comunicação é intermediada por interrupções, e, assim que existem dados para ser enviados, ou a receber, é ativada uma flag de interrupção. Sempre que ocorre uma interrupção, o handler das interrupções da UART, verifica se se trata de uma transmissão ou receção e atua em conformidade. No caso de uma transmissão os dados são, primeiro, transformados num array de caracteres, inseridos num buffer circular que permite o envio sequencial da informação, seguindo-se a ativação da flag de transmissão. O handler lê do buffer circular e envia os caracteres até esvaziar o buffer. Para a receção, o handler escreve os caracteres num buffer circular de receção, sempre que a flag de receção se encontre ativa, e, desta forma, a informação vinda da porta série pode ser obtida, lendo o buffer circular de receção. B. Interface gráfica: Sistema anfitrião A interface gráfica foi desenvolvida na linguagem java, através da ferramenta de desenvolvimento NetBeans e tem por base modelo Model-View-Controller. O Modelo contém os dados da aplicação, lógica e funções, a Visão é constituída pelos elementos gráficos e o Controlador decide o que fazer consoante os eventos despoletados por ações do utilizador (e.g. carregamento nos botões da interface gráfica). Sempre que os elementos do modelo são modificados, o controlador é notificado, atualizando, se necessário, os elementos visuais. Sempre que um caracter é recebido, ele é processado, de acordo com uma máquina de estados finita, que permite traduzir as sequências de comandos em informação útil. Um timer com um período de refrescamento de 200 ms, solicita ao microcontrolador o estado de apontamento do sistema, que irá desencadear a atualização dos elementos visuais da interface gráfica. A Fig. 4 representa a interface gráfica desenvolvida. 3 7.º CONGRESSO DO COMITÉ PORTUGUÊS DA URSI - "UM MAR SEM FRONTEIRAS: DESAFIOS TECNOLÓGICOS" Fig. 4. Interface gráfica C. Seguimento do satélite O software de seguimento é ativado assim que o utilizador pressiona o botão START na caixa TRACKING da interface gráfica. Para que funcione corretamente o utilizador deverá fornecer em avanço um ficheiro contendo uma tabela com as previsões de localização do satélite ao longo do dia e um ficheiro adicional com os coeficientes do polinómio de calibração, que permite a tradução do ângulo na medida de posição utilizada no sistema de apontamento (nº de impulsos). Se tudo estiver em ordem, dá-se início ao seguimento programado, mais concretamente, o software a cada 5 minutos irá consultar o tempo atual, pesquisar na tabela de previsões a posição corresponde, traduzir a posição em nº de impulsos e, se o módulo da diferença entre a posição atual e prevista for superior a um limiar, movimentar o sistema para a posição prevista. vários pontos da sua trajectória diária os quais serão comparados com os dados obtidos a partir da matriz TLE. Este processo é precedido pela optimização dos parâmetros do controlo PID para conseguir um erro mínimo em regime estacionário. Com vista à calibração do sistema, começou-se por ajustar experimentalmente os parâmetros do controlador de posição PID através da interface gráfica desenvolvida (ver Fig. 4) de modo a obter uma transição suave entre posições. Para isso, introduziu-se um ganho proporcional que proporcionou uma resposta com algum overshoot, com ganhos integral e derivativo a zero. De seguida, aumentou-se o ganho derivativo até que as variações bruscas fossem eliminadas. Posteriormente, aumentou-se o ganho integral até que o erro em regime estacionário alcançasse um valor próximo de zero. Obteve-se, assim, a seguinte resposta do sistema, ilustrada na Fig. 6. Fig. 6. Exemplo de resposta do sistema Depois de determinados os ganhos do controlador para a carga utilizada, moveu-se manualmente o sistema para a posição inicial e azerou-se o contador de impulsos do sistema. Seguidamente, procedeu-se ao registo de impulsos e ângulo correspondente, para vários pontos entre extremos bem definidos. Fig. 5. Software de seguimento VI. CALIBRAÇÃO DO SISTEMA Dado que não estará disponível um referencial absoluto preciso para N-S e E-W para o apontamento absoluto da antena optou-se por implementar um sistema de calibração. Manualmente ajustar-se-á a montagem e o alongamento do posicionador linear até uma adequada receção do sinal em Fig. 7. Curva de calibração 4 7.º CONGRESSO DO COMITÉ PORTUGUÊS DA URSI - "UM MAR SEM FRONTEIRAS: DESAFIOS TECNOLÓGICOS" Realizou-se uma aproximação polinomial com os dados recolhidos de modo a obter o nº de impulsos em função do ângulo e guardaram-se num ficheiro os coeficientes do polinómio. Deste modo, foi possível descrever a posição prevista em graus na mesma grandeza utilizada pelo sistema de apontamento, de acordo com a expressão do polinómio: a0 a1 N a 2 N 2 (4) Onde N corresponde ao número de impulsos, coeficientes do polinómio de segundo grau e a0 , a1 e a 2 os o ângulo (º). VII. TESTES E RESULTADOS Utilizou-se a montagem da Fig. 1 para o teste do sistema de apontamento. Seguiram-se os seguintes passos: Elaboração de um script Matlab que gera um ficheiro de texto com uma tabela de posições e hora respetiva. As posições variam de acordo com uma função sinusoidal (5) 2t T 29.09 3 cos (5) em que t representa o tempo e T o período. Devido a impossibilidade de estar presente ao longo de 24 h definiu-se um período de 8 h. Esta tabela de posições simulará a variação de +/-3º no eixo N-S do satélite Alphasat, constituindo, portanto, a tabela de posições previstas a ser usada no apontamento programado; Redução do atraso de atualização da posição do software de seguimento, pois o período da função sinusoidal também diminuiu; Reset do contador de impulsos na posição correspondente ao ângulo 26.09º; Introdução dos ganhos proporcional, integral e derivativo do controlador PID e dos coeficientes da curva de calibração determinados na calibração do sistema; Início do seguimento. Fig. 8. Simulação de seguimento Os pontos da Fig. 8, assinalados com uma cruz, representam as medidas esporádicas registadas ao longo do tempo e a curva a azul a posição prevista. Assim, o sistema de apontamento conseguiu seguir a curva prevista com um erro máximo inferior a 0.064º. VIII. CONCLUSÃO E TRABALHO FUTURO Uma solução de apontamento programado para antena garante a precisão e fiabilidade necessárias para a integração num recetor para experiências com o satélite Alphasat. Contudo, deverá ser tida em conta a influência de fatores externos, tais como o vento, na estrutura da antena. Se for muito vulnerável a esses fatores, o normal funcionamento do sistema de apontamento poderá ser posto em causa pois são efetuadas constantes tentativas de correção de posição, sem que seja conseguido o apontamento para o ponto ótimo. O sistema de acoplamento do encoder e roda dentada do actuador linear merece melhoria. A roda dentada é de pequeno diâmetro e roda a elevada velocidade o que pode originar desgaste e risco de resvalamento. Por outro lado, o número de impulsos por deslocamento linear é excessivo o que obrigou a uma aritmética mais complexa no microcontrolador. Algumas tentativas para encontrar rodas dentadas de maior diâmetro são recomendáveis. Contudo, o sistema desenvolvido, tanto no hardware como no software, é genérico e adaptável a outro hardware mecânico semelhante. AGRADECIMENTOS Os autores agradecem o apoio técnico prestado pelos técnicos Miguel Lacerda e Ivo Mateus e ao Cristóvão Cruz pela ajuda na conceção do software. REFERÊNCIAS [1] [2] [3] [4] O. Koudelka, Q/V-band communications and propagation experiments using ALPHASAT, Acta Astronautica, Volume 69, Issues 11–12, December 2011, Pages 1029-1037, ISSN 0094-5765. NORAD Two-Line Element Sets Current Data, http://www.celestrak.com/NORAD/elements/ G. Maral, M. Bousquet, “Satellite Communication Systems”, Wiley, fifth edition. URL: http://www.freertos.org/ 5