Introdução ao comprimido azul STM32F103C8T6

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Neste projeto, examinaremos rapidamente a placa de desenvolvimento STM32F103C8T6, que é baseada em um microcontrolador ARM Cortex-M3 da STMicroelectronics. Vou mostrar alguns recursos importantes desta placa, como configurar o ambiente existente do Arduino para funcionar com esta placa e também escrever o primeiro programa, que nada mais é que sim, você adivinhou, um Blinky. Então vamos começar.

Introdução

Na última década, o Arduino foi o principal responsável por prototipagem rápida, projetos de hobby ou como diretor de desenvolvimento de iniciantes para impulsionar sua carreira em eletrônica. Mas todos conhecemos as limitações de uma placa Arduino (vamos discutir o Arduino UNO, pois é o Arduino mais popular por aí), ou seja, é lento, rodando apenas em 16 MHz, possui hardware interno muito limitado e não possui capacidade de processamento suficiente ou RAM e Flash para executar um aplicativo baseado no FreeRTOS (tecnicamente, você pode executar o FreeRTOS no Arduino, mas não é o ideal).

Uma alternativa ao Arduino é a placa de desenvolvimento baseada em microcontrolador STM32F103C8T6, que é frequentemente chamada de Blue Pill (referência Matrix). Este microcontrolador é baseado na arquitetura ARM Cortex-M3 fabricada pela STMicroelectronics.

O STM32F103C8T6 é um microcontrolador muito poderoso e, com sua CPU de 32 bits, pode facilmente vencer o Arduino UNO em desempenho. Como um bônus adicional, você pode programar facilmente esta placa usando seu Arduino IDE (embora com alguns ajustes e programador adicional, ou seja, conversor USB para U (S) ART).

Uma breve nota sobre a placa de desenvolvimento STM32F103C8T6

A imagem a seguir mostra os lados dianteiro e traseiro de uma placa azul típica para comprimidos STM32. Como você pode ver, o layout do quadro é muito simples e alguns podem até confundi-lo com um Arduino Nano.

Placa do comprimido STM32 azul

Uma coisa importante sobre essas placas é que elas são muito baratas e mais baratas que a versão clonada do Arduino UNO. Comprei esta placa por aproximadamente US $ 2,5 (₹ 180) na minha loja de eletrônicos local. Portanto, é obviamente uma versão clonada (provavelmente um STM32 MCU falsificado?) E existem muitas versões clonadas da placa disponíveis no mercado.

Chegando ao próprio quadro da Blue Pill, você recebe o quadro e duas tiras de cabeçalho macho para soldar no quadro (pena que elas não tenham sido pré-soldadas).

Os outros recursos do quadro são os seguintes:

  • Ele contém o MCU principal – o STM32F103C8T6 em um pacote quádruplo.
  • Um botão Reset – para reiniciar o microcontrolador.
  • porta microUSB – para comunicação serial e energia.
  • Jumpers do seletor de inicialização – jumpers BOOT0 e BOOT1 para selecionar a memória de inicialização.
  • Dois LEDs – LED do usuário e LED de energia.
  • Cristal de 8 MHz – Relógio principal para MCU.
  • Oscilador 32.768KHz – Relógio RTC.
  • Interface SWD – para programação e depuração usando o ST-Link.
  • Regulador de 3.3V (na parte inferior) – converte 5V em 3.3V para alimentar o MCU.

Nas extremidades longas da placa, existem pinos para conectar vários itens relacionados a E / S analógica e digital e alimentação. A imagem a seguir mostra a configuração dos pinos da placa, juntamente com as diferentes funções suportadas por cada pino.

Layout de pino azul para comprimidos STM32F103C8T6

Como você pode ver na imagem acima, cada pino do MCU STM32F103C8T6 pode ter várias funções (mas apenas uma deve ser selecionada). Observe também que alguns pinos de E / S são tolerantes a 5V, o que significa que você pode conectar IO compatível com 5V nesses pinos sem se preocupar.

Problemas com o STM32 Blue Pill Board

Se você planeja comprar a versão mais barata (o que provavelmente a maioria de nós fará), existem alguns problemas conhecidos nos conselhos que você precisa conhecer. Tomei esses problemas em vários fóruns e enfrentei alguns problemas (relacionados ao USB).

  • A primeira questão principal é o regulador de 3.3V. Embora algumas placas usem reguladores genuínos LM1117 de 3,3V da TI, a maioria das placas de desenvolvimento baratas são encontradas com reguladores pequenos e de imitação de um fabricante desconhecido. Esses reguladores não possuem proteção térmica e são facilmente danificados. A solução é usar uma fonte de alimentação externa regulada, se você tiver a opção.
  • Os próximos dois problemas estão relacionados ao USB. Primeiro, a qualidade da solda da porta microUSB é muito baixa e, se você remover e inserir o cabo com frequência nessa porta, há uma grande chance de o conector microUSB sair da placa. Você pode usar cola quente para cobrir o conector.
  • A outra questão relacionada ao USB é o uso de um resistor de pull-up errado. De acordo com o manual de referência do MCU, o USB D + (denominado USBDP) deve ser elevado a 3,3V usando um resistor de 1,5KΩ. Mas, de acordo com os esquemas de várias placas Blue Pill, todas elas estão usando um resistor de 10KΩ. Se você planeja trabalhar na transferência de dados USB, talvez não obtenha resultados precisos. Se você estiver precisando desesperadamente de uma solução, poderá soldar um resistor de 1,8 KΩ paralelo ao resistor de 10 KΩ existente. Para isso, conecte o resistor de 1,8KΩ entre os pinos A12 e 3,3V.
  • Outros problemas conhecidos são muito difíceis de pressionar o botão de redefinição, a energia analógica está conectada à energia digital, nenhuma proteção de diodo Schottky para USB, etc.

Destaques do STM32F103C8T6 MCU

Agora que vimos um pouco sobre o Blue Pill Board, vamos agora entender alguns recursos importantes do coração do conselho, ou seja, o microcontrolador STM32F103C8T6. Como mencionado anteriormente, este MCU contém um núcleo de CPU ARM Cortex – M3 de 32 bits com uma frequência máxima de 72 MHz.

Vamos agora ver algumas especificações deste MCU implementadas no quadro de comprimidos azul.

  • Memórias: contém 64 Kbytes de Flash e 20 Kbytes de SRAM
  • Pinos GPIO – 32 com capacidade de interrupção externa
  • Temporizadores – 3 temporizadores de 16 bits, 1 temporizador PWM de 16 bits
  • Pinos PWM – 15
  • Analógico – 10 canais de 12 bits ADC
  • I2C – 2 periféricos I2C
  • USART – 3 periféricos USART com controle de hardware
  • SPI – 2 periféricos SPI
  • Outros periféricos – USB 2.0 de velocidade total, CAN 2.0B

Esses são alguns dos destaques e, se você quiser saber mais detalhes sobre os periféricos, consulte a folha de dados e o manual de referência (altamente recomendado).

Como um tópico de bônus, deixe-me dizer a convenção de nomenclatura usada nas MCUs STM32 com o exemplo de STM32F103C8T6. Cada letra no nome do MCU significa uma característica especial.

Leia Também  Seja nosso parceiro - Notícias
Personagens)SignificadoValores possíveis

STM

Fabricante (STMicroelectronics)

—-

32.

MCU de 32 bits

—-

F

Tipo de MCU

F: Mainstream, L: Baixa potência, H: Alto desempenho, W: Sem fio

1

Tipo de núcleo do braço

0: M0, 1: M3, 2: M3, 3: M4, 4: M4, 7: M7

03

Linha de MCU

Detalhes sobre velocidade, periféricos, Processo de silício, etc.

C

No. de pinos

F: 20, G: 28, K: 32, T: 36, S: 44, C: 48, R: 64,66, V: 100, Z: 144, I: 176

8

Tamanho do flash

4: 16, 6: 32, 8: 64, B: 128, C: 256, D: 384, E: 512, F: 768, G: 1024, H: 1536, I: 2048 KB

T

Pacote

P: TSOOP, H: BGA, U: VFQFPN, T: LQFP, Y: WLCSP

6

Faixa de temperatura

6: -40 ° C a 85 ° C, 7: -40 ° C a 105 ° C

Como usar os pinos de inicialização?

Como mencionado anteriormente, os pinos BOOT0 e BOOT1 do MCU são usados ​​para selecionar a memória da qual ele inicializa. A imagem a seguir mostra três opções diferentes de espaços de inicialização com base nesses pinos.

Quando os pinos BOOT0 e BOOT1 estão BAIXOS, a Memória Flash interna atua como o principal espaço de inicialização e quando BOOT0 é ALTO e BOOT1 é BAIXO, a Memória do Sistema atua como o principal espaço de inicialização. Essas duas opções são importantes para nós.

Para carregar o código na memória Flash do MCU, é necessário selecionar a memória do sistema como o principal espaço de inicialização. A razão para isso é que a memória do sistema contém o carregador de inicialização incorporado, que é programado durante a própria produção pela STMicroelectronics.

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

Ao inicializar na memória do sistema, ou seja, na ROM do carregador de inicialização, você pode reprogramar a memória Flash com o aplicativo usando a interface serial USART1.

Depois que o programa é carregado na memória Flash, você pode retornar o BOOT0 para LOW, para que, a partir da próxima redefinição ou inicialização, o MCU seja inicializado a partir da Memória Flash. Se você notar, nos dois casos, ou seja, selecionando a Memória Flash e selecionando a Memória do Sistema como espaços de inicialização, o pino BOOT1 é BAIXO. Somente o BOOT0 é alternado entre LOW (Memória Flash) e HIGH (Memória do Sistema).

Seleção de inicialização STM32

Por uma questão de conveniência, vamos chamar essas seleções de BOOT como Modo de programação e Modo operacional. Para o modo de programação, o pino BOOT0 fica ALTO e, no modo operacional, o pino BOOT0 fica LOW (padrão). Nos dois modos, o pino BOOT1 permanece BAIXO.

Requisitos de hardware para o projeto

Como esta é a nossa parte de introdução e tudo o que faremos é piscar um LED (que já está presente no quadro), não precisamos de muito hardware com relação ao projeto e ao MCU.

Mas para programar o microcontrolador, precisamos de um módulo conversor USB para serial, como uma placa FTDI (ou qualquer coisa semelhante). Conforme mencionado na seção Pinos de inicialização, o carregador de inicialização pode ser acessado usando os pinos USART1 do microcontrolador para programar a memória flash. E para que o MCU se comunique com o USART1, precisamos de um conversor USB para serial.

Portanto, a lista final de componentes necessários é:

  • STM32F103C8T6 baseado em STM32 Blue Pill Board Desenvolvimento
  • Módulo conversor USB para serial (programador FTDI, por exemplo)
  • Fios de conexão
  • PC ou laptop com sistema operacional Windows e conectividade à Internet

NOTA: Não tenho um programador de estilo FTDI, mas tenho um conversor USB para serial mais antigo. Você pode usar qualquer módulo USB para conversor serial, desde que tenha pinos VCC (5V), GND, RX e TX.

Conexões

Para facilitar a representação, estou usando um FTDI como USB to Serial Converter no Fritzing Software para mostrar as conexões.

As conexões devem ser as seguintes:

STM32 Blue Pill – Programador de FTDI

5V – VCC

GND – GND

A9 – RX

A10 – TX

Conexões para programação do STM32

Configurando o Arduino IDE para programar STM32F103C8T6 Blue Pill

Tenho certeza que você já possui o Arduino IDE instalado no seu PC (ou laptop). Caso contrário, instale-o primeiro. Depois abra o IDE do Arduino e selecione Arquivo -> Preferências. Você encontrará uma guia chamada “URLs adicionais do Gerenciador de placas”. Copie o seguinte link e cole-o lá.

https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json

Pílula azul STM32 Adicionar URL no IDE

Se você já possui alguns URLs nesta seção, pode adicionar mais separando-os com vírgula. Se você trabalhou com ESP8266 Placas, então você já deve estar familiarizado com esse processo. Depois de adicionar o URL, clique em OK.

Agora, vá até a opção Ferramentas -> Conselho -> Gerente de conselho… e procure por “stm32”. Você obterá um resultado como “STM32 Cores by STMicroelectronics”. Instale a versão mais recente. No momento da preparação deste tutorial, a versão mais recente é 1.8.0.

Isso levará algum tempo, pois ele fará o download e instalará alguns dos arquivos e ferramentas necessários. (Eu disse alguns porque, você precisa baixar outra ferramenta da STMicroelectronics para que isso funcione).

Pílula azul STM32 Instalar placas STM32

Agora você pode selecionar a placa em Ferramentas -> Placa -> Série STM32F1 genérica. Depois de selecionar este painel, várias opções aparecerão abaixo para personalizar seu tipo de painel. A primeira opção importante é “Número da peça da placa”. Verifique se “BluePill F103C8” está selecionado.

Placa de Seleção de Pílula Azul STM32 no IDE

As outras opções importantes são “Suporte ao U (S) ART”, torne-o como “Ativado (genérico ‘Serial’)” e “Método de upload”, faça-o como “STM32CubeProgrammer (Serial)”. Você pode deixar as opções restantes como seus valores padrão.

STM32 Blue Pill Config Blue Pill no IDE

Baixando STM32CubeProgrammer

Na etapa acima, selecionamos “STM32CubeProgrammer (Serial)” como método de upload, mas o problema é que essa ferramenta não é baixada e instalada pelo Boards Manager. Então, temos que instalá-lo manualmente. Para isso, acesse a página de download oficial do STM32CubeProgrammer fornecida pela STMicroelectronics usando o link a seguir.

STM32CubeProgrammer

Leia Também  “Qualquer núcleo, qualquer nuvem”: Microchip lança uma série de ferramentas de desenvolvimento para prototipagem rápida da IoT

Clique na opção Obter software e você acessará a página de login / registro. Eu sugiro que você se registre na STMicroelectronics com um ID de email válido. Depois de se registrar, você pode fazer login e baixar o software.

STM32CubeProgramador Baixar

Um arquivo zip grande (aproximadamente 164 MB para a versão 2.3.0) será baixado. Extraia o arquivo zip e você obterá um arquivo exe do Windows com o nome “SetupSTM32CubeProgrammer-2.3.0”. Clique duas vezes e continue com a instalação.

STM32CubeProgrammer Arquivo Zip

Verifique se o diretório de instalação é o padrão e não altera nada. Pode pedir sua permissão para instalar alguns drivers para o ST-Link. Você pode conceder as permissões necessárias.

Quando a instalação estiver concluída, verifique se no caminho “C: Arquivos de programas STMicroelectronics STM32Cube STM32CubeProgrammer bin” você possui o arquivo exe “STM32_Programmer_CLI”. Se estiver presente, você está pronto para ir.

Verificação do caminho do STM32CubeProgrammer

NOTA: Pode ser Arquivos de Programas ou Arquivos de Programas (x86) no caminho acima.

Isso completa a configuração do software do Arduino IDE para programar o STM32 Blue Pill. Vamos continuar escrevendo um pequeno programa para piscar um LED e enviá-lo para o nosso STM32F103C8T6 Blue Pill Board.

Blinky Program para STM32F103C8T6 azul comprimido Board

Verifique se você fez as alterações necessárias no IDE do Arduino, conforme mencionado na seção anterior (selecionando a placa correta, etc.). Feito isso, faça a conexão entre o FTDI Programmer (isto é, USB to Serial Converter) e a placa STM32, conforme mencionado anteriormente.

Agora, antes de conectar o FTDI ao PC, verifique se o STM32 Blue Pill Board está em “Modo de Programação”, isto é, conecte o pino BOOT0 a ALTO. Depois disso, conecte o FTDI ao PC ou laptop. Uma porta COM será atribuída ao programador e selecione a mesma porta COM no Arduino IDE.

Escreva o programa Blinky da seguinte maneira. É semelhante ao esboço do Arduino Blinky, mas se LED_BUILTIN, usei o PC13, pois o LED está conectado ao pino do MCU.

Código

configuração nula ()

pinMode (PC13, SAÍDA);

loop vazio ()

digitalWrite (PC13, ALTO);

atraso (1000);

digitalWrite (PC13, BAIXO);

atraso (1000);

Código STM32 Blinky

Depois disso, você pode clicar em Upload e o IDE começará a compilar o código. Levará algum tempo para compilar.

Compilação STM32 Blinky

Quando a compilação for bem-sucedida, ela invocará automaticamente a ferramenta STM32CubeProgrammer. Se tudo correr bem, o IDE programa com sucesso a placa STM32.

STM32 Blinky Upload

Ele redefinirá automaticamente o MCU e você poderá observar o LED piscando. Não se esqueça de mover os pinos do BOOT0 de volta para a posição BAIXA, para que, na próxima vez em que você ligar o painel, ele comece a executar o programa carregado anteriormente.

Conclusão

Este foi um tutorial longo sobre Introdução ao STM32 Blue Pill Board, ou seja, STM32F103C8T6. Eu discuti alguns dos recursos importantes da placa, destaques do MCU, problemas conhecidos da placa e como corrigi-los, configurando o Arduino IDE, baixando as ferramentas necessárias, escrevendo nosso primeiro programa para STM32 no Arduino Ide e, finalmente, enviando o programa e veja o LED piscar.

Se você tiver alguma dúvida, pergunta ou dúvida, comente abaixo para que eu ou qualquer outro usuário possa responder.

Leia Também  Interruptor sem contato para distribuidor de água público - Arduino - Open Electronics

Artigos que devem ser visitados também:

https://holidayservice-tn.com/onde-e-como-vender-fotos-em-um-banco-de-fotos/

https://draincleaningdenverco.com/sobre-por-mundo-virtual/

https://clipstudio.com.br/criar-mais-rentaveis-angulos-w-1-este-estranho-truque/

https://proverasfestas.com.br/diretrizes-de-postagem-de-convidados-por-google-stop-procurando-por-backlinks-2/

https://coniferinc.com/como-encontrar-os-melhores-e-verdadeiros-programas-de-afiliados-na-internet/

https://weeventos.com.br/eu-e-a-programacao-codigo-bude-net/

https://testmygeekstuff.com/nao-ha-mais-dinheiro-para-ganhar-com-videos-a-mudanca-do-youtube-e-minhas-dicas-2/

https://responsibleradio.com/rakesh-jhunjhunwala-portfolio-2018-networth-house-dicas-e-mais/

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br