Micro Pro 5V/16 MHz ultimo aggiornamento 26 febbraio 2018 |
|
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.
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
Schema (pdf) |
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.
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 |
Il montaggio della scheda consiste solamente nella saldatura di due pin-stip di tipo Maschio da 12 pin.
Installazione del driver
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
/*#################################################################### 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 |