Derniers sujets
fabrication d'un mouchard ??
+4
Snickers
Silicium81
Bobbybob07
gui13
8 participants
Page 2 sur 2
Page 2 sur 2 • 1, 2
Re: fabrication d'un mouchard ??
Effectivement, Pololu indique cela uniquement pour prévenir l'utilisateur que des tensions supérieurs à 30V sont potentiellement dangereuses... pour lui même.Ferias a écrit:du ACS715, mais sur certains sites, il est déconseillé de les utiliser avec des tensions supérieures à 30V
J'utilise un ACS715 (+30A unidirectionnel) à 54.6V depuis plusieurs années sans aucun soucis !
Résolution de 133 mV/A
J'ai aussi utilisé un certain temps la carte Adafruit présentée pour réaliser mon premier wattmètre datalogger (qui faisait aussi sonde de température et tachymètre), c'est une très bonne carte fille pour arduino uno !
Actuellement je travail sur un proto plus complexe avec affichage LCD 4 lignes, GPS, altimètre/baromètre, horloge RTC, température, Bluethoot et divers.
J'utilise un CI maison pour y connecter les divers modules de façon plus compacte, dont un arduino micro (plus petit et plus d'E/S) et un OpenLog pour l’enregistrement.
Par contre Gui13, pourquoi n'être pas parti de la sortie série de ton (tes) Cycle Analyst et simplement connecter un minuscule module OpenLog ?
Cout env. 20 euros et consommation ridicule !
Voir ici : http://cyclurba.fr/forum/268620/openlog-datalogger-miniature-cycle-analyst-v2-v3.html?discussionID=12923#msg268620
Il aurait été aussi possible d'ajouter un deuxième canal pour ton panneau solaire... voir un GPS en montant un CI un peu plus complexe.
L'avantage c'est que l'on récupère toutes les courbes du CA, cela évite des redondances matériel et logiciel, en partant d'un wattmètre largement éprouvé...
Jacques74- Messages : 10
Date d'inscription : 18/05/2014
Re: fabrication d'un mouchard ??
J'ai vaguement lu sur le site de suntrip qu'une concurrente avait été éliminée en Italie pour ne pas être passée à un point obligatoire ... Peut être en rapport avec le "mouchard" ?
filomat- Messages : 245
Date d'inscription : 21/05/2014
Localisation : hauts de seine + loiret
Re: fabrication d'un mouchard ??
Rien de neuf. Je n'avais pas eu le temps ( le boulot à repris plus vite que prévu) de faire quelque chose d'utilisable avec la version GPS pour le SunTrip 2015 (je n'avais pas réussi à générer des fichiers avec des noms intelligibles, contrairement à la version sans GPS, alors que pourtant le module RTC était sensé être le même). Guillaume avait fini la version enregistrement des courants tout seul. Je crois qu'il a finalement remplacé les 2 capteurs unidirectionnel par un seul bidirectionnel (ACS714?). La version du soft de base avec 2 capteurs :
A chaque démarrage de l'Arduino, il crée un fichier AAMMJJVV.csv, et enregistre toute les secondes : la date, l'heure et les deux courants Iin et Iout des 2 capteurs. La version GPS devait faire la même chose, et enregistrer en plus la trame GPS, mais comme je l'ai dit : impossible de générer le nom du fichier (??). Il faudrait que je me repenche là dessus.
- Spoiler:
//IinIoutLogger_DateNameLog_
#include
#include
#include
#include
// how many milliseconds between grabbing data and logging it. 1000 ms is once a second
#define LOG_INTERVAL 1000 // mills between entries (reduce to take more/faster data)
// how many milliseconds before writing the logged data permanently to disk
// set it to the LOG_INTERVAL to write each time (safest)
// set it to 10*LOG_INTERVAL to write all data every 10 datareads, you could lose up to
// the last 10 reads if power is lost but it uses less power and is much faster!
#define SYNC_INTERVAL 1000 // mills between calls to flush() - to write data to the card
uint32_t syncTime = 0; // time of last sync()
#define ECHO_TO_SERIAL 1 // echo data to serial port
#define WAIT_TO_START 0 // Wait for serial input in setup()
// the digital pins that connect to the LEDs
#define redLEDpin 2
#define greenLEDpin 3
// The analog pins that connect to the sensors
#define Iin 0 // analog 0
#define Iout 1 // analog 1
RTC_DS1307 RTC; // define the Real Time Clock object
// for the data logging shield, we use digital pin 10 for the SD cs line
const int chipSelect = 10;
// the logging file
File logfile;
void error(char *str)
{
Serial.print("error: ");
Serial.println(str);
// red LED indicates error
digitalWrite(redLEDpin, HIGH);
while(1);
}
void setup(void)
{
Serial.begin(9600);
Serial.println();
// use debugging LEDs
pinMode(redLEDpin, OUTPUT);
pinMode(greenLEDpin, OUTPUT);
#if WAIT_TO_START
Serial.println("Type any character to start");
while (!Serial.available());
#endif //WAIT_TO_START
// initialize the SD card
Serial.print("Initializing SD card...");
// make sure that the default chip select pin is set to
// output, even if you don't use it:
pinMode(10, OUTPUT);
// see if the card is present and can be initialized:
if (!SD.begin(chipSelect)) {
error("Card failed, or not present");
}
Serial.println("card initialized.");
// connect to RTC
Wire.begin();
if (!RTC.begin()) {
logfile.println("RTC failed");
#if ECHO_TO_SERIAL
Serial.println("RTC failed");
#endif //ECHO_TO_SERIAL
}
// create a new file
char filename[] = "00000000.CSV";
DateTime now = RTC.now();
int year = now.year();
int month = now.month();
int day = now.day();
filename[0] = (year-2000)/10 + '0';
filename[1] = year%10 + '0';
filename[2] = month/10 + '0';
filename[3] = month%10 + '0';
filename[4] = day/10 + '0';
filename[5] = day%10 + '0';
for (uint8_t i = 0; i < 100; i++) {
filename[6] = i/10 + '0';
filename[7] = i%10 + '0';
if (! SD.exists(filename)) {
// only open a new file if it doesn't exist
logfile = SD.open(filename, FILE_WRITE);
break; // leave the loop!
}
}
if (! logfile) {
error("couldnt create file");
}
Serial.print("Logging to: ");
Serial.println(filename);
logfile.println("date,time,Iin,Iout");
#if ECHO_TO_SERIAL
Serial.println("date,time,Iin,Iout");
#endif //ECHO_TO_SERIAL
// If you want to set the aref to something other than 5v
//analogReference(EXTERNAL);
}
void loop(void)
{
DateTime now;
// delay for the amount of time we want between readings
delay((LOG_INTERVAL -1) - (millis() % LOG_INTERVAL));
digitalWrite(greenLEDpin, HIGH);
// fetch the time
now = RTC.now();
// log time
logfile.print(now.year(), DEC);
logfile.print("/");
logfile.print(now.month(), DEC);
logfile.print("/");
logfile.print(now.day(), DEC);
logfile.print(" ");
logfile.print(now.hour(), DEC);
logfile.print(":");
logfile.print(now.minute(), DEC);
logfile.print(":");
logfile.print(now.second(), DEC);
#if ECHO_TO_SERIAL
Serial.print('"');
Serial.print(now.year(), DEC);
Serial.print("/");
Serial.print(now.month(), DEC);
Serial.print("/");
Serial.print(now.day(), DEC);
Serial.print(" ");
Serial.print(now.hour(), DEC);
Serial.print(":");
Serial.print(now.minute(), DEC);
Serial.print(":");
Serial.print(now.second(), DEC);
Serial.print('"');
#endif //ECHO_TO_SERIAL
analogRead(Iin);
delay(10);
int IinReading = analogRead(Iin);
analogRead(Iout);
delay(10);
int IoutReading = analogRead(Iout);
// converting that reading to voltage, for 3.3v arduino use 3.3, for 5.0, use 5.0
float voltageIn = IinReading * 5.0 / 1024;
float AIin = (voltageIn - 0.48) / 0.133 ;
float voltageOut = IoutReading * 5.0 / 1024;
float AIout = (voltageOut - 0.49) / 0.133 ;
logfile.print(" ");
logfile.print(AIin);
logfile.print(" ");
logfile.print(AIout);
#if ECHO_TO_SERIAL
Serial.print(", ");
Serial.print(voltageIn);
Serial.print(", ");
Serial.print(voltageOut);
#endif //ECHO_TO_SERIAL
logfile.println();
#if ECHO_TO_SERIAL
Serial.println();
#endif // ECHO_TO_SERIAL
digitalWrite(greenLEDpin, LOW);
// Now we write data to disk! Don't sync too often - requires 2048 bytes of I/O to SD card
// which uses a bunch of power and takes time
if ((millis() - syncTime) < SYNC_INTERVAL) return;
syncTime = millis();
// blink LED to show we are syncing data to the card & updating FAT!
digitalWrite(redLEDpin, HIGH);
logfile.flush();
digitalWrite(redLEDpin, LOW);
}
A chaque démarrage de l'Arduino, il crée un fichier AAMMJJVV.csv, et enregistre toute les secondes : la date, l'heure et les deux courants Iin et Iout des 2 capteurs. La version GPS devait faire la même chose, et enregistrer en plus la trame GPS, mais comme je l'ai dit : impossible de générer le nom du fichier (??). Il faudrait que je me repenche là dessus.
Bobbybob07- Messages : 12
Date d'inscription : 15/11/2014
Page 2 sur 2 • 1, 2
Page 2 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|
Mer 4 Sep 2024 - 22:37 par Silicium81
» Protection BMS contre les surtensions sur circuit de charge.
Ven 16 Aoû 2024 - 14:35 par legraybat
» HP Probook 470 G1 qui ne démarre plus - écran noir - bios corrompu [résolu]
Mar 13 Aoû 2024 - 16:20 par Silicium81
» Remise en état d'un analyseur de spectre R3361A Advantest
Lun 29 Juil 2024 - 19:46 par Silicium81
» Un 'process Calibrator' économique, le QH-VISG2
Jeu 25 Juil 2024 - 18:27 par Silicium81
» Installation d'une VMC double flux en rénovation
Dim 21 Juil 2024 - 16:53 par Silicium81
» Remise en état d'une TI57
Sam 20 Juil 2024 - 16:57 par Silicium81
» Compresseur de climatiseur qui ne démarre plus (et plus de froid evidemment)
Mar 16 Juil 2024 - 19:54 par Silicium81
» radiocommande dji phantom 3 (GL300C) qui ne gère plus correctement la batterie [réparé]
Dim 14 Juil 2024 - 14:33 par Phil Frost