Moving average msp430 no Brasil


Engenharia embutida na publicação. Eu vou mostrar-lhe como implementar o filtro de filtro digital o mais simples possível, o quimio de filtragem médio. Embora seja muito fácil de implementar, mas ainda em muitas aplicações isso é mais que bom o suficiente. Por exemplo, reduzindo o ruído aleatório do sinal. Claro, quando é muito simples, tem problemas como. Não tem resposta de filtro muito afiada. Entrada do canal 1. Varredura de 20Hz a 6Khz, Canal 4 (Verde) Saída filtrada de 15 pontos, saída M (Vermelho) no domínio freq. Sábado 1 de outubro de 2017 Este projeto é a parte final na criação de uma luz solar realmente poderosa. Neste projeto, intigrate LTC3478 Baseado em Filadélfia e Controlador de carga Li-Ion Baseado em BQ24650. Vamos usar o total de 3 9 Watt cada placa de driver LED e um controlador de carga para carregar 6 células 7.6V 20000mah bateria li-lion, há 4 LED gráfico de barras para mostrar o nível de bateria estimado e um único botão para controlar Onoff, Nível Diferente De brilho. E selecione um. Todas ou poucas placas LED para abrir. Não há muito a descrever em termos de schmeatic e firmware como todos os firmware e Schmeatic aer já na minha conta github. Painel de interface do usuário é feito de PCB com LED de 4 status da bateria uma porta para o painel solar Conector e um interruptor de controle. Quando a bateria está carregando o status do LED exibido em conformidade e quando a bateria está descarregando o estado do led atualizado de acordo. Na adição ao pequeno projeto de iluminação solar em que eu estava trabalhando, criei este pequeno controlador de carga solar para carregar a bateria de iões de lítio (li-ion). Circuito Utilize o Texas Instrument BQ24650 no coração do loop para controlar a carga. Como o circuito tem mosfet externo, a corrente máxima de 160charge pode ser ajustada para valores realmente altos. 160Circuit aceita os valores do painel solar de 5V a 28V. Testei-o com o painel solar nominal de 12V nominal (17Volts open circuit) 160. e 24 Volts na corrente de carga da bateria até 4A. Atualmente instalado na minha casa desde poucos meses Carregando uma bateria de 20000 mah li-ion. O circuito possui uma grande capacidade de corrente de 4 pinos, conector Molex para painel solar. Conector de 6 pinos para bateria e chave de carga. Também é possível conectar o NTC para a monitoração da temperatura da bateria. BQ24650 pode monitorar automaticamente a temperatura da bateria. O microcontrolador dedicou uma saída de 3 PWM para escurecimento de LED e cabeçalho de 6 pinos de gpio para led de estado melhor e uma chave de interface de usuário. Hallo zu Deutsch Leser. Das ist mein erste Artikel auf Deutsch. Eu habe viel aufrufe aus Deutschland deshalb Jetzt ab, ich werde auch auf Deutsch publizieren weil ich Detusch lerne e ich mchte mehr bungen. Jedes Artikel wird auf Deutsch und English. wenn wir Widerspruch zwischen dem Artikel auf Deutsch und Englisch haben, die English berwiegt weil Meine erfahrungen auf deutsch kurze ist.160 160 160 160Se começar o wir. Heutzutage arbeite ich an einem Projekt. QuotMPPT Solar li-ion Laderquot. Bei diesem projekt brauche ich eine160sehr160vollmacht 25W LED leicht. Aber 25W ist viel fur ein160LED-Triber. Es erforden viele kentnisse ein 25 W LED-Triber zu entwerfen. Hauptsorge auf die Projket quotMPPT Solar - Large Laderquot ist zu Lernen wie der MPPT Descarente Arbeitet e wie die software Algorithmus sind. Das Projekt ist ein teil von ein Projekt foi publicitário ich spter.160 160 160 160 Reticentemente eu estava trabalhando um projeto de iluminação solar de 160 litros , Eu preciso de uma iluminação insana de 160WL realmente brilhante. Mas a questão foi para 25W, com muita energia para LED e requer algumas habilidades para fazer um driver de LED de alta potência. O objetivo principal deste projeto é obter um conhecimento de descida do controlador de carga MPPT e dos algoritmos de carregamento MPPT. Este projeto faz parte do projeto. Que eu publicarei mais tarde. 160160160 Esta publicação vai ser a 4ª parte em série de fazer uma placa ARM capaz de Linux em casa. Clique primeiro. Segundo e Terceiro para ir às peças anteriores, então vamos começar. O que é um Bootloader, por que precisamos dele160 um carregador de inicialização é um programa que é o primeiro a ser executado pela CPU. Ele detecta um propósito muito específico para configurar algumas coisas muito essenciais antes de carregar o programa principal (pode ser o SO) na memória principal. É por isso que se chama carregador de inicialização. Dependendo do carregador de inicialização de necessidades, pode fazer alguma outra tarefa (vamos cobri-las aqui). Existem vários formatos e tamanhos dos bootloaders. Todos eles servem quase o mesmo propósito. Com microcontroladores. Algumas vezes não carrega o programa principal na memória, mas transmite o ponteiro de execução para o programa principal para que o programa principal possa ser executado diretamente da memória onde está. Placa Com o aplicativo Qt5 com LCD de 4,3 polegadas para exibir imagens JPEG e TimeBlog Entry 11 de setembro de 2017 por rwb. Sob a Robótica. Quando a Texas Instruments (TI) introduziu seu novo microcontrolador de 16 bits com o programador e o cartão de desenvolvimento denominado MSP430 Value Line LaunchPad em meados de 2010 por apenas US $ 4,30, incluem o custo de envio, isso o torna o programador e desenvolvimento mais barato Plataforma de placa que você poderia encontrar no mercado. Portanto, a introdução do quadro de desenvolvimento do LaunchPad da linha de valor MSP430 faz um tremendo impacto, especialmente entre os hobbyists, estudantes e entusiastas da eletrônica, porque agora o grande menino (TI) está participando seriamente do mercado de hobbyistas eletrônicos e compete diretamente com sua classe de 16 bits Microcontroladores de linha de valor para os microcontroladores de classe de 8 bits que são principalmente dominados pela Atmel e Microchip. O quadro de desenvolvimento MSP430 Value Line LaunchPad é fornecido com o ambiente de desenvolvimento integrado (IDE) baseado em eclipse chamado Code Composer Studio (descarregável do site da TI) e equipado com o compilador e depurador profissional de grau C, que faz o desenvolvimento do microcontrolador MSP430 O sistema integrado embutido torna-se fácil e divertido. Como você sabe, a maioria dos hobbyists eletrônicos usou o popular microcontrolador de classe de 8 bits para a maioria de seus projetos incorporados, como o microcontrolador AVR do Atmel e o microcontrolador PIC da Microchip. Agora você pode se perguntar por que temos que aprender outro tipo de microcontrolador, já que a maioria dos microcontroladores modernos já forneceu todos os recursos necessários que precisamos. Por que não, aprender outro tipo de microcontrolador é um dos tópicos fascinantes e desafiantes a serem aprendidos especialmente para o verdadeiro hobbyista de eletrônicos, pois isso ampliará nossos conhecimentos e utilizará o que é melhor em cada um dos tipos de microcontroladores para suportar nosso futuro projeto de sistema incorporado . O projeto do microcontrolador MSP430 Depois de muitas considerações sobre o que é a forma atraente de apresentar este microcontrolador MSP430, em vez de simplesmente começar com um LED comum piscando, eu decidi construir um robô simples e ainda mais popular, 8230yes, 8230 é outro Robô de seguidor de linha (LFR ) Usando o microcontrolador MSP430G2231 de Texas Instruments de 14 pinos de 16 bits que vem com o quadro de desenvolvimento MSP430 Value Line LaunchPad. Porque eu acho que construir um robô lhe dará o conhecimento básico e o entendimento que você precisa para começar a explorar muitos dos recursos avançados oferecidos por esses microcontroladores de linhas de valor MSP430 de 16 bits sozinhos. Se você notar na imagem acima, este Líder de seguidor de linha (LFR) usou um chassi de CD semelhante, um motor de engrenagem CC e sensores encontrados em meus artigos anteriores 8220O LM324 Quad Op-Amp Line Follower Robot com modulação de largura de pulso 8220. Portanto, esse projeto também Serve como um bom exemplo da versão 8220digital8221 do analógico LFR we8217ve construído antes. O seguinte é o esquema eletrônico completo do Robô de seguidor de linha: agora, liste todos os componentes eletrônicos necessários e outros materiais suportados para construir este LFR: 1. Resistores: 220 (2), 470 (1), 10K (3), 22K (2) e 47K (1) 2. Resistência dependente da luz (2) 3. Capacitores: 0.1uF (3), 1uF (1) e 47uF16v (1) 4. Diodos: 1N4148 (2) 5. Alta Intensidade 3 Mm azul Diodo emissor de luz (3) 6. MOSFET N-Channel: BS170 (3) 7. IC: regulador de voltagem ACS 1722A de 3.3 volts ou equivalente 8. Texas Instruments MSP430 Value Line LaunchPad Development Board 9. Motor DC: Solarbotics GM2 Geared DC Motor com roda (2) 10. Um interruptor de botão de reposição 11. PCB perfurado: 70 x 55 mm para a placa principal e 50 x 15 mm para a placa de sensores 12. Suporte de bateria 4 x AA 13. CDDVD ROM (2) 14 Grânulos de plástico e grampo de papel para a roda (a terceira roda) 15. Bolt, nozes, fita dupla e fita elétrica padrão para a linha preta 16. Texas Instruments Code Composer Studio Core Edition versão 4.2.1.000 04 (usado neste projeto) 17. Folha de dados do microcontrolador MSP430G2231 da Texas Instruments, SLAS694 e SLAU144F. O firmware completo para este projeto Line Follower Robot é desenvolvido com a linguagem C: O Princípio de Trabalho do Robot de Líder da Linha Este design do Robot do seguidor de linha usou o sensor de fotocélula conhecido como Resistor Dependente de Luz (LDR) feito de Sulfeto de Cádmio (CdS) para detectar o Linha de faixa preta, quando o LDR está acima da linha de faixa preta, ele dará um alto valor de resistência enquanto estiver acima do fundo branco e dará um baixo valor de resistência. Juntamente com o resistor de 22K, eles formam o que é conhecido como o circuito divisor de tensão. Este sensor de circuito de divisor de tensão fornecerá a tensão variável de acordo com a quantidade de intensidade da luz refletida de volta para o LDR. O diodo emissor de luz azul (LED) proporcionará uma fonte de luz constante para os sensores. Em seguida, o microcontrolador MSP430G2231 irá traduzir essa tensão variável usando o seu periférico de conversão analógico a digital (ADC) na velocidade de rotação do motor CC usando o que é conhecido como o sinal de modulação de largura de pulso (PWM). Uma vez que este LFR usou o método de direção diferencial 8201 (isto é, usado dois motores CC independentes para a direção), portanto, ao variar a velocidade de rotação do motor DC esquerda e direita proporcionalmente à intensidade da luz recebida por ambos os LDR esquerdo e direito, poderíamos Faça com facilidade o robô para navegar na linha negra com sucesso. O microcontrolador MSP430G2231 O microcontrolador da série 430 de processamento de sinal misto (MSP) é introduzido pela primeira vez no final de 1990 pela Texas Instruments. It8217s um microcontrolador 16 bits RISC (sistema de instruções reduzido) com arquitetura Von Neumann, onde a CPU, IO e memória compartilhavam o mesmo controle, endereço e barramento de dados de 16 bits. O MSP430 é especialmente design para baixo consumo e otimiza para ser usado com o compilador C. A série de linhas de valor 8220G8221, como o microcontrolador MSP430G2231 de 14 pinos, é introduzida juntamente com o plano de desenvolvimento fenomenal do lançamento LaunchPad. Este microcontrolador tem estes seguintes recursos interessantes que I8217m com certeza, como o hobbyista eletrônico, você vai tentar tentar sozinho. Uma das características que tornam este microcontrolador MSP430G2231 de 14 pinos especial é a construção da lógica de emulação on-chip usando o que se chama 8220 Spy-Bi-Wire 8221 ou também conhecido como JTAG de 2 fios (Joint Test Action Group). Esta característica útil nos permite pisar o código C linha a linha, definir um ponto de quebra e verificar as variáveis ​​ou o valor dos registros enquanto o chip está no circuito (na programação e depuração do circuito). O MSP430G2231 Microcontroller InputOutput (IO) O microcontrolador MSP430G2231 possui 10 IO, 8 pinos nas primeiras portas (P1) e 2 pinos nas segundas portas (P2). Todas estas portas são configuráveis ​​como portas de entrada ou saída de propósito geral e, muitas vezes, são multiplexadas com outra função IO, como entrada AD (analógica a digital), saída PWM, USI (Universal Serial Interface), Entrada Relógio, Entrada Crystal Oscillator e JTAG Terminal IO. Como você viu na tabela acima, o LFR usou apenas várias portas IO e, como regras, as portas IO não utilizadas devem ser configuradas como as portas de saída e deixá-las desconectadas. Alternativamente, você pode configurar todas as portas não utilizadas como as portas de entrada (padrão na reinicialização de energia) e habilitar o resistor de deslocamento para evitar que o problema de entrada 8201 flutuante 8201 imprevisível ocorra no seu projeto. O código C seguinte mostra como configurar as portas IO necessárias para este LFR: o registrador P1DIR (direção da porta 1) é usado para configurar a direção da porta IO, onde cada bit desse 16 bits correspondente às portas IO (P1.0 Para P1.7). Ao habilitar o bit correspondente, basta dizer ao microcontrolador MSP430G2231 que configure a porta como uma porta de saída. Em seguida, o resistor P1REN (porta 1 pull-uppull-down resistor), ao habilitar o bit correspondente, podemos habilitar o resistor pull-down (configurado como entrada) ou o resistor pull-up (configurado como saída). O registrador P1OUT do microcontrolador MSP430G2231 (saída da porta 1) é usado para controlar o estado lógico da porta de saída, usado para ligar e desligar os P1.0 e P1.6 para gerar o sinal PWM requerido. Utilizei estas portas porque estas portas estão conectadas com dois LEDs na placa de desenvolvimento MSP430 LaunchPad, portanto, você poderia facilmente testar a saída PWM usando esses LEDs. A porta de saída P1.7 também é usada para controlar o LED do sensor ao lado como a fonte de luz do sensor, também serve como um indicador de sinal quando o LFR terminar de calibrar os sensores. O código a seguir usa o operador de bit de linguagem C para ligar e desligar a porta usando o microcontrolador MSP430G2231. Registro P1OUT: a partir da folha de dados, a corrente de saída máxima para cada porta é de cerca de 6 mA e para todas as saídas combinadas é de cerca de 48 mA, é claro Não é adequado para conduzir o motor DC diretamente, portanto, neste projeto, usei o Transistor Transistor MOSFET (Transistor de efeito de campo de semicondutor de óxido de metal) BS170 de canal n para conduzir o motor DC e o sensor LED. A vantagem de usar o MOSFET porque este tipo de transistor tem uma impedância de entrada muito alta no seu terminal Gate (G), o que significa que ele precisa de uma corrente muito baixa para operar e tem baixa resistência ON entre o seu Dreno (D) e a Fonte ( S), denominados Rds, especialmente quando operam com uma fonte de tensão DC mais alta, compara-se ao Transistor de junção bipolar comum (BJT). Ao aplicar uma tensão maior do que a tensão de limiar Vgs, ou seja, a tensão aplicada entre o terminal Gate e Source, it8217s cerca de 2 volts no MOSFET BS170, poderíamos trazer o MOSFET para o seu estágio saturado (ON) e este nível de tensão poderia ser facilmente fornecido pela Porta de saída do microcontrolador MSP430G2231. A Modulação de Largura de Pulso de Modulação de Largura de Pulso (PWM) MSP430G2231 é uma técnica amplamente utilizada no circuito de comutação moderno para controlar a quantidade de energia fornecida ao dispositivo elétrico (isto é, o motor de corrente contínua). Simplesmente liga e desliga a alimentação fornecida no motor DC rapidamente e a quantidade média de energia recebida pelo motor CC corresponde ao período ON e OFF (ciclo de trabalho), portanto, variando o período ON, ou seja, maior ou menor do que o OFF Período, poderíamos controlar a velocidade de rotação do motor DC. O microcontrolador MSP430G2231 realmente possui dois registradores de captura que podem ser usados ​​para gerar o PWM automaticamente, mas porque precisamos de duas fontes PWM independentes com o ciclo de trabalho PWM configurável e sobre a freqüência PWM específica, portanto, não podemos usar o PWM incorporado que é Fornecido pelo microcontrolador MSP4302231. Em vez disso, neste projeto LFR, usei o software PWM que se baseia na interrupção do canal 0 do MSP430G2231 TimerA. O software básico PWM poderia ser feito primeiro criando o contador de rampa digital básico para o período do sinal PWM e, em seguida, use a variável a ser comparada com o valor do contador de rampa e isso criará o ciclo de trabalho PWM necessário como mostrado neste diagrama seguinte: O contador de rampa digital básico usou a variável pwmcount para contar de 0 a MAXCOUNT e comece a contar de 0 de novo repetidamente. O número de instalação proporcionará um período constante para o sinal PWM. Em seguida, precisamos de duas variáveis ​​pwmm1 e pwmm2 para serem comparadas com a variável pwmcount. Quando a conta atinge 0, simplesmente ligamos a porta de saída do microcontrolador MSP430G2231 e, quando o número de instalação é igual ao valor pwmm1 ou pwmm2, simplesmente desligamos a porta de saída do microcontrolador MSP430G2231. Portanto, ao variar o valor das variáveis ​​pwmm1 ou pwmm2, poderíamos controlar o ciclo de operação do sinal PWM. Utilizamos o microcontrolador MSP430G2231 TimerA no 8220 Up Mode 8221 para realmente aumentar e controlar o valor da conta e quando o registro do contador TimerA (TAR) igual ao Timer A CaptureControl Register channel 0 (TACCR0) ele irá gerar a interrupção. Como neste projeto eu usei o microcontrolador padrão MSP430G2231 padrão (SMCLK) de 1 MHz para a fonte de relógio TimerA, atribuindo 99 ao registro TACCR0 fará com que o canal TimerA 0 gerasse interrupção em cada 100 ciclos (TACCR0 1) ou sobre 0,1 ms como mostrado neste código C seguinte: A implementação do software PWM é implementada dentro do manipulador de função de interrupção do canal 0 TimerA como mostrado neste seguinte código C: Ao escolher MAXCOUNT de 100, poderíamos obter o período PWM cerca de 101 x 0,1 ms, Que é cerca de 10,1 ms ou podemos dizer que a freqüência PWM é de cerca de 100 Hz e, atribuindo cada um dos valores das variáveis ​​pwmm1 e pwmm2 de 0 a 100, podemos obter a saída do ciclo de trabalho PWM variando de 0 a 100. O pwmm1 e O valor das variáveis ​​pwmm2 é fornecido pelo valor digital dos sensores esquerdo e direito da função adc2cycle (), que basicamente configura o valor do ciclo de trabalho PWM superior e inferior retornado a essas variáveis. A configuração de limite superior e inferior depende da trilha de linha preta e da característica dos sensores e pode ser alterada alterando cada valor de definição MAXTHRESHOLD e MINTHRESHOLD. O MSP430G2231 ADC Peripheral O microcontrolador MSP430G2231 possui um periférico de conversão analógico a digital (ADC) de 10 bits, também conhecido como periférico ADC10 com 8 canais (A0 a A7), onde o canal (A10) é especialmente usado para o termômetro interno. O periférico MSC430G2231 ADC10 usou o chamado 8220 Método de Aproximação Sucessiva 8221 para converter a entrada analógica de um desses canais para a representação digital de 10 bits e armazena o resultado no registro ADC10MEM. O periférico ADC10 é controlado por dois registros de controle, ADC10CTL0 e ADC10CTL1. Assim, ao definir o bit ADC10ON (alto lógico) no registro ADC10CTL0, ativamos esse núcleo ADC. A coisa mais importante é lembrar que esses registros de controle ADC10 só podem ser modificados quando o bit ENC (Habilitar Conversão) em ADC10CTL0 é baixo (ENC 0) e antes da conversão AD esse bit deve ser definido como 1 (alto lógico). O periférico MSP430G2231 ADC10 tem quatro modos de operação que podem ser selecionados configurando os bits de CONSEQx no ADC10CTL1 (ADC10 Control Register 1) e, neste projeto LFR, usaremos o 8220 Single Channel Single Conversion Mode 8220. O seguinte código C mostra como nós Configure o microcontrolador MSP430G2231 periférico ADC10: a entrada dos canais analógicos do multiplexador pode ser selecionada ao atribuir os bits INCHx correspondentes no registrador ADC10CTL1. A conversão atual do AD é colocada na função ReadSensor (), conforme mostrado neste código C seguinte: notado no código C acima, antes de alterar o registro de controle ADC10 (ou seja, ADC10CTL0 e ADC10CTL1), devemos desabilitar o ADC10 primeiro Seja redefinir o bit ENC no registro ADC10CTL0 antes da conversão AD que definimos (habilitar) os bits ENC e ADC10SC (ADC10 Start Conversion) no registro ADC10CTL0. Em seguida, esperamos a conversão verificando o bit ADC10BUSY no registrador ADC10CTL1. Quando o bit ADC10BUSY se torna 822008221, a conversão é feita e podemos recuperar o valor digital armazenado de 10 bits no registrador ADC10MEM. Uma das características mais importantes neste projeto LFR é a fase de calibração na função CalibrateSensor (). Na fase de calibração lemos os sensores para o seu valor máximo (isto é, na linha preta) e o valor mínimo (isto é, no fundo branco). Esta fase de calibração assegurará que ambos os sensores esquerdo e direito proporcionem valor igual ao gerador PWM para acionar o motor DC. O algoritmo real para fazer com que este LFR navegue a linha de faixa preta com sucesso é mostrado neste seguinte código C: O conjunto de robô de seguidor de linha O robô de seguidor de linha primeiro é construído na placa de painéis para testar o circuito antes de o mover para o PCB perfurado (70 x 55 mm) Eu usei um método de fiação semelhante para conectar o circuito na PCB perfurada LFR principal, como explicado no meu artigo anterior 8220Quick e Eficientemente Fiação do seu Placa de Circuito Protótipo 8220. A construção Line Robot seguidor poderia ser construída livremente, mas a mais fácil Um é usar a ROM de CDDVD descartada, conforme mostrado nas seguintes imagens: Coloquei os dois CDROM em conjunto para fazer mais espaço e anexar os dois motores DC GM2, o suporte de bateria 4xAA, a placa principal e a placa do sensor usando a fita dupla. Os sensores (LDR e LED) são construídos em uma pequena PCB perfurada (50 x 15 mm) com esta seguinte orientação: Finalmente, use o conector Spy-Bi-Wire Texas Instruments MSP430 Value Line LaunchPad e o Texas Instruments Code Composer Studio Core Edition v4.2.1.00004 (usado neste projeto), poderíamos facilmente programar e depurar o firmware LFR: depois de colocar todas as peças juntas e baixar o código para o microcontrolador MSP430G2231, a RAM agora é hora de assistir como este bom robô linha seguidor Em ação: outro vídeo interessante deste Softwares Line Follower com base em MSP430G2231: Como o you8217ve visto no vídeo de demonstração acima deste microcontrolador MSP430G2231 de Texas Instruments baseado em 16 bits, o Gerenciador de seguidores de linhas pode manipular e navegar suavemente a complexa linha negra usando apenas dois sensores LDR . Espero que este projeto do Line Follower Robot desencadeie sua paixão para aprender mais sobre esse poderoso microcontrolador da série de 16 bits MSP430 da Texas Instruments. Marcadores e Compartilhar postagens relacionadas

Comments

Popular Posts