• Matéria: Matemática
  • Autor: tarrafaheroouqajz
  • Perguntado 8 anos atrás

Os periféricos básicos atendem uma vasta variedade de aplicações em sistemas embarcados, porém as necessidades modernas requerem que os dispositivos interajam entre si de forma mais complexa e cooperativa. Para esse cenário é fundamental a compreensão de módulos mais avançados de controle e comunicação, que para o microcontrolador ATmega328 se representam através dos periféricos de conversão analógico-digital, módulos de comunicação e memória EEPROM. Considere o seguinte requisito para o programa de um projeto em eletrônica embarcada: Projetar o software para um sistema microcontrolado, utilizando o microcontrolador ATmega328, que monitora o nível de tensão de uma bateria automotiva através de um divisor resistivo, cujo objetivo é reduzir o valor lido em uma escala de 30% para tratamento do sinal pelo microcontrolador. O sistema deve armazenar permanentemente os valores de tensão mínima e máxima e, sempre que os tais valores atingirem ou ultrapassarem os limites de 11V e 14V respectivamente, um alerta deve ser enviado via canal serial, com a seguinte string: “Valor de tensão ultrapassou o limite x”, em que “x” poderá assumir a palavra “inferior” para o primeiro caso, ou “superior” para o segundo caso. O canal seria possui o baud rate de 19200 bps, com stop bit, sem paridade. Qual seria a sua estratégia de configuração do microcontrolador em termos de registradores e canais, bem como o algoritmo necessário para resolução do problema?

Respostas

respondido por: GeneralBlue
8

PARA QUEM NÃO QUISER DEIXAR A ATIVIDADE EM BRANCO FIZ ESSA RESPOSTA.

A solução para o problema passa pela leitura de um sensor com circuito resistivo para leitura de tensão após definir para cada faixa de voltagem (11V a 14V), depois definir quais os canais da porta D devem ser acionados, que por eles são controlados.

No software, temos que considerar a configuração do microcontrolador ATmega328 com o módulo SPI atuando como mestre na comunicação com o C.I. TC72. Para acessarmos o valor atualizado de tensão, devemos primeiramente enviar o comando 0x02, e logo após enviar dois comandos 0x00, sendo que, no primeiro comando, o sensor retornará o valor inteiro da tensão atual e no segundo, o sensor retornará o valor decimal da tensão.

Na configuração do software para o terminal de acesso serial, temos que ler a todo momento o registrador de dados do canal USART e checar se algum dos comandos requisitados foi recebido e, em caso positivo, devemos utilizar o mesmo canal serial para responder adequadamente com os valores correspondentes ao comando.

O controle da tensão basta compararmos sempre o valor atualizado do sensor com o valor configurado de tensão, para determinarmos quando ela deve ser acionada e regulada.


jbe21047: tenho o circuito montado e a programação, quem quiser mandar um email para [email protected]
Anônimo: por favor envie para esse e-mail, [email protected]
GeneralBlue: Tirei nota máxima com a resposta que elaborei acima.
jbe21047: tem que programar ou em linguagem C ou em Assembly conforme o tutor mandou. foi dificil, mas ainda bem que conseguir
GeneralBlue: Não fiz nada disso e obtive nota máxima. O critério de avaliação é ridículo, eles analisam mais a escrita que o conteúdo.
nafeletricp9bged: Resposta errada essa ai. tirei nota minima
respondido por: mayaravieiraj
0

Pode-se dizer que uma das possibilidades de estratégia de configuração do microcontrolador em termos de registradores e canais, bem como o algoritmo necessário para resolução do problema, estaria relacionada a  leitura de um sensor com circuito resistivo.

Nesse sentido, solução para o problema vai depender da leitura de um sensor com circuito resistivo, uma vez que por meio dessa, a leitura de tensão seja definida para cada faixa de voltagem e, em seguida, estabeleça quais os canais da porta D devem ser acionados.

Leia mais em:

https://brainly.com.br/tarefa/4590654

Anexos:
Perguntas similares