Costruire un Gaussmetro Low Cost per le vostre misure in laboratorio


di Realmuto Pietro e Maurizio Carota (TeckService)

-Strumento non adatto a scopi professionali ma solo didattici-

Questo progetto nasce da NuovaElettronica, avevo comprato tutte le loro riviste, ci dispiace che sia finita così !  Speriamo in futuro di rivederla in Edicola.


Prove di funzionamento su motori brushless         La storia di Nuova Elettronica, la rivista che insegno' l'elettronica in Italia                          Gauss meter                      
Riparazione azionamenti siemens    

Il Progetto

Teckservice_maurizio_carota_realmuto

Io e Maurizio, appassionati  della rivista Nuova Elettronica, ormai purtroppo fallita, abbiamo deciso di riprendere il loro progetto pubblicato nella RIVISTA 164-165 (LX 1125 non più disponibile presso i punti vendita), adattandolo su ARDUINO.
Il nostro prototipo Gaussmeter e' costato quasi 20 euro, minimizzando l'utilizzo dei componenti elettronici;  per ridurre i costi abbiamo ulteriormente utilizzato  una scatola di derivazione per elettricisti, al fine di renderlo accessibile alle tasche di tutti.
In questa prova preliminare, abbiamo potuto constatare che il nostro strumento e' talmente sensibile che riesce a misurare il campo magnetico delle cave dello statore.

Sul display è possibile leggere la misura sia in Gauss che in mTesla
Per la teoria fate riferimento alla rivista RIVISTA 164-165

COMPONENTI NECESSARI
1) ARDUINO UNO
2) DISPLAY LCD 16*2 SERIALE
3) SENSORE UGN3503
4) CAVO ELETTRICO
5) UNA SCATOLA DI DERIVAZIONE COME CONTENITORE
6) UN PASSACAVI
7) GUAINA TERMORESTINGENTE
8) UN CAVO USB PER ALIMENTARE LA SCHEDA ARDUINO
9) UN PULSANTE NORMALMENTE APERTO



Codice Sperimentale

IL CODICE SPERIMENTALE GAUSSMETER PER PROGRAMMARE ARDUINO

/*
 Il software non ha alcuna garanzia, siete liberi di modificarlo,  migliorarlo e condividere questa idea . Questo e' stato solo un esercizio, per dimostrare che con Arduino si possono costruire molti strumenti LOW-COST che ci possono aiutare in laboratorio.
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
 float somma=0;
float media=0;
float gauss=0;
float millitesla=0;
int i=0;
float reset =0;   //variabile per il reset
float correzione =0;
float gauss_ofset =0;

void setup() {
  lcd.init();
  lcd.backlight();
    lcd.begin(16, 2);
     lcd.setCursor (0, 0);
      lcd.print ("   GAUSSIMETRO") ;
       lcd.setCursor (0, 1);
        lcd.print ("Realmuto 10/10/15") ;
         delay (500);
          lcd.begin(16, 2);
           lcd.setCursor (0, 0);
            lcd.print ("NE Riv.165") ;
             lcd.setCursor (0, 1);
              lcd.print ("Rev.A") ;
                delay (500);
                lcd.begin(16, 2);
                 lcd.setCursor (0, 0);
                  lcd.print ("!!! WARNING !!!") ;
                   lcd.setCursor (0, 1);
                      lcd.print ("START AUTORESET") ;
     delay (100);
     lcd.clear();
     
      /////////////////////INIZIO PROCEDURA DI RESET ALL' AVVIO///////////////////////////
    
somma = 0;               
float voltage = 0;
media = 0;
i = 0;
correzione =0;
gauss_ofset =0;
 
  for (i=0;i<50;i++)
{
   int sensorValue = analogRead(A0);
   float voltage = ((sensorValue * (5.0 / 1023.0))*1) - 0 ;
   somma = somma + voltage;
   lcd.setCursor (0, 0);
   lcd.print ("Numero Letture");
   lcd.setCursor (0, 1);
   lcd.print (i) ;
 
}
delay (100);
lcd.setCursor (0, 1);
lcd.print ("AUTORESET DONE") ;
delay (1000);
media = (somma/50);
gauss = (((-460*((media-2.5)/-0.39)))) ;
correzione = gauss;
    
      /////////////////////FINE PROCEDURA DI RESET ALL' AVVIO//////////////////
       
}

void loop()
{
  
somma = 0;                 //resetta tutti i valori a zero prima che inizia il ciclo for
float voltage = 0;
media = 0;
i = 0;
gauss =0;
 
  for (i=0;i<50;i++)
{
   int sensorValue = analogRead(A0);
   float voltage = ((sensorValue * (5.0 / 1023.0))*1) - 0 ;
   somma = somma + voltage;    
   delay(10);
}
media = (somma/50);
gauss = (((-460*((media-2.5)/-0.39)))) ;
gauss_ofset = gauss - correzione ;
millitesla = (gauss_ofset * 0.1);
lcd.clear();
lcd.setCursor (0, 0);
lcd.print ("GAUSS = ");
lcd.setCursor (0, 1);
lcd.print ("mTESLA= ");
delay(10);
lcd.setCursor (8, 0);
lcd.print(gauss_ofset,2);
lcd.setCursor (8, 1);
lcd.print (millitesla,2);
}

Descrizione Tecnica


Collegati i segnali  SCL, SDA  e VCC del display su ARDUINO, alimentate il sensore UGN3503 con i 5 Volt forniti dalla scheda ARDUINO, il pin centrale va collegato al  pin ANALOG 0 e il terzo alla massa.
Premendo il pulsante RESET, lo strumento legge e stabilisce lo zero per la misura. In questa fase sarebbe meglio schermare allontanado la sonda dai campi magnetici.
Tutto il materiale e le attrezzature utilizzate,  sono state messe a disposizione da Maurizio Carota che ringrazio.
Non aggiungiamo altro, il nostro strumento e' in fase di aggiornamento e migliorie, ve volete aiutarci e pubblicare il vostro progetto su questa pagina contattateci.
Non trovando la curva di risposta del sensore

UGN3503, abbiamo utilizzato quella mostrata a pagina 20 della RIVISTA 164-165
   
Elenco riviste nuova elettronica:

http://www.rsp-italy.it/Electronics/Magazines/Nuova%20Elettronica/index.htm