Menu English Ukrainian Russo Início

Biblioteca técnica gratuita para amadores e profissionais Biblioteca técnica gratuita


ENCICLOPÉDIA DE RÁDIO ELETRÔNICA E ENGENHARIA ELÉTRICA
Biblioteca gratuita / Esquemas de dispositivos radioeletrônicos e elétricos

Projetamos dispositivos em microcontroladores. Enciclopédia de rádio eletrônica e engenharia elétrica

Biblioteca técnica gratuita

Enciclopédia de eletrônica de rádio e engenharia elétrica / Microcontroladores

Comentários do artigo Comentários do artigo

Entre a ideia inicial de criar um dispositivo baseado em um microcontrolador (MC) e o desenvolvimento de seu programa, existe uma etapa importante - a elaboração de um diagrama de blocos do algoritmo. Muitas vezes é esquecido ou pior, negligenciado. A programação é realizada "heuristicamente", em essência - por tentativa e erro. O resultado é um programa complicado que de alguma forma funciona, não é totalmente compreendido nem mesmo por seu criador e é difícil de modernizar. No entanto, métodos bastante simples são conhecidos e usados ​​\u8b\uXNUMXbpelos programadores, que permitem, a partir da formulação verbal do algoritmo, projetar corretamente seu diagrama de blocos. Os interesses profissionais do autor do artigo estão no campo dos desenvolvimentos do MK da série ZXNUMX, mas o material apresentado por ele também se aplica a MKs de outros tipos.

A interação de qualquer sistema MC com o operador e o objeto de controle pode ser representada como mostrado na Fig. 1 esquema [1]. No caso geral, o objeto de controle é equipado com atuadores e sensores. O operador humano atua no MC com a ajuda de dispositivos mestres e recebe informações sobre o estado do objeto a partir das leituras dos dispositivos de exibição. Os primeiros são interruptores, botões, resistores variáveis, os últimos são indicadores luminosos (incluindo gráficos e alfanuméricos), emissores de som e outros dispositivos de sinalização.

Projetamos dispositivos em microcontroladores

Todos os nós funcionais e conexões mostrados no diagrama são necessários apenas em sistemas complexos de controle e gerenciamento interativos. Nos chamados sistemas de controle em malha aberta, o MC opera "às cegas", sem receber nenhuma informação sobre o estado do objeto. Às vezes, ele nem mesmo dá ao operador nenhuma informação sobre a obra (tanto a sua quanto a do objeto), principalmente se for possível avaliar os resultados do controle observando o próprio objeto. Em sistemas de controle fechados, o MC corrige as ações de controle no objeto dependendo das leituras dos sensores, mas os dispositivos de exibição também não são necessários aqui. Os sistemas de controle não contêm atuadores e, com a ajuda de dispositivos de configuração, o operador apenas seleciona parâmetros controlados ou alterna os modos de operação dos indicadores.

A metodologia para projetar sistemas em MC [2, 3] inclui a formulação e análise do problema, sua interpretação de engenharia, o desenvolvimento de um fluxograma do algoritmo e o texto do programa aplicativo. Nesses sistemas, eles tendem a atribuir o número máximo de funções às ferramentas de software. A quantidade necessária de memória, velocidade e confiabilidade do sistema no circuito dependem, em última análise, da eficácia de sua implementação. Claro, o desenvolvimento do conceito e do design do produto em si ainda está para ser feito, mas vamos abordá-los apenas na medida do necessário para o desenvolvimento do programa MK.

A declaração do problema é uma formulação verbal dos requisitos para o sistema que está sendo projetado. Em primeiro lugar, eles descrevem sua finalidade, características do objeto de controle, sensores, indicadores, dispositivos de acionamento e configuração. A seguir, você deve falar detalhadamente sobre o comportamento desejado do sistema em todas as situações possíveis, inclusive nas "anormais". Em nenhum caso você pode confiar nas ações sem erros do operador. Por exemplo, tendo ouvido um sinal de emergência, ele pode pressionar o botão START em vez do botão "STOP" prescrito ou pressionar aleatoriamente todos os botões em uma fileira. Claro, é impossível prever todas essas situações, mas isso deve ser buscado. Certifique-se de especificar os valores numéricos dos parâmetros do sistema que está sendo projetado.

Primeiro, a tarefa é formulada, via de regra, "no nível do usuário". Por exemplo, a tarefa inicial para o desenvolvimento de um sistema de controle de ventilador pode soar assim: "Ligar e desligar o ventilador, ajustar a intensidade do fluxo de ar e mudar sua direção (exaustão/descarga)". A análise de engenharia reduzirá essa tarefa ao controle da velocidade e direção de rotação do acionamento do ventilador - um motor CC. Como a potência dos sinais de saída do MK é obviamente insuficiente para o controle direto do motor, um dispositivo driver especial deverá ser instalado entre eles, que gera os sinais da potência necessária, e a tarefa é resolvida pelo MK. limitado ao fornecimento de ações de controle ao motorista.

Não vamos nos deter na escolha de controles de potência, sensores e dispositivos para sua interface com o MC. Hoje, microcircuitos especializados são produzidos para esses fins, que são muito mais eficientes de usar do que construir um sistema a partir de componentes discretos.

Suponha que o driver de motor CC integrado LMD18200 da National Semiconductor será usado. Um circuito típico para sua inclusão é mostrado na fig. 2. Contém uma ponte de MOSFETs de alta potência, em cuja diagonal o motor está conectado.

Projetamos dispositivos em microcontroladores

O driver é controlado por três sinais lógicos. Pulsos retangulares são alimentados à entrada PWM (Pulse Width Modulation), cuja relação entre a duração e o período de repetição (ciclo de trabalho) determina a velocidade do motor. O nível lógico do sinal na entrada DIR (sentido - sentido) define a polaridade da tensão fornecida ao motor, portanto, o sentido de rotação do mesmo. Definindo o nível de log. 1 na entrada BR (freio), o motor é parado, e se nesse momento a entrada PWM tiver log. 0, o circuito de potência do motor simplesmente estará aberto, caso contrário, as saídas do motor também serão conectadas entre si, o que fornecerá frenagem de emergência.

Dois sensores estão embutidos no driver. Um deles gera uma corrente que flui do pino CUR (corrente - corrente) e é proporcional à corrente do motor com um fator de 377 µA/A. Saída do sensor de temperatura TF (Thermal Flag - sinalizador de temperatura) - coletor discreto aberto. Ele vai para o estado de log. 0. se o cristal condutor for aquecido acima de 145 °C.

Vamos formular os requisitos para o dispositivo de controle do motor do ventilador e, em essência, o driver do motor.

O dispositivo de controle deve ser equipado com botões, pressionando os quais o operador (usuário) pode ligar e desligar o motor, mudar de direção, aumentar e diminuir sua velocidade. Deve haver uma indicação do sentido de rotação do motor com sinais luminosos de cores diferentes e um alarme sonoro sobre um acidente (superaquecimento ou sobrecarga).

Após aplicar a tensão de alimentação, o aparelho deve, sem ligar o motor, aguardar um comando que defina o sentido de rotação. Seu recebimento deve ser confirmado por um sinal luminoso. Ao comando "START", o motor deve ser ligado e começar a girar na direção especificada com uma frequência média (ciclo de trabalho do sinal PWM = 0.5). De acordo com os comandos "SLOWER" e "FASTER", o ciclo de trabalho deve diminuir ou aumentar de acordo, sem ultrapassar 0.2 ... 1. O comando "STOP" deve parar imediatamente o motor, após o qual pode ser reiniciado emitindo o comando "INICIAR".

Se o valor permitido da corrente consumida for excedido, o que pode ser resultado, por exemplo, de um bloqueio mecânico do eixo do motor, este deve ser desligado e um sinal sonoro intermitente com frequência de 1000 Hz na forma de rajadas curtas (duração delas e pausas entre elas é de 1 s). Quando o microcircuito superaquece, é necessário desligar o motor e emitir um sinal sonoro com rajadas longas (a duração das rajadas e pausas é de 2 s). O alarme sonoro deve permanecer ligado até então. até que o operador emita um comando "STOP", que retorna o dispositivo ao seu estado original. Até que tal comando seja dado, ele não responderá a nenhum outro.

Já nesta fase, deve-se abstrair de detalhes que não são essenciais para o desenvolvimento do programa de MC. Por exemplo, neste caso, não importa. que o objeto de controle (motor) serve como acionamento do ventilador, o tipo de ventilação (exaustão ou suprimento) depende da direção de sua rotação e a intensidade do fluxo de ar depende da frequência. Além disso, ao desenvolver um algoritmo, geralmente você pode esquecer o motor e seu driver, concentrando-se na formação de sinais de controle PWM. DIR, BR e processamento de sinal dos sensores CUR e TE.

Analisando a tarefa formulada, é desejável identificar imediatamente alguns problemas que inevitavelmente se manifestarão nas próximas etapas. Por exemplo, o sistema deve responder a um comando "Executar" se o sentido de rotação não for predefinido? Se sim. em que sentido o motor deve girar em tal caso? A frequência e o sentido de rotação definidos devem ser mantidos após parar e reiniciar o motor? E depois da emergência? Todas essas perguntas devem ser respondidas o mais rápido possível.

Com base na descrição verbal, são compiladas listas de sinais de entrada e saída do MC. O primeiro deles inclui comandos dados pelo operador e sinais do sensor: "EXHAUST". "EMPURRANDO". "COMEÇAR". "MAIS RÁPIDO". "MAIS DEVAGAR". "PARAR". "SOBRECARGA" (CUR). "SUPERAQUECIMENTO" (TF). No segundo, sinais de controle para o acionador do motor e indicadores: PWM - velocidade de rotação. DIR - sentido de rotação, BR - desligue o motor. G - ligue o LED verde. Y - ligue o LED amarelo. S - som.

Diante do exposto, pode-se concluir que o que é exigido pelo MC. ter pelo menos 14 pinos para conectar circuitos externos (oito entradas e seis saídas). Como o sinal CUR é analógico, será necessário um comparador para comparar as leituras do sensor com um valor aceitável e gerar o sinal lógico "OVERLOAD". Portanto, MK é preferido. equipado com um comparador embutido. Adequado, por exemplo, é a modificação mínima de 18 pinos da série Z86 MK. A opção mais barata é um microchip. Z86E02. É tudo por agora. em relação ao hardware do dispositivo. A distribuição dos sinais de entrada e saída sobre as saídas do MK neste estágio não é significativa.

Além disso, é recomendável representar o algoritmo fornecido verbalmente na forma do chamado grafo de autômato finito. Um dispositivo discreto é considerado uma máquina de estado finito se for possível enumerar todos os estados em que pode estar, todos os eventos (influências externas) que levam a mudanças de estado e todos os sinais de saída gerados. Estes são os dispositivos baseados no MK.

Um exemplo de grafo de autômato é mostrado na fig. 3.

Projetamos dispositivos em microcontroladores

Os estados são representados pelos nós (vértices) do grafo. Nesse caso, são quatro deles: A. B. C e D. Os vértices são conectados por arcos equipados com setas que indicam a direção da transição, o evento Xi que causa essa transição é indicado acima do arco e abaixo dele está o conjunto Yi dos sinais de saída gerados pelo autômato neste momento e inalterados até a próxima transição. Teoricamente, exatamente tantos arcos deveriam sair de cada vértice do gráfico. tantas influências externas diferentes sobre o autômato quanto possível. Se algum evento não altera o estado do autômato, o arco correspondente é mostrado entrando no mesmo vértice de onde saiu. No entanto, para não sobrecarregar o desenho, na prática, apenas os desses arcos são deixados. que estão associados a mudanças nos sinais de saída. Por exemplo, do gráfico mostrado na Fig. 3. você pode deletar os arcos A-A e B-B. Em linguagem comum, isso significa que o autômato nos estados A e B não responde ao evento X3.

Eventos que afetam o autômato implementado como um programa MK. não são apenas "diretas", causadas por mudanças nos níveis lógicos dos sinais aplicados nas saídas externas do MK, mas também "indiretas". Estes últimos incluem, por exemplo, um certo resultado da comparação dos valores calculados e dados de um determinado parâmetro ou a conclusão de alguma operação demorada. A linha entre eventos diretos e indiretos às vezes é difícil de traçar. Por exemplo, um evento comum como a operação do temporizador embutido no MK pode ser considerado indireto se for fixo. analisando o número no registro correspondente, ou direto, reagindo ao sinal gerado pelo timer ao final da contagem. Os sinais de saída também podem ser indiretos, não alterando diretamente os níveis lógicos nas saídas do MK. Freqüentemente, quando as transições entre os estados de um autômato, certos valores são atribuídos apenas às variáveis ​​do programa.

Voltando ao problema que está sendo resolvido, vamos construir um gráfico do autômato de controle do motor. Analisando a tarefa, os seguintes estados podem ser distinguidos:

  • START - Definido imediatamente após ligar. As ações iniciais necessárias são executadas - os valores iniciais das variáveis ​​​​do programa e os sinais de saída são definidos, os dispositivos periféricos são configurados. Depois disso, o autômato vai para o estado STOP1 (um bom exemplo de transição em um evento indireto - a conclusão da inicialização);
  • STOP 1 - a máquina entra nele após a conclusão da inicialização ou após sair de uma situação de emergência. Sai por comandos que definem o sentido de rotação do motor:
  • STOP2 - a máquina aguarda o comando "START";
  • WORK - o estado principal, o dispositivo gera um sinal PWM. Saída por comando “STOP” ou por sinais de sensores de emergência;
  • SUPERAQUECIMENTO. SOBRECARGA - estados para os quais a máquina passa do estado WORK como resultado da operação dos sensores correspondentes. O motor está desligado, o dispositivo gera bipes. Sair - apenas no comando "STOP".

O gráfico construído é mostrado na fig. quatro.

Projetamos dispositivos em microcontroladores

É fácil ver que é impossível mudar um sentido de rotação errado definido aleatoriamente sem ligar e depois desligar o motor. Além disso, para iniciá-lo, você sempre precisa dar dois comandos - direção e partida. Ao recusar o comando START, o estado STOP2 pode ser excluído. e direcionar os arcos dos comandos "PRESSURE" e "EXHAUST" diretamente para o estado WORK. Como resultado, haverá um botão a menos no painel de controle, uma entrada MK será liberada. e o motor ligará imediatamente após pressionar qualquer um dos botões que definem a direção. A rigor, para qualquer alteração no algoritmo de controle especificado, deve-se obter o consentimento do cliente ou do futuro usuário do dispositivo. Mas na prática amadora, o cliente, o executor e o usuário muitas vezes são uma só pessoa e basta "consultar a si mesmo".

É impressionante que o gráfico não reflita a forma como o sinal PWM do ciclo de trabalho variável é gerado. No caso geral, isso pode ser feito por um dispositivo especial controlado pelo MK. Mas nos esforçamos para implementar tudo de forma puramente programática, então teremos que dividir o estado WORK em dois. No primeiro deles (WORK) PWM=0, no segundo (WORK 1) - PWM = 1.

Agora vamos fornecer eventos que causam transições entre eles - disparo alternado de dois temporizadores, um dos quais define a duração dos pulsos PWM e o segundo define as pausas entre eles, e cada temporizador, tendo funcionado, inicia o outro. Devido ao fato de que neste caso os temporizadores "lógicos" nunca funcionam simultaneamente, eles podem ser implementados usando um temporizador "físico", alterando programaticamente seu atraso de tempo após cada operação.

Os comandos "FASTER" e "SLOWER" ajustam os atrasos de tempo dos temporizadores, deixando sua soma inalterada e igual ao período de repetição do pulso PWM especificado. O autômato pode responder a esses comandos em ambos os estados considerados. No entanto, para simplificar o algoritmo, é permitido restringir a reação a apenas um deles. Devido à curta duração desses estados, o atraso de execução permanecerá imperceptível ao operador.

Outro esclarecimento necessário é a verificação da admissibilidade dos valores de atraso. De acordo com o trabalho, o ciclo de trabalho do sinal PWM. igual a T1/(T1+T0). onde T1 e T0 são os atrasos dos temporizadores, deve permanecer sempre no intervalo 0,2 ... 1. Portanto, após cada comando para alterar a velocidade, a máquina deve ir para o estado CHECK e somente a partir dele retornar ao estado Estado TRABALHO ao longo de um dos dois arcos. A primeira corresponde a um resultado positivo da verificação; ao passar por ela, novas velocidades do obturador são definidas. A segunda - o resultado é negativo, os trechos que estavam em vigor antes permanecem inalterados.

Continuando a analisar o gráfico, notamos que os estados OVERHEAT e OVERLOAD diferem apenas no período de repetição do sinal sonoro. É uma boa ideia combiná-los em um, chamando-o de ACIDENTE. O sinal de áudio S pode ser gerado usando dois temporizadores, semelhantes ao sinal PWM discutido acima. Além disso, é desejável usar o mesmo temporizador "físico", que nesse estado permanece ocioso.

Para deixar o som intermitente, pode-se usar outro timer, mas é mais fácil ficar sem ele, contando os períodos do sinal gerado por meio de um contador implementado em software, ligando e desligando o sinal de saída após um determinado número deles. Tudo isso exigirá fornecer estados adicionais do autômato e transições entre eles.

O gráfico desenvolvido do controle automático do motor é mostrado na fig. cinco.

Projetamos dispositivos em microcontroladores

Observe que as formulações verbais das ações a serem executadas são substituídas pela atribuição de determinados valores às variáveis. Por exemplo, em vez da frase "ligar o LED amarelo", Y = 1 é indicado e é especificado que o LED verde deve ser desligado, G = 0. Além dos sinais de saída e atrasos do temporizador mencionados anteriormente, o a constante T é o período de repetição do pulso PWM e a variável N é o número de pulsos S restantes até o final do intervalo formado do sinal sonoro.

O próximo passo é transformar o gráfico em um diagrama de blocos do algoritmo de operação do MC. Primeiramente, todos os vértices do grafo (estados do autômato) devem ser numerados. A ordem de numeração é muito importante na implementação de hardware do autômato. Ao escolhê-lo corretamente, você pode simplificar significativamente o dispositivo. Para implementação de software, isso não é tão significativo e, na maioria dos casos, a numeração pode ser arbitrária. O programa fornece necessariamente a chamada "variável de estado", que no decorrer do trabalho recebe valores iguais aos números dos estados atuais. Em programas complexos, pode haver várias dessas variáveis. Muitas linguagens de programação permitem que você dê nomes simbólicos a valores numéricos. Isso pode ser amplamente utilizado, pois uma linha em um programa que atribui o valor RABOTA a uma variável é muito mais descritiva do que uma linha que atribui o valor 6, por exemplo.

Na fig. 6, um diagrama de blocos típico do algoritmo de controle é apresentado na forma mais geral. Após a inicialização, o programa é executado ciclicamente. Depois de analisar a variável de estado, ele executa o procedimento correspondente em cada ciclo. Uma mudança no estado do autômato é indicada pela atribuição de um novo valor à variável de estado, como resultado, outro procedimento será realizado no próximo ciclo.

Projetamos dispositivos em microcontroladores

Os procedimentos que implementam cada um dos estados do autômato são construídos de acordo com diagramas de blocos semelhantes aos mostrados na Fig. 7. Em primeiro lugar, as influências externas (eventos) são analisadas. A seguir, o processo é dividido em tantos ramos quantos os arcos que saem do vértice correspondente do grafo do autômato, cada um deles prevê a execução das funções necessárias para implementar essa transição e, finalmente, a variável de estado recebe um valor igual ao número do vértice para o qual o arco é direcionado. Outra abordagem também é possível: primeiro, os arcos que entram no vértice são implementados e, em seguida, reagem aos impactos. Sua principal desvantagem é que o programa deve "saber" de qual estado o autômato passou para o estado dado, o que não era necessário no caso anterior.

Projetamos dispositivos em microcontroladores

Observe que na fig. A Figura 7 mostra duas saídas possíveis do procedimento de estado. Na primeira, os eventos são analisados ​​ciclicamente até que seja encontrado um deles que provoque a saída desse estado. No segundo - se nenhuma dessas influências estiver presente. o procedimento termina como mostrado pela linha tracejada.

Se houver poucas influências externas e a reação a elas em cada estado for específica, os procedimentos de detecção de eventos são incluídos nos blocos de processamento de estado. Por exemplo, é possível verificar se o botão "START" é pressionado apenas no estado em que a máquina deve responder a ele. Frequentemente, o procedimento de filtragem de eventos é colocado no loop principal (na Fig. 6 é mostrado por uma linha tracejada) e uma variável é fornecida, à qual é atribuído um valor associado exclusivamente ao evento ocorrido. Por exemplo, o resultado do polling do teclado é o código da tecla pressionada. No bloco de processamento de estado, realizado conforme a segunda das opções acima, analise apenas o valor desta variável.

Em contraste com o modelo teórico, os eventos reais geralmente ocorrem simultaneamente. Em tal situação, o autômato deve primeiro reagir ao evento que tem a maior prioridade. A maneira mais fácil de priorizar é escolher a sequência certa para analisar os eventos. Por exemplo, de acordo com o diagrama de blocos mostrado na Fig. 7, o evento X1 tem a prioridade mais alta. o mais baixo - em HZ. Se os eventos de alta prioridade ocorrerem com muito mais frequência do que os eventos de baixa prioridade, a fila pode nunca chegar aos últimos. Para evitar isso, eventos raros devem receber a mais alta prioridade. Às vezes, a distribuição do último precisa ser alterada durante a execução do programa, por exemplo, colocando cada evento recém-processado no final da fila.

O comportamento imprevisível do sistema no MK é frequentemente devido a ruídos ou ressaltos dos contatos dos controles. Tais eventos falsos devem ser "excluídos" usando filtros de software. Na maioria das vezes, para reconhecer um evento como ocorrido, basta garantir que o nível lógico do sinal na entrada correspondente do MK permaneça inalterado por um determinado tempo. Em casos críticos, são utilizados procedimentos mais complexos.

Entre os muitos eventos, muitas vezes é possível destacar "emergência", cuja reação deve ser imediata. Um exemplo típico. Para não perder o momento em que o timer expira, o programa tem que verificar constantemente o estado de seu registro, não podendo fazer mais nada até o término do timer. O sinal de solicitação de interrupção gerado pelo timer ao final da contagem resolve o problema. Ao aceitá-lo. O MC imediatamente (pelo menos muito mais rápido do que durante o processamento normal do software do mesmo evento) procede à execução da rotina de serviço de interrupção, cujo endereço (vetor) deve ser especificado em células de memória de programa especialmente alocadas.

O aparato de interrupções do vetor de prioridade do programa que está sendo executado é fornecido na grande maioria dos microcontroladores. As interrupções podem ser externas ou internas. Neste último caso, a entrada do pedido de interrupção não possui uma saída externa, mas está conectada a uma fonte de pedido localizada diretamente no chip MK. Normalmente, as interrupções internas são fornecidas não apenas pelo temporizador, mas também por outros dispositivos integrados a este MK: controladores de porta serial, comparadores de sinal analógico, conversores analógico-digital.

Freqüentemente, uma das interrupções internas dos MKs modernos está associada ao chamado watchdog timer (Watch Dog), que serve para proteger contra falhas acidentais. Este temporizador requer constante

inicialização escrevendo um código específico para um local específico no espaço de endereço. O programa MC é construído de forma que, durante seu curso normal, esse procedimento seja executado com bastante frequência. Se o MK "travar", a inicialização do watchdog timer para e depois de um tempo ele envia sua solicitação de interrupção, cujo processamento é projetado para restaurar a operação normal do sistema. Normalmente, a resposta a uma interrupção watchdog é a mesma. como um sinal externo que coloca o MK em seu estado original.

As interrupções são controladas habilitando-as ou desabilitando-as dependendo do estado do autômato implementado. Se a mesma interrupção em diferentes estados precisar ser processada de maneira diferente, o procedimento de processamento é construído como o loop principal do programa, fornecendo análise de estado nele. A diferença é. que tal procedimento não é fechado em um anel. Concluído, o MK continuará executando o programa do local onde foi interrompido. Isso está repleto de falhas, pois em um estado que mudou como resultado do tratamento da interrupção, continuar as ações interrompidas pode dar um resultado incorreto. Eles se protegem de tais erros desativando interrupções durante a execução de seções críticas do movimento do programa, que. sem dúvida retarda a reação do sistema.

Se houver mais fontes de solicitação de interrupção no sistema do que as entradas MC fornecidas para elas, uma solicitação de grupo é implementada no hardware combinando as saídas de várias fontes de acordo com o esquema OR. Ao aceitar tal pedido. O MC é obrigado a descobrir quem o enviou e processá-lo adequadamente.

Às vezes, todo o algoritmo do dispositivo é implementado por um conjunto de rotinas de tratamento de interrupção. Nesse caso, o loop principal degenera em várias instruções de máquina, até uma única instrução de salto incondicional para si mesmo. Muitos MKs fornecem especificamente comandos HALT ou IDLE para os quais eles. essencialmente param de funcionar (às vezes até o gerador de clock desliga). Somente a solicitação de interrupção recebida pode tirar o MK desse estado. Processamento da solicitação concluído. O MC executa a transição incondicional para o comando de parada fornecido no loop principal e "cai no sono" novamente. Este modo é muito econômico, pois a potência consumida pelo MK parado diminui muitas vezes, aumentando apenas durante a reação a influências externas.

O diagrama de blocos do algoritmo de controle do motor do ventilador desenvolvido levando em consideração o exposto acima consiste em duas partes mostradas na Fig. 8 (loop principal) e fig. 9 (manipulando a interrupção do timer). Ambos correspondem basicamente aos diagramas de blocos típicos discutidos acima, exceto que são combinadas as mesmas operações que são executadas ao processar diferentes eventos. O manipulador de interrupção do temporizador gera os sinais PWM e S. Na transição do estado STOP para o estado RUN, a interrupção é habilitada e, ao retornar ao estado STOP, é desabilitada.

Projetamos dispositivos em microcontroladores

O programa agora possui uma variável de estado ST, à qual são atribuídos valores de string para maior clareza - os nomes dos estados correspondentes. Como mencionado acima, no programa, esses serão números - números de estado ou seus nomes simbólicos. Os valores atribuídos à variável N0 são escolhidos com base na suposição de que os períodos de repetição dos pulsos PWR e S gerados são iguais e iguais a 1 ms. Se não for. o diagrama de blocos terá que ser ligeiramente modificado.

Projetamos dispositivos em microcontroladores

Agora você pode proceder à escolha do MK, à distribuição dos sinais de entrada e saída em suas saídas e ao desenvolvimento de um diagrama de circuito completo do dispositivo. Tendo determinado a quais circuitos externos os bits de uma determinada porta I/O do MK serão conectados, e os níveis lógicos dos sinais nestes circuitos, o programador pode começar a desenvolver o programa.

Literatura

  1. Franke K. Introdução aos microcomputadores: Per. com ele. - M.: Energoatomiedat. 1998.
  2. Kagan BM, Stashin VV Fundamentos do projeto de dispositivos de automação microprocessados. - M.: Energoatomiedat. 1987.
  3. Stashin VV, Urusov AV, Mologoitseva OF Projetando dispositivos digitais em microcontroladores de chip único. - M.: Energoatomiedat. 1990.

Autor: M. Gladshtein, Rybinsk

Veja outros artigos seção Microcontroladores.

Leia e escreva útil comentários sobre este artigo.

<< Voltar

Últimas notícias de ciência e tecnologia, nova eletrônica:

Máquina para desbastar flores em jardins 02.05.2024

Na agricultura moderna, o progresso tecnológico está se desenvolvendo com o objetivo de aumentar a eficiência dos processos de cuidado das plantas. A inovadora máquina de desbaste de flores Florix foi apresentada na Itália, projetada para otimizar a etapa de colheita. Esta ferramenta está equipada com braços móveis, permitindo uma fácil adaptação às necessidades do jardim. O operador pode ajustar a velocidade dos fios finos controlando-os a partir da cabine do trator por meio de um joystick. Esta abordagem aumenta significativamente a eficiência do processo de desbaste das flores, proporcionando a possibilidade de adaptação individual às condições específicas do jardim, bem como à variedade e tipo de fruto nele cultivado. Depois de testar a máquina Florix durante dois anos em vários tipos de frutas, os resultados foram muito encorajadores. Agricultores como Filiberto Montanari, que utiliza uma máquina Florix há vários anos, relataram uma redução significativa no tempo e no trabalho necessários para desbastar flores. ... >>

Microscópio infravermelho avançado 02.05.2024

Os microscópios desempenham um papel importante na pesquisa científica, permitindo aos cientistas mergulhar em estruturas e processos invisíveis aos olhos. Porém, vários métodos de microscopia têm suas limitações, e entre elas estava a limitação de resolução ao utilizar a faixa infravermelha. Mas as últimas conquistas dos pesquisadores japoneses da Universidade de Tóquio abrem novas perspectivas para o estudo do micromundo. Cientistas da Universidade de Tóquio revelaram um novo microscópio que irá revolucionar as capacidades da microscopia infravermelha. Este instrumento avançado permite ver as estruturas internas das bactérias vivas com incrível clareza em escala nanométrica. Normalmente, os microscópios de infravermelho médio são limitados pela baixa resolução, mas o desenvolvimento mais recente dos pesquisadores japoneses supera essas limitações. Segundo os cientistas, o microscópio desenvolvido permite criar imagens com resolução de até 120 nanômetros, 30 vezes maior que a resolução dos microscópios tradicionais. ... >>

Armadilha de ar para insetos 01.05.2024

A agricultura é um dos sectores-chave da economia e o controlo de pragas é parte integrante deste processo. Uma equipe de cientistas do Conselho Indiano de Pesquisa Agrícola-Instituto Central de Pesquisa da Batata (ICAR-CPRI), em Shimla, apresentou uma solução inovadora para esse problema: uma armadilha de ar para insetos movida pelo vento. Este dispositivo aborda as deficiências dos métodos tradicionais de controle de pragas, fornecendo dados sobre a população de insetos em tempo real. A armadilha é alimentada inteiramente por energia eólica, o que a torna uma solução ecologicamente correta que não requer energia. Seu design exclusivo permite o monitoramento de insetos nocivos e benéficos, proporcionando uma visão completa da população em qualquer área agrícola. “Ao avaliar as pragas-alvo no momento certo, podemos tomar as medidas necessárias para controlar tanto as pragas como as doenças”, diz Kapil ... >>

Notícias aleatórias do Arquivo

Impressão de circuitos eletrônicos flexíveis em materiais elásticos e tecidos 18.04.2015

Pesquisadores da Universidade de Purdue, nos EUA, desenvolveram um método para imprimir condutores elétricos flexíveis e elásticos em praticamente qualquer superfície, incluindo materiais e tecidos elásticos. O método facilita o domínio da produção em escala industrial.

Para aplicar circuitos condutores a um material elástico, um grupo de cientistas liderado por John William Boley, Ph.D., usou uma impressora convencional a jato de tinta, mas em vez de tinta, eles colocaram uma suspensão de partículas metálicas no cartucho.

A suspensão foi preparada pela destruição de "metal líquido" (metal líquido). As micropartículas do material obtido como resultado da destruição foram colocadas em etanol, e a mistura resultante foi batida em suspensão sob a ação de ultra-som.

"O metal líquido em si não pode ser impresso. Então nós o transformamos em uma pasta que passa facilmente pelos bicos da cabeça de impressão", disse Rebecca Kramer, uma das participantes do estudo. "E agora podemos aplicar circuitos flexíveis a quase tudo qualquer que seja."

Após a aplicação da suspensão no material, o etanol evapora, restando apenas partículas de "metal líquido".

No entanto, o circuito impresso resultante não conduz corrente. Para que ele se torne condutor, ele deve ser "ativado", colocar pressão sobre ele para que as partículas do "metal líquido" se unam. Isso abre certas possibilidades para o fabricante: ele pode criar um modelo de circuito e dar ao circuito uma funcionalidade diferente em diferentes produtos, ativando apenas algumas de suas seções, deixando o resto não condutor.

Os pesquisadores acreditam que o novo método facilitará a impressão de circuitos eletrônicos em roupas e criará novos tipos de dispositivos vestíveis, e também encontrará aplicação na robótica - para criar máquinas humanóides. "Condutores feitos de 'metal líquido' podem esticar e deformar sem quebrar", disse Kramer.

Os pesquisadores não explicaram como propõem aplicar componentes eletrônicos a materiais elásticos.

No futuro, a equipe de pesquisa planeja investigar se e como a condutância dos circuitos flexíveis de metal líquido é afetada pelo material do substrato ao qual são aplicados. E também inventar uma tecnologia para ativar automaticamente o circuito depois de impresso.

Acrescentamos que a eletrônica flexível tem sido de interesse dos engenheiros há muito tempo. Em 2009, cientistas dos Estados Unidos e da Alemanha desenvolveram um novo tipo de tinta semicondutora que pode ser aplicada a um produto usando uma impressora jato de tinta especial.

Outras notícias interessantes:

▪ Formigas podem prever terremotos

▪ As imagens são projetadas em ar limpo

▪ NXP melhorará a segurança dos ePassports

▪ Especificações do formato Blu-ray concluídas

▪ Memória 3D densa e barata

Feed de notícias de ciência e tecnologia, nova eletrônica

 

Materiais interessantes da Biblioteca Técnica Gratuita:

▪ seção do site Segurança elétrica, segurança contra incêndio. Seleção de artigos

▪ artigo Processamento de pedra. História da invenção e produção

▪ artigo Qual cidade é chamada de Veneza do Oriente? Resposta detalhada

▪ artigo Rastreador de vias férreas, estruturas artificiais e montador de vias designado para inspeção. Instrução padrão sobre proteção do trabalho

▪ artigo Indicação de ligação de aparelhos elétricos a uma rede de 220 volts. Enciclopédia de rádio eletrônica e engenharia elétrica

▪ artigo Amplificador de banda larga baseado no transistor KT3115A. Enciclopédia de rádio eletrônica e engenharia elétrica

Deixe seu comentário neste artigo:

Имя:


E-mail opcional):


Comentário:





Todos os idiomas desta página

Página principal | Biblioteca | Artigos | Mapa do Site | Revisões do site

www.diagrama.com.ua

www.diagrama.com.ua
2000-2024