Вы находитесь на странице: 1из 23

CONTROLE DO JM60 PELA INTERFACE SERIAL VIA INTERFACE WEB E TERMIAL SERIAL

Estudo dirigido disciplina de Microprocessadores, como foco de

contedo complementar no fechamento da estrutura programtica de ensino no semestre corrente, para a complementao curricular dos universitrios.

20/06/20012

UNIVERSIDADE DO ESTADO DE SANTA CATARINA- UDESC CENTRO DE CINCIAS TECNOLGICAS- CCT -

Controle do JM60 pela interface serial via interface web e terminal serial

Disciplina: MIP Avanado; Professora: Ana Teruko; Acadmicos: Aluzio Leye Larangeira; Cleiton Ferigollo.

Sumrio
1 2 3 4 5 6 7 8 9 10 10.1 10.2 10.3 10.4 11 12 13 14 14.1 14.2 15 Introduo ................................................................................................................................... 4 Softwares utilizados para avaliar a porta serial: .......................................................................... 4 Comandos padro programados no microcontrolador................................................................. 6 Configurao da interface serial .................................................................................................. 7 Configurao do PWM ................................................................................................................ 7 Configurao do acionamento de cargas. .................................................................................... 8 Configurao ADC ...................................................................................................................... 9 Configurao dos LEDs ............................................................................................................ 10 Placa com os drivers .................................................................................................................. 10 Bibliotecas desenvolvidas para o microcontrolador .............................................................. 15 "adc_ini.h" : ....................................................................................................................... 15 "dec2ascii.h" ...................................................................................................................... 16 "leds.h" .............................................................................................................................. 16 "pwm.h" ............................................................................................................................. 16 Programa principal do JM60 ................................................................................................. 16 Interface de controle web ...................................................................................................... 18 Resumo do Histrico de desenvolvimento: ........................................................................... 20 Melhorias futuras ................................................................................................................. 211 Na placa da PCB................................................................................................................ 21 Na programao: ............................................................................................................... 21 Concluso ............................................................................................................................ 222

1 Introduo
Porque usar a porta serial se a tendncia atualmente o uso de interfaces USB? A primeira resposta simplicidade. Para se ter uma idia, implementar uma comunicao serial requer a leitura de alguns artigos e tutoriais. O padro USB possui no mnimo um guia de quase 700 pginas sobre o padro USB. E se o meu computador no possui porta serial? Basta usar um conversor serial USB. No site http://dealextreme.com.br possvel encontrar esses conversores a um preo de trs dlares sem custo de frete. Basta instalar o driver do conversor e usar a porta serial virtual criada pelo conversor como se fosse uma porta qualquer. E a interface web? Simples: o protocolo HTTP amplamente utilizado com a atual expanso da internet e requer apenas um navegador para ser utilizado. Qualquer computador ou at mesmo smartphones possuem um navegador. Assim, o controle do microcontrolador pode ser feito de qualquer lugar do mundo e com uma ferramenta amplamente disponvel. Sem contar ainda os benefcios relativos segurana dos dados trafegados que podem ser criptografados e guardados com senhas. Uma desvantagem de se usar protocolos web, que dependem de vrias camadas de aplicao, a latncia. Para o controle proposto nesse trabalho (e nas aplicaes que poderiam ser derivadas dele) a latncia um requisito de baixo impacto, no causando maiores problemas. Se a aplicao requer tempos de resposta rpidos, ento usar um software como o Labview se torna uma soluo melhor, mas mais cara para a indstria. preciso avaliar o custo/benefcio. O propsito deste trabalho essencialmente desenvolver um hardware, funes e configuraes no microcontrolador JM60 que permitam o uso da comunicao serial de forma fcil e rpida e de muito baixo custo, baseados numa interface web. Todo o projeto usou softwares gratuitos, na maioria livres, com exceo do Windows. Mas todos os softwares utilizados so multiplataforma e permitem sua instalao em ambiente Linux, possibilitando executar este projeto a um custo zero de software. A placa com os drivers usa apenas resistores e transistores comuns, tornando seu custo muito baixo.

Softwares utilizados para avaliar a porta serial:

Realterm: possui muitas opes, pode ser usado via linha de comando o que confere muita flexibilidade para manusear os dados recebidos pela porta serial. No permite gravar uma configurao padro de conexo, mas podem-se salvar as opes de
4

execuo no atalho que chama o arquivo (justamente pelo fato de poder ser operado via linha de comando). Como foi utilizado um baudrate de 9600 e este no o padro do Realterm, til configurar esse parmetro antes de abrir o programa, clicando com o boto direito em cima do atalho de lanamento do programa, como segue:

Figura 1 Janela de configurao do atalho do Realterm definindo o baurate e a porta em que ser conectado o terminal Site: http://realterm.sourceforge.net/ Putty: simples de operar e permite salvar uma configurao padro de conexo. Basta fazer o Load para carreg-la novamente. Site: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Esses softwares foram muito teis para se fazer o debug da informao que chega a porta serial observando dados vindos do controlador e enviando dados para ele.
5

Comandos padro programados no microcontrolador

A fim de poder fazer o fluxo do programa no microcontrolador seguir a lgica desejada, conveniente programar uma codificao padro para execuo dos cdigos. O 1 caractere indica o que ser controlado dentro do escopo mais global do programa (leds, adc, chaves, etc.). Os caracteres seguintes definiro funes especficas dentro de cada uma dessas reas, caso sejam necessrios. Para os LEDs o comando do tipo [numero do led]. Os leds controlveis so de 1 a 6, sendo que os leds 7 e 8 sero reservados para indicao de status do programa (led 8 indica aguardando caractere na porta serial e o led 7 indica o estado da carga). Para o PWM/Controle do cooler, o comando no formato p[nmero de 0 a 100], em que o nmero indica o percentual na sada do pwm. Para o relay o comando r. Enviando o comando o relay ligado ou desligado Para obter a leitura do ADC, o comando a e so retornados cinco caracteres com o valor da leitura do adc. Para que a operao de envio do caractere para o microcontrolador seja finalizada, basta envia um carriage return que correspondente a tecla Enter caso usando um terminal ou ao ASCII numero 13, que \r em uma string em linguagem C.

Configurao da interface serial

Toda configurao da interface serial pode ser facilmente feita pelo device inicialization.

Figura 2 Janela de configurao do registrador SCI2 pelo device inicialization

Foram utilizadas as portas PTC3(Tx) e PTC5 (Rx) que correspondem segunda interface serial do JM60, que possui duas. A escolha foi simplesmente devido disposio mais acessvel dos pinos na placa JM60. O Baudrate de projeto 9600bps. No controlador, devido a limitaes de incremento do "Baud rate divisor" ser de 1, no possvel obter esse valor exato. No entanto, na prtica, o PC e o microcontrolador toleram erros menores que 2% com segurana.

Configurao do PWM

Para fazer o controle do cooler foi usado um driver transistorizado para acoplar o estgio de controle parte de potncia. O cooler alimentado com 12 V modulados numa onda quadrada a 800 Hz. Essa freqncia foi obtida empiricamente, pois em freqncias mais altas notou-se que mesmo com o pwm em 100% o cooler no desenvolvia sua capacidade mxima.
7

No jm60 foi configurado (usando o device inicialization): Pino 34 PTF4/TPM2CH0 Para FPWM=800 Hz, FBARRAMENTO = 8 MHz, PS=1 = 30000. Na inicializao o cooler est parado pois TMP2C0V = 0.

Figura 3 Janela de configurao do registrador SCI2 pelo device inicialization

Fontes: http://en.wikipedia.org/wiki/Fan_control http://www.formfactors.org/developer/specs/4_Wire_PWM_Spec.pdf

Configurao do acionamento de cargas.

Para o acionamento de cargas foi utilizado um driver de potncia consistindo de um transistor operando como chave que ao ser acionado (pelo microcontrolador) permite a passagem de corrente em um relay (capacidade: 250 V/10 A) alimentado com 12 Volts. A escolha do pino foi de tal forma que, na placa de desenvolvimento, os pinos utilizados ficassem lado a lado na sua maioria, facilitando as conexes externas. No jm60 foi configurado (usando o device inicialization): Pino 36 PTF5 como IO sem controle de slew rate, sem strenght.

A porta PTF5 tambm utilizada na placa de desenvolvimento DEMOJM como porta de acionamento do led7. Em vez de remover o jumper para inutilizar o led, optou-se por usar o led como um status indicativo do estado de acionamento da carga. Como os leds possuem uma lgica de acionamento inversa a da carga, quando o relay est ativo o led7 est apagado e vice versa.

Configurao ADC

Como o propsito desse projeto mostrar a versatilidade da comunicao serial aliada ao uso de uma interface de controle atravs de um navegador, foge ao escopo do projeto implementar aplicaes muito elaboradas com o ADC, tornando suficiente realizar uma leitura no potencimetro na prpria polaca de desenvolvimento. Qualquer caso mais elaborado seria uma simples extenso. As funes e bibliotecas criadas para manipular o ADC j formam o ncleo necessrio para qualquer aplicao mais avanada. No jm60 foi configurado (usando a funo adc_ini(0)): ADCCFG = 0b00000100; // Configuration Register ADCSC2 = 0x00; // seleo de disparo por software, comparao desativada ADCSC1 = 0b00100010; //dec34: interrupo desabilitada, bit5:1converso

continua/0:simples, canal ad2->00010 (pgina 141) APCTL1 = 0b00000010; //dec2 : habilita pino para analgico (funciona

como um enable) PTB2 (pg. 146) APCTL2 = 0;


9

Configurao dos LEDs

Para inicializar os leds da placa DEMOJM foi criada uma biblioteca, leds.h/leds.c, com uma funo que se encarrega de inicializar como sada s portas predefinidas como leds. Essa biblioteca foi desenvolvida antes da execuo desse projeto, por isso ela d suporte ao acionamento dos oito leds da placa. No entanto, como nesse projeto os leds sete e oito no sero utilizados, eles foram desabilitados nessas bibliotecas (mantidos apenas os defines led7 e led8 para facilitar o acesso porta). No jm60 foi configurado usando a funo led_ini(). Logo adiante as bibliotecas sero expostas e explicadas.

Placa com os drivers

A placa com os drivers de comunicao e acionamentos foi um desafio considervel, considerando a inexperincia no processo at ento. Foi utilizada uma placa de fenolite com uma face cobreada. As trilhas foram gravadas na placa usando um processo de transferncia trmica, usando uma impresso com toner de impressora a laser impresso em papel couche, com a imagem espelhada. Para o desenho do esquemtico foi utilizado o software PROTEUS/ISIS e sua extenso o ARES pra gerao do layout da PCI (placa de circuito impresso). Uma grande dificuldade gerar o maior nmero possvel de trilhas numa nica face de cobre. Trs conexes foram realizadas com jumpers. Na idia inicial do projeto havia um sensor de temperatura, o lm35, mas como houve uma interferncia com o circuito de comunicao serial e seu uso no era essencial a proposta do projete, este CI foi removido.

10

Figura 4 Esquemtico da placa de interface com os drivers

Para o driver da carga (circulado em verde), mediu-se que a bobina de acionamento possui uma resistncia de Rr=400 . Supondo um ganho de 100 para o transistor (de uso geral), tal que ic=100ib, e uma queda de tenso base-emissor Vbe = 0,8 V, analisou-se a malha de base para determinar o resistor de base a fim de que ocorra a saturao de QRELAY:

Para assegurar a saturao optou-se por usar um resistor de 10k. Para o driver do PWM (circulado em azul) foi realizado o mesmo equacionamento. A corrente ic foi obtida dos dados de placa do cooler que indicam 12 V e 140 mA em regime de operao mxima. Com isso a resistncia de base calculada foi em torno de 3,03k, aproximada por uma resistncia de 2,2k . No entanto ao se testar o circuito o
11

transistor no saturou e abaixou-se a resistncia de base para 680 quando ento se verificou o Vce 0,4 que o valor esperado para saturao, conforme o datasheet. A

corrente de base ficou em torno de 5mA no comprometendo a capacidade mxima do JM60 que de 60mA a 100mA (pgina 327 do datasheet). Circuito de interface TTL-RS232 (circulado em vermelho): muito comum verse o uso do integrado MAX232 em projetos que envolvam comunicao serial entre microcontroladores. No entanto h uma soluo eficiente de baixo custo, que ocupa pouca rea, e exige relativamente poucos componentes, usando-se quatro resistores e dois transistores. Como o projeto no exige um CI extremamente robusto como o MAX232, o uso desse circuito transistorizado fica melhor justificado.

Figura 5 Esquemtico do Circuito de interface TTL-RS232

Os transistores podem ser todos de uso geral e/ou equivalentes ao da figura acima. Este circuito muito simples e trabalhar sem problemas. a soluo mais barata, pois requer apenas um par de transistores e quatro resistores. Os dois transistores executam um truque para ter a tenso negativa necessria por alguns PCs. Quando o PC no transmite dados, seu pino TX est com uma tenso negativa, que se mediu ser aproximadamente -10 volts. A tenso negativa presente ento trazida atravs do resistor R3 ao pino RD (recepo) do PC.Fonte: http://www3.eletronica.org/dicas-e-hacks/alternativas-de-baixocusto-ao-max232

12

O Regulador de tenso LM7805 foi uma opo para que o circuito usasse apenas uma alimentao de 12 V, que alimenta o relay, o pwm e o regulador de tenso. O driver TTL-RS232 utiliza Para a PCI, exportou-se o esquemtico para o ARES, ajustou-se a posio dos componentes, trilhas, pads e roteamento automtico das trilhas. Aps muitas tentativas e erros o layout final foi:

Figura 6 Layout gerado pelo ARES. Fios verdes indicam necessidade de um jumper nesse trajeto do fio

Na hora de montar o circuito preciso observar a pinagem correta dos componentes pois o formato apresentado pelo ARES no condisse com a realidade.

Figura 7 - Conversor serial SERIAL-USB

13

Testou-se a placa numa interface serial tradicional e tambm com o conversor acima (cedido gentilmente pelo prof. Fabrcio Novelleto) e houve xito em ambos os casos.

Figura 8 Placa montada: a esquerda sadas e a direita entradas do microcontrolador

A operao da placa simples: conecta-se o microcontrolador nas portas serial RX e Tx, e nos pinos de controle do relay e do cooler. H um pino central entre Rx e Tx que foi reservado para o lm35, que foi removido. Portanto os pinos usados so os dois primeiros e os dois ltimos (de cima para baixo, na figura anterior)

Figura 9 Esquema de ligao do DEMOJM placa de drivers

14

Nas sadas da placa ligam-se o cooler e o pwm a serem acionados bem como o cabo de ligao serial ao computador.

Figura 10 Relay de acionamento da carga (conectada a parte traseira) e Cooler. Os fios vermelho/preto do cooler e fio branco e azul do relay que so ligados a sada da placa de drivers.

10

Bibliotecas desenvolvidas para o microcontrolador

As bibliotecas estaro anexadas a este trabalho. Todas as bibliotecas usadas esto bem comentadas e so auto-explicativas. Como o foco do desenvolvimento a interface serial, as funes de controle do fluxo de dados da interface foram mantidas no bloco principal para fins didticos. Nada impede que fossem criadas bibliotecas como foram criadas e utilizadas a seguir: 10.1 "adc_ini.h" :

//l o valor do conversor ADC e retorna o valor em milivolts extern unsigned int adcr_em_mvolts(void); //Funo que retorna a tenso de referencia devidamente calibrada para uso nos clculos de leitura real do adc
15

extern unsigned int adc_vreverencia(void); 10.2 "dec2ascii.h"

//A funo bin_hex ir converter o valor binrio no seu equivalente na base decimal extern void bin_dec (unsigned int valor, char string[6]); 10.3 "leds.h"

//Inicializa as portas associadas aos leds na placa de desenvolvimento DEMOJM extern void led_ini(void); //Controla os Leds da placa DEMOJM void led(char led, char status) 10.4 "pwm.h"

//pwm() recebe como argumento o percentual do valor desejado na sada do pwm (PTF4/TPM2CH0) e aplica esse valor com base no TPM2MOD configurado extern void pwm(unsigned int percentual) ;

11

Programa principal do JM60

O programa principal est anexado a este trabalho, est comentado e autoexplicativo. Ser feito aqui um apanhado geral sobre o funcionamento algoritmo programado no microcontrolador. Em essncia o que este algoritmo faz , depois de ter todo o dispositivo configurado, entrar no bloco principal. Nesse bloco, o primeiro passo aguardar observando a porta serial. medida que entram dados eles so armazenados num vetor (char buffer_entrada[5]) que funciona como um buffer de entrada. O processo se itera at que o caractere carriage return seja recebido, condio para a sada do primeiro loop gerado sci_recebe_string(buffer_entrada); . Essa funo implementa internamente o loop que executa a tarefe anteriormente mencionada. Em seguida, o primeiro caractere do buffer analisado. atravs dele que o fluxo do programa decidido pela estrutura switch (buffer_entrada[0]). Na sesso deste trabalho denominada 3- Comandos padro programados no microcontrolador (pg. 6) esses casos so especificados. Vale notar em especial o caso em que o buffer contm pxxx, ou seja, controle do PWM. No incio desse bloco feita uma rotao das posies dos
16

caracteres por dois motivos (que no fundo um s): eliminar o caractere p e colocar o valor percentual no incio do vetor. Tudo isso feito para se poder usar sem problemas a funo int atoi(char *string) que retorna um inteiro equivalente a uma string passada como parmetro. Esse inteiro ento usado pela funo pwm() que se responsabiliza em definir o valore do registrador TPM2C0V proporcionalmente ao valor desejado (com base no valor de TPM2MOD). Depois de verificados os casos e executadas suas respectivas funes, o programa volta primeira parte e aguarda um novo comando ser inserido. O ponto importante desse processo que a partir dessa estrutura bsica, qualquer funo do microcontrolador pode ser comandada, basta abstrair o que foi feito at ento para as outras capacidades do JM60 Do ponto de vista um pouco mais tcnico, merece ser mencionada a importncia dos ponteiros nesse projeto, em especial no povoamento do vetor que serve de buffer de entrada. O exemplo desse uso pode ser melhor visualizado com uma das funes que foi criada: //Funo que faz um buffer em um array fornecido com caracteres recebidos at que se pressione enter (ascii 13). void sci_recebe_string(char *string) { *string = sci_recebe_char(); //recebe o caractere pela primeira vez while (*string != 13) { //verifica se foi pressionado enter. Se foi, sai do loop. string++;//incrementa o ponteiro *string = sci_recebe_char(); //recebe o caractere } } Como no possvel passar um vetor como argumento, passa-se um ponteiro com o endereo do vetor a ser manipulado. Outra forma seria definir um vetor como um varivel global e fazer esta funo manipul-lo. Mas isso implica numa perda de flexibilidade pois a funo s manipularia um vetor com nome pr-definido em vez de um vetor qualquer passado como argumento da funo.

17

12

Interface de controle web

Para criao da interface web foram utilizadas as linguagens de programao: PHP (lgica), XHTML (estrutura do site) e CSS (estilizao da parte grfica). O PHP est rodando sobre um servidor Apache numa instalao com Windows 7. Instalar o apache+php+mysql muito simples, basta entrar em

http://www.apachefriends.org/pt_br/xampp-windows.html e instalar em algum lugar. Na pasta htdocs, que criada na instalao do servidor como um subdiretrio, ficam os arquivos das pginas. O acesso a pgina pode ser feito em qualquer navegador por HTTP://localhost/subdiretorio_dentro_de_htdocs/index.php . Localhost tambm pode ser substitudo pelo endereo de IP da mquina no caso de se estar em uma intranet (algo como 192.168.1.90). O acesso remoto pode ser feito configurando-se no roteador de acesso a internet uma port forwarding da porta 80 externa para a 80 interna do ip do computador com o site instalado. O apache tambm pode ser configurado para ouvir outras portas. De forma a lidar com o IP dinmico, caracterstico das ADSLs mais comuns, pode-se usar um resolvedor de domnio dinmico. O site HTTP://no-ip.com fornece um programa gratuito que pode ser instalado no computador com o servidor, que atualiza o IP desse servidor na web associando-o a um nome mais fcil de memorizar. Nos testes que foram feitos usou-se um domnio que j possuamos, na forma http://nome.myfto.org. No referente ao cdigo em PHP, da mesma forma que anteriormente o cdigo est comentado e aqui ser feito um apanhado geral do algoritmo base implementado. Numa primeira instncia criada uma sesso, que ser responsvel por armazenar o estado atual de cada varivel dentro de vrias chamadas da mesma pgina. Em desenvolvimento web, as variveis so limpas a cada chamada da pgina e criar uma session uma das formas de se manter valores entre as chamadas. Cada vez que requisitado um comando, esse comando est na realidade chamando uma pgina (mesmo que seja a prpria em que ele est) e por isso reiniciando as variveis usadas, menos as de session, que ficam inalteradas (se nenhum comando as alterar). Como o estado inicial do sistema sabido (tudo est desligado) cada comando enviado percebido pela pgina que por sua vez modifica o estado da varivel conforme o comando executado. As variveis so em sua inicializao so: //estado inicial desligado $_SESSION['led1'] = 0;
18

$_SESSION['led2'] = 0; $_SESSION['led3'] = 0; $_SESSION['led4'] = 0; $_SESSION['led5'] = 0; $_SESSION['led6'] = 0; $_SESSION['pwm'] = 'p0'; $_SESSION['relay'] = 0; $_SESSION['adc'] = "Nenhuma leitura realizada"; Por exemplo, se o led1 for aceso, ento $_SESSION['led1'] =1,ou seja, so tratados como booleanos. Os menus nada mais so do que links que chamam a prpria pgina onde esto (e que contem todo o cdigo para tratamento dessas chamadas). Quando um link passado ao seu final h um caractere de interrogao. O que for passado em um link aps essa interrogao ser lido pelo PHP pelo mtodo GET (que justamente esse mtodo de passagem de parmetros por links, sendo que h outras formas). Por exemplo o link index.php?comando=1 chama a pgina ndex.php novamente e passa o parmetro comando, que lido pela varivel $_GET['comando']. Da mesma forma que no microcontrolador, aqui no php os comandos so os mesmos(de 1a 6, r, a, pxxx ) O php possui funes prprias para envio de caracteres a porta serial. No entanto o processo de leitura da porta serial no funcionou e foi necessrio recorrer a uma alternativa: usar o serproxy. O serproxy atua como um servidor que escuta o php e interage com ele via tcp/ip (que um formato timo para o php considerando que pginas web usam diretamente esse protocolo) e o ser Proxy faz a ponte com a interface serial. Dessa maneira foi possvel ler os valores passados pelo ADC do JM60. O serproxy possui uma latncia maior execuo dos comandos, por isso, somente quando o comando a ser executado era a, ou seja, necessitava de uma leitura, o serproxy era chamado. Caso fosse somente um envio de dado, a funo nativa do php utilizada. Os comandos passados pelos links so lidos de $_GET['comando'] e enviados a porta serial acrescidos de \r ao final da string, para caracterizar o fim de envio definido no microcontrolador.

19

13

Resumo do Histrico de desenvolvimento:


Procedeu-se com a montagem do circuito ttl-rs232 (protoboard) Tentou-se enviar um caractere a interface serial e nada acontecia. Soluo: o

canal definido no projeto (e a fiao implementada) foi o 2, mas os registradores estavam no canal um. Depois, em vez de enviar um caractere, optou-se por usar uma funo de envio de string que continha uma espera pela limpeza do buffer de recepo. Solucionou! certo ainda. Desenvolvidas bibliotecas para enviar e receber caracteres e strings. O uso Tentativa de ler os dados da porta serial e plot-los com o Matlab. No deu

de ponteiros foi fundamental! com serproxy http://www.lspace.nildram.co.uk/freeware.html 3 a 4 dias para desenvolvimento da placa de circuito impresso: Melhor Desenvolvimento do site em php com uso de fopen(porta serial) e fopen

tcnica foi uso de transferncia trmica com impresso a laser em papel couche. O layout desenvolvido apresentou falha que foi resolvida removendo o sensor de temperatura e verificando todos os jumpers necessrios, j que a placa single layer eles foram necessrios. Alm da porta serial foi implementado um conversor serial-usb. Foi

necessrio achar o driver do dispositivo, que depois de encontrado foi fcil de operar. Foi difcil encontrar o driver e para tanto foi necessrio abrir o conversor, procurar pelo modelo do chip utilizado e pesquisar o driver com o cdigo/fabricante dele. criada uma porta virtual que pode ser utilizada normalmente como umas serial (aplicao transparente). Site do driver do conversor: no site do fabricante o download estava indisponvel, mas procurando pelo nome do arquivo do driver no Google foi possvel encontr-lo: http://goo.gl/xWJKr. Desenvolvimento da interface web de operao.

20

14

Melhorias futuras

Como todo projeto finalizado, algumas possveis melhorias foram notadas e ficam como sugesto para uma futura atualizao do projeto: 14.1 Na placa da PCB

Colocar um conector padro de comunicao serial Melhorar os conectores e fios de forma que impossibilite conexes erradas Colocar mais drivers para pwm e cargas, com relays soldados a placa Usar relay de estado slido: duram mais e so mais silenciosos Fazer conexes fsicas para leituras analgicas 14.2 Na programao:

Implementar sistema de interrupo para recepo e transmisso de dados Criar um sistema de usurio e senha com criptografia na conexo com o site Programar controle de erros na porta serial (bits de paridade, etc.) Usar a tecnologia Ajax para fazer as requisies em vez de recarregar as pginas para diminuir a latncia da aplicao web. No software de comunicao com o microcontrolador: Programar controle em outros softwares como Matlab e Labview

21

15

Concluso

O desenvolvimento desse trabalho possibilitou um perodo de grande aprendizado, proporcionando o contato efetivo com atividades diretamente relacionadas com contedos vistos durante a graduao, envolvendo conhecimentos adquiridos em vrias disciplinas, em que se podem ressaltar principalmente as disciplinas de eletrnica e MIP avanado. Alm da aplicao e consolidao dos conhecimentos tcnicos vistos durante o curso, outro ponto importante a ser destacado est relacionado utilizao de ferramentas como interface Web, comunicao serial e linguagem de programao C amplamente utilizados nas empresas nos dias de hoje. Deve-se destacar tambm, o aprendizado e aplicao de alguns conceitos de Engenharia de Software durante o desenvolvimento das atividades, proporcionando melhor organizao, produtividade e qualidade da aplicao prtica desenvolvida. A comunicao atravs de uma interface Web uma excelente opo, pois a cada dia que se passa, a internet se torna mais acessvel, ou seja, h uma forte tendncia de que comandos, controles , sejam realizados distncia atravs dessa poderosa ferramenta. Pode-se destacar tambm, que esse trabalho final de fundamental importncia para a formao tcnica e profissional de um estudante de engenharia, proporcionando no s adquirir conhecimento como tambm vivenciar situaes reais que envolvem a presso pelo cumprimento de prazos e por fazer o sistema funcionar corretamente.

22

23

Вам также может понравиться