segunda-feira, 29 de setembro de 2014

Desenho Técnico - Aula 06 - Biblioteca Integrada

Senhores, segue a sexta aula de desenho técnico. A Aula 06 apresenta a biblioteca integrada de componentes e os passos para criação dos diagramas esquemático e footprint dos encapsulamentos.

Bons estudos.

Desenho Técnico - Aula 05 - Placas de Circuito Impresso

Senhores, segue a quinta aula de desenho técnico. A Aula 05 apresenta o histórico das placas de circuito impresso, os processos de fabricação e os elementos das placas de circuito impresso.

Bons estudos.

Desenho Técnico - Aula 04 - Introdução ao Altium

Senhores, segue a quarta aula de desenho técnico. A Aula 04 apresenta a visão geral do software, a configuração do layout de tela e das bibliotecas e os tipos de projetos suportados pelo Altium.

Bons estudos.

terça-feira, 23 de setembro de 2014

Microcontroladores - Aula 11 - Introdução à Comunicação de Dados

Senhores, segue a décima primeira aula de microcontroladores. Nesta Aula 11, é apresentada uma introdução à comunicação de dados. A aula inicia com uma breve revisão de comunicação de dados, na sequência, são apresentados três protocolos de comunicação serial, sendo um síncrono e dois assíncronos. Dois exemplos são fornecidos ao final.

Bons estudos.

Microcontroladores - Aula 11 - Introdução à Comunicação de Dados

Senhores, segue a décima primeira aula de microcontroladores. Nesta Aula 11, é apresentada uma introdução à comunicação de dados. A aula inicia com uma breve revisão de comunicação de dados, na sequência, são apresentados três protocolos de comunicação serial, sendo um síncrono e dois assíncronos. Dois exemplos são fornecidos ao final.

Bons estudos.

terça-feira, 16 de setembro de 2014

Microcontroladores - Aula 10 - Conversor Analógico/Digital

Senhores, segue a décima aula de microcontroladores. Nesta Aula 10, é apresentado o conversor analógico/digital do ATmega328. A aula inicia com uma breve revisão da teoria acerca de conversores analógico/digital de aproximações sucessivas, na sequência, são tratados os registradores e as funções da biblioteca LS/R2R para configuração do conversor analógico/digital. Um exemplo é fornecido e um exercício é sugerido ao final.

Bons estudos.

Microcontroladores - Aula 10 - Conversor Analógico/Digital

Senhores, segue a décima aula de microcontroladores. Nesta Aula 10, é apresentado o conversor analógico/digital do ATmega328. A aula inicia com uma breve revisão da teoria acerca de conversores analógico/digital de aproximações sucessivas, na sequência, são tratados os registradores e as funções da biblioteca LS/R2R para configuração do conversor analógico/digital. Um exemplo é fornecido e um exercício é sugerido ao final.

Bons estudos.

quinta-feira, 11 de setembro de 2014

Microcontroladores - Aula 09 - Interrupções Externas

Senhores, segue a nona aula de microcontroladores. Nesta Aula 09, serão apresentadas as interrupções externas do ATmega328. A aula inicia com as interrupções por pinos e interrupções por mudança de pino no port, na sequência, são apresentadas as funções da biblioteca LS/R2R para configuração das interrupções. Um exemplo é fornecido e um exercício é sugerido ao final.

Bons estudos.

Microcontroladores - Aula 09 - Interrupções Externas

Senhores, segue a nona aula de microcontroladores. Nesta Aula 09, serão apresentadas as interrupções externas do ATmega328. A aula inicia com as interrupções por pinos e interrupções por mudança de pino no port, na sequência, são apresentadas as funções da biblioteca LS/R2R para configuração das interrupções. Um exemplo é fornecido e um exercício é sugerido ao final.

Bons estudos.

quarta-feira, 3 de setembro de 2014

Microcontroladores - Aula 08 - Temporizadores/Contadores

Senhores, segue a oitava aula de microcontroladores. Nesta Aula 08, serão abordados os temporizadores do ATmega328. A aula inicia com uma introdução dos temporizadores e seus modos de funcionamento. Na sequência, são abordados os registradores e as configurações dos temporizadores. Também são apresentadas duas bibliotecas para trabalho com os temporizadores do ATmega328. A aula termina com a sugestão de dois exercícios.

Primeiro exercício

Fazer o servo motor mover-se continuamente do ângulo de +90 a -90 e retornar para o ângulo de -90. Usar as seguintes propriedades para o servo motor:
Minimum Angle: -90
Maximum Angle: +90
Rotational Speed: 600
Minimum Control Pulse: 1m
Maximum Control Pulse: 2m

Servo motores funcionam com largura de pulsos. O pulso de controle deve ser de 20ms. O ângulo do servo motor é proporcional à largura do pulso. Para mover o servo motor para o ângulo de -90, o pulso deve possuir 1ms de sinal em alto e 19ms de sinal em baixo. Para mover o servo motor para o ângulo de +90, o pulso deve possuir 2ms de sinal em alto e 18ms de sinal em baixo. Logo, para fazer ângulos intermediários, deve-se enviar para o motor um sinal PWM com pulso em alto entre 1ms e 2ms e pulso em baixo com o resto do tempo para completar 20ms.

Sugiro que na implementação de vocês, usem o TIMER1 no modo PWM com fase e frequência corrigidas e topo em ICR1. O sinal PWM deve possuir 20ms, logo, calculem qual deve ser o valor a ser escrito em IRC1 para que a frequência do sinal PWM seja de 50 Hz. Utilizem o OCR1A para gerar os pulsos e mandem o pulso para a saída OC1A em modo não invertido.

A lógica é com vocês. Depois de implementar a solução de você, se quiserem comparar, segue o meu código para este exercício.

Segundo exercício

Movimentar o motor de passo usando passo pleno de fase simples. Usar as seguintes propriedades para o motor de passo:
Nominal Voltage: 5V
Step Angle: 1
Maximum RPM: 3600
Coil Resistance: 120
Coil Indictance: 100mH

Sugiro que na implementação de vocês, usem o TIMER0 no modo CTC para gerar uma interrupção a cada 10ms. Utilize esta interrupção para atualizar a fase do motor acionada. Atenção: Se for necessário alterar alguma variável dentro da interrupção, esta variável deve ser global e volatile, por exemplo:

volatile uint8 motorState;

Novamente, cada um de vocês vai apresentar uma lógica diferente. Depois de implementar a solução de você, se quiserem comparar, segue o meu código para este exercício.


Bons estudos.

Microcontroladores - Aula 08 - Temporizadores/Contadores

Senhores, segue a oitava aula de microcontroladores. Nesta Aula 08, serão abordados os temporizadores do ATmega328. A aula inicia com uma introdução dos temporizadores e seus modos de funcionamento. Na sequência, são abordados os registradores e as configurações dos temporizadores. Também são apresentadas duas bibliotecas para trabalho com os temporizadores do ATmega328. A aula termina com a sugestão de dois exercícios.

Primeiro exercício

Fazer o servo motor mover-se continuamente do ângulo de +90 a -90 e retornar para o ângulo de -90. Usar as seguintes propriedades para o servo motor:
Minimum Angle: -90
Maximum Angle: +90
Rotational Speed: 600
Minimum Control Pulse: 1m
Maximum Control Pulse: 2m

Servo motores funcionam com largura de pulsos. O pulso de controle deve ser de 20ms. O ângulo do servo motor é proporcional à largura do pulso. Para mover o servo motor para o ângulo de -90, o pulso deve possuir 1ms de sinal em alto e 19ms de sinal em baixo. Para mover o servo motor para o ângulo de +90, o pulso deve possuir 2ms de sinal em alto e 18ms de sinal em baixo. Logo, para fazer ângulos intermediários, deve-se enviar para o motor um sinal PWM com pulso em alto entre 1ms e 2ms e pulso em baixo com o resto do tempo para completar 20ms.

Sugiro que na implementação de vocês, usem o TIMER1 no modo PWM com fase e frequência corrigidas e topo em ICR1. O sinal PWM deve possuir 20ms, logo, calculem qual deve ser o valor a ser escrito em IRC1 para que a frequência do sinal PWM seja de 50 Hz. Utilizem o OCR1A para gerar os pulsos e mandem o pulso para a saída OC1A em modo não invertido.

A lógica é com vocês. Depois de implementar a solução de você, se quiserem comparar, segue o meu código para este exercício.

Segundo exercício

Movimentar o motor de passo usando passo pleno de fase simples. Usar as seguintes propriedades para o motor de passo:
Nominal Voltage: 5V
Step Angle: 1
Maximum RPM: 3600
Coil Resistance: 120
Coil Indictance: 100mH

Sugiro que na implementação de vocês, usem o TIMER0 no modo CTC para gerar uma interrupção a cada 10ms. Utilize esta interrupção para atualizar a fase do motor acionada. Atenção: Se for necessário alterar alguma variável dentro da interrupção, esta variável deve ser global e volatile, por exemplo:

volatile uint8 motorState;

Novamente, cada um de vocês vai apresentar uma lógica diferente. Depois de implementar a solução de você, se quiserem comparar, segue o meu código para este exercício.


Bons estudos.

Microcontroladores - Aula 07 - Interrupções

Senhores, segue a sétima aula de microcontroladores. Nesta Aula 07, serão abordadas as fontes de interrupção do ATmega328, bem como as bibliotecas do AVR para o tratamento de interrupções e execução de operações em modo atômico.

Bons estudos.

Microcontroladores - Aula 07 - Interrupções

Senhores, segue a sétima aula de microcontroladores. Nesta Aula 07, serão abordadas as fontes de interrupção do ATmega328, bem como as bibliotecas do AVR para o tratamento de interrupções e execução de operações em modo atômico.

Bons estudos.