Relatório Maquete dos jardins da
Escola Serafim E
Automação do Sistema de Rega
[15 de Maio]
[09]
[Estagiários: Ana Reis, Fernando Gandarinho e Pedro Morais Cooperante de Electrónica: Marco
Vasconcelos]
Projecto Maquete dos jardins da Escola Serafim Leite
e Automação do Sistema de Rega
Núcleo de Estágio Electrónica/ Informática | 15 de Maio de 2009
Página2
Índice 1. Introdução ...................................................................................................................................................... 3 2. Enquadramento ............................................................................................................................................. 3 2.1 Área de Artes ........................................................................................................................................... 3 2.2 Área da Electrónica .................................................................................................................................. 4 2.3 Área da informática ............................................................................................................................... 10 2.5 Processo de elaboração ..................................................................................................................... 15
2.6 Cartas Para aprovação deste te projecto .............................................................................................. 15 2.6.1 carta ao director da escola ............................................................................................................. 15 3. Conclusão ............................................................................................................................................. 17
Projecto Maquete dos jardins da Escola Serafim Leite
e Automação do Sistema de Rega
Núcleo de Estágio Electrónica/ Informática | 15 de Maio de 2009
Página3
1. Introdução Este projecto está incorporado no plano de actividades do núcleo de Estágio de Electrónica e
Informática, sob a orientação do professor Marco Vasconcelos.
Este projecto na sua primeira etapa a construção da maquete a uma escala real da Escola serafim
Leite, dando ênfase aos seus jardins. A segunda etapa, consiste na automação do sistema de rega para
esses jardins. Este projecto foi desenvolvido num âmbito de pluridisciplinaridade, tendo como objectivo
subjacente o desenvolvimento de material didáctico, de fácil aplicação em anos vindouros, nas disciplinas
existentes na escola.
2. Enquadramento Este projecto tem como objectivo a fazer uma simulação de um sistema de rega de implementação real, e
que tenha a longo prazo utilidade para a escola. Foi referida na proposta que seria feita uma pesquisa e
recolha de dados sobre o material e orçamentos para que esta simulação consiga passar num futuro
próximo para a realidade, este ponto não foi atingido devido à falta de tempo, do núcleo de estágio.
Para alem disto, esta maquete pode ter um forte vertente educacional, na área da automação. Esta
maquete vai ser construída para que professores de anos vindouros tenham facilidade em adapta‐la às
suas aulas, ou seja, será possível uma turma programar todo o sistema de irrigação, isto porque, os
componentes programáveis são os utilizados nas aulas de automação e programação.
A Ara das artes pode continuar o projecto debruçando‐se Sobre as volumetrias e aperfeiçoamento
de toda a parte estética da maquete.
2.1 Área de Artes Como foi previamente e sucintamente resumido acima, este projecto, envolveu uma área de
estudo diferente da nossa, ou seja, para a realização da maquete, foi pedido a colaboração do núcleo de
Artes da escola. Este núcleo representado pelo professor Ricardo Mariano, participou no desenvolvimento
da maquete dando, ideias e sugerindo estratégias para que o resultado final fosse o pretendido.
A parte da maquete foi construída de forma independente do autómato de rega, desta forma
consegue‐se que este projecto possa continuar a evoluir em anos futuros, sem que haja uma intervenção
directa da área da electrónica.
A participação do núcleo de artes foi feita com bastante assiduidade e empenho.
Projecto Maquete dos jardins da Escola Serafim Leite
e Automação do Sistema de Rega
Núcleo de Estágio Electrónica/ Informática | 15 de Maio de 2009
Página4
2.2 Área da Electrónica Esta área esteve presente, na construção das interfaces de potência fontes de alimentação e
suporte do micro controlador, com o responsável pela área, o Professor Marco Vasconcelos. Esta área
desenvolveu o hardware, desde os seus esquemas dos circuitos, até ao desenvolvimento das placas de
circuito impresso.
Esquema da Fonte de Alimentação 1
Projecto Maquete dos jardins da Escola Serafim Leite
e Automação do Sistema de Rega
Núcleo de Estágio Electrónica/ Informática | 15 de Maio de 2009
Página5
Circuito impresso da fonte de alimentação
Projecto Maquete dos jardins da Escola Serafim Leite
e Automação do Sistema de Rega
Núcleo de Estágio Electrónica/ Informática | 15 de Maio de 2009
Página6
Esquema da interface de potencia
Projecto Maquete dos jardins da Escola Serafim Leite
e Automação do Sistema de Rega
Núcleo de Estágio Electrónica/ Informática | 15 de Maio de 2009
Página7
Projecto Maquete dos jardins da Escola Serafim Leite
e Automação do Sistema de Rega
Núcleo de Estágio Electrónica/ Informática | 15 de Maio de 2009
Página8
Circuito do Microcontrolador
Projecto Maquete dos jardins da Escola Serafim Leite
e Automação do Sistema de Rega
Núcleo de Estágio Electrónica/ Informática | 15 de Maio de 2009
Página9
Circuito impresso do Micricontrolador
Por falta de tempo, devido à nossa actividade, como docentes, a fonte de alimentação não foi
concluída a tempo, posteriormente iremos proceder à sua conclusão. Visto isto foi utilizada uma fonte de
alimentação dos laboratórios de electrónica.
Projecto Maquete dos jardins da Escola Serafim Leite
e Automação do Sistema de Rega
Núcleo de Estágio Electrónica/ Informática | 15 de Maio de 2009
Página10
2.3 Área da informática
Esta área esteve presente na programação do microcontrolador. Todo a programação foi desenvolvida com êxito, pretendido, pondo desta forma todo o sistema em funcionamento. A seguir apresenta‐se o código desenvolvido. /*Autor: Nucleo de estágio de electrónica e informática Data: 27/01/2009 Introdução: Este programa destina-se a configurar e programar o sistema de rega da maquete. Serão programadas 8 valvulas, duas bombas de agua, um pressostato. As entradas serão botões para dar ordens de rega e sensores de eluminação e temperatura */ /* Descrição: Em corfomifdade com a caixa que contem o material mecanico de contrlo do sistema de rega temos: -8 valvulas electromagnéticas que vão accionar o sitema de regas em oito pontos diferente da maquete. -Existe um motor principal que dará a agua para alimentar as valvula. -Existe um motor auxiliar que entrará em funcionamento sempre que o motor principal não der caudal para alimentar todo o sistema de rega. -Háverá um sensor de temperatura que indicará a temperatura ambiente, e consuante essa informação a reega é accionada ou não. -Existe ainda um sensor de luminusidade que dá a indicação se é noite ou é dia, pode haver preferencia de regar jardins só de noite. */ /* Destribuição dos recursos do microcontrolador pelas necessidades da maquete -RD0 a RD7->Accionamento accionamento das electrovalvulas de 1 a 8 respectivamente -RA0, RA1-> Entradas do sensor de temperatura e luminosidade respectivamente (ADC) -RB1, RB2-> Accionamento da bomba principal e auxilar Respectivamente -RB3, RB4-> Entradas do pressostato, sinalização pressão alta e baixa respectivamente Timer TMR1-> aplicado Para gerar um clock de um segundo */ /* ############################################################################### ####################### Variaveis globais ################################# ############################################################################### */ unsigned int cntr ; //este contador é incrementado em cada overflow do TIMER0 long temp ; // Temperatura em Celcius * 10 unsigned int v; // valor do ADC para o Sensor de Iluminação unsigned short int temp_desliga; // informação do on/off da rega: 1 desliga, 0 liga unsigned short int ilum_liga; // informação do on/off da secção 1 e 2: 1 liga, 0 desliga /***********************************************************/ /*### Rotina que configura o Timer TIMR0 ###*/ /************************************************************/ void config_TMR0() { /** Configurar o registo OPTION_REG para TIMER0 ****/ /** Prescaler=1:2 [PS0...PS2], atribuição do prescaler ao TIMER 0 (PSA) ** Selecção da fonte do relógio interno (TOCS) */ OPTION_REG.F0 = 0; // selecção do prescaler
Projecto Maquete dos jardins da Escola Serafim Leite
e Automação do Sistema de Rega
Núcleo de Estágio Electrónica/ Informática | 15 de Maio de 2009
Página11
OPTION_REG.F1 = 0; // selecção do prescaler OPTION_REG.F2 = 0; // selecção do prescaler 1:2 OPTION_REG.F3 = 0; // Prescaler atribuído ao módulo TMR0 OPTION_REG.F4 = 0; // Incremento na transição de 0 para 1 OPTION_REG.F5 = 0; // Fonte Interna do Relógio (8MHz/4) seleccionada OPTION_REG.F6 = 0; // Interrupção activada no flanco Descendente OPTION_REG.F7 = 1; // Desactiva os Pulls-Ups do PORTB /** Configurar o registo INTCON para o TIMER0 **/ INTCON.F7 = 1; // Activa todas as interrupções INTCON.F5 = 1; // Activa a interrupção gerada pelo TMR0 } /**Routina de Interrupção, chamada em cada overflow do TIMER0*/ void interrupt(void) { if(INTCON.T0IF) // timer 0 overflow ? { cntr++ ; // incrementa o contador INTCON.T0IF = 0 ; // done } } /*** Rotina que obtem os valores do Sensor de Temperatura e de Iluminação ***/ void Temperatura_Iluminacao(void) { if(cntr >= 4000) // Se for tempo sufeciente desde a última vez { /* * Lê o Sensor de Temperatura do Canal 0: RA0 */ temp = Adc_Read(0) * 10; // Lê o AN0, sou seja, RA0 /* * Obtém o valor em Celsius * sensor temperature coefficient is +10mV/°C * A resolução mínima do Conversor A/D é 5V/1023 = 4.88 mV então * o ponto mínimo será 0.488°C */ temp = temp * 488 ; temp = temp / 1000 ; // valor convertido em graus celsius /*** ** Verifica se existe temperatra sufeciente para desligar ** o sistema de rega **/ if(temp==20) { temp_desliga=1; } else { temp_desliga=0; } /**** Sensor de Iluminação ********* *** lê a o sensor de iluminação do Canal 1: RA1 */ ADCON1 = 0x00 ; // Justificado à esquerda e PORTA como analógica v = Adc_Read(1) ; // Lê o AN1, sou seja, RA1 /** Ligação da Secção 1 e 2 quando for detectado que está no escuro**/
Projecto Maquete dos jardins da Escola Serafim Leite
e Automação do Sistema de Rega
Núcleo de Estágio Electrónica/ Informática | 15 de Maio de 2009
Página12
if(v > 420) // o sensor está na escuro? { ilum_liga=1; } else { ilum_liga=0; } cntr = 0 ; // faz um reset ao contador } } /***********************************************************/ /*### Rotina que configura o Timer TIMR1 ###*/ /************************************************************/ void configureTMR1() { /*PIR1.TMR1IF= ; //Flag de sinalização de overflow TMR1L= ; TMR1H= ; T1CON.T1CKPS1= ; //prescaler BIT1 T1CON.T1CKPS0= ; //prescaler BIT0 T1CON.T1OSCEN= ; //A realimentação do oscilador externos desligadas T1CON.T1SYNC= ; //sinal externo ñ sincronizado com o clock interno T1CON.TMR1CS= ; //sinal proveniente de uma fonte externa RC0 T1CON.TMR1ON= ; //activa a contagem (play/pause) */ }//Fim da rotina ConfigureTMR1 /***** Accionamento das válvulas ******** Descrição: Esta função tem como parametro de entrada o numero da valvula que se pretende accionar, não retorna nenhum valor, mas activa a valvula */ void activa_valvula(int short num) { PORTD=num; } /***** Accionamento das bombas ******** Descrição: Esta função tem como parametro de entrada o numero da bomba que se pretende accionar, não retorna nenhum valor, mas activa a respectiva bomba */ void activa_bomba(int short num) { switch(num) { case 0 : PORTB=0x00; break; //desactiva todas as bombas case 1 : PORTB=0x02; break; //Activa a bomba nº1 case 2 : PORTB=0x05; break; //Activa a bomba nº2 }
Projecto Maquete dos jardins da Escola Serafim Leite
e Automação do Sistema de Rega
Núcleo de Estágio Electrónica/ Informática | 15 de Maio de 2009
Página13
} void Encher_Deposito(void) { while(PORTB.F3!=1) { //enche a bomba 1 PORTB.F1=1; } PORTB.F1=0; } void Reset(void) { PORTA=0x00; PORTB=0x00; PORTC=0x00; PORTD=0x00; PORTE=0x00; } /* ############################################################################### ####################### Programa Principal ################################# ############################################################################### */ int short valveActive=0b00000000; // activa as válvulas desejadas void main() { /** Convigurações necessárias para o Sensor de Temperatura **/ ADCON1 = 0x00 ; // coloca o PORTA como entradas analógicas ADCON0= 0xD5; // Frequência a Frc, canal 2 seleccionado TRISA = 0b00001011 ; // coloca os pinos PORTA como entrada TRISB = 0b01111001; //RB1 e RB2 para saida/bombas, TRISD = 0b00000000; //PORTD saida/valvulas TRISC = 0b11111111; //PORTC está defenido todo com saida TRISE = 0x07; config_TMR0(); // Configurar o TIMER0 Reset(); valveActive=0b11111111; activa_valvula(valveActive); while(1) { // Se a pressão estiver baixa if(PORTB.F4==1) Encher_Deposito(); // Reset if(PORTE.F0==1) Reset(); valveActive=0b00000001; activa_valvula(valveActive); if(PORTB.F5==1)
Projecto Maquete dos jardins da Escola Serafim Leite
e Automação do Sistema de Rega
Núcleo de Estágio Electrónica/ Informática | 15 de Maio de 2009
Página14
{ PORTC=0x00; // reset // funcionamento manual while(PORTA.F3==0) { /*if(PORTC.F0==1) valveActive= valveActive || 0b00000001; if(PORTC.F1==1) valveActive= valveActive || 0b00000010; if(PORTC.F2==1) valveActive= valveActive || 0b00000100; if(PORTC.F3==1) valveActive= valveActive || 0b00001000; if(PORTC.F4==1) valveActive= valveActive || 0b00010000; if(PORTC.F5==1) valveActive= valveActive || 0b00100000; if(PORTC.F6==1) valveActive= valveActive || 0b01000000; if(PORTC.F7==1) valveActive= valveActive || 0b10000000; */ valveActive=0b00101101; activa_valvula(valveActive); } valveActive=0b11111111; activa_valvula(valveActive); while(1); //activa_valvula(valveActive); } if(PORTB.F6==1) { // funcionamento de forma automática Temperatura_Iluminacao(); // variáveis de saída: temp_desliga, ilum_liga } } }//Fim do programa principal /*void interrupt() { TRISA=0XOO; TRISB=0XOO; TRISC=0XOO; TRISD=0XOO; TRISE=0XOO; while(1) { PORTC=0X01; delay_ms(50); PORTc=0X02; } }//Fim da Rotina de atendimento às interrupções */
Projecto Maquete dos jardins da Escola Serafim Leite
e Automação do Sistema de Rega
Núcleo de Estágio Electrónica/ Informática | 15 de Maio de 2009
Página15
2.5 Processo de elaboração Para que a execução deste projecto não ficasse desprovido ou desenquadrado das áreas de estudo desta
escola, o núcleo de Estágio de Electrónica/Informática, decidiu envolver algumas áreas (Artes e Electrónica
e informática), para ajudar na construção e desenvolvimento deste projecto. Desta forma com a ajuda dos
professores destas áreas será realizado um pequeno atelier, (quartas feiras das 14:30 às 18:30) de forma a
desenvolver o projecto.
2.6 Cartas Para aprovação deste te projecto 2.6.1 carta ao director da escola Para que este porjecto andasse para a frente foi preciso a aprovação do conselho executivo desta escola. A carta apresenta, e aceite pelo presidete é apresentada a seguir.
São João da Madeira, 19 de Fevereiro de 2009
Prezado Presidente do Conselho Consecutivo,
O Núcleo de Estágio de Electrónica/Informática da Escola Secundária Dr. Serafim Leite, gostava de
realizar o projecto científico “Construção da Maquete e Automação do sistema de rega dos jardins da escola Serafim Leite” com a colaboração de alguns alunos ligados à área das artes sob a orientação do professor Mariano.
Para a elaboração deste projecto iria ser criado um pequeno atelier, que iria decorrer às quartas‐feiras à tarde das 14:30 às 17:00, na sala 33.
Este projecto tem como objectivo fazer uma simulação de um sistema de rega de implementação
real, e que tenha a longo prazo utilidade para a escola. É de notar, que, será feito uma pesquisa e recolha
de dados sobre o material e orçamentos, para que esta simulação consiga passar para um implementação
real .
Para além disto, esta maquete pode ter uma forte vertente educacional (material didáctico), na
área da automação e artes. Esta vai ser construída para que professores de anos vindouros tenham
facilidade em adapta‐la às suas aulas. Ao nível das turmas de automação, será possível programar todo o
sistema de irrigação, isto porque, os componentes programáveis que irão ser usados, são os mesmos.
Projecto Maquete dos jardins da Escola Serafim Leite
e Automação do Sistema de Rega
Núcleo de Estágio Electrónica/ Informática | 15 de Maio de 2009
Página16
Relativamente à área das artes, como toda a escola está em constante evolução, será possível que todos os
anos se melhore a maqueta de forma a conseguir um nível de exactidão e perfeição mais elevado,
relativamente ao que vai ser obtido no final deste projecto.
Pelo grupo de estágio de Electrónica/ Informática
Professor Responsável
_______________________________
(Professor Marco Vasconcelos)
Aprovação
Presidente do Conselho Executivo da Escola Secundária Dr. Serafim Leite
____________________________________
(Professor Pedro Gual)
Projecto Maquete dos jardins da Escola Serafim Leite
e Automação do Sistema de Rega
Núcleo de Estágio Electrónica/ Informática | 15 de Maio de 2009
Página17
3. Conclusão Este projecto foi concluído com êxito, exceptuando o aspecto da fonte na projecção da fonte de alimentação. È de salientar a boa harmonia entre os diferentes grupos de trabalho, na execução deste projecto.