Show Posts
Pages: [1] 2 3 ... 30
1  International / Le bar / Re: PID, Ziegler & Nichols et Fussy Logic on: September 16, 2014, 02:03:47 am
Merci icare de prendre le temps de partager ton expertise,
je te lit avec baucoup d'entrain car je suis avec mes petite bestiole souvent confronté a de la regule en temperature , donc amelioré mon systeme reste une possibilité qui n'est pas a écarté!

la logique flou me plais assé car daprés ce que tu dit on peut donc ce passé de la recherche des coeficients Kp,Ki et Kd.
meme s'il sont réintroduit par la suite biensure sous une autre forme !

je me demander , dans le cas d'un PID standard on doit imperativement bien normé le systeme pour que cela marche ( par exemple un même systeme de régulation d'une piece n'aurat pas les memes coeficient si l'on change de piece et de radiateur!

est ce que dans le cas d'une logique flou on peut transgréssé ce type de problematique?

et enfin est 'il envisageable de faire un systeme auto adaptatif , qui calculerai et ajusterai ces propres parametres au cours du temps?
2  International / Français / Re: Piloter deux relais en inversion avec un seul bouton ! on: September 15, 2014, 08:48:14 am
Salut je ne suis pas sur d'avoir bien compris ce que tu chercher a faire mais bon je dirrai que cela devrait corespondre a ton besoin, ou s'en approché

Code:
const int buttonPin = 2;     
const int relay =  3;     
const int relay2 =  4;

int buttonState = 0;
int flag = 0;
int flag2 = 0;


void setup()
{
  pinMode(relay, OUTPUT);
  pinMode(relay2, OUTPUT);
  pinMode(buttonPin, INPUT);
 
}

void loop()
{

 
  if (digitalRead(buttonPin)!=0) // si il y a appuis sur le boutton
  {
     
    if(flag == 0)// on test qui est allumé
    {
    digitalWrite(relay, HIGH); // on enclanche le relay1
    digitalWrite(relay2, LOW);//on desenclanche le relay2
    flag=1;
    }
    else
    {
    digitalWrite(relay2, HIGH);// on enclanche le relay2
    digitalWrite(relay, LOW);//on desenclanche le relay1
    flag=0;
    }
  } 
}
3  International / Français / Re: SdFat librarie et mega 2560 on: September 15, 2014, 08:37:48 am


bonjour Krys
quel IDE ?
sans que cela soit "une bonne reponse" , je viens de me faire avoir en voulant utliser de la SD sous IDE 1.5.7
ça coince , alors que ça passe sous <

souci de compatibilité  ? evoqué recemment sur le forum avant  (je ne sais plus où  )

la compile ou le fonctionnement ? car je voulai essayer de passer mon sketch sur la DUE , mais si ça plante je vais encor galeré!
4  International / Français / Re: SdFat librarie et mega 2560 on: September 15, 2014, 08:28:01 am
bon j'arrive a voir la carte avec le scketch quikstart,
je pense avoir compris ce qui ne fonctionait pas :
mon lecteur de carte et situé sur un ecrant 5" CTE CPLD et vraisemblablement il bouf trop de jus sur le port usb car en faisant le test avec et sans allim , j'obtient  un fonctionement ou pas du systeme , donc je pencherai pour l'alime encor une fois !

voici ce que j'obtien en sortie serial pour info c'est pas mal :
Quote
SPI pins:
MOSI: 51
MISO: 50
SCK:  52

Be sure to edit DISABLE_CHIP_SELECT if you have
a second SPI device.  For example, with the Ethernet
shield, DISABLE_CHIP_SELECT should be set to 10
to disable the Ethernet controller.

SD chip select is the key hardware option.
Common values are:
Arduino Ethernet shield, pin 4
Sparkfun SD shield, pin 8
Adafruit SD shields and modules, pin 10

Enter the chip select pin number: 53

Assuming the SD is the only SPI device.
Edit DISABLE_CHIP_SELECT to disable another device.

Card successfully initialized.

Card size: 513 MB (MB = 1,000,000 bytes)

Volume is FAT16, Cluster size (bytes): 8192

Files found (name date time size):
SYSTEM~1/      2014-09-15 14:15:26
  INDEXE~1       2014-09-15 14:15:26 76
INCUB/         2000-01-01 01:00:00
  DATLOG/        2000-01-01 01:00:00
    15092014.TXT   2000-01-01 01:00:00 226
  EPHE/          2000-01-01 01:00:00
    EPHE.TXT       2000-01-01 01:00:00 110
  SAISON/        2000-01-01 01:00:00
    SAISON1.TXT    2000-01-01 01:00:00 145
    SAISON2.TXT    2000-01-01 01:00:00 146
    SAISON3.TXT    2000-01-01 01:00:00 145
    SAISON4.TXT    2000-01-01 01:00:00 145
  FLUO/          2000-01-01 01:00:00
    FLUO.TXT       2000-01-01 01:00:00 230
    SONDE/         2000-01-01 01:00:00
      SONDE.TXT      2000-01-01 01:00:00 69
  CHAUF/         2000-01-01 01:00:00
    CHAUF.TXT      2000-01-01 01:00:00 261
    SONDE/         2000-01-01 01:00:00
      SONDE.TXT      2000-01-01 01:00:00 70
CONF/          2000-01-01 01:00:00
  CONF.TXT       2000-01-01 01:00:00 36

Success!  Type any character to restart.
5  International / Français / Re: SdFat librarie et mega 2560 on: September 15, 2014, 08:17:24 am
je vien de m'appercevoir que j'avais une vieille version , je vais donc refaire les test avec la nouvelle! qui date de aout 2014
6  International / Français / Re: SdFat librarie et mega 2560 on: September 15, 2014, 08:00:00 am
Salut artoust ,
c'est le 1.0.5 , et comme y' une flopé de fichier dans la lib je veux pas cassé quelque chose !
7  International / Français / SdFat librarie et mega 2560 on: September 15, 2014, 07:48:55 am
Salut a tous ,
j'ai un petit soucis j'ai besoin d'utiliser la lib SdFat plutot que la SD.h de l'ide ( probleme d'extration et remise de carte SD en cour de fonctionement ).
je fonction sur  mega 2560 et je but sur le fait de faire fonctione un quelconque scketch( d'exemple fournis avec la lib ) sur mon systeme.
j'ai la sensation qu'il faut que je modifie les declaration des pin MOSI MISO ... etc, dans la partie SdFatconfig.h qui ne semble pas corespondre a ceux de la mega , mais j'ai vraiment un gros doute, et je n'ai pas trouver l'info sur le net .
Donc  avant de me lancer je prefere avoir votre avis dessu.
PS: j'ai tester sans modifier ( juste chip select passer a 53) un des scketch "readWriteSDfat "et il me retourne "no card... error", bref ça ne fonctione pas , alors que mon programe initial fonctionne avec la lib SD.h.

merci d'avance
8  International / Français / Re: Connecter module LED avec une Arduino ? on: September 12, 2014, 07:13:53 am
sinon pour fair du 0-10V avec un arduino on peut fair ça :

j'avais mis ça en place pour piloté des rampe a led dont le driver pouvais ce piloter en 0-10V
a+
9  International / Le bar / Re: PID et sieurs Ziegler & Nichols on: September 12, 2014, 07:02:31 am
pour moi ça reste FLOU tout ça ! smiley-mr-green
10  International / Français / Re: Capteur Inductif on: September 12, 2014, 04:40:43 am
Merci je comprend mieux les reponses des autres , j'était pas sur le bon capteur  smiley-mr-green, normal que je capter rien! smiley-mr-green
11  International / Le bar / Re: PID et sieurs Ziegler & Nichols on: September 12, 2014, 04:29:16 am
salut icare,

je rajoute ces deux lien qui sont for intéréssant car il permete a de debutant comme moi d'y voir plus clair!
l'auteur explique bien la notion de PID dans le premier lien , et montre sur le second avec  un moteur comment realisé ce type d'aservisement avec un arduino !

http://www.ferdinandpiette.com/blog/2011/08/implementer-un-pid-sans-faire-de-calculs/
http://www.ferdinandpiette.com/blog/2012/04/asservissement-en-vitesse-dun-moteur-avec-arduino/

12  International / Français / Re: Capteur Inductif on: September 12, 2014, 03:50:34 am
je comprend plus rien c'est quoi la ref du capteur inductif ?
 le lien plus haut ou la ref page precedante car c'est pas la meme
la page precedante nous donne une ref qui donnerai plus ce lien :
https://www.mysick.com/eCat.aspx?go=DataSheet&Cat=Row&At=Fa&Cult=English&Category=Produktfinder&ProductID=84145
13  International / Français / Re: Besoin d'aide PushingBox + 433 MHz on: September 12, 2014, 03:14:57 am
une partie me géne un peut c'est la partie remplisage du buffer car avec les chaine de carracterre qui ce termine par un '/0' il faut bien le placer
donc :
Code:
if (vw_get_message(buf, &buflen))
{
for (byte i = 0; i < buflen; i++) //  un byte suffi car VW_MAX_MESSAGE_LEN est deffini commme =80 dans la lib
{
Message[i] = char(buf[i]);
}
 
Message[buflen-1] = '\0';// si tu veut que la dernier case soit a '/0' fin de chaine alors c'est longeur-1 car on part de [0]
//ou alors tu dit que Message fait 81 case soit Message[VW_MAX_MESSAGE_LEN+1]
 
//un petit:
Serial.println (Message);// histoir de bien voir ce qu'il y a dedans!

// Conversion du tableau de chars en int:
Nombre = atoi(Message);
14  International / Français / Re: Besoin d'aide PushingBox + 433 MHz on: September 12, 2014, 02:47:23 am
bon j'ai corrigé ton plantage de compile , tu avais rentré ta fonction sendPushingBox dans ton loop et en plus le code de la fonction n'etait pas correctement mis entre les accolade:

voic le code qui compile
Code:
/**************************************************************
* LED reliée en sortie 2.
* Relais en sortie 4.
* Contact relais sortie vers entrée 3.
* Récepteur 433 MHz branché à l'entrée 11.

*Combinaison de :
* http://electroniqueamateur.blogspot.com/2014/01/modules-rf-433-mhz-virtualwire-et.html
*https://github.com/Clement87/PushingBox-for-Arduino/blob/master/PushingBox_Arduino_Ethernet_Official/PushingBox_Arduino_Ethernet_Official.ino
* voir aussi ici http://skyduino.wordpress.com/2011/12/29/tutoriel-arduino-et-emetteurrecepteur-433mhz-virtualwire/

***************************************************************/
 
#include <VirtualWire.h>
#include <SPI.h>
#include <Ethernet.h>


byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x19 };   // Be sure this address is unique in your network

//Your secret DevID from PushingBox.com. You can use multiple DevID  on multiple Pin if you want
char DEVID1[] = "v203FA76EFFEFFC3";        //Scenario : "The mailbox is open"

//Numeric Pin where you connect your switch
uint8_t pinDevid1 = 3; // Example : the mailbox switch is connect to the Pin 3

// Debug mode
boolean DEBUG = true;

#define LED1 2
#define RELAIS 4
 
int Nombre;
 
char Message[VW_MAX_MESSAGE_LEN];

char serverName[] = "api.pushingbox.com";
boolean pinDevid1State = false;                // Save the last state of the Pin for DEVID1
boolean lastConnected = false;                 // State of the connection last time through the main loop
long lastReadingTime = 0;                      // MAJ 10092014

// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;

void setup() {
   
vw_setup(2000); // Bits par seconde
vw_rx_start();

Serial.begin(9600);

   // initialize the digital pin.
  pinMode(LED1, OUTPUT);   
  pinMode(RELAIS, OUTPUT);
  pinMode(pinDevid1, INPUT);
  // mise à l'état bas des sorties (MAJ08092014).
  pinMode(LED1,LOW);
  pinMode(RELAIS,LOW);
 
 
  // start the Ethernet connection:
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    // no point in carrying on, so do nothing forevermore:
    while(true);
  }
  else{
    Serial.println("Ethernet ready");
    // print the Ethernet board/shield's IP address:
    Serial.print("My IP address: ");
    Serial.println(Ethernet.localIP());
  }
  // give the Ethernet shield a second to initialize:
  delay(1000);
}
 
 
void loop()
{
  Serial.print("début loop");
 
    uint8_t buf[VW_MAX_MESSAGE_LEN]; // Tableau qui va contenir le message reçu (de taille maximum VW_MAX_MESSAGE_LEN)
    uint8_t buflen = VW_MAX_MESSAGE_LEN; // Taille maximum de notre tableau
    char Message[VW_MAX_MESSAGE_LEN];
 
if (vw_get_message(buf, &buflen))
{
int i;
 
for (i = 0; i < buflen; i++)
{
Message[i] = char(buf[i]);
}
 
Message[buflen] = '\0';
 
// Conversion du tableau de chars en int:
Nombre = atoi(Message);

Serial.print("Reception du nombre = ");
Serial.println(Nombre);
 
if (Nombre == 1)
  {
  digitalWrite (LED1,HIGH);
  digitalWrite (RELAIS,HIGH);
  Serial.println("valide nombre 1");
  }
 
if (Nombre == 4)
  {
  digitalWrite (LED1,LOW);
  digitalWrite (RELAIS,LOW);
  Serial.println("valide nombre 4"); 
  }


      ////
      // Listening for the pinDevid1 state
      ////
      if (digitalRead(pinDevid1) == HIGH && pinDevid1State == false && Nombre == 4 ) // switch on pinDevid1 is ON si nombre = 4 (MAJ08092014)
      {
        if(DEBUG){Serial.println("pinDevid1 is HIGH");}
        pinDevid1State = true;
        //Sending request to PushingBox when the pin is HIGHT
        sendToPushingBox(DEVID1);
      }
       if (digitalRead(pinDevid1) == LOW && pinDevid1State == true && Nombre == 1 ) // switch on pinDevid1 is OFF si nombre = 1 (MAJ08092014)
      {
        if(DEBUG){Serial.println("pinDevid1 is LOW");}
        pinDevid1State = false;
        //Sending request to PushingBox when the pin is LOW
        //sendToPushingBox(DEVID1);    //Here you can run an other scenario by creating a DEVID2 variable
      }
     
     
      //DEBUG part
      // this write the respons from PushingBox Server.
      // You should see a "200 OK"
      if (client.available()) {
        char c = client.read();
        if(DEBUG){Serial.print(c);}
      }
     
      // if there's no net connection, but there was one last time
      // through the loop, then stop the client:
      if (!client.connected() && lastConnected) {
        if(DEBUG){Serial.println();}
        if(DEBUG){Serial.println("disconnecting.");}
        client.stop();
      }
      lastConnected = client.connected();

}

}//fin du loop

//Function for sending the request to PushingBox

void sendToPushingBox(char*devid){

  client.stop();
  if(DEBUG){Serial.println("connecting...");}

  if (client.connect(serverName, 80)) {
    if(DEBUG){Serial.println("connected");}

    if(DEBUG){Serial.println("sendind request");}
    client.print("GET /pushingbox?devid=");
    client.print(devid);
    client.println(" HTTP/1.1");
    client.print("Host: ");
    client.println(serverName);
    client.println("User-Agent: Arduino");
    client.println();
  }
  else {
    if(DEBUG){Serial.println("connection failed");}
  }/// fin de fonction
}
15  International / Français / Re: Capteur Inductif on: September 12, 2014, 02:21:31 am
ha je me disait bien que l'on ne savait pas ce que c'etait comme type de signal!

en regardant la data sheet , apparament il ne s'allimente pas en 12V mais en 4.5-5.5V donc plus besoin d'optocoupleur ou autre effectivement .
Pages: [1] 2 3 ... 30