Manual McLab2 (18F4550) - Rev - 02
Manual McLab2 (18F4550) - Rev - 02
Manual McLab2 (18F4550) - Rev - 02
McLab2
Sumário
1. Apresentação ........................................................................................................................................................ 4
2. Hardware ............................................................................................................................................................... 6
2.11. Aquecedor................................................................................................................................................... 11
3. Software .............................................................................................................................................................. 15
3.1.5. Exemplo 5 – Conversor Analógico Digital por carga e descarga do capacitor .................................. 16
Inicialmente a Mosaico gostaria de parabenizá-lo por ter adquirido a placa de desenvolvimento McLab 2.
Acreditamos sinceramente, que você acaba de fazer uma ótima aquisição.
Grande parte do know-how adquirido pela Mosaico ao longo de anos de desenvolvimento de projetos eletrônicos
foi colocado em prática na placa McLab 2.
A placa utiliza o microcontrolador PIC18F4550 como objeto central. Junto ao microcontrolador uma série de
periféricos foram adicionados. O nosso objetivo é disponibilizar uma placa de desenvolvimento onde o usuário
possa testar seus conhecimentos em software, sem se preocupar com a montagem do hardware. Esqueça
essa estória de ficar montando proto-board para testar uma simples comunicação serial com o PC. Com a
placa McLab 2, todo o hardware necessário para a comunicação serial já está pronto. Basta você escrever o
software. Veja todos os recursos que a placa oferece:
LCD alfanumérico;
Displays de leds de 7 segmentos;
Teclas e leds;
Buzzer;
Memória serial EEPROM 24C04 (protocolo I²C);
Comunicação serial RS232;
Conversão A/D;
Sensor de temperatura;
Aquecedor;
Ventilador;
Tacômetro;
Leitura de jumpers;
Conector de expansão contendo 15 I/O’s;
Botão de reset manual;
Gravação in-circuit compatível com McFlash+ ou ICD2BR
1 placa McLab 2;
1 PIC18F4550;
1 fonte de alimentação 15Vdc, 500mA, full range;
1 guia do usuário;
1 placa adaptadora USB;
1 CD Rom.
Nesta seção será visto todos os recursos de hardware presente na placa McLab 2.
É o elemento central de toda a placa. Está trabalhando com uma freqüência de clock de 4 MHz. Para maiores
informações sobre o componente deve-se consultar o data-sheet presente no CD-ROM que acompanha a
placa McLab 2.
A placa está provida de um LCD alfanumérico padrão de 16 colunas por 2 linhas sem backlight. A comunicação é
paralela com 8 vias de dados. Além das 8 vias de dados, mais duas vias são utilizadas para controlar o LCD, uma
denominada de ENABLE e a outra de RS.
A comunicação com o LCD é somente de escrita, desta forma, o pino de R/W do LCD está diretamente ligado ao
terra (GND), não permitindo a leitura do mesmo.
As 8 vias de dados do LCD estão ligadas ao PORTD do microcontrolador, de RD0 (LSB) até RD7 (MSB). O pino
de ENABLE está conectado ao pino RE1 do PIC e o pino RS do LCD está conectado ao pino RE0 do
microcontrolador.
PIC LCD
RD0...RD7 D0...D7
RE0 RS
RE1 ENABLE
Terra (GND) R/W
A placa possui quatro displays de 7 segmentos, sendo que todos eles estão com os segmentos conectados entre
si, ou seja, prontos para uma varredura de displays. A conexão com o microcontrolador segue a tabela abaixo:
PIC Segmento
RD0 A
RD1 B
RD2 C
RD3 D
RD4 E
RD5 F
RD6 G
RD7 DP
PIC Display
RB7
DS1 (milhar)
RB6 DS2 (centena)
RB5 DS3 (dezena)
RB4 DS4 (unidade)
2.4. Teclado
Existem 4 teclas na placa. Todas elas com resistores de pull-up, ou seja, em estado normal (normalmente aberto),
o microcontrolador deverá ler nível lógico 1 nas portas do teclado. Quando uma tecla é pressionada, o sinal é
aterrado e conseqüentemente, o nível lógico presente na porta do microcontrolador passa a 0. Das 4 teclas
presentes, 3 estão ligadas diretamente ao microcontrolador. A outra tecla deve ser habilitada através do jumper
JP3. A distribuição de pinagem segue a tabela abaixo:
PIC Tecla
RB0
S1
(JP3fechar 2,3)
RB1 S2
RB2 S3
RB3 S4
2.5. Leds
PIC LED
L1
RB0
(JP3fechar 2,3)
RB1 L2
RB2 L3
RB3 L4
Obs.: Devido à arquitetura de hardware, os leds permanecem levemente acesos caso os pinos do
microcontrolador sejam configurados como entrada para o teclado.
2.6. Buzzer
A placa está provida de um buzzer convencional não auto-oscilante. Desta forma, para faze-lo tocar, deve-se gerar
(através do software) uma onda quadrada capaz de excitar o buzzer. Sugerimos que a onda quadrada tenha
freqüência em torno de 650Hz com duração de aproximadamente 100ms.
A placa está provida de uma memória serial EEPROM modelo 24C04 com os pinos de clock (SCL) e data (SDA)
ligados respectivamente aos pinos RA2 e RC2 do microcontrolador. O protocolo de comunicação com está
memória é do tipo I²C. Devido a limitação de hardware da McLab2, o controle deve ser feito via software.
A capacidade de armazenamento da 24C04 é de 512 bytes, no entanto, modelos similares, mas com capacidade
maior de armazenamento podem ser utilizados.
PIC* Memória
RA2 Clock (SCL) – pino 6
*OBS.:
A placa possui um driver RS232 para adequar os níveis de tensão do microcontrolador (TTL) ao padrão RS232C
(+12V e – 12V).
A comunicação é feita com 2 vias, a via de TX está ligada ao pino RC6 e a via de RX está ligada ao pino RC7 do
microcontrolador. Os sinais de RTS e CTS não estão ligados e, portanto, a comunicação não pode ser
implementada com controle de fluxo por hardware.
A comunicação pode ser implementada utilizando os recursos do próprio microcontrolador (USART) ou via
software.
PIC COM.
RC6 TX (saída)
RC7 RX (entrada)
Pino Função
1 -
2 TX (saída)
3 RX (entrada)
4 -
5 Terra (GND)
6 -
7 -
8 -
9 -
O microcontrolador PIC18F4550 utilizado na placa McLab 2 possui 13 canais de conversão analógica digital de 10
bits cada. As entradas analógicas do microcontrolador encontram-se nos pinos da PORTA e PORTE. Estes pinos
podem ser configurados como I/O’s convencionais digitais ou entradas analógicas para o conversor A/D. Esta
configuração deve ser feita via software (consultar o módulo A/D no manual do PIC18F4550).
Na placa McLab 2, temos ligado à primeira entrada analógica (pino RA0/AN0) um circuito para medir a
temperatura ambiente. Este circuito utiliza como sensor um diodo de sinal (D1) que na placa pode ser visualizado
próximo ao resistor de aquecimento e ao ventilador. Na segunda entrada analógica do PIC (RA1/AN1) temos
conectado um potenciômetro capaz de variar a tensão de entrada analógica entre 0 e +5V. A terceira entrada
analógica (RA2/AN2/Vref-) não está sendo utilizado, e pode ser acessada através do conector de expansão (pino
4 do conector CN1). Na quarta entrada analógica (RA3/AN3/Vref+) tem-se uma tensão fixa em 2,5V que pode ser
utilizada como referência positiva para o conversor A/D (consultar o manual do microcontrolador). A quinta entrada
analógica (RA5/AN4) é utilizada como I/O digital e está conectada ao buzzer como foi visto anteriormente. Os I/O’s
do PORTE, RE0 e RE1 (AN5 e AN6 respectivamente) são utilizados para a comunicação com o LCD (ver módulo
LCD) e o pino RE2 (AN7) está disponível no conector de expansão (pino 2 do conector CN1), sendo que este,
pode ser configurado com I/O digital ou analógico.
Veja que a placa utiliza alguns dos I/O’s dos ports A e E do microcontrolador de forma analógica e outros de forma
digital. Esta seleção entre o que deve ser entrada analógica e o que deve ser I/O digital, deve ser feita via software
pelo usuário. Obviamente, algumas situações não fazem sentido, por exemplo, não faz sentido configurar o pino
RA0 como saída digital, uma vez que nele temos presente um nível de tensão entre 0 e +5V proporcional à
temperatura ambiente. Apesar desta incompatibilidade, o hardware da placa foi previsto de forma a evitar que uma
má configuração dos I/O’s do microcontrolador venha a prejudicar o sistema, seja este o hardware externo ou o
próprio microcontrolador.
Na tabela abaixo temos um resumo com a pinagem do microcontrolador, a função/localização de cada pino, e as
situações que não fazem sentido.
A placa possui um circuito que utiliza um diodo de sinal (D1) como elemento sensor do medidor de temperatura
ambiente. Nunca se deve ultrapassar a temperatura ambiente máxima de 90°C para evitar que o sensor seja
danificado. O sinal analógico proporcional à temperatura ambiente está presente no pino RA0 do microcontrolador.
2.11. Aquecedor
O aquecedor consiste numa resistência de 68 com 5W de dissipação. Pode ser acionada através do pino RC2
do microcontrolador. Veja que este pino pode ser configurado como PWM e, portanto a potência de aquecimento
pode ser regulada através deste recurso. O jumper JP1 deve ser colocado entre os pinos 2 e 3 para ativar o
sistema de aquecimento.
O sistema de ventilação consiste num cooler de PC que pode ser ativado através do pino RC1 do
microcontrolador. Assim como no caso do aquecedor, este pino pode ser configurado como PWM, desta forma,
pode-se modular a velocidade do ventilador utilizando este recurso do microcontrolador. Nenhum jumper precisa
ser configurado.
2.13. Tacômetro
Junto ao ventilador existe um sistema formado por um transmissor e um receptor de infravermelho. Este sistema é
utilizado para medir a velocidade de rotação do ventilador. Quando não temos a passagem de luz, ou seja,
quando a luz está interrompida por uma das palhetas do ventilador, o sistema de tacômetro apresentará na saída
nível lógico 1. Quando se tem a passagem de luz, a saída do sistema de tacômetro será 0. O tacômetro está
conectado ao pino RC0 (entrada de contador do TMR1) do microcontrolador.
Para os últimos dois casos, deve-se colocar o jumper JP2 entre 1 e 2, desta forma, a saída do tacômetro estará
disponível tanto no pino RC0 como RA4 (entrada de contador do TMR0).
A placa está provida de um circuito que pode ser utilizado para ler até 3 jumpers através de um único pino do
microcontrolador. O sistema consiste em medir o tempo de carga de capacitor num circuito RC. Fechando ou
abrindo os jumpers A, B e C da placa, muda-se o valor do resistor e conseqüentemente, o tempo de carga do
capacitor, conforme pode ser visto na figura abaixo.
R39 A
22K
R40 B
33K
R38 R46 C
JUMPERS
330R 47K
C16
100nF
Via software deve-se inicialmente descarregar o capacitor, colocando o pino do microcontrolador como saída em
nível lógico 0. Após o capacitador estar descarregado, coloca-se o pino do microcontrolador em entrada e
começa-se a contar o tempo que o capacitor leva para se carregar, ou seja, quanto tempo o capacitor leva para
atingir nível lógico 1. Este tempo de carga é proporcional ao valor do circuito RC e, portanto pode ser utilizado
para determinar a posição do jumper.
Para habilitar este recurso deve-se colocar o jumper JP2 entre os pinos 2 e 3, conectando o circuito de RC ao pino
RA4 do microcontrolador.
RC2 (Capture/Compare/PWM)
7 RD3 8
(JP11,2)
9 RD4 10 RC3
11 RD5 12 RC4
13 RD6 14 RC5
15 RD7 16 +15V
O reset do microcontrolador pode ser realizado manualmente através da chave S5. Ao pressionar a chave, o pino
de /MCLR do microcontrolador é aterrado e o PIC é resetado. Ao liberar a chave, o microcontrolador volta a operar
normalmente.
A placa McLab 2 é compatível com os gravadores McFlash+ e ICD2BR, de forma que o microcontrolador não
precisa ser retirado da placa para ser gravado. O McFlash+/ICD2BR deve ser ligado no conector CN3 e somente a
Placa McLab2 deve estar alimentada, fornecendo energia para o gravador.
A placa McLab 2 é fornecida com 10 softwares de exemplo, 1 software de testes para validar o hardware e 1
software para comunicação serial.
Veja abaixo a relação dos softwares e uma breve descrição de cada um deles.
Este software está preparado para ler quatro botões e tocar o buzzer com duração variável conforme a tecla
pressionada. Além de acender o led indicando a última tecla pressionada.
O software faz uso de uma técnica que permite utilizar um mesmo pino de I/O ora como entrada (ler os botões) ora
como saída (acender os leds).
Este software está preparado para varrer quatro displays de leds e quatro teclas. As teclas são utilizadas para
alterar o valor mostrado no display.
Este software inicializa um LCD e varre quatro teclas indicando no LCD a tecla pressionada.
Este software está preparado para ler o canal 1 (RA1) do conversor A/D e mostrar o valor da conversão no
LCD. Deve-se variar o potenciômetro P2 para alterar o valor da leitura do A/D.
Este software foi elaborado para mostrar um tipo de conversor A/D fundamentado no tempo de carga e
descarga do capacitor.
Este software lê quatro botões e atualiza os leds conforme o botão pressionado além de inicializar o módulo de
PWM do microcontrolador, utilizado neste caso para modular a velocidade do ventilador.
Este software está preparado para gravar e ler dados da memória EEPROM interna e da memória Flash do
PIC18F4550.
Este software está preparado para gravar e ler dados na E2PROM externa utilizando uma memória I2C e o
acesso à memória é feita por software. Para este exemplo deve-se utililzar a placa adaptadora USB.
Este exemplo foi elaborado para explicar o funcionamento da USART, onde o valor do A/D é enviado para a
USART e o programa aguarda a recepção de um caractere.
Para o exemplo 9 que utilizam comunicação serial, foi desenvolvido pela equipe da Mosaico um software
(plataforma Windows) que pode ser utilizado para testar a comunicação serial entre a placa McLab2 e o
microcomputador.
Inicialmente, para testar a comunicação, deve-se instalar no microcomputador o software M2COM disponível no
CD-ROM. Após a instalação do M2COM, deve-se gravar na placa McLab 2 o exemplo 9.
Obs.: O software M2COM exige que uma porta de comunicação válida (COM1 ou COM2) seja selecionada para
liberar as janelas de TX e RX.
A fim de validar o hardware da placa, servindo como uma giga de testes, é fornecido também um software que
pode ser utilizado para testar a funcionalidade de quase todos os recursos da placa McLab 2.
Para este software não é fornecido o código fonte, apenas o arquivo.HEX está disponível no CD-ROM. Como
padrão, este software já vem gravado no microcontrolador, porém a qualquer momento o usuário pode testar o
funcionamento do hardware da placa regravando o arquivo.HEX. O software de teste pode ser executado sem
interação com o usuário, porém recomendamos que o usuário faça a interação com o software a fim comprovar o
correto funcionamento de todos os componentes da placa.
O software de teste da placa é auto-explicativo, de qualquer forma, o procedimento de testes está explicado
abaixo.
Os displays de leds de 7 segmentos deverão acender de modo seqüencial. O teste será repetido duas vezes.
Todos os leds, inclusive
Todos os softwares são de autoria da Mosaico. Todos eles foram desenvolvidos levando-se em conta que seriam
utilizados para fins didáticos. Desta forma acreditamos que não seria ético a utilização de qualquer um destes
softwares com objetivos comerciais. A Mosaico pede gentilmente aos usuários destes softwares que levem isto em
consideração.
Jumper JP2
7 RA5 Buzzer
11 Vdd +5V
12 Vss GND
16 RC1 Ventilador
Jumper JP1
Aquecedor/Conector de
17 RC2 1,2 expansão (pino 8 do CN1)
expansão
2,3 aquecedor
31 Vss GND
32 Vdd +5V
Jumper JP3
Tecla S1 / Led L1 / conector de
33 RB0
expansão 1,2 expansão (pino 6 do CN1)
2,3 tecla S1 / led L1
• Segundo Passo
• Terceiro Passo
Resistor 100KΩ 1 R4
Resistor 4K7Ω 1 R2
Soquete CI – 8 pinos 1 U1
A tabela a seguir mostra a pinagem do conector CN2 da Placa Adaptadora, utilizado como conexão para a
interface USB do microcomputador:
CN2
1 VDD
2 D-
3 D+
4 GND
A tabela a seguir mostra os pinos do conector de expansão CN1, utilizado para a conexão com a Placa McLab2,
os pinos indicados com asterisco são os efetivamente utilizados durante a conexão:
CN1
1 NC
3 NC
5 NC
6 NC
7 NC
9 NC
11 NC
13 NC
15 NC
16 NC
17 GND*
18 +5V*
A tabela a seguir mostra os pinos do conector de expansão CN1, utilizado para a conexão com a Placa
Adaptadora, os pinos indicados com asterisco são os efetivamente utilizados durante a conexão:
CN1
1 RD0
3 RD1
5 RD2
6 RB0
7 RD3
9 RD4
11 RD5
13 RD6
15 RD7
16 +15V
17 GND*
18 +5V*
1. Tempo de Garantia
A Mosaico garante contra defeitos de fabricação durante 4 meses para mão de obra de conserto.
O prazo de garantia começa a ser contado a partir da data de emissão da Nota Fiscal de compra.
2. Condições de Garantia
Durante o prazo coberto pela garantia, a Mosaico fará o reparo do defeito apresentado, ou substituirá o produto,
se isso for necessário.
Os produtos deverão ser encaminhados a Mosaico, devidamente embalados por conta e risco do comprador, e
acompanhados deste Certificado de Garantia “sem emendas ou rasuras” e da respectiva Nota Fiscal de aquisição.
O atendimento para reparos dos defeitos nos produtos cobertos por este Certificado de Garantia será feito
somente na Mosaico, ficando, portanto, excluído o atendimento domiciliar.
3. Exclusões de Garantia
Obs.: Todas as características de funcionamento dos produtos Mosaico estão em seus respectivos manuais.
4. Limitação de Responsabilidade
A presente garantia limita-se apenas ao reparo do defeito apresentado, a substituição do produto ou equipamento
defeituoso.Nenhuma outra garantia, implícita ou explícita, é dada ao comprador.
A Mosaico não se responsabiliza por qualquer dano, perda, inconveniência ou prejuízo direto ou indireto que
possa advir de uso ou inabilidade de se usarem os produtos cobertos por esta garantia.
A Mosaico estabelece o prazo de 30 dias (a ser contado a partir da data da nota Fiscal de Venda) para que seja
reclamado qualquer eventual falta de componentes.
Importante: Todas as despesas de frete e seguro são de responsabilidade do usuário, ou seja, em caso de
necessidade o Cliente é responsável pelo encaminhamento do equipamento até a Mosaico.