2 manual clp pic40 v3

14
Manual – Clp Pic40-v3 www.vwsolucoes.com Copyright® 2011 – VW Soluções

Upload: filipegomessilva

Post on 30-Dec-2015

41 views

Category:

Documents


1 download

TRANSCRIPT

Manual – Clp Pic40-v3 www.vwsolucoes.com

Copyright® 2011 – VW Soluções

Manual – Clp Pic40-v3 www.vwsolucoes.com

Copyright® 2011 – VW Soluções

Apresentação O ClpPic40-v3 foi desenvolvido com base no microcontrolador PIC16F877A, mas pode ser utilizado qualquer outro PIC de 40 pinos da família 16F ou 18F (observar a pinagem). Ele possui várias funcionalidades. Têm várias entradas digitais, muitas saídas que podem ser à relé (contatos reversíveis), a transistor ou a triac, 01 entrada analógica (0-5V ou 0-10V ou 0-20mA, com resolução de 10 bits). É possível instalar Display Lcd no conector “LCD” (PortB), o que lhe oferece grande versatilidade em seu projeto. Utilize sua imaginação e desenvolva uma IHM com display de 2 ou 4 linhas, permitindo que operadores modifiquem variáveis pré-estabelecidas em seu projeto, etc. Como você pode ver, as possibilidades de programação são imensas. O equipamento possui também comunicação serial através da porta RS232 ou RS485 (selecionável através de jumper) para se comunicar com um PC, com outra placa ClpPic ou com qualquer outro equipamento que possua comunicação serial RS232 ou RS485. O ClpPic40-v3 possui também barramento I2C, disponibilizando locais para instalação de memória Eeprom (ex.: 24C256) e RTCC (Real Time Clock/Calendário). A instalação da memória é opcional e deverá ser instalada somente se sua aplicação necessitar. Normalmente utilizada para armazenamento de dados (banco de dados). O Real Time Clock sugerido para utilização é o DS1307 e deverá ser instalado somente se houver necessidade em sua aplicação. Deverá ser instalado também um cristal de 32.768KHz e uma bateria de 3V-Lithium (CR2032) necessária para manter o relógio funcionando mesmo na ausência de alimentação da placa.

O ClpPic40-v3 acompanha os seguintes softwares e códigos fontes. SOFTWARES: Software Eclipse.exe , utilizado para gravação do PIC via porta Usb do PC. Software LDmicro.exe , para programação do PIC em linguagem Ladder. Software MikroC , para programação do PIC em linguagem C. Software MPLAB , para programação do PIC em linguagem Assembly. Todos os softwares são de uso livre. CODIGOS FONTE:

• Código fonte do programa de teste das entradas e saídas da placa escrito em Assembly; • Código fonte do Supervisório para teste de comunicação serial entre o ClpPic40-v3 e o PC;

� Programa do PIC escrito em Assembly � Programa do PC escrito com Microsoft Visual C# 2008 Express Edition.

Índice

1. Especificações técnicas 2. Montagem do cabo serial RS232. 3. Lista de material 4. Descrição dos pinos do PIC relacionados às funções na placa 5. Configuração do PIC 6. Detalhes importantes na placa 7. Transferência do arquivo .HEX para o Clp 8. Garantia

Manual – Clp Pic40-v3 www.vwsolucoes.com

Copyright® 2011 – VW Soluções

1. Especificação técnicas : Dimensões: 15,2 cm de comprimento por 13,7 cm de largura. Peso aproximado: 250 gramas (montada). Alimentação: 12Vcc ou 24Vcc por 500mA. O ClpPic40-v3 deve ser alimentado por uma fonte de corrente contínua com a mesma tensão dos relés de saída, pois as entradas (E1 a E12) e os relés recebem diretamente a alimentação da entrada. Obs.: Se for instalado equipamentos nas entradas e saídas do ClpPic40-v3 que consuma energia elétrica, esse consumo deve ser somado para o correto dimensionamento da fonte de corrente contínua. Se for utilizado 24Vcc deverá ser instalado dissipador de calor no regulador de tensão (7805). Características: PIC - Microcontrolador PIC 16F877A, mas se desejar pode ser utilizado outro PIC de 40 pinos (observar a pinagem); MEMORIA - 01 local reservado para instalação de memória Eeprom (comunicação I2C) - Opcional; RTCC - 01 local reservado para instalação de Real Time Clock/Calendário - DS1307 (comunicação I2C) - Opcional; I/O´s

• 12 entradas digitais: Entradas do tipo contato aberto e fechado com fotoacopladores. Todas as 12 entradas são mapeadas por leds.

• 01 entrada analógica: Conversor A/D de 10Bits. Entrada de 0-5V ou 0-10V ou 0-20mA, selecionável através de jumper.

• 08 saídas: Saídas do tipo contato de Relés (contatos reversíveis) 15A – 120VAC. As saídas também podem ser a transistor (IRF9540) ou a triac (TIC226) - Opcional. Lembrando que as saídas a transistor ou a triac são fotoacopladas.

• Conector LCD: 08 entradas ou saídas TTL rápidas diretas ao microcontrolador. Normalmente usado para instalar um LCD ou para conectar a placa de expansão de I/Os.

• Porta Serial: RS232 de uso genérico (RX, TX, GND). • Porta Serial: RS485 half duplex - Opcional.

• ICSP: Pinagem disponível para gravação in-circuit do microcontrolador usado.

2. Montagem do cabo Serial RS232.

Manual – Clp Pic40-v3 www.vwsolucoes.com

Copyright® 2011 – VW Soluções

3. Lista de material

* Memória para comunicação I2C de acordo com sua necessidade. Exemplo: 24C256 ** Pode ser utilizado qualquer outro PIC de 40 pinos (observar a pinagem). Esta lista foi montada a fim de ser usada como list a de compra das peças e também de auxiliar na montagem da placa, devido à tabela conter uma colun a com a sigla que representa cada componente na placa.

Item Qtde Descrição Sigla na placa 01 01 Barra pinos 1x40 vias -11,2mm -180 graus ICSP, entr. analógica, E12/RS485 e RS232/RS485

02 01 Bateria Lithium – 3V BT1 03 02 Capacitor cerâmico - 33pF C1,2 04 01 Capacitor eletrolítico - 470uF x 6,3V C5 05 05 Capacitor eletrolítico - 1uF x 25V C7, 8, 9, 10, 22 06 06 Capacitor cerâmico - 100nF C3, 4, 6, 11, 20, 21 07 08 Diodo - 1N4148 D1, 2, 3, 4, 5, 6, 7, 8 08 01 Diodo - 1N4007 D9 09 02 Transil - P6KE6V8A DS1, 2 10 01 Diodo Zener - 5,1v - 1N4733 DZ1 11 01 Diodo Zener - 13v - 1N4743 DZ2 12 01 Conector - Header 10 pinos 180° LCD 13 13 LED - verde 3mm LD1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ON 14 08 LED - vermelho 3mm LQ1, 2, 3, 4, 5, 6, 7, 8 15 08 Transistor - BC548 Q1, 2, 3, 4, 5, 6, 7, 8 16 08 Relé - 12V - 1 pólo - 2 posições K1, 2, 3, 4, 5, 6, 7, 8 17 01 Trimpot multivoltas - 100R P1

18 27 Resistor - 4K7 R1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 82, 85, 93

19 33 Resistor - 10K R3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 77, 78, 80, 81, 92

20 02 Resistor - 56R R83, 84 21 01 Resistor - 500R – Precisão R79 22 01 Conector - DB9 - Macho 90° solda placa RS232 23 01 Pulsador - Tátil S1 24 12 Fotoacoplador - PC 817A U1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 25 01 MAX485 U21 26 01 MAX232N U22 27 01 Memória Eeprom (Ex: 24C256) ( * ) U23 28 01 RTC (Real Time Clock) - DS1307 U24 29 01 Microcontrolador - PIC16F877A ( ** ) U25 30 01 Regulador de tensão - 7805 VR1 31 01 Cristal - 4MHz XT1 32 01 Cristal – 32.768KHz XT2

Manual – Clp Pic40-v3 www.vwsolucoes.com

Copyright® 2011 – VW Soluções

Para saída TRIAC: Para utilizar saída a TRIAC, retirar o relé e acrescentar os componentes que segue abaixo:

Para saída a TRANSISTOR: Para saída a transistor, retirar o relé e acrescentar os componentes que segue abaixo: Jumpear os capacitores C12, 13, 14, 15, 16, 17, 18, 19 e jumpear também nas sinalizações ao lado dos fotoacopladores.

Obs.: Para saída transistor montar o transistor inv ertido com relação ao silk screen (Q17, 18, 19, 20, 21, 22, 23 , 24). 4. DESCRIÇÃO DOS PINOS DO PIC Pino 19 RD0 Entrada digital 1 Pino 20 RD1 Entrada digital 2 Pino 21 RD2 Entrada digital 3 Pino 22 RD3 Entrada digital 4 Pino 27 RD4 Entrada digital 5 Pino 28 RD5 Entrada digital 6 Pino 29 RD6 Entrada digital 7 Pino 30 RD7 Entrada digital 8 Pino 03 RA1 Entrada digital 9 Pino 04 RA2 Entrada digital 10 Pino 05 RA4 Entrada digital 11 Pino 06 RA3 Entrada digital 12 ou Controle RS485 Pino 02 RA0 Entrada analógica AN0 Pino 15 RC0 Saída 1 Pino 17 RC2 Saída 2 Pino 16 RC1 Saída 3 Pino 07 RA5 Saída 4 Pino 08 RE0 Saída 5 Pino 09 RE1 Saída 6 Pino 10 RE2 Saída 7 Pino 24 RC5 Saída 8

Item Qtde Descrição Sigla na placa 33 08 Fotoacoplador - MOC3063 / MOC3041 U13, 14, 15, 16, 17, 18, 19, 20 34 08 Resistor – 1k5 R53, 56, 59, 62, 65, 68, 71, 74 35 08 Resistor – 330R R54, 57, 60, 63, 66, 69, 72, 75 36 08 Resistor – 39R R55, 58, 61, 64, 67, 70, 73, 76 37 08 Capacitor poliéster - 10nF / 400v C12, 13, 14, 15, 16, 17, 18, 19 38 08 Triac - TIC226 Q17, 18, 19, 20, 21, 22, 23, 24

Item Qtde Descrição Sigla na placa

39 08 Transistor - IRF9540 Q17, 18, 19, 20, 21, 22, 23, 24 (posição invertida do silk screen)

40 08 Fotoacoplador – PC817 U13, 14, 15, 16, 17, 18, 19, 20 41 08 Resistor – 4k7 R53 56, 59, 62, 65, 68, 71, 74 42 08 Resistor – 10k R54, 57, 60, 63, 66, 69, 72, 75

Manual – Clp Pic40-v3 www.vwsolucoes.com

Copyright® 2011 – VW Soluções

Pino 18 RC3 / SCL Barramento I2C Pino 23 RC4 / SDA Barramento I2C Pino 25 RC6 / TX RS232 ou RS485 – TX – Transmite Pino 26 RC7 / RX RS232 ou RS485 – RX – Recebe Pino 11 VDD Alimentação +5v Pino 32 VDD Alimentação +5v Pino 12 VSS Alimentação 0v Pino 31 VSS Alimentação 0v Pino 13 OSC1 Interligação do cristal Pino 14 OSC2 Interligação do cristal Pino 33 RB0 Conector LCD Pino 34 RB1 Conector LCD Pino 35 RB2 Conector LCD Pino 36 RB3 Conector LCD Pino 37 RB4 Conector LCD Pino 38 RB5 Conector LCD Pino 39 RB6 Conector LCD / usado na gravação do PIC Pino 40 RB7 Conector LCD / usado na gravação do PIC Pino 1 MCLR Usado na gravação do PIC / e táctil RESET

5. CONFIGURAÇÃO DO PIC Para o correto funcionamento do ClpPic40-v3, independente de qual linguagem em que o mesmo for programado, algumas configurações devem estar sempre presente como mostraremos a seguir. Mostraremos 2 exemplos de configuração de programadores (Um em assembly e outro em C). CONFIGURAÇÕES DO PIC EM ASSEMBLY (exemplo dado atra vés do MPLAB). ; ------------------------------------------------------------------------- ; Projeto: Configuração padrão da placa ClpPic40-v3. ; Microcontrolador: PIC16F877A ; Data: 01/08/2010 ; Autor: Wagner Santos Maurício. ; Obs.: ; Precisão: ; Versão: 3.0 ; ------------------------------------------------------------------------- #include<P16F877A.INC>

__CONFIG _CP_OFF & _CPD_OFF & _DEBUG_OFF & _LVP_OFF & _BODEN_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC ; _CP_OFF Memória de programa desprotegida contra leitura; ; _WRT_OFF Sem permissão para escrever na memória de programa durante execução do programa; ; _DEBUG_OFF Debug desativado; ; _CPD_OFF Memória Eeprom protegida contra leitura; ; _LVP_OFF Programação em baixa tensão desabilitada; ; _WDT_OFF WDT desativado; ; _BODEN_OFF Brown - out desativado; ; _PWRTE_ON Power-on reset ativado; ; _XT_OSC Oscilador a cristal (4MHz) ERRORLEVEL -302 #DEFINE BANK1 BSF STATUS,RP0 ;VAI PARA O BANCO 1 #DEFINE BANK0 BCF STATUS,RP0 ;VAI PARA O BANCO 0 ;#DEFINE DISP_LCD PORTB ;UTILIZADO PARA LCD ;#DEFINE RS PORTB,4 ;UTILIZADO PARA LCD ;#DEFINE ENABLE PORTB,5 ;UTILIZADO PARA LCD #DEFINE E1 PORTD,0 ;ENTRADA E1 #DEFINE E2 PORTD,1 ;ENTRADA E2 #DEFINE E3 PORTD,2 ;ENTRADA E3 #DEFINE E4 PORTD,3 ;ENTRADA E4 #DEFINE E5 PORTD,4 ;ENTRADA E5 #DEFINE E6 PORTD,5 ;ENTRADA E6 #DEFINE E7 PORTD,6 ;ENTRADA E7 #DEFINE E8 PORTD,7 ;ENTRADA E8 #DEFINE E9 PORTA,1 ;ENTRADA E9 #DEFINE E1 PORTA,2 ;ENTRADA E10 #DEFINE E11 PORTA,4 ;ENTRADA E11 #DEFINE E12 PORTA,3 ;ENTRADA E12 #DEFINE LIGA_SAIDA1 BSF PORTC,0 ;SAIDA 1 #DEFINE DESLIGA_SAIDA1 BCF PORTC,0 ;SAIDA 1 #DEFINE LIGA_SAIDA2 BSF PORTC,2 ;SAIDA 2 #DEFINE DESLIGA_SAIDA2 BCF PORTC,2 ;SAIDA 2 #DEFINE LIGA_SAIDA3 BSF PORTC,1 ;SAIDA 3 #DEFINE DESLIGA_SAIDA3 BCF PORTC,1 ;SAIDA 3 #DEFINE LIGA_SAIDA4 BSF PORTA,5 ;SAIDA 4 #DEFINE DESLIGA_SAIDA4 BCF PORTA,5 ;SAIDA 4 #DEFINE LIGA_SAIDA5 BSF PORTE,0 ;SAIDA 5 #DEFINE DESLIGA_SAIDA5 BCF PORTE,0 ;SAIDA 5

Manual – Clp Pic40-v3 www.vwsolucoes.com

Copyright® 2011 – VW Soluções

#DEFINE LIGA_SAIDA6 BSF PORTE,1 ;SAIDA 6 #DEFINE DESLIGA_SAIDA6 BCF PORTE,1 ;SAIDA 6 #DEFINE LIGA_SAIDA7 BSF PORTE,2 ;SAIDA 7 #DEFINE DESLIGA_SAIDA7 BCF PORTE,2 ;SAIDA 7 #DEFINE LIGA_SAIDA8 BSF PORTC,5 ;SAIDA 8 #DEFINE DESLIGA_SAIDA8 BCF PORTC,5 ;SAIDA 8 CBLOCK 0X20 ENDC ; ..................................................................................... ORG 0x00 GOTO CONFIGURACAO ; ..................................................................................... ORG 0X04 RETFIE ;..................................................................................... CONFIGURACAO ; BTFSC STATUS,4 ; GOTO $-1 ; BSF STATUS,4 BANK1 "1" É ENTRADA E "0" É SAIDA

MOVLW B'11011111' ; RA0 pode ser entrada analógica ou entrada/saída TTL, se não for utilizar deixe como entrada (TTL)="1" MOVWF TRISA ; RA1, RA2 e RA3 só pode ser configurado como entrada - "1" ; RA4 pode ser entrada (E12) ou saida TTL (RS485) - no momento está configurado como entrada (E12) ; RA5 deve ser configurado como saída - "0" ; RA6 e RA7 deixe sempre como entrada = "1" MOVLW B'11111111' ; Se não for utilizar o conector LCD deixe sempre configurado como entrada todos os pinos = "1". MOVWF TRISB MOVLW B'11011000' ; RC0, RC1, RC2 e RC5 devem ser configurados sempre como saída = "0" MOVWF TRISC ; RC3 e RC4 é utilizado para comunicação I2C (Memória EEprom e/ou RTC), deixe como entrada = "1" ; RC6 e RC7 são utilizados para RS232 ou RS485, deixe como entrada = “1”. MOVLW B'11111111' ;Todo PortD deve ser configurado como entrada = “1”. MOVWF TRISD ;

MOVLW B'00000000' ; RE0,RE1 e RE2 deve ser configurado como saida = "0" MOVWF TRISE ; ou seja todo o port deve ficar como está MOVLW B'00001111' ;Bit 7 RBPU: PORTB Pull-up Enable bit MOVWF OPTION_REG ; 1 = PORTB pull-ups are disabled ; 0 = PORTB pull-ups are enabled by individual port latch values ;Bit 6 INTEDG: Interrupt Edge Select bit ; 1 = Interrupt on rising edge of RB0/INT pin ; 0 = Interrupt on falling edge of RB0/INT pin ;Bit 5 T0CS: TMR0 Clock Source Select bit ; 1 = Transition on RA4/T0CKI pin ; 0 = Internal instruction cycle clock (CLKO) ;Bit 4 T0SE: TMR0 Source Edge Select bit ; 1 = Increment on high-to-low transition on RA4/T0CKI pin ; 0 = Increment on low-to-high transition on RA4/T0CKI pin ;Bit 3 PSA: Prescaler Assignment bit ; 1 = Prescaler is assigned to the WDT ; 0 = Prescaler is assigned to the Timer0 module ;Bit 2-0 PS2:PS0: Prescaler Rate Select bits ;Legend: ;VALOR TMR0 WDT ;000 1:2 1:1 ;001 1:4 1:2 ;010 1:8 1:4 ;011 1:16 1:8 ;100 1:32 1:16 ;101 1:64 1:32 ;110 1:128 1:64 ;111 1:256 1:128 MOVLW B'11000000' ;Bit 7 GIE: Global Interrupt Enable bit MOVWF INTCON ; 1 = Enables all unmasked interrupts ; 0 = Disables all interrupts ;Bit 6 PEIE: Peripheral Interrupt Enable bit ; 1 = Enables all unmasked peripheral interrupts ; 0 = Disables all peripheral interrupts ;Bit 5 TMR0IE: TMR0 Overflow Interrupt Enable bit ; 1 = Enables the TMR0 interrupt ; 0 = Disables the TMR0 interrupt ;Bit 4 INTE: RB0/INT External Interrupt Enable bit ; 1 = Enables the RB0/INT external interrupt ; 0 = Disables the RB0/INT external interrupt ;Bit 3 RBIE: RB Port Change Interrupt Enable bit ; 1 = Enables the RB port change interrupt ; 0 = Disables the RB port change interrupt ;Bit 2 TMR0IF: TMR0 Overflow Interrupt Flag bit ; 1 = TMR0 register has overflowed (must be cleared in software) ; 0 = TMR0 register did not overflow ;Bit 1 INTF: RB0/INT External Interrupt Flag bit ; 1 = The RB0/INT external interrupt occurred (must be cleared in software) ; 0 = The RB0/INT external interrupt did not occur ;Bit 0 RBIF: RB Port Change Interrupt Flag bit ; 1 = At least one of the RB7:RB4 pins changed state; a mismatch condition will continue to set ; the bit. Reading PORTB will end the mismatch condition and allow the bit to be cleared ; (must be cleared in software). ; 0 = None of the RB7:RB4 pins have changed state MOVLW B'00000001' ;Bit 7 PSPIE: Parallel Slave Port Read/Write Interrupt Enable bit(1) MOVWF PIE1 ; 1 = Enables the PSP read/write interrupt ; 0 = Disables the PSP read/write interrupt ; Note 1: PSPIE is reserved on PIC16F873A/876A devices; always maintain this bit clear. ;Bit 6 ADIE: A/D Converter Interrupt Enable bit ; 1 = Enables the A/D converter interrupt ; 0 = Disables the A/D converter interrupt

Manual – Clp Pic40-v3 www.vwsolucoes.com

Copyright® 2011 – VW Soluções

;Bit 5 RCIE: USART Receive Interrupt Enable bit ; 1 = Enables the USART receive interrupt ; 0 = Disables the USART receive interrupt ;Bit 4 TXIE: USART Transmit Interrupt Enable bit ; 1 = Enables the USART transmit interrupt ; 0 = Disables the USART transmit interrupt ;Bit 3 SSPIE: Synchronous Serial Port Interrupt Enable bit ; 1 = Enables the SSP interrupt ; 0 = Disables the SSP interrupt ;Bit 2 CCP1IE: CCP1 Interrupt Enable bit ; 1 = Enables the CCP1 interrupt ; 0 = Disables the CCP1 interrupt ;Bit 1 TMR2IE: TMR2 to PR2 Match Interrupt Enable bit ; 1 = Enables the TMR2 to PR2 match interrupt ; 0 = Disables the TMR2 to PR2 match interrupt ;Bit 0 TMR1IE: TMR1 Overflow Interrupt Enable bit ; 1 = Enables the TMR1 overflow interrupt ; 0 = Disables the TMR1 overflow interrupt MOVLW B'00000000' ;Bit 7 Unimplemented: Read as ‘0’ MOVWF PIE2 ;Bit 6 CMIE: Comparator Interrupt Enable bit ; 1 = Enables the comparator interrupt ; 0 = Disable the comparator interrupt ;Bit 5 Unimplemented: Read as ‘0’ ;Bit 4 EEIE: EEPROM Write Operation Interrupt Enable bit ; 1 = Enable EEPROM write interrupt ; 0 = Disable EEPROM write interrupt ;Bit 3 BCLIE: Bus Collision Interrupt Enable bit ; 1 = Enable bus collision interrupt ; 0 = Disable bus collision interrupt ;Bit 2-1 Unimplemented: Read as ‘0’ ;Bit 0 CCP2IE: CCP2 Interrupt Enable bit ; 1 = Enables the CCP2 interrupt ; 0 = Disables the CCP2 interrupt MOVLW B'00000101' ;Bit 0,LIGA E DESLIGA A ENTRADA ANALÓGICA - BIT 2, STATUS ANALÓGICO MOVWF ADCON0 MOVLW B'00001110' ;B'00001110' - An0 somente será analógico e restante digital MOVWF ADCON1 ;CONVERSOR A-D (RA0 LIGADO) BANK0 MOVLW B'00000000' ;Bit 7 PSPIF: Parallel Slave Port Read/Write Interrupt Flag bit(1) MOVWF PIR1 ; 1 = A read or a write operation has taken place (must be cleared in software) ; 0 = No read or write has occurred ; Note 1: PSPIF is reserved on PIC16F873A/876A devices; always maintain this bit clear. ;Bit 6 ADIF: A/D Converter Interrupt Flag bit ; 1 = An A/D conversion completed ; 0 = The A/D conversion is not complete ;Bit 5 RCIF: USART Receive Interrupt Flag bit ; 1 = The USART receive buffer is full ; 0 = The USART receive buffer is empty ;Bit 4 TXIF: USART Transmit Interrupt Flag bit ; 1 = The USART transmit buffer is empty ; 0 = The USART transmit buffer is full ;Bit 3 SSPIF: Synchronous Serial Port (SSP) Interrupt Flag bit ; 1 = The SSP interrupt condition has occurred and must be cleared in software before returning ; from the Interrupt Service Routine. The conditions that will set this bit are: ; • SPI – A transmission/reception has taken place. ; • I2C Slave – A transmission/reception has taken place. ; • I2C Master ; - A transmission/reception has taken place. ; - The initiated Start condition was completed by the SSP module. ; - The initiated Stop condition was completed by the SSP module. ; - The initiated Restart condition was completed by the SSP module. ; - The initiated Acknowledge condition was completed by the SSP module. ; - A Start condition occurred while the SSP module was Idle (multi-master system). ; - A Stop condition occurred while the SSP module was Idle (multi-master system). ; 0 = No SSP interrupt condition has occurred ;Bit 2 CCP1IF: CCP1 Interrupt Flag bit ; Capture mode: ; 1 = A TMR1 register capture occurred (must be cleared in software) ; 0 = No TMR1 register capture occurred ;Compare mode: ; 1 = A TMR1 register compare match occurred (must be cleared in software) ; 0 = No TMR1 register compare match occurred ; PWM mode: ; Unused in this mode. ;Bit 1 TMR2IF: TMR2 to PR2 Match Interrupt Flag bit ; 1 = TMR2 to PR2 match occurred (must be cleared in software) ; 0 = No TMR2 to PR2 match occurred ;Bit 0 TMR1IF: TMR1 Overflow Interrupt Flag bit ; 1 = TMR1 register overflowed (must be cleared in software) ; 0 = TMR1 register did not overflow MOVLW B'00000000' ;Bit 7 Unimplemented: Read as ‘0’ MOVWF PIR2 ;Bit 6 CMIF: Comparator Interrupt Flag bit ; 1 = The comparator input has changed (must be cleared in software) ; 0 = The comparator input has not changed ;Bit 5 Unimplemented: Read as ‘0’ ;Bit 4 EEIF: EEPROM Write Operation Interrupt Flag bit ; 1 = The write operation completed (must be cleared in software) ; 0 = The write operation is not complete or has not been started ;Bit 3 BCLIF: Bus Collision Interrupt Flag bit ; 1 = A bus collision has occurred in the SSP when configured for I2C Master mode ; 0 = No bus collision has occurred ;Bit 2-1 Unimplemented: Read as ‘0’ ;Bit 0 CCP2IF: CCP2 Interrupt Flag bit ; Capture mode: ; 1 = A TMR1 register capture occurred (must be cleared in software) ; 0 = No TMR1 register capture occurred

Manual – Clp Pic40-v3 www.vwsolucoes.com

Copyright® 2011 – VW Soluções

; Compare mode: ; 1 = A TMR1 register compare match occurred (must be cleared in software) ; 0 = No TMR1 register compare match occurred ; PWM mode: ; Unused. MOVLW B'00110000' ;Bit 7-6 Unimplemented: Read as ‘0’ MOVWF T1CON ;Bit 5-4 T1CKPS1:T1CKPS0: Timer1 Input Clock Prescale Select bits ; 11 = 1:8 prescale value ; 10 = 1:4 prescale value ; 01 = 1:2 prescale value ; 00 = 1:1 prescale value ;Bit 3 T1OSCEN: Timer1 Oscillator Enable Control bit ; 1 = Oscillator is enabled ; 0 = Oscillator is shut-off (the oscillator inverter is turned off to eliminate power drain) ;Bit 2 T1SYNC: Timer1 External Clock Input Synchronization Control bit ; When TMR1CS = 1: ; 1 = Do not synchronize external clock input ; 0 = Synchronize external clock input ; When TMR1CS = 0: ; This bit is ignored. Timer1 uses the internal clock when TMR1CS = 0. ;Bit 1 TMR1CS: Timer1 Clock Source Select bit ; 1 = External clock from pin RC0/T1OSO/T1CKI (on the rising edge) ; 0 = Internal clock (FOSC/4) ;Bit 0 TMR1ON: Timer1 On bit ; 1 = Enables Timer1 ; 0 = Stops Timer1 CLRF PORTA CLRF PORTB CLRF PORTC CLRF PORTD CLRF PORTE CLRWDT ;..................................................................................... INICIO ;Inicia a programação.

END ;finaliza a programação.

CONFIGURAÇÃO DO PIC EM “C” (exemplo dado através do MikroC). Na janela abaixo deixar selecionado os seguintes opções: ; _CP_OFF Memória de programa desprotegida contra leitura; ; _DEBUG_OFF Debug desativado; ; _WRT_OFF Sem permissão p/ escrever na memória de programa durante execução do programa; ; _CPD_OFF Memória Eeprom protegida contra leitura; ; _LVP_OFF Programação em baixa tensão desabilitada; ; _BODEN_OFF Brown - out desativado; ; _PWRTE_ON Power-on reset ativado; ; _WDT_OFF WDT desativado; ; _XT_OSC Oscilador a cristal (4MHz)

Manual – Clp Pic40-v3 www.vwsolucoes.com

Copyright® 2011 – VW Soluções

Corpo do programa: #define E1 portd.f0 #define E2 portd.f1 #define E3 portd.f2 #define E4 portd.f3 #define E5 portd.f4 #define E6 portd.f5 #define E7 portd.f6 #define E8 portd.f7 #define E9 porta.f1 #define E10 porta.f2 #define E11 porta.f3 #define E12 porta.f4 #define S1 portc.f0 #define S2 portc.f2 #define S3 portc.f1 #define S4 porta.f5 #define S5 porte.f0 #define S6 porte.f1 #define S7 porte.f2 #define S8 portc.f5 //------------------------------------------- //inicio do programa //------------------------------------------- void main(){ trisa=0b11011111; trisb=0b00000000; trisc=0b00011000; trisd=0b11111111; trise=0b000; adcon1=0b00001110; do{ }while(1); } Obs.: As outras configurações são opcionais e dependem exclusivamente das necessidades do seu projeto.

Manual – Clp Pic40-v3 www.vwsolucoes.com

Copyright® 2011 – VW Soluções

6. DETALHES IMPORTANTES NA PLACA

1 - Entradas digitais (E1 a E12) Todas as entradas são mapeadas por LEDS. São entradas para contato seco e todos os sensores digitais como, por exemplo, botões e chaves fim de curso. Também é possível a ligação de sensores de luz (LDRs) diretamente, Sensores indutivos, capacitivos, fotoelétricos, etc. A tensão de entrada pode ficar entre 7 e 30VCC para reconhecer estado alto na entrada.

Manual – Clp Pic40-v3 www.vwsolucoes.com

Copyright® 2011 – VW Soluções

2 - Saídas que pode ser a relé, transistor ou triac . 2.1 - Saídas a Relés (K1 a K8) Todas as saídas são mapeadas por LEDS. Através das saídas a Relês, é possível ligar/desligar dispositivos conectados à rede elétrica (corrente alternada) 110 ou 220v, ou mesmo aqueles alimentados com corrente contínua (pilhas ou baterias). Para ambas as fontes de energia, o consumo de corrente dos dispositivos não pode ultrapassar os 7,5A (em 110v) e, 5A (em 220v). Veja na ilustração abaixo, um esquema de como instalar os dispositivos na placa Clp Pic40-v3. Nota: NA – Interruptor Normalmente Aberto; C – Comum NF – Interruptor Normalmente Fechado.

2.2 - Saídas a Transistor (Q9 a Q16) Todas as saídas são mapeadas por LEDS. Através das saídas a transistor, é possível ligar e desligar dispositivos com corrente contínua. Cada saída possui sua entrada de alimentação independente para alimentar sua carga. Desta forma é possível utilizar fontes diferentes para diferentes cargas, inclusive com tensões diferentes. Em casos onde a carga faça variar muito a tensão da fonte, aconselhamos utilizar uma fonte de alimentação separada para a placa.

Nota: NA – Sinal de saída igual a VCC. C – Tensão de alimentação da Saída. NF – GND da saída.

Manual – Clp Pic40-v3 www.vwsolucoes.com

Copyright® 2011 – VW Soluções

2.3 - Saídas a Triac (Q17 a Q24) Todas as saídas são mapeadas por LEDS. Através das saídas a triac, é possível ligar e desligar dispositivos em corrente alternada (110V ou 220V). Nota: NA – Retorno da carga C – Entrada da rede (110v ou 220v) NF – Na saída a triac não é utilizado

3 - Microcontrolador PIC16F877A Controla todas as funções da placa Clp Pic40-v3, como as saídas (Relês, Transistor ou Triac), comunicação Serial (RS232 ou RS485), barramento I2C, entradas digitais (E1 a E12), entrada analógica, etc. 4 - Jumper de seleção RS232/RS485 Para selecionar qual das portas de comunicação será utilizada, RS232 ou RS485, pois não pode ser utilizada as duas ao mesmo tempo, tem que ser escolhida através deste jumper qual meio irá utilizar. 5 - Jumper de seleção E12/RS485 Se for utilizar a comunicação RS485, a entrada E12 não poderá ser usada com entrada digital, pois terá que ser selecionada através deste jumper na posição RS485 para servir como pino de controle da Rede 485. 6 - Jumper de seleção da configuração da entrada an alógica Selecionar apenas uma delas: 1 - Entrada analógica de 0 a 10v - Jumper J1 fechado e Jumper 0-10v fechado. 2 - Entrada analógica de 0 a 5v - Jumper J2 fechado e Jumper 0-5v fechado. 3 - Entrada analógica de 0 a 20mA - Jumper J3 fechado e Jumper 0-20mA fechado. 7 - Entrada analógica A entrada analógica do microcontrolador utiliza um A/D de 10bits. A entrada de sinal pode ser configurada de 03 formas distintas conforme mostra no item anterior sobre a seleção do tipo de entrada utilizada. 8 - Trimpot P1 Este trimpot é utilizado para ajuste fino do sinal aplicado a entrada analógica do microcontrolador, mas somente quando selecionado a configuração de 0-10v (jumper J1 fechado e Jumper 0-10v fechado). Para efeito de garantir que o sinal no pino An0 (pino 02) do microcontrolador seja 5v quando você estiver com seu sinal no máximo, utilize este trimpot para ajustar para menos se por acaso o seu sinal esteja passando de 5v no pino do microcontrolador e vice-versa. O importante é que para efeito de precisão de calculo, este trimpot é utilizado para ajustar perfeitamente os 5v no pino 02 (An0) do microcontrolador. 9 - Conector ICSP – in circuit serial programmer Pinagem disponível para gravação do microcontrolador. Estes pinos disponíveis deixam o cliente livre para utilização de seu próprio gravador se já possuir. Quando for fazer a gravação do programa na placa, o conector “LCD” deve estar livre, pois ele pode prejudicar a gravação.

Manual – Clp Pic40-v3 www.vwsolucoes.com

Copyright® 2011 – VW Soluções

10 - Conector LCD Neste conector fica disponibilizado todo PortB do microcontrolador. Normalmente utilizado para instalação de um LCD (16x2 ou 20x4) ou aumentar a quantidade de entradas e saídas através da placa de expansão de I/Os. Mas o projetista fica livre para utilizar estes pinos de acordo com sua necessidade. 11 - Porta Serial RS232 Porta serial de uso genérico (TX, RX e GND), usada para se comunicar com PC, outra placa Clp Pic ou qualquer periférico que utilize este meio de comunicação. 12 - Porta Serial RS485 A Porta RS485 nos dá a possibilidade de fazer uma rede e interligar até 32 dispositivos. Especifica também a distância máxima entre o primeiro e o último dispositivo da rede (1200 Metros). O pino do PIC para fazer o Controle é o RA3 do portA. 13 - Alimentação do Clp Pic40-v3 Borne de alimentação da placa Clp Pic40-v3 que pode ser usada 12V ou 24V x 1A. Obs.: Lembrando que os reles de saída recebem a mesma tensão de alimentação da placa em sua bobina, quando são acionados. Se forem instalados equipamentos nas entradas e saídas do Clp Pic40-v3 que consuma energia elétrica, esse consumo deve ser somado para o correto dimensionamento da fonte de corrente contínua. 14 - Real Time Clock/Calendário (RTC – DS1307) É um CI dedicado para fazer um relógio/calendário fornecendo segundos, minutos, horas, dias, dia da semana, mês e ano. As datas dos finais dos meses são automaticamente ajustadas, incluindo correções para o ano bissexto. 15 - Bateria BT1 - CR2032 Bateria de Lithium para manter o Relógio/Calendário sempre alimentado, mesmo que a placa Clp Pic40-v3 seja desligada. 16 - Memória Flash - Exemplo: 24C256 Essa memória utiliza o barramento I2C para se comunicar com o microcontrolador. A capacidade de armazenamento da memória a ser utilizada deve ser escolhida pelo usuário de acordo com a necessidade de seu projeto. 17 - Botão de reset do sistema

7. TRANSFERÊNCIA DO ARQUIVO .HEX PARA O CLP A placa possui o conector ICSP (in-circuit serial programmer), desta forma, pode ser utilizado qualquer tipo de gravador que possua este tipo de saída. Os pinos disponibilizados são PGC, PGD, GND e VPP. A VW Soluções possui um Cabo Gravador USB muito simples de utilizar. No site www.vwsolucoes.com possui um vídeo demonstrando como utilizar esse gravador.

8. GARANTIA A placa Clp Pic 40 possui garantia de 1 ano contra defeitos de fabricação contados a partir da data do envio. Obs.: danos causados por mau uso, instalação incorreta, raios, ligações em voltagens erradas, perda do programa do PIC, queda da placa, inversão da polaridade de alimentação, desgaste natural de peças, entre outros, não estão cobertos pela garantia. Todas as placas são testadas varias vezes antes de serem enviadas para o cliente. O custo do envio para a VW Soluções e sua retirada após conserto são de responsabilidade do cliente.