Avançar para o conteúdo principal

Guia de utilização da placa KL25Z

Olá a todos,
Freedom Development Platform for KL14, KL15, KL24, KL25 MCUs Block Diagram
Fig. 1 KL25Z Vista Superior
Num artigo anterior sobre esta mesma placa, a KL25Z, fiz uma pequena apresentação que permite ter uma ideia das suas capacidades. Como vejo muito potencial nesta placa, tendo em conta o seu baixo preço, decidi escrever este segundo artigo. Vou desta vez detalhar um pouco mais, indo mais ao pormenor, permitindo a sua utilização a quem porventura não esteja muito familiarizado com estas placas nem com os seus ambientes de desenvolvimento, os chamados IDE (Integrated Development Environment).

Introdução

A grande vantagem dos microcontroladores sobre a lógica programada, é a sua flexibilidade. Uma máquina comandada por microprocessadores ou microcontroladores pode ser adaptada a um novo trabalho, a uma nova tarefa, bastando para isso alterar o programa, que não são mais que instruções sequenciais que o microprocessador reconhece e executa. 
Uma máquina desenhada com lógica fixa, (portas lógicas discretas) não será capaz de efetuar nada diferente daquilo para que foi desenhada. Não é adaptável, o que numa linha de produção significa pouca flexibilidade. Pequenas alterações nessa linha de produção, podem significar a alteração ou substituição de circuitos mais ou menos complexos o que significa custos elevados.
A flexibilidade dos microcontroladores, permite ainda que sejam produzidos em larga escala, baixando os preços, o que os torna ainda mais interessantes. O preço a pagar por toda essa flexibilidade, é a necessidade de alguém com conhecimentos de programação, para escrever ou alterar os programas que os microcontroladores vão executar. 
Importa dizer, para esclarecer eventuais dúvidas, que um microcontrolador não é mais que um microprocessador com memória, portos de entrada e saída, temporizadores e conversores A/D e D/A incorporados no mesmo chip. 
Os microcontroladores são normalmente programados em Assembly, linguagem C, ou derivados. A linguagem Assembly está mais próxima da linguagem do processador, é diferente em cada família de processador, exige um conhecimento profundo do hardware, mas permite um controlo apertado sobre o que o processador faz e quando.
A linguagem C, é uma linguagem dita de alto nível, está mais próxima da linguagem natural do homem, é igual para todos os processadores, sendo depois adaptada pelo compilador a cada processador usado. É esta a linguagem que vamos usar para comandar ou programar a nossa placa KL25Z. Para tal, por ser mais fácil e amigável, vamos usar o compilador online mbed. Este compilador oferece bibliotecas que nos permitem facilmente aceder aos portos da placa e controlá-los com o mínimo esforço.

1-Ligação da placa ao PC

Vamos então começar pela ligação da placa ao PC. Usando um cabo mini USB, ligue o PC ao porto USB da KL25Z marcado como SDA, conforme mostra a figura 2. Este é o porto USB que vamos usar ao longo de todo este guia. É importante não trocar os portos.
Fig. 2 - Ligação do PC ao porto USB  SDA
Após a ligação do cabo USB entre a placa e o PC, a KL25Z  fica alimentada, executando o programa que foi anteriormente carregado. De fábrica vem instalado um programa de demonstração, que muda a iluminação do LED tricolor, de acordo com a inclinação da placa. Incline sobre os eixos X e Y e observe a intensidade dos LEDs Verde e Vermelho. Se a placa já tiver sido anteriormente utilizada (com outros programas) será executado o último programa carregado. Em placas mais antigas, o programa de demonstração poderá ser diferente.

2- Instalação dos Drivers no PC

Se tudo correr bem, os drivers são instalados automaticamente e a placa é reconhecida e comporta-se como uma USB Drive. Será também instalado um porto série, que vamos necessitar mais adiante para comunicar com os nossos programas. Se o porto série não for instalado automaticamente, podemos recorrer aos drivers disponíveis no site mbed e instalá-los conforme indicado ( https://os.mbed.com/docs/mbed-os/v5.15/tutorials/windows-serial-driver.html ) Neste endereço mostram-se os procedimentos necessários, que se resumem ao download de um ficheiro executável que instala os drivers do porto série, após ser executado. Se não dispõe de um programa "Terminal" capaz de comunicar com o porto série, vai necessitar de instalar um. Sugerimos o TeraTerm que pode ser encontrado na internet. 
Após a instalação do programa terminal, configure o porto série (Setup/Serial Port) com a velocidade de 9600 bps, 8 databits, no parity, 1 stopbit, no flow control. Confirme se está seleccionado o porto série correspondente à placa, que foi criado aquando da instalação dos drivers, no ponto anterior. Se tudo foi configurado correctamente, está pronto a comunicar com a placa KL25Z e os programas nela instalados. 
Eu tive problemas ao instalar os drivers no Windows 10, pelo que ainda uso um PC antigo, com Windows 7, para trabalhar com a placa.

3- Instalação do Firmware mbed

Para permitir a utilização da placa com o mbed é necessário instalar novo firmware na placa. É um processo fácil e rápido.
  1. Localizar e descarregar a ultima versão do firmware mbed. Actualmente o link é este: https://os.mbed.com/handbook/Firmware-FRDM-KL25Z
  2. Desligar a alimentação da placa  (retirar cabo USB);
  3. Mantendo premido botão de reset (entre portos USB), ligar novamente o cabo usb (sem deixar de premir o botão de reset);
  4. Soltar o botão de reset. Deverá ver agora um USB Drive de nome bootloader. Copiar o ficheiro de firmware descarregado anteriormente (*.s19) para o USB drive bootloader;
  5. Retirar o cabo de alimentação da placa (cabo USB) esperar uns segundos e voltar a ligar.
  6. Verificar que o USB Drive mudou o nome para mbed.

4- Usando o compilador mbed 

Para usar o compilador online "mbed", abra a USB drive criada pela placa, e faça double click no ficheiro mbed.htm.  Abrirá então a página do mbed. Terá de criar uma conta de utilizador para poder aceder. Após a criação da conta, já pode entrar no site e começar a explorar. Fazendo novo double click no ficheiro mbed.htm, e após o login, será levado para uma página com informações sobre a placa, e onde pode ver alguns programas exemplo, que poderá importar para a sua área de trabalho. Ao selecionar o botão compiler irá ser levado para a sua área de trabalho, onde pode começar a tarefa de programação em linguagem C.

Fig. 3 Aspeto da área pessoal do mbed
Para iniciar um novo programa, deverá selecionar a opção "new", e será levado para o editor de programas. Deverá gravar frequentemente o seu código, para evitar que algum imprevisto o faça perder o trabalho já realizado. No final selecione a opção compile. Se não tiver erros no código, será gerado um executável que deverá descarregar e posteriormente enviar para a placa KL25Z. Os programas são carregados na KL25Z arrastando-os para a mbed USB drive. Após a transferência estar concluída, basta carregar no botão de reset, entre os dois portos USB, para iniciar a execução do programa. 
E pronto, penso que o essencial está dito. Ao longo dos tempos é natural que os endereços das páginas mudem, o seu conteúdo também, mas se tal acontecer, uma boa pesquisa certamente o levará a bom porto.

Comentários

Mensagens populares deste blogue

Apresentação da Placa Freedom FRDM-KL25Z

Olá a todos! O artigo de hoje é dedicado aos adeptos dos micro-controladores e suas plataformas de avaliação e desenvolvimento. Estas placas são úteis para prototipagem rápida de aplicações baseadas em micro-controladores.  Vamos hoje falar da placa Freedom FRDM-KL25Z. Com um custo na ordem dos 20€, esta placa usa um micro-controlador Kinetics da série L, de 32 bits, mais propriamente o KL25Z128VLK, baseado no ARM® Cortex™-M0+. Com uma frequência de relógio que chega aos 48MHz, 128K de flash e muitos portos analógicos, digitais, e PWM. é sem duvida promissora a nível de possibilidades e desempenho.     Fig. 1 - ARM® Cortex®-M0+ MCU 32-Bit Embedded Evaluation Board A forma da placa e do seu pinout, permite usar placas de expansão desenhadas para o Arduino R3, tendo no entanto em atenção que esta placa FRDM-KL25Z trabalha com 3.3V. Devemo-nos portanto assegurar da compatibilidade dos "shields" Arduino com os 3.3V. ...

Assistentes Virtuais

Olá a todos, Hoje vamos falar sobre as assistentes virtuais e a sua real utilidade. Um(a) assistente  virtual é um dispositivo composto por software e hardware, capaz de realizar tarefas para si, ou para qualquer individuo, baseado num comando dado pelo utilizador. Esse comando pode ser dado por texto ou por voz, dependendo do assistente, sendo que alguns aceitam ambos. Os assistentes virtuais têm ganho espaço na vida das pessoas, em vários campos, nomeadamente no auxílio doméstico. Agilizam a obtenção de informações, como a informação meteorológica, aprendem com as interações com o utilizador, melhorando gradualmente a sua performance. Se tiver o equipamento adequado em casa, podem mesmo ligar a TV, controlar a iluminação, subir os estores etc… Os mais interessantes são os/as assistentes virtuais que aceitam comandos de voz e respondem da mesma forma, pois representa uma maior aproximação da máquina ao ser humano, minimizando a necessidade de o homem aprender a li...

Apresentação do Arduino nano

Olá a todos, Hoje vou apresentar-vos o Arduino nano. O Arduino é uma plataforma muito conhecida e uma forma muito interessante de entrar no mundo dos micro-controladores.  Como a sua base de utilizadores é muito grande, existe muito código disponível que é partilhado em sites temáticos como o  https://create.arduino.cc/ Existem também muitas bibliotecas disponíveis o que facilita muito a utilização dos mais variados tipos de sensores, displays, RTC, cartões de memoria etc...  Os fabricantes de hardware fornecem normalmente as bibliotecas que tornam a utilização do seu hardware fácil e acessível ao principiante.  Existem várias placas arduino disponíveis, com preços muito acessíveis, cada uma virada para um tipo de utilização especifica. Para iniciação, o arduino Uno é normalmente a escolha da maioria, pelo que talvez seja o mais conhecido.  Pessoalmente também usei o Uno da primeira vez que contactei com o universo do arduino...