home | area personale         schemi | tutorial | robotica | pic micro | recensioni         forum | chat irc         faq | contatti         store | Ordina PCB
username
password
cerca

 
FORUM: Pic Micro
Tutto quanto riguarda questi microprocessori... progetti, suggerimenti, aiuti, discussioni...ecc


Arduino non è stabile.
     
Autore Messaggio opzioni
paperoga63





postato il:
17.05.2020, alle ore 17:37
Devo ringraziare tutti ma in particolar modo ho provato ascoltando il consiglio di MB54, a utilizzare il VREF collegato direttamente al pin 3,3 Volt del Nano (con la paura di friggerlo, ... Ma ha funzionato :-)aumentando inoltre il campionamento a 20 valori anziche' 10 e devo dire che e' migliorato notevolmente. La risoluzione naturalmente e' piu' precisa e gli sbalzi (che si parla poi di qualche decina di millivolt) sono meno frequenti.
Incollo di seguito lo Sketch se può interessare a qualche NEOFITA come me :-)

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int valori[20];

LiquidCrystal_I2C lcd(0x27, 16, 2);
int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
float R1 = 98600.0; // valore esatto resistenza R1 (100K)
float R2 = 9960.0; // valore esatto resistenza R2 (10K)
int value = 0;

void setup(){

analogReference(EXTERNAL);

pinMode(analogInput, INPUT);
lcd.init();
lcd.backlight();
lcd.print("VOLTMETRO DC");
Serial.begin(9600);
}

void loop(){
for (int i = 0; i<20 ;i++){
valori[i] = analogRead(analogInput);
delay(20);
}
float media = 0.0;
for (int i = 0; i<20 ;i++){
media = media + valori[i];
}
media = media / 20.0;
value=media;
//value = analogRead(analogInput);

vout = (value * 3.3) / 1023.0;

vin = vout / (R2/(R1+R2));
if (vin<0.09) {
vin=0.0;
}
lcd.setCursor(0, 1);
lcd.print("INPUT V= ");
lcd.print(vin);
delay(500);
}

Per la stufa a LEGNA trasformata in PELLET, praticamente il NANO l'ho solo utilizzato per regolare i tempi di distribuzione del pellet e la pausa tra una distribuzione e l'altra naturalmente regolabili entrambe da 4 pulsanti.
Grazie a tutti.
paperoga63





postato il:
17.05.2020, alle ore 17:40
Per Leopierom: anche il mio NANO e' cinese ..... E con quest'ultima affermazione mi sono giocato la mia serietà :-):-):-)
FrancoGual



[pagine pubblicate]

postato il:
17.05.2020, alle ore 17:54
Occhio alle trasformazioni a pellet, all'accensione se non vi è un adeguato lavaggio della camera (di combustione) ci può essere il botto, a volte piccolo a volte NO!


Anche il viaggio più lungo inizia con un piccolo passo.
Si vis pacem, para bellum!!!
Mark Zuckerberg ha reso suoi schiavi milioni di persone senza che se ne rendessero conto. F.G.
<Avete vinto voi,ma almeno non riuscirete a considerarmi vostro complice> Da Mediterraneo.
Inferno,Canto III,verso 51 Virgilio dice.........
still



[pagine pubblicate]

postato il:
17.05.2020, alle ore 17:57
FrancoGual:
Occhio alle trasformazioni a pellet, all'accensione se non vi è un adeguato lavaggio della camera (di combustione) ci può essere il botto, a volte piccolo a volte NO!


Infatti quando accendo la mia per prima cosa 60 secondi di aspirafumi al massimo, quando si spegne la ventola continua a girare per 20 minuti dopo avere arrestato l'immissione del pellet



Chi ha argomenti discute serenamente e rispetta le opinioni altrui, chi non ne ha insulta e basta.
Non ti curar di lor, ma guarda e passa
MB54




una ogni 100 livelli


postato il:
17.05.2020, alle ore 17:59
credo che tu abbia cannato tutto, meglio leggere i manuali ed i tutorial.
.
Il Vref (1,1 V molto circa, ma è stabile) si connette INTERNAMENTE ad uno degli ingressi di Arduino con l' apposita istruzione software. L' ADC avrà Vin max di 1,1V e poi va in overflow. 1024 LSB= 1,1 V circa; 1 LSB= 1,1 mV

Ma l' errore GRAVE, a cui ti ho più volte invitato a prestare attenzione, sono i valori del partitore R1 e R2. NON devi superare per la R superiore i 10000 ohm, meglio meno.Tu ne hai messi 100.000. Ovvero, lo potresti fare ma poi ti complichi la vita a configurare l' ADC, a fare medie bizzarre, aumentare i tempi di acquisizione ecc.... Gli errori si risolvono via hardware; quando tutto é stato fatto, ci si pensa con il software.
Intuisco perchè hai usato 100k, ma se lo spieghi troviamo la soluzione....

Te l' ho scritto per la terza, ed è anche l' ultima; poi fai come credi.
paperoga63





postato il:
17.05.2020, alle ore 18:28
credo che tu abbia cannato tutto, meglio leggere i manuali ed i tutorial.


Sicuramente, calcola però che ho preso lo sketch da internet perché onestamente non riuscirei a implementarlo da zero mentre da come leggo tu hai sicuramente altre basi che io non ho ma mi rivolgo sempre a santarrangiati e a google.

Te l' ho scritto per la terza, ed è anche l' ultima; poi fai come credi.


A me sembra solo la seconda e comunque se ho chiesto consiglio in questo forum e' perche' ho intenzione di ascoltarli ed anzi ti ringrazio tantissimo per la tua disponibilità pero' mi tocca constatare che siamo a due livelli diversi tu sicuramente a 10 ed io sto annaspando per arrivare a 1 quindi ... Di tutto quello che suggerisci sicuramente ne faro' tesoro.
Quindi per il partitore quali valori mi consigli considerando che non ho bisogno di arrivare a 30 volt ma anche solo a 15?
Grazie.
MB54




una ogni 100 livelli


postato il:
17.05.2020, alle ore 19:07
Con Arduinooooooo ed il C sono a +0,5 su 10.Voto politico, post '69. Devo sempre partire da uno sketch e poi ampliarlo.

Devi scendere da quanti volt ( e dillo!!!) ad 1,1V circa?
Fai in modo che R1 sia non oltre 5-6000 ohm (pensiero mio) e R bassa di conseguenza. Il conto è tuo, tu solo conosci la tensione da misurare.

Se non puoi caricare troppo lo stadio del quale vuoi leggere la tensione, io metterei un buffer, tipo un opamp in follower non invertente, che non abbia troppo offset. Anche solo un LM358 come ho usato qui.
http://www.grix.it/viewer.php?page=13071
Se vuoi un buffer buono perchè ti serve precisione usa un zero offset.

O descrivi meglio l' applicazione o giriamo a vuoto.
Comunque in 3 miei post ti avevo detto 3 volte 3 del partitore (e non 2)
paperoga63





postato il:
17.05.2020, alle ore 19:23
OK, grazie.
double_wrap




una ogni 100 livelli
una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli


postato il:
17.05.2020, alle ore 21:30
paperoga63:
[CUT]il VREF collegato direttamente al pin 3,3 Volt del Nano [CUT]

analogReference(EXTERNAL);


Questa e' una configurazione pericolosa per la salute dell'Atmega328

https://www.arduino.cc/reference/en/language/functions/analo…
che maltradotto declama
Se si utilizza un riferimento esterno sul pin AREF, è necessario impostare il riferimento analogico su EXTERNAL <prima> di chiamare analogRead(). Altrimenti, si metterà in corto circuito la tensione di riferimento attiva (generata internamente) e il pin AREF, danneggiando eventualmente il microcontrollore sulla scheda Arduino.

In alternativa, è possibile collegare la tensione di riferimento esterna al pin AREF tramite una resistenza da 5K, che consente di alternare le tensioni di riferimento esterne e interne.
Notare che il resistore altererà la tensione che viene utilizzata come riferimento perché è presente un resistore interno da 32K sul pin AREF. I due fungono da divisori di tensione, quindi, ad esempio, 2,5 V applicati attraverso il resistore produrranno 2,5 * 32 / (32 + 5) = ~ 2,2 V sul pin AREF.





"se peso cado, ma se cado non peso"
adamatj.altervista.org
leopierom





postato il:
18.05.2020, alle ore 09:24
Per Leopierom: anche il mio NANO e' cinese ..... E con quest'ultima affermazione mi sono giocato la mia serietà :-):-):-)


si anche il mio; che alla fine va abbastanza bene; ma statisticamente su 10 sketch ad esempio, su UNO mai girano tutti, sul nano cè' sempre uno o due che creano problemi, ad esempio con esp8266 e alcuni display.



..non chiedere alla rosa del tuo giardino perchè sboccia.
segui questo thread con grixFC, per questa funzione devi aver installato il software grixFC

torna su
     

Come utente anonimo puoi leggere il contenuto di questo forum ma per aprire una discussione
o per partecipare ad una discussione esistente devi essere registrato ed accedere al sito




 







 
 
indietro | homepage | torna su copyright © 2004/2024 GRIX.IT - La community dell'elettronica Amatoriale