Micro Pro 5V/16 MHz

ultimo aggiornamento 26 febbraio 2018


JLCPCB - 2$ per prototipi di PCB, di qualsiasi colore. Produzione in 24 ore!
L'Azienda di prototipi PCB più popolare, con oltre 700.000 clienti in tutto il mondo!
Recati presso la JLCPCB, riceverai regali e coupon gratuiti
presso Maker Faire Rome il 18-20 ottobre


Indice

Descrizione

La scheda Micro Pro è prodotta dalla SparkFun , quella presente in questa pagina è una versione ritirata (codice DEV-11098) attualmente è in produzione la versione con codice DEV-12640 si tratta di una piccola scheda che monta un processore ATmega32U4, questo fornisce la connettività on-board, per cui non è necessario utilizzare un'interfaccia esterna USB.
In questa piccola scheda (32x18mm) troviamo: 4 canali analogici da 10-bit ADC, 5 pin PWM, 12 I/O digitali, così come le connessioni hardware seriale Rx e Tx. Il funzionamento è a 16MHz con 5V di alimentazione, questa può anche essere settata per funzionare a 3.3 V, per questo motivo sulla scheda è presente un apposito regolatore tipo MIC5219 che può accettare tensioni fino a 12VDC, in questo caso l'alimentazione deve essere collegata al pin " RAW " e non a VCC.  Il funzionamento è monitorato tramite tre led.

OurPCB, your most reliable PCB and PCBA supplier.

Focusing on PCB Prototype and PCB Assembly Turnkey Services.

One-Stop Wire Harness & Cable Assemblies Solution

Nota: Attenzione la scheda codice DEV-11098 (non più prodotto) è supportata solo sino all'IDE 1.0  la versione codice DEV-12640 è supportata sino alla versione Arduino IDE v1.0.1

 

Vista frontale del modulo

Vista posteriore del modulo

 

Caratteristiche

Microcontroller  

ATMega 32U4 in esecuzione 5V/16MHz

Tensione di funzionamento

5 V

I / O digitale  

12 x Digital I / O
(5 sono in grado PWM)

Ingresso analogico  

4 x 10-bit ADC pin

Connettore USB

On-Board connettore micro-USB per la programmazione

Rx e Tx

Collegamenti hardware seriale

Velocità di clock  

16 MHz

Dimensioni  

32x18mm

 

Schema (pdf)
Schema (formato EAGLE)
Getting Started Tutorial
Pro Micro Drivers

Schema sezione di alimentazione

Lo schema della sezione di alimentazione è basato sull'integrato MIC5919, la tensione viene prelevata dalla porta USB se collegata, oppure dal pin RAW. Per la protezione sulla scheda è presente un fusibile PTC, F1 da 500 mA e il  diodo di protezione D2 per il circuito di potenza.

 
MIC5219 - 500mA-Peak Output LDO Regulator

Piedinatura Datasheet Foto dell'integrato
 
Schema sezione processore
 

Il processore utilizzato è il modello ATmega32U4 8-bit Microcontroller con 32K Bytes con ISP Flash e USB Controller

 

 

Processore ATmega32U4 8-bit Microcontroller with 32K Bytes of ISP Flash and USB Controller

Piedinatura Datasheet Foto dell'integrato

 

Montaggio della scheda

Il montaggio della scheda consiste solamente nella saldatura di due pin-stip di tipo Maschio da 12 pin.

Blister contenente il processore

Scheda con le due strip in attesa di montaggio

Installazione del driver

Caricamento del driver per il funzionamento della scheda

E' stata creata una porta COM virtuale connessa SparkFun ProMicro

Nel' IDE di Arduino è ora presente la nuova scheda

Caricamento del primo programma per la verifica del funzionamento della scheda

Verifica del funzionamento del collegamento seriale.

 

Esempio di utilizzo

In questo esempio il modulo Pro Micro viene utilizzato per monitorare il funzionamento di un piccolo motore elettrico DC, la tensione, la corrente e relativo assorbimento in potenza viene monitorato tramite un sensore INA219 montato su un modulo prodotto dalla Adafruit, i valori sono mostrati su un piccolo display OLED 128x32 pixel monocromatico.
Entrambi i moduli dialogano con con il modulo Pri Micro con il protocollo I2C

 

Schema di collegamento

Viene mostrata la tensione ai capi del motore e la corrente assorbita

Viene mostrata la potenza assorbita dal motore

 

/*####################################################################
 FILE: minitester.ino
 VERSION: 1.0
 Descrizione: Programma di minitester con utilizzo dei seguenti componenti
 Adafruit https://www.adafruit.com/
 
 Monochrome 128x32 I2C OLED graphic display[ID:931]
 Tutorials: http://www.adafruit.com/products/931#tutorials 
 INA219  High Side DC Current Sensor Breakout - 26V ±3.2A Max[ID:904]
 Tutorials: [[http://www.adafruit.com/products/904#tutorials]]
 
 Ultima modifica il 22/5/2014
 Applicazione realizzata da Adriano Gandolfo
 Sito https://www.adrirobot.it
 Blog http://it.emcelettronica.com/author/adrirobot/
 This example code is in the public domain.
 #################################################################### */


#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

#include <Adafruit_INA219.h>
Adafruit_INA219 ina219;

void setup()   {                
  //Impostazione modulo INA219
  uint32_t currentFrequency;
  ina219.begin();
  // Impostazione modulo display con indirizzo I2C addr 0x3C
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  // Cancellazione schermo e buffer
  display.clearDisplay();
  // Messaggio iniziale
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.println("www.adrirobot.it");
  display.setTextColor(BLACK, WHITE); // Inverte il colore del testo
  display.println("Voltmetro digitale");
  display.display();
  delay(2000);
}

void loop()
{
  float shuntvoltage = 0;
  float busvoltage = 0;
  float current_mA = 0;
  float loadvoltage = 0;

  shuntvoltage = ina219.getShuntVoltage_mV();
  busvoltage = ina219.getBusVoltage_V();
  current_mA = ina219.getCurrent_mA();
  loadvoltage = busvoltage + (shuntvoltage / 1000);

  display.clearDisplay();   // clears the screen and buffer
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.print("V:"); display.print(loadvoltage, 2); display.println(" V");
  display.print("A:"); display.print(current_mA,1); display.println(" mA");
  display.display();
  delay(2000);
  display.clearDisplay();   // clears the screen and buffer
  display.setCursor(0,0);
  display.println("Potenza");
  display.print((current_mA*loadvoltage)/1000);  display.print(" W");
  display.display();
  delay(2000);
}

 

Elenco revisioni
26/02/2018 Aggiornato pagina
30/05/2014 Inserito progetto rilievo dati motore
30/03/2012 Emissione preliminare