Vous êtes sur la page 1sur 56

2EI ENGENHARIA 1.

KI T DE D E S EN VO LV IM E NT O WIR E L ES S K PM WE COM I NT E R FAC E PA RA P C, I NT E R FAC E MI CROC O NT RO LA DA CO M P I C1 8 F 8 6 2 1 , C.I T E M P ER AT U RA , RT C, E E P ROM E IN T ER FAC E WI R E L E S S COM PAT VE L 8 0 2 .1 5 .4

KIT WIRELESS KPMWE

V1.0

21/06/07

1/56

1. Introduo........................................................................................................................................................................................3 2. Placa PMw-pc....................................................................................................................................................................................4 3. Placa PMWE-PIC.............................................................................................................................................................................6 4. Utilizando o kit KPMWE pela primeira vez................................................................................................................................9 5. Tutorial kit kpmwE - resumo.......................................................................................................................................................13 6. TUTORIAL - Objetivos...............................................................................................................................................................14 7. TUTORIAL - Restries..............................................................................................................................................................15 8. Soluo proposta............................................................................................................................................................................15 9. Etapas do projeto...........................................................................................................................................................................16 10. Dificuldades...................................................................................................................................................................................17 11. Custo (R$)......................................................................................................................................................................................17 12. Estudo do barramento i2c..........................................................................................................................................................18 13. RTC m41t00..................................................................................................................................................................................20 14. Esquema Eletrnico RTC M41T00..........................................................................................................................................21 15. Sensor de temperatura tc74........................................................................................................................................................22 16. Esquema Eletrnico TC74.........................................................................................................................................................23 17. EEPROM Serial 24aa512............................................................................................................................................................24 18. Demais Componentes.................................................................................................................................................................25 19. Mdulos rf XBee/XBee-pro......................................................................................................................................................26 19.1 Modos de Operao..................................................................................................................................................................30 19.1.1 Modo IDLE..............................................................................................................................................................................30 19.1.2 Modos de transmisstto e recepo................................................................................................................................................31 19.1.2.1 Endereamento.........................................................................................................................................................................31 19.1.3 Modo Sleep.................................................................................................................................................................................32 19.1.4 Modo Comando...........................................................................................................................................................................35 19.1.4.1 Modo Comando AT................................................................................................................................................................35 20. Esquema eletrnico......................................................................................................................................................................36 21. Programa EMBARCADO..........................................................................................................................................................44 22. Aplicativo PC................................................................................................................................................................................45 23. Apndice A - Instalando e Executando o Programa IC-Prog 1.05D (Somente para PIC18F8720 e PIC18F8621). . .51

KIT WIRELESS KPMWE

V1.0

21/06/07

2/56

24. Instalando o Progra WINPIC (PIC18F8722)..........................................................................................................................53 25. Apndice H. Diferenas para Programar o PIC18F8722 e o PIC18F8621........................................................................56

1. INTRODUO
Esta documentao refere-se ao kit de desenvolvimento wireless verso 1.0 (Figura 1)

Figura 1: Itens que compe o kit KPMWE

O kit composto dos seguintes itens: 1. Placa PMWE-PIC, possui microcontrolador PIC 18F8621 ou PIC18F8722. 2. Cabo serial para conexo da interface PC (item 5) com o computador PC. 3. Uma Interface de Programao (IP-10) com pinos ICSP (In Circuit Serial Programmer) para gravao da memria Flash do microcontrolador contido na PMWE-PIC. Somente utilize uma interface serial RS232 verdadeira em seu PC. Conversores USB para serial provavelmente no funcionaro. 4. Cabo crossover para Interface Ethernet (opcional). 5. Placa PMW-PC. 6. Um CD-ROM com programas de demonstrao no formato PDF.

KIT WIRELESS KPMWE

V1.0

21/06/07

3/56

O compilador C MCC18 (verso estudante) e o ambiente de desenvolvimento MPLAB IDE so propriedades da Microchip. Eles devero ser baixados do site www.microchip.com .

Leia a AN005 que se encontra no CD, Como Usar o ICPROG no Windows XP/NT/2000, para obter um tempo de gravao em torno de 35 segundos do microcontrolador da PMWE-PIC.

2.

P L A C A P M W- P C

A placa PMW-PC uma interface que deve ser conectada a serial de um computador PC. Testes realizados com conversores USB para serial RS232 funcionaram perfeitamente com esta interface. Esta interface possui basicamente (Figura 2) : 1. Regulador 3,3VDC. Alimente a placa com tenses entre 4,5VDC a 6VDC. 2. Interface serial USART com MAX3232. 3. Mdulo Wireless XBEE ou XBEEPRO da MaxStream. Toda documentao sobre os mdulos XBEE e XBEE PRO devem ser obtidas no site www.maxstream.net .

Figura 2: Interface WPC

KIT WIRELESS KPMWE

V1.0

21/06/07

4/56

O cabo serial deve ser conectado no conector J11. Caso voc esteja utilizando o HyperTerminal a configurao deve ser: 9600, 8, N , 1.

Voc deve utilizar fontes entre 4,5VDC a 6VDC para alimentao da interface PMW-PC. Acompanha a placa um cabinho com as cores preto e vermelho (ou vermelho/cinza e cinza). Vermelho corresponde ao plo positivo da alimentao e preto ao plo negativo. O importante que o fio preto seja sempre conectado no pino 2 do conector J4. O fio vermelho pode ficar tanto do lado esquerdo quanto do lado direito pois os pinos 1 e 3 do conector referem-se ao plo positivo da alimentao.

Copie toda a pasta WPC que se encontra no CD-ROM e crie um atalho para o programa executvel WPC1, WPC2 , WPC3 ou WPC4 conforme a serial disponvel em seu computador. Voc pode testar a interface PMW-PC utilizando o HyperTerminal. Aps criar uma conexo na serial do seu com computador com os parmetros 9600, 8, N, 1 e sem fluxo de controle, digite +++, voc deve receber OK.

Ao receber o kit o nmero da estao da placa PMW-PC 1 e o nmero da estao remota 2.

KIT WIRELESS KPMWE

V1.0

21/06/07

5/56

3.

PL A C A P M W E - P I C

A interface PMWE-PIC uma placa microcontrolada com as seguintes caractersticas ():

Figura 3: Placa PIC-PMWE

Os principais componentes da PMWE-10 so: 1. MICROCONTROLADOR: PIC18F8722(PIC18F8621), clock de 25MHz ou outro valor, 128K(64K) de memria Flash, 1024 bytes de memria EEPROM, 3936 bytes de memria RAM e 68 portas de I/O programveis das quais 16 podem ser configuradas como entradas analgicas de 10 bits. Para maiores detalhes consulte o manual dos respectivos microcontroladores. 2. CONTROLADOR ETHERNET: A PMWE usa o controlador de Ethernet Realtek RTL8019AS- 10Mbps (opcional). Esta placa nos d a possibilidade de construo de um gateway Zigbee / Ethernet. 3. LEDs de indicao: a. Vermelho: normalmente usado para indicar que o programa est sendo executado piscando a intervalos de 1 segundo. b. Amarelo: Indica que a conexo Ethernet est ativa (RJ-45 opcional).

KIT WIRELESS KPMWE

V1.0

21/06/07

6/56

c. Verde: indica que a placa est transmitindo ou recebendo um pacote de dados (RJ-45 opcional). d. Vermelho: conectado a porta RA2 do microcontrolador. e. Vermelho: indicao da fonte de 5VDC ON. f. Vermelho: indicao da fonte 3,3VDC ON. 4. CHAVE PUSHBUTTON: serve para re-inicializao (RESET) do programa pois est conectada ao pino MCLR do microcontrolador. 5. CONECTOR RJ-45 10 Base T : Prov conectividade Ethernet padro (opcional). 6. CONECTOR DB25 : Prov os sinais Tx, Rx e GND para transmisso serial assncrona proveniente do integrado ST232ABD, entrada dos acopladores pticos, sada dos rels.. (ver esquemas). 7. CONECTOR ICSP (In Circuit Serial Programming): Permite a placa PMWE ser conectada a interface de programao para gravao da memria Flash do microcontrolador. 8. CONECTORES DE EXPANSO: Prov acesso a maior parte dos pinos do microcontrolador PIC18F8722 ou PIC18F8621. 9. CONECTOR para Teclado: Permite ligar um teclado de 4 linhas X 4 colunas. 10.CONECTOR para Display de LCD: Permite ligar um display de LCD no modo 4 bits de dados. 11.Alimentao dos reguladores de 5VDC e 3,3VDC. Deve ser feita usando uma fonte de 7,5 VDC . 12.REGULADOR 5VDC.. 13.REGULADOR 3,3VDC. 14.RELS. Permite a solda de trs rels tipo HE3621. 15.BUZZER. Permite a solda de um sonoalarme. 16.ACOPLADORES PTICO. Permite a solda de trs acopladores ptico tipo H11L1. 17.Potencimetro. Variao de nvel DC para entrada AN0 do microcontrolador. 18.RTC I2C. Permite a solda de um RTC tipo M41T00. 19.MEMRIA EEPROM I2C. Permite a solda de uma memria I2C 24AA512. 20.SENSOR DE TEMPERATURA I2C. Permite a solda do C.I TC74. 21.CHAVE PUSH-BUTTON. Conectada a porta RJ7 do microcontrolador.

KIT WIRELESS KPMWE

V1.0

21/06/07

7/56

22.CR2032. Permite a solda de um soquete para bateria tipo CR2032 que alimentar o RTC. 23.ZIGBEE. Permite a solda do mdulo XBEE da MAXSTREAM. Este mdulo est ligado na USART2 do microcontrolador j com ajuste de nveis para as portas de 3,3VDC. 24.MAX232. Ajuste de nveis para USART1.

Voc deve utilizar uma fonte de 7,5VDC para alimentao da interface PMWE-PIC.

KIT WIRELESS KPMWE

V1.0

21/06/07

8/56

4.

UTILIZANDO O KIT KPMWE PELA PRIMEIRA VEZ

H quatro verses para o programa WPC.exe.

WPC1 para conexo com COM1,

WPC2 para conexo com COM2, WPC3 para conexo com COM3 e WPC4 para conexo com COM4. Estes programas s foram testados no Windows XP. As principais funes do programa WPC so (Figura 4):

Figura 4: Programa WPC para PC

1. Conexo com a USART. 2. Dados transitados com a USART. 3. Fecha conexo com a USART. 4. Faz com que o mdulo Wireless entre no modo Comando. 5. Define o nmero da estao local em que o mdulo Wireless opera. 6. Define o nmero da estao remota que o mdulo Wireless ir se comunicar. 7. Faz com que o mdulo Wireless entre no modo Dado. 8. Nmero da configurao a ser interpretado pela estao remota. 9. Senha para que a estao remota aceite a configurao.

KIT WIRELESS KPMWE

V1.0

21/06/07

9/56

A. Data e hora a serem enviadas para a estao remota. B. Boto para enviar data/hora para a estao remota. C. ltimo horrio e temperatura enviada pelas estaes remotas 2, 3 e 4. D. Grfico em coluna indicativo de valor de temperatura das estaes remotas. E. Indicao de alarme (crculo em vermelho). F. Temperatura mnima e mxima das estaes remotas para indicao de alarme. Conecte uma fonte que possua tenso DC entre 4,5VDC a 6VDC (Figura 2) no conector J4 da Placa PMW-PC. Acompanha a placa PMW-PC um conector com cabo para fonte cujo fio vermelho o terminal positivo . Verifique que o LED D1 deve estar aceso aps a conexo da fonte. A seguir conecte o cabo serial no conector J11, verifique que o fio vermelho deve estar conectado ao pino 1 do conector J11. Teste da placa PMW-PC. Execute o programa HyperTerminal com configurao serial 9600,8,N,1. Tecle +++. Voc deve receber um OK. Conecte uma fonte que possua tenso DC de 7,5 no conector J11 da Placa PMWE-PIC. Verifique que os LEDs D4 e D5 devem estar on aps a conexo da fonte. Verifique que as seguintes mensagens so enviadas ao display de LCD:

Inicializando Sistema Modo Comando Estao Local Estao Remota H Estao Remota L Modo Sleep Modo Associao Modo End Device Modo Sem Estado Modo Dado Codigo:

KIT WIRELESS KPMWE

V1.0

21/06/07

10/56

No programa WPC clique no boto <Conexo COMx>. Dever aparecer a mensagem Conectado. Em Comandos Wireless clique no boto <OK> de Modo Comando. Devero aparecer as mensagens Dado Enviado! e OK. Em seguida, clique no boto OK de Estao Local. Devero aparecer as mensagens Dado Enviado! e OK. O mesmo vale para os botes OK de Estao Remota e Modo Dado. Digite qualquer cdigo na estao remota e tecle em #. Voc deve receber algum dado conforme a a Figura 5. (Observao: voc pode habilitar no programa demo o envio do cdigo tambm, mas utilize o HyperTerminal para ver estes dados).

Figura 5: Recebendo dados das estaes remotas

KIT WIRELESS KPMWE

V1.0

21/06/07

11/56

Para enviar o horrio para uma estao remota: Selecione o nmero da estao remota no comando atdlxx, aonde xx o nmero da estao remota, por exemplo, para estao 03 o comando deve ser atdl03. Clique no boto OK do modo de comando, no boto OK da estao local, no boto OK da estao remota e no boto OK do modo dado, todos consecutivamente. Lembre-se que a USART deve estar conectada. D uma pausa entre os comandos para receber a mensagem OK do mdulo XBEE. Clique no boto Envia. A estao remota deve responder com OK. Digite qualquer cdigo na estao remota e verifique se a hora foi programada corretamente.

KIT WIRELESS KPMWE

V1.0

21/06/07

12/56

5.

T U TO R I A L K I T K P M W E - R E S U M O

A 2EI Eletrnica Embarcada para Internet deseja desenvolver uma placa microcontrolada com interface wireless para vrias aplicaes, como: Comanda Eletrnica Coletor de dados wireless Terminal de ponto Transmisso de dados serial para wireless, como cdigo de barras Sensor de temperatura Qualquer tipo de transmisso de dados remota que utilize as portas de I/O do microcontrolador (at 30m em uso urbano ou 100 metros em linha direta ou 100 metros em uso urbano e 1,6 km em linha direta) Gateway Ethernet/Zigbeee. Controle de processo produtivo Controle de ordens de servio Automao residencial Automao industrial Automao agrcola

KIT WIRELESS KPMWE

V1.0

21/06/07

13/56

6.

T U TO R I A L - O B J E T I VO S

Os objetivos deste projeto so: 1. Projetar uma eletrnica com as seguintes caractersticas: Conexo wireless utilizando o mdulo XBEE MaxStream Usar um RTC Real Time Clock com interface serial I2C Usar um sensor de temperatura com interface serial I2C Usar uma memria EEPROM I2C Interface serial USART RS232 Conector para teclado Conector para LCD 2 linhas X 16 colunas (ou com controlador KS0066) Fontes de +5VDC e 3,3 VDC Portas de I/O livres do microcontrolador devero estar disponveis para os conectores de expanso Utilizar o microcontrolador PIC18F8621 ou PIC18F8722 com programao ICSP 2. Projetar uma aplicao embarcada para: Enviar valor de temperatura e horrio de aquisio de uma estao remota para o HyperTerminal ou aplicativo em um computador tipo PC que possua um mdulo para coletar os dados das estaes remotas. O valor da temperatura e o horrio de aquisio tambm sero mostradas no display de LCD da estao remota. 3. Desenvolver um software para PC de modo que os dados sejam melhor visualizados das estaes remotas (por exemplo, em nmero de 3). 4. Testar o sistema.

KIT WIRELESS KPMWE

V1.0

21/06/07

14/56

7.

T U TO R I A L - R E S T R I E S

As seguintes restries de projeto devero ser observadas: 1. O mdulo wireless ser ser o XBEE da MaxStream. 2. O microcontrolador ser o Microchip PIC18F8621 ou PIC18F8722.
3. O sensor de temperatura, o RTC e a memria EEPROM devero ter comunicao

I2C.
4. Os reguladores das fontes devero ter baixo drop-out.

8.

S O L U O P RO P O S TA

Uma soluo para o projeto : Mdulo Embarcado: o Utilizar o mdulo wireless XBEE da MaxStream o Utilizar o RTC M41T00 da ST Microeletronics que possui barramento I2C o Utilizar o sensor de temperatura TC74 da Microchip que possui barramento I2C o Utilizar a memria 24AA512 da Microchip que possui barramento I2C. o MAX232 para USART o Fontes de 3,3VDC e 5VDC o Desenvolvimento de software via MPLAB IDE e MCC18 ambos da Microchip pois so disponibilizados gratuitamente no site www.microchip.com

Mdulo PC: o Utilizar o mdulo wireless XBEE da MaxStream o MAX 3232 para USART o Fonte de 3,3VDC

KIT WIRELESS KPMWE

V1.0

21/06/07

15/56

o Desenvolvimento de software em linguagem C ou utilizar o HyperTerminal do Sistema Operacional Windows

9.

E TA PA S D O P R O J E TO

As principais etapas a serem cumpridas durante o desenvolvimento deste projeto so: 1. Realizar um estudo do microcontrolador PIC18F8621 ou PIC18F8722 2. Realizar um estudo sobre o mdulo XBEE da MaxStream 3. Realizar um estudo sobre LCDs 4. Realizar um estudo do barramento I2C 5. Realizar um estudo sobre MAX232 e MAX3232 6. Realizar um estudo do C.I RTC M41T00 7. Realizar um estudo do C.I TC74 8. Realizar um estudo do C.I 24AA512 9. Realizar um estudo do C.I LM1086 10. Realizar um estudo do C.I LM2940CS-5.0 ou LP38690DT5.0 11. Projetar o esquema eletrnico tanto para a interface que ser conectada ao PC quanto para a interface embarcada. 12. Projetar a placa de circuito impresso 13. Compra dos componentes 14. Software embarcado para LCD 15. Software embarcado de comunicao com o mdulo XBEE 16. Software embarcado de leitura e escrita I2C dos circuitos integrados RTC M41T00, TC74 e 24AA512 (somente 24AA512 ainda no disponvel) 17. Software do teclado 18. Aplicativo PC 19. Testes do sistema remotamente

KIT WIRELESS KPMWE

V1.0

21/06/07

16/56

1 0 . D I FI C U L DA D E S

Ainda falta: comunicao I2C para memria 24AA512.

1 1 . C U ST O ( R $ )

O custo de cada placa encontra-se no site da www.2ei.com.br

KIT WIRELESS KPMWE

V1.0

21/06/07

17/56

12. ESTUDO DO BARRAMENTO I2C

O que I2C: I2C significa Inter-IC (Integrated Circuit). Este barramento serial foi desenvolvido pela Philips como um meio simples de vrios CIs (Circuitos Integrados) comunicarem-se usando o menor nmero de pinos possvel. Um conjunto de especificaes garante compatibilidade entre CIs de diferentes fabricantes. mais frequentemente usado em placas de circuito impresso. Terminologia: Transmissor o dispositivo que envia dados no barramento. O transmissor pode ser tanto um mestre quanto um escravo. Receptor o dispositivo que recebe dados do barramento. Mestre o componente que inicializa a transferncia de dados, gera o sinal de clock e termina a transferncia. O mestre pode ser tanto um transmissor quanto um receptor. Escravo dispositivo endereado pelo mestre. Um escravo pode ser tanto um transmissor quanto um receptor. Muli-mestre habilidade de mais de um mestre existir em um nico barramento ao mesmo tempo sem a possibilidade de coliso ou perca de dados. Arbitrariedade procedimento que autoriza somente um mestre tomar controle do barramento em um determinado perodo. Sincronizao procedimento que sincroniza um sinal de clock fornecido por dois ou mais mestres. SDA Serial DAta, ou seja, dados seriais. SCL Serial Clock, ou seja, clock serial. Caractersticas: Somente dois sinais so requeridos: um sinal serial de dados (SDA) e um sinal de clock (SCL). Cada dispositivo conectado ao barramento enderevel por software por um nico endereo. As relaes entre os dispositivos so do tipo mestre/escravo. um barramento multi-mestre incluindo deteco de coliso e arbitramento para prevenir corrupo de dados se dois ou mais mestres inicializarem uma transferncia de dados simultaneamente. um barramento serial, 8 bits, com transferncia de dados bi-direcional com velocidade de 100 kbits/s no modo Padro, at 400 bits/s no modo Fast, ou at 3.4 Mbits/s no modo High-speed. Filtros nos CIs (50ns) rejeitam spikes no barramento para prevenir perda de dados. O nmero de CIs que podem ser conectados ao mesmo barramento limitado pela capacitncia do barramento em 400pF.

KIT WIRELESS KPMWE

V1.0

21/06/07

18/56

Procedimentos I2C de Comunicao: Um CI que quer comunicar deve (voc no precisa preoucupar-se com os procedimentos de comunicao, basta usar as funes de software j prontas): Esperar at que no haja atividade no barramento I2C. Os sinais SDA e SCL esto em nvel lgico alto. O barramento est livre. Por uma mensagem no barramento que diz meu. Eu tenho comeado a usar o barramento. Ento todos os CIs escutam o barramento para verificar se ele ser o CI chamado (endereado). Fornecer um sinal de clock (SCL). Este ser usado por todos os CIs como referncia no qual cada bit de dados (SDA) poder ser usado. O dado em SDA ser vlido na transio do nvel lgico baixo para o nvel lgico alto do sinal SCL. Fornecer o endereo do CI para comunicao. Colocar um bit no barramento indicando que se quer ENVIAR ou RECEBER dados do outro circuito integrado. Enviar pedido de RECONHECIMENTO (usando um bit) que o endereo (outro CI) est pronto para se comunicar. Reconhecer a resposta de outro CI que est tudo OK. Os dados podem ser transferidos. Enviar ou receber dados de oito bits. Aps a transferncia de cada 8 bits de dados o CI que envia dados espera um reconhecimento que est tudo OK. Liberar o barramento aps os dados serem transferidos. O primeiro CI deve liberar o barramento atravs de uma mensagem especial chamada STOP. um bit de informao transferido por pelos sinais SDA e SCL.

KIT WIRELESS KPMWE

V1.0

21/06/07

19/56

1 3 . RT C M 4 1 T 0 0

O Real Time Clock M41T00 um TIMEKEEPER serial de baixo custo controlado por um cristal externo de 32.768 Hz. A comunicao com o M41T00 atravs de uma interface serial I2C (SCL, SDA e GND). Oito bytes de RAM so usados para funo relgio/calendrio e so configurados na forma Binary Coded Decimal BCD. Para reteno dos dados necessrio o uso de uma bateria de ltio de 3V - 500mA/h.

Figura 6 Encapsulamento SOIC M41T00

Nmero do Pino
1 2 3 4 5 6 7 8

OSCI OSCO VBAT VSS SDA SCL FT/OUT VCC

KIT WIRELESS KPMWE

V1.0

21/06/07

20/56

1 4 . E S Q U E M A E L E T R N I C O RTC M 4 1 T 0 0
PLUS5aV

R24 1K SCL SDA

R25 1K 6 5 7

U3

PLUS5aV VCC 8 C3 100n

SCL SDA

VBAT

FT/OUT VSS OSC0 OSCI

1 CR2032 3V 2

M41T00

Figura 7- Esquema Eletrnico M41T00

A linha SCL est conectado ao pino RC3 do microcontrolador PIC18F8722 e o sinal SDA ao pino RC4. Os valores de R24 e R25 devem ser de 1K para o microcontrolador PIC18F8621 e de 10K para o microcontrolador PIC18F8722.

Caso o kit v montado com o microcontroaldor PIC18F8722 os resistores R24 e R25 devem ter valor de 10K.

KIT WIRELESS KPMWE

V1.0

21/06/07

2 Y1 32.768Hz

21/56

1 5 . S E N S O R D E T E M P E R A T U R A TC 7 4

O Tiny Serial Digital Thermal Sensor TC74 um sensor de temperatura digital para aplicaes de baixo custo. A comunicao com o TC74 atravs de uma interface serial I2C (SCL, SDA e GND). O bit SHDN no registrador CONFIG pode ser usado para ativar o modo low power Standby. A resoluo da temperatura convertida (8 bits) de 1 A taxa de C. converso nominal de 8 amostras/segundo. Durante operao normal o consumo de 200A tipicamente. Durante operao standby o consumo de 5A.

Figura 8 - Encapsulamentos TC74

Pinos 1 2 3 4 5

T0220 Nada Consta SDA GND SCLK VDD

SOT-23 Nada Consta GND VDD SCLK SDA

Observao muito importante a ser feita que oito endereos so disponveis para o TC74, ento verifique bem na hora de adquirir o componente qual o endereo que voc estar adquirindo tambm.

KIT WIRELESS KPMWE

V1.0

21/06/07

22/56

1 6 . E S Q U E M A E L E T R N I C O TC 7 4
PLUS5aV

R24 1K SCL

R25 1K U2 4 SCL VDD GND 5 3 1

PLUS5aV

C2 100n

SDA

SDA TC74

NC

Figura 9- Esquema Eletrnico TC74

A linha SCL est conectado ao pino RC3 do microcontrolador PIC18F8621 e o sinal SDA ao pino RC4.

KIT WIRELESS KPMWE

V1.0

21/06/07

23/56

1 7 . E E P RO M S E R I A L 2 4 A A 5 1 2

O circuito integrado 24AA512 uma memria EEPROM de 512Kbits (64Kbytes) compatvel com barramento I2C. capaz de operar entre 1,8VDC a 5,5VDC. A leitura dos dados pode ser feita numa forma de endereos seqencial ou aleatria. Oito memrias podem ser utilizadas no mesmo barramento atravs da seleo de endereamento dos pinos A0, A1 e A2. O encapsulamento utilizado o de oito pinos SOIC. O endereo I2C da memria 1010 (A2 A1 A0 R/W). Operaes de leitura e escrita podem ser consultadas no datasheet.

KIT WIRELESS KPMWE

V1.0

21/06/07

24/56

1 8. D E M A I S C O M P O N E N T E S

Os demais manuais ou datasheets do componentes ou circuitos integrados encontram-se no CD-ROM. So eles: Microcontrolador PIC18F621 LCD Circuito integrado MAX232 e MAX3232 Circuito integrado LM1086 Circuito integrado LM2940CS-5.0 Circuito integrado LP38690DT5.0

KIT WIRELESS KPMWE

V1.0

21/06/07

25/56

1 9 . M D U L O S R F X B E E / X B E E - P RO

OBSERVAO: RECOMENDAMOS A LEITURA DO MANUAL ORIGINAL EM INGLS.

Acesse o site www.maxstream.net para documentao dos mduls XBEE e XBEE PRO.

obter

Os mdulos Xbee e XBee-Pro foram fabricados de acordo com o padro ZigBee/IEEE 802.15.4. Os mdulos operam na freqncia ISM de 2.4 GHz e so compatveis pino a pino. Caractersticas:

A taxa de transmisso de dados de 250 Kbps para ambos os mdulos DSSS (Direct Sequence Spread Spectrum) Cada canal tem disponvel 65.000 endereos de rede Topologias suportadas: ponto a ponto, ponto para multi-ponto e peer-to-peer. Modo de comando AT para configurao dos parmetros do mdulo Interface serial USART: 1200 115200 bps Compatvel em rede com outros dispositivos Zigbee/802.15.4 Alimentao: 2.8 3.4V Temperatura de operao: -40 a 85 C Opes de filtro: PAN ID, Canal e Endereos de Fonte/Destino Mdulo XBee o Alcance urbano : 30 metros o Em linha direta: 100 metros o Potncia de transmisso: 1mW (0 dBm) o Sensibilidade de Recepo: -92dBm o Corrente na transmisso: 45mA a 3.3V o Corrente na recepo: 50mA a 3.3V
o

Corrente em Power-down: < 10A

o Sensibilidade do receptor: -92 dBm (razo de erros 1% pacotes) o Dimenso: 2,438 cm X 2.761 cm o Nmero de canais selecionveis por software: 16

KIT WIRELESS KPMWE

V1.0

21/06/07

26/56

Mdulo XBee-PRO o Alcance urbano: 100m o Em linha direta: 1500m o Potncia de transmisso: 100mW (20 dBm) o Corrente na transmisso: 270mA a 3.3V o Corrente na recepo: 55mA a 3.3V
o

Corrente em Power-down: < 10A

o Sensibilidade do receptor: -100 dBm (razo de erros 1% pacotes) o Dimenso: 2,438 cm X 3.294 cm o Nmero de canais selecionveis por software: 13

KIT WIRELESS KPMWE

V1.0

21/06/07

27/56

Pinos Pi no 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Nome VCC DOUT DIN/CONFIG RESET PWM0/RSSI Direo Sada Entrada Entrada Sada Descrio Alimentao Sada de dados USART Entrada de dados USART Reset do mdulo PWM sada 0 ou indicador de intensidade do sinal DTR/SLEEP_RQ/DI8 GND ON/SLEEP Associate Entrada SLEEP ou entrada digital 8 Terra Indicador de status do mdulo Indicador de associao

Sada Sada

As conexes mnimas so: VCC, GND, DOUT e DIN. O pino de RESET possui um resistor pull-up de 50K. Os pinos que no forem usados devem ficar desconectados.

28

Caractersticas Eltricas Sm bolo VIL Parmetro Input Voltage VIH VOL VOH IIIN IIOZ Input Voltage Output Voltage Output Low Em digitais High Em todas entradas 0,7*VCC VCC-0,5 0,025 0,025 0,5 1 1 V V V A A Condio todas entradas Mn. Tpico Mx. 0,35*VCC Unida de V

digitais Low IOL=2mA, VCC >= 2,7V High IOH=-2mA,VCC>=2,7V

Voltage Input Leakage VIN=VCC ou GND, todas Current High Impedance Leakage Current as entradas, por pino VIN=VCC ,todas I/O HighZ, por pino

29

19.1

MODOS DE OPERAO

Os mdulos XBEE operam em cinco modos de operao:

Figura 10: Modos de Operao

19.1.1

MODO IDLE

O mdulo encontra-se em IDLE quando o mdulo no estiver transmitindo ou recebendo dados. O mdulo sai de IDLE para os outros modos de operao nas seguintes condies: Modo de Transmisso: Dados so recebidos na serial no Buffer DI Modo de Recepo: Dados vlidos RF so recebidos na antena Modo Sleep: Quando uma condio de Sleep for encontrada Modo Comando: Modo de seqncia de comandos estiver em operao

30

19.1.2

MODOS DE TRANSMISSTTO E RECEPO

19.1.2.1 Endereamento Quando a comunicao ocorre entre ns da rede, cada pacote de dados contm um campo de <Endereo Fonte> e um campo de <Endereo Destino>. Os mdulos XBee e XBee Pr conforme a especificao 802.15.4 suportam endereos de 16 bits e 64 bits. Um nico endereo IEEE de 64 bits dado ao dispositivo na sua fabricao e pode ser lido pelos parmetros SL (Serial Number Low) e SH (Serial Number High). Endereos de 16 bits devem ser configurados manualmente. Um mdulo RF usar endereo fonte se o valor MY for 0xFFFF ou 0xFFFE. Para enviar um pacote para um determinado mdulo RF que usa endereamento de 64 bits, faa o Endereo de Destino (DL + DH) ser o mesmo do endereo Fonte (SL + SH) do mdulo destino. Para enviar um pacote para um mdulo especfico RF usando endereamento de 16 bits, faa o parmetro DL (Destination Address Low) ser igual ao parmetro MY e o parmetro DH (Destination Address High) ser 0. Modo Unicast O modo Unicast habilita o reconhecimento de comunicaes. Quando neste modo, o mdulo que recebe a comunicao envia um ACK (reconhecimento) do pacote recebido. Se o mdulo transmissor no receber um ACK, o transmissor enviar novamente o pacote at trs vezes at o ACK ser recebido. O modo Unicast o nico modo que suporta re-envios. Endereamento de 16 bits. O mdulo pode ser configurado para usar endereamento de 16 bits no Endereo Fonte fazendo o parmetro MY < 0xFFFE. Fazendo o parmetro DH=0 configurar o Endereo Destino ser de 16 bits (se DL < 0xFFFE). Para dois mdulos se comunicarem usando endereo de 16 bits, o Endereo Destino do mdulo transmissor deve ser o mesmo do parmetro MY do receptor. endereamento de 64 bits como

31

A Tabela 1 mostra uma configurao de rede usando Modo Unicast com endereamento de 16 bits.
Tabela 1 Configurao Unicast usando endereo de 16 bits

Parmetro MY (Source Address) DH (Destination Address High) DL (Destination Address Low)

Mdulo RF1 0x01 0 0x02

Mdulo RF2 0x02 0 0x01

Endereamento de 64 bits. O nmero serial do mdulo RF (parmetro SL concatenado ao parmetro SH) pode ser usado como endereo de 64 bits quando o parmetro MY (Endereo de 16 bits) estiver desabilitado. Para desabilitar o parmetro MY faa MY=0xFFFF ou MY=0xFFFE. Ao desabilitar o parmetro MY o endereo fonte do mdulo recebe o endereo IEEE de 64 bits armazenado nos parmetros SH e SL. Quando um Dispositivo Final (End Device) se associar a um Coordenador (Coordinator), o parmetro MY vai para 0xFFFE habilitando o endereamento de 64 bits. O endereo de 64 bits do mdulo armazenado nos parmetros SL e SH. Para enviar um pacote para um mdulo especfico, o endereo Destino (DL + DH) do mdulo tranmissor deve ser o mesmo Endereo Fonte (SL + SH) do mdulo receptor. Modo Broadcast. Qualquer mdulo aceitar um pacote que contm o endereo broadcast. Quando configurado para operar no modo Broadcast, o mdulo receptor no envia um Acknowledgements Reconhecimento( ACK) e o mdulo transmissor no re-enviar o pacote como no caso do Modo Unicast. Para enviar um pacote broadcast para todos os mdulos indiferente ao endereamento de 16 bits ou de 64 bits, faa o endereo destino para todos os mdulos como segue: DL (Destination Low Address) = 0x0000FFFF DH (Destination High Address) = 0x00000000

Nota: Ao programar o mdulo, os parmetros devem estar em notao hexadecimal sem o prefixo 0x. Zeros a esquerda podem ser omitidos.

19.1.3

MODO SLEEP

O Modo Slee habilita o mdulo RF a consumir pouca corrente quando ele no estiver em uso. Para executar o modo SLEEP, uma das seguintes condies devem ser satisfeitas (o parmetro SM dever ser diferente de 0): Pino 9 Sleep_RQ em nvel lgico alto

32

O mdulo est em IDLE (sem recepo ou transmisso) pelo montante de tempo definido pelo parmetro ST (Time before Sleep). Nota: ST est ativo somente quando SM=4 ou 5.

Preparando Modo Sleep Pino Hirbenate (SM=1)

Entrada

no

Saindo

do

Caractersticas

Comandos relacionad

Consumo

Modo Sleep Pino Sleep_Rq alto em

Modo Sleep Pino Sleep_Rq baixo em Pino / controaldo pelo host / somente sistemas NonBeacon / o mais baixo consumo Pino / controaldo pelo host / somente sistemas NonBeacon / acorda rpido O mdulo RF acorda em intervalos de tempo prdefinidos para detectar a presena de dados / quando SM=5/ somente sistemas NonBeacon

os (SM)

<10A 3.0VCC)

(@

Pino Doze (SM=2)

Pino Sleep_Rq alto

em

Pino Sleep_Rq baixo

em

(SM)

<50A

Dormir cclico (SM=4-5)

Transio automtica para o Modo Sleep como definido pelos parmetros SM (Sleep Mode) e ST (Time before Sleep)

Transio ocorre aps o intervalo de tempo ocorrer. O intervalo de tempo definido pelo parmetro SP (Cyclic Sleep Period)

(SM),SP,ST

<50A quando dormindo

O comando SM o controle para as configuraes do Modo Sleep. Por padro, o modo SLEEP desabilitado (SM=0) e permanece no Modo Idle/Receive. Quando neste estado, o mdulo est pronto para responder a serial ou uma atividade RF.

Modo Sleep controlado pelo Host. Pin Hibernate (SM=1) Controlado pelo Host Corrente : < 10A (@ 3.0VCC) Tempo para acordar: 13,2 mseg

O modo Pin Hibernate minimiza o consumo de corrente (estado de inatividade). Este modo ativado por tenso, quando o pino Sleep_RQ vai para o nvel lgico alto, o mdulo terminar qualquer transmisso, recepo ou atividade associada, entra no Modo Idle e ento no Modo Sleep. O mdulo no responder a qualquer atividade RF ou serial quando dormindo.

33

Pin Doze (SM=1) Controlado pelo Host Corrente : < 50A Tempo para acrodar: 2 mseg Os modos Pin Hibernate e Pin Doze so semelhantes; contudo, o Modo Pin Doze faz o mdulo acordar mais rpido, mas em compensao gasta mais corrente. Modo Cyclic Sleep Cyclic Sleep Remote (SM=4)

Corrente : < 50A Tempo para acordar: 2 mseg O modo Sleep permite o mdulo periodicamente checar por dados RF. Quando o

parmetro SM vai para 4, o mdulo configurado para dormir, ento acorda em cada ciclo para checar dados do mdulo configurado como Cyclic Sleep Coordinator (SM=6). O Cyclic Sleep Remote envia uma requisio para o cooordenador , a um intervalo especfico determinado pelo parmetro SP(Cyclic Sleep Period), transmitir qualquer dado endereado para o dispositivo que fez a requisio. Se no houver dados a serem transmitidos para o n remoto que fez a requisio, o coordenador no transmitir e o n remoto voltar a dormir por outro ciclo. Se houverem dados a serem trnasmitidos, o n remoto acorda permitindo comunicao at o tempo ST (Time before Sleep) expirar. Note que o pino CTS ir para baixo toda vez que o n remoto acorda, permitindo uma comunicao com o host. Cyclic Sleep Remote com Pin Wake-up (SM=5) Use este modo para acordar o mdulo remoto que esteja dormindo seja atravs da interface RF ou colocando o pino Sleep_RQ em nvel lgico 0. O modo cyclic sleep trabalha do mesmo jeito que o Modo Cyclic Sleep remote com adio do controle do pino que acorda o mdulo remoto. O mdulo ir acordar rapidamente quando um nvel lgico baixo

34

detectado e prepara CTS para nvel lgico zero o mais rpido possvel se estiver pronto para transmitir ou receber. Qualquer atividade zera o ST (Time before Sleep) ento o mdulo ir voltar a dormir somente aps Sleep_Rq estiver em nvel lgico alto e no houver atividade durante este perodo.

19.1.4 MODO COMANDO

Para modificar ou ler parmetros do mdulo RF, o mdulo deve primeiramente entrar no Modo de Comando, ou seja, estado no qual os caracteres que entram no mdulo so interpretados como comandos. Dois modos de comando so suportados: Modo Comando AT e Modo Comando ATI. Um conjunto robusto de comandos AT est disponvel para programao e customizao do mdulo.

19.1.4.1Modo Comando AT

Para entrar no Modo de Comando AT: Envie trs caracteres de seqncia de comando +++ e observe o tempo de guarda antes e depois dos caracteres de comando. Entrando no Modo de Seqncia Comando AT: Nenhum caracter enviado por um segundo [Parametro GT (Guard Time) = 0x3E8] Entre trs caracteres +++ em um intervalo de 1 segundo [CC (Command Sequence Character) parmetro = 0x2B.] No enviar nenhum caracter por um segundo [Parmetro GT (Guard Times) = 0x3E8] Todos os valores dos parmetros na seqncia podem ser modificados para refletir as preferncias do usurio. Continuaremos com a traduo do manual assim que possvel.

35

Existem dois reguladores de low drop-out na placa. U12 tanto pode ser o LM2940CS-5.0 ou o LP38690DT5.0 . Caso o consumo da placa seja pequeno pode-se usar um regulador 7805 sem dissipador de calor. U14 LM1086/TO220 fornece 3,3VDC, enquanto U12 fornece 5VDC. As tenses de entrada recomendadas pelo datasheet do circuito integrado LM2940 devem estar na faixa de 6,25VDC a 26VDC, a do circuito integrado LP38690 devem estar na faixa de 6 a 10VDC. Um bom valor de entrada para a palca de 7,5VDC, que aps a queda de tenso no diodo fornece ao regulador de 5VDC uma tenso de 6,8VDC. U15 e U13 so conversores de nvel. U15 converte nveis de tenso de 5V provenientes do microcontrolador para 3,3V que sero enviados para o mdulo RF XBEE. U13 converte nvel de tenso de 3,3V proveniente do mdulo XBEE para 5V, que ser enviado ao microcontrolador PIC18F8621 ou PIC18F8722. Importante frisar que o XBEE est conectado a USART2 do microcontrolador. As ligaes do rels e display de LCD no necessitam de maiores detalhes.

37

O microcontrolador utilizado pode ser tanto o

Microchip PIC18F8621 quanto o

PIC18F8722 com clock de 33MHz. SW1 a chave de reset. J3 o conector ICSP para programao do microcontrolador. O LED D3 pode ser utilizado para observao da execuo do programa.

39

U1 responsvel pelos nveis de tenso padro RS232. U4 a EEPROM I2C de 64Kbytes. U7 o sensor de temperatura I2C TC74. U3 o RTC I2C M41T00. J7 pode conter uma bateria CR2032 para que o RTC mantenha-se atualizado quando na ausncia de alimentao 5V. R1 e R2 devem ser usados caso algum circuito integrado I2C esteja soldado na placa. Para o microcontrolador PIC18F8621 os valores dos resistores devem ser de 1K. Para o microcontrolador PIC18F8722 os valores dos resistores devem ser de 10K. As portas do microcontrolador disponveis esto presentes nos conectores J1 e J2, assim como as fontes de alimentao de 5VDC e 3,3VDC. Lembre-se que a capacidade de corrente destas fontes de 1A para 5VDC e 1,5A para 3,3VDC (ver os respectivos manuais para maiores detalhes). Algumas portas presentes neste conector j esto sendo usadas, como RC6 e RC7.

41

A placa PMWE pode tambm ser usada como servidor WEB pois possui um PHY RTL8019AS. Deste modo ela pode ser usada com gateway entre o protocolo ZIGBEE e TCP/IP.

43

2 1 . P RO G R A M A E M BA RC A D O

O programa embarcado deve, pelo menos ao meu ver, ser entendido pela simples leitura do mesmo. S listarei as as opes de construo do programa e em quais arquivos elas fazem parte: MACRO USE_LCD Arquivos PMW.c, RTC.C XBEE.C, TC74.C Descrio e Habilitao do display de cristal lquido

A leitura do programa deve ser inicializada pelo arquivo PMW.C.

44

2 2 . A P L I C A T I VO P C

Nosso objetivo desenvolver o aplicativo a seguir, representado pela Figura 11 . Este aplicativo tem como objetivo o a troca de dados entre um PC e as estaes remotas. Este aplicativo foi desenvolvido na linguagem C++ Builder da Borland. O ponto de partida inicial foi o aplicativo desenvolvido por Thierry Schneider , que trata do acesso de informaes as portas seriais USART de um PC.

Figura 11: Aplicativo PC para interfaceamento de informaes com estaes remotas

1. Botes para conectar e desconectar a USART2. 2. Janela que mostra se os comandos foram enviados para a estao remota, assim como, o recebimento de qualquer tipo de dado pelo mdulo XBEE.

45

3. A seguir temos alguns comandos que so enviados para o mdulo XBEE. Para enviar qualquer comando necessrio enviar primeiramente trs caracteres +++. Caso o comando tenha sido efetivamente recebido pelo mdulo XBEE este responde com uma string OK. Qualquer comando deve ser enviado em um intervalo de 6 segundos, depois deste intervalo, o mdulo XBEE volta para modo de receber e enviar dados automaticamente. O comando atmy01 define a estao local como sendo a de 01. Para enviar este comando ao mdulo XBEE pressione o boto <OK> que se encontra a direita. O comando atdl02 define a estao remota como sendo a de nmero 02. Por exemplo, se voc deseja acertar o RTC da estao remota de nmero 50, o comando para selecionar a estao remota deve ser atdl50. Para voltar o mdulo XBEE ao modo de dado deve ser pressionar o boto <OK> que se encontra a direita de atcn.
4. A seguir temos a data e hora que devem ser enviadas para configurao do RTC de

uma estao remota. No esquea de enviar a senha correta para a estao remota para fins de configurao do RTC. O comando 1 significa configurao do RTC. OBSERVAO: A Estao Remota s aceita o comando de configurao do RTC logo aps ela enviar um dado de temperatura para a estao central, pois, no restante do tempo ela estar dormindo a fim de consumir menos energia das baterias de alimentao. A estao remota responde com uma mensagem OK confirmando que a nova configurao do RTC foi recebida. Verifique que ao receber um novo valor de temperatura o horrio e data foram modificados. 5. No lado direito superior temos valores de temperatura e data/hora para as Estaes Remotas 02, 03 e 04. 6. A seguir temos os medidores de nvel para as temperaturas. 7. Os crculos representam o estado do alarme de temperatura. Verde significa que o valore de temperatura est entre os limites mnimo e mximo. Vermelho siginifca que o valor de temperatura est fora do limite. 8. Os limites inferiores e superiores da faixa de variao de temperatura para cada Estao. A seguir vamos enumerar as alteraes ou incluses de cdigo que foram feitas no programa escrito por Thierry Schneider. Verifique na Forma Fmain todos os componetes que foram inseridos na mesma.

46

As alteraes feitas na funo void SerialEventManager(uint32 object, uint32 event) foram: Definies de algumas variveis char buf1[]="TP"; char buf2[]="DH"; char buf3[40]; char* buf4; char buf5[20]; int temp1; int temp2; int temp3; A partir da linha 75 temos: //2EI //2EI //2EI //2EI //2EI //2EI //2EI //2EI

// Label 6 passa a receber todos os dados da serial at a ocorrncia de 0x0d ou 0x0a Fmain->Label6->Caption=Fmain->Label6->Caption+AnsiString(txt); if((txt[0]==0x0d) || (txt[0]==0x0a)) { // buf3 recebe a string da serial strcpy(buf3,Fmain->Label6->Caption.c_str()); // Verifica se string de DATA E HORA (Procura string DH) buf4 = strstr(buf3,buf2); // Encontrando a string DH if (buf4 != NULL) { // buf5 recebe data/hora strncpy(buf5, buf3+5, 19); // Finalizao do buf5 buf5[19]='\0'; // Se foi data e hora da estao remota 02 if(buf3[2]=='0'&&buf3[3]=='2'){ Fmain->Label11->Caption=buf5; } // Se foi data e hora da estao remota 03 if(buf3[2]=='0'&&buf3[3]=='3'){ Fmain->Label17->Caption=buf5; } // Se foi data e hora da estao remota 04 if(buf3[2]=='0'&&buf3[3]=='4'){ Fmain->Label22->Caption=buf5; } } // Verifica se string de TEMPERATURA // Procura String TP de temperatura buf4 = strstr(buf3,buf1); // Encontrando a string "TP" if (buf4 != NULL) { // buf5 com informao TP01=25, por exemplo strncpy(buf5, buf3+5, 2); // finalizao do buf5

buf5[2] = '\0'; // Se foi informao proveniente da estao remota 02

47

if(buf3[2]=='0'&& buf3[3]=='2'){ // valor de temperatura para o Label10 Fmain->Label10->Caption=buf5; // valor de temperatura para o Label26 Fmain->Label26->Caption=buf5; // valor de temperatura no formato inteiro temp1 = atoi(buf5); // valor de temperatura que define comprimento da barra de progresso Fmain->ProgressBar1->Position = temp1; // estado do alarme (circunferncia verde ou vermelha) if (temp1>(Fmain->Edit15->Text.ToInt()) || temp1 < (Fmain->Edit14->Text.ToInt())) { Fmain->Shape1->Brush->Color = clRed; } else{ Fmain->Shape1->Brush->Color = clGreen; } } // Se a informao foi proveniente da estao remota 03 if(buf3[2]=='0'&& buf3[3]=='3'){ Fmain->Label23->Caption=buf5; Fmain->Label27->Caption=buf5; temp2 = atoi(buf5); Fmain->ProgressBar2->Position = temp2; if (temp2>(Fmain->Edit17->Text.ToInt()) || temp2 <(Fmain->Edit16->Text.ToInt())) { Fmain->Shape2->Brush->Color = clRed; } else{ Fmain->Shape2->Brush->Color = clGreen; } } // Se a informao foi proveniente da estao remota 04 if(buf3[2]=='0'&&buf3[3]=='4') { Fmain->Label25->Caption=buf5; Fmain->Label28->Caption=buf5; temp3 = atoi(buf5); Fmain->ProgressBar3->Position = temp3; if (temp3>(Fmain->Edit19->Text.ToInt()) || temp3 <(Fmain->Edit18->Text.ToInt())) { Fmain->Shape3->Brush->Color = clRed; } else{ Fmain->Shape3->Brush->Color = clGreen; } } }

Na linha 180 temos a definio de qual USART ser usada e qual a sua configurao serial_port.connect("COM2",9600,SERIAL_PARITY_NONE,8,false); Quando se vai enviar um comando para o mdulo XBEE necessrio concatenar 0x0d para que o XBEE entenda que final de comando: char buffer1[10]; char buffer2[]={0x0d,0x0}; char* buffer3; strcpy(buffer1,Edit2->Text.c_str()); // Tem que concatenar o 0x0d para que o XBEE entenda que fim de comando buffer3 = strcat(buffer1,buffer2); serial_port.sendData(buffer1, 8);

48

Importante enfatizar o evento Button7Click que envia a configurao de data e hora para a estao remota: char buffer1[25]; char buffer1a[10]; char buffer2[]={0x0d,0x0}; char* buffer3; // buffer1 recebe comando, senha, data e hora a ser enviada ao XBEE // comea pelo nmero do comando strcpy(buffer1,Fmain->Edit5->Text.c_str()); // concatena senha strcpy(buffer1a,Fmain->Edit6->Text.c_str()); buffer3 = strcat(buffer1,buffer1a); // concatena ano strcpy(buffer1a,Fmain->Edit7->Text.c_str()); buffer3 = strcat(buffer1,buffer1a); // concatena ms strcpy(buffer1a,Fmain->Edit8->Text.c_str()); buffer3 = strcat(buffer1,buffer1a); // concatena dia strcpy(buffer1a,Fmain->Edit9->Text.c_str()); buffer3 = strcat(buffer1,buffer1a); // concatena dia da semana (domingo=01... strcpy(buffer1a,Fmain->Edit10->Text.c_str()); buffer3 = strcat(buffer1,buffer1a); // concatena hora strcpy(buffer1a,Fmain->Edit11->Text.c_str()); buffer3 = strcat(buffer1,buffer1a); // concatena minuto strcpy(buffer1a,Fmain->Edit12->Text.c_str()); buffer3 = strcat(buffer1,buffer1a); // concatena segundo strcpy(buffer1a,Fmain->Edit13->Text.c_str());

49

buffer3 = strcat(buffer1,buffer1a); // terminao do buffer buffer3 = strcat(buffer1,buffer2); // envia pela USART serial_port.sendData(buffer1, 22);

50

2 3 . A P N D I C E A - I N S TA L A N D O E E X EC U TA N D O O P RO G R A M A I C - P RO G 1 . 0 5 D ( S O M E N T E PA R A PIC18F8720 E PIC18F8621)

O programa IC-Prog um programador de prottipos desenvolvido por Bonny Gizen (www.ic-prog.com). Para instalar o IC-Prog siga os seguintes passos: Copie a pasta ICPROG que se encontra no CD para o disco rgido do seu computador. Execute o programa ICPROG a partir do disco rgido do seu computador. Selecione a serial em que voc colocar o cabo de programao na janela Hardware settings. O programador selecionado deve ser JDM Programmer. Se voc estiver usando o Windows XP ou NT selecione Windows API, caso contrrio selecione Direct IO. A opo Retardar I/O pode estar com o valor mnimo. Caso a programao da placa no tenha sido efetuada corretamente selecione um valor progressivamente maior de Retardar I/O at que a programao ocorra sem erros. As chaves push-button devem estar pressionadas na interface de programao IP10 durante o processo de gravao do microcontrolador que se encontra na PMW.

Na barra de menu selecione Settings\Options. Clique na aba Language. Selecione a linguagem Portuguese. Na barra de menu selecione Configurao\Opes. Clique na aba Programando. A opo Verifique depois da programao deve estar selecionada. Na barra de menu selecione Configurao\Opes. Clique na aba Diversos. Em Processo Prioritrio selecione Alto. No aplicativo ICPROG, na barra de menus, selecione Configurao\ Dispositivo\Microchip PIC\PIC18F8720 (para o PIC18F8621 selecione PIC18F8620). Na barra de menus, selecione Arquivo\Abrir e carregue o arquivo HEX mpniccpg que se encontra no CDROM, pasta Programa embarcado\vX.XX . No programa IC-Prog, os registradores de configurao devem estar carregados com os seguintes valores (esses valores sero carregados automaticamente para o PIC18F8720, para o PIC18F8621 os valores sero outros): Config1 - 0x2200 Config2 - 0x0004 Config3 - 0x0183 Config4 - 0x0081 Config5 - 0xC0FF Config6 - 0xE0FF Config7 - 0x40FF

51

Valor ID - 0x0600 Alimente a placa PMW. Conecte o cabo de programao na sada serial de seu computador e na placa PMW. Na interface de programao pressione as chaves de modo que elas habilitem a programao do microcontrolador da PMW. ( - Cursor da chave posio de programar , - Cursor da chave posio de no programar). Na barra de menu selecione Comando e depois Programar Tudo. O LED da interface de programao dever ficar ligado. Espere a finalizao da programao. Pressione as chave push-buttos de programao de modo que elas liberem o sinal de RESET do microcontrolador, dados e clock.

Durante a programao, usando a IP10, jamais conecte outro terra a PME-10 sem ser os da interface de programao. Por exemplo, se sua aplicao estiver usando a interface serial USART RS232 voc dever desconectar o cabo serial sempre durante o processo de gravao. Usando outras interfaces programao, como o ICD2BR, este procedimento no necessrio.

Leia a Nota de Aplicao AN005 que pode ser baixada do site www.2ei.co.br na rea Documentos. Ela ensina como instalar os drivers para que a programao seja baseada em Direct I/O e no por API.

52

24.INSTALANDO O PROGRA WINPIC (PIC18F8722)


Instale o programa WinPicSetup que se encontra na pasta WinPIC do CDROM. Substitua o arquivo devices pelo o que se encontra no CD-ROM na pasta WinPIC. O arquivo devices que se encontra no CDROM possui os parmetros para gravao do PIC18F8722. Configure o WinPIC de acordo com as telas a seguir:

V no menu Arquivo , opo Abrir, e carregue o arquivo .hex gerado pelo MPLAB aps a acompilao do projeto.

53

Selecione a aba mensagens. Verifique que WriteBuffers=32 words, caso isto no acontea, consulte a documentao do WINPIC. Uma das alternativas para resolver este problema executar o WINPIC atravs da linha de comando winpic /device=xxxx. Se no conseguir resolver o problema entre em contato com franklin_souza@uol.com.br.

Verifique na Interface de Programao as chaves RESET e CK/DAD devem estar pressionadas, ou seja, em baixo. Clique no boto Programar Dispositivo. A programao deve ocorrer sem nenhum erro, conforme figura a seguir.

Para execuo do programa as chaves da Interface de Programao RESET e CK/DAD no devem estar pressionadas. Caso ocorram erros durante a programao, sugiro que o programa WinPIC seja executado no modo de compatibilidade Windows 2000, conforme a figura a seguir:

54

55

25.APNDICE H. DIFERENAS PARA PROGRAMAR O PIC18F8722 E O PIC18F8621


Diferenas no MPLAB IDE: Header Files no menu View/Project: p18f8621.h Linker Scripts no menu View/Project: 18f8621.lkr

Diferenas no IC-PROG: O dispositivo selecionado passa a ser o PIC18F8620.

Quando usando o ICD da Mosaico no modo Debugger o arquivo de link deve ter a opo 18f8722i.lkr ou 18f8621i.lkr . Esperamos que este tutorial ajude voc a implementar sua aplicao. Caso tenha alguma dvida teremos o maior prazer em ajudar-lhe. Basta entrar em contato pelo e-mail:
2ei@2ei.com.br, pelo MSN fk.2ei@hotmail.com ou SKYPE sky.2ei.

Att. Eng. Franklin

56