Pages: 1 [2]   Go Down
Author Topic: projet inutile donc absolument necessaire  (Read 1624 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Faraday Member
**
Karma: 19
Posts: 4178
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonsoir
La roue tourne  smiley-mr-green
petit test ce matin de tentative de recup de courbe (durée par secteur) à chaque changement pour analyser l'amortissement (deceleration) et l'effet feuillard cliquet.

ça marche plutôt pas mal pour recuperer en log pour analyse
avec ce code.
Si les petits genies du C   smiley-cool peuvent y jeter un oeil, et m'indiquer des pistes d'optimisations (pas dans la façon de rédiger avec concision  smiley-cool , mais dans celle de gagner du "temps"
je suis preneur  smiley-mr-green

Code:
enum PinAssignments {
  encoderPinA = 2,

};

unsigned long Tparc=0; //  temps de parcours du secteur
unsigned long Tact=0; // Test pour  micros() en entrée
unsigned long ParcMax=3000000; // delai max en µs pour parcourir un secteur, si > arret theorique de la roue sur le secteur arrivée
unsigned long Tparct[256] ; // tableau de long stockant les valeurs micros() à chaque interruption
// A 12 secteurs/tour ça permet de tester + de 20 rotations = large pour l'appli en amortissement naturel

byte Iparc=0; // indice pour parcourir Tparct
byte Iinit=1; // numero du 1er secteur concerné par Tparc[0] V= 1--->12 , pas encore utlisé ici

boolean Sint=false; // passé par l'interruption oui/non
void setup() {

  pinMode(encoderPinA, INPUT);


  // encoder pin on interrupt 0 (pin 2)
  attachInterrupt(0, doEncoderA, CHANGE);

  Serial.begin(115200);
}


void loop(){


  if (Sint==true)
  {

    Serial.print(">"); // pour test d'entre/sortie de secteur (rotation) ,indique passage par int0

    Sint=false;
  }

  if (micros()-Tact > ParcMax) { // tempo en µsecondes pour test si pas eu d'interruption = roue à l'arret sur 1 secteur (theorie)


    Tact=micros();
    Serial.println();
    Serial.print("-- passe tempo --> SECTEURS PARCOURUS = "); 
    Serial.println(Iparc-1);
    for (byte i=1; i < Iparc; i++){
      Tparc=Tparct[i]-Tparct[i-1];
      Serial.print(Tparc);
      Serial.print(";"); // delimiteur pour log tableur

    }

    Serial.println();

    Iparc=0;
  }




}

// Interrupt on A changing state
void doEncoderA(){


  //Tparc=micros()-Tact;
  // Tparct[Iparc]=Tparc;
  // mettre le calcul du delta T pour alimenter les postes du tableau ici est trop consommateur en temps d'int
  // cette fonction est derivée ensuite

  Tparct[Iparc]=micros(); // plus rapide
  Iparc ++;

  Sint=true;

}





 
Logged

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4178
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour
vu hier la realisation en nature de mon neveu (assisté à distance par tonton  smiley-mr-green  )
comme finalement c'est plutôt assez "rigolo" je ferais un rapport détaillé de la construction après son mariage en octobre.

mais pour ceux que ça intrigue :
le principe est basé sur la gestion de décélération apres apprentissage In situ (et pas entretien de vitesse comme initialement imaginé)
la capteur de position  est un encodeur absolu de chez AMS AS5043
le freinage/ralentissement est aussi basé sur du magnétisme  smiley-mr-green

reste maintenant à gérer le "vecteur transmission du choix" pour la soirée
pour l'instant c'est simplement géré par une simple entrée sur serial (01 - 12 )

-se degage les options :
-IR (telco TV)
- Bluetooth
- Wifi

je pense que l'option bluetooth sera privilegiée pour sa discretion (smartphone comme "maitre du jeux" ) et moins lourde à mettre en place que du wifi...

aussi étonnant qu'il semble , je n'ai jamais pratiqué/développé du bluetooth sur arduino (ni ailleurs d'ailleurs  smiley-cool  ), si vous avez des bons liens et/ou retour d'expe arduino sur l'interfaçage arduino/BT/smartphone , je suis preneur
Merci
Logged

Offline Offline
Edison Member
*
Karma: 9
Posts: 1650
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

salut Artouste,
en démontant une imprimante, j'ai pensé à toi ce WE.
j'ai récupéré des moteurs avec disque encodeur et le lecteur qui va avec, si ca te dis, je te les envoie.

sinon pour le BT, quel type de smartphone?
Logged

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4178
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

salut Artouste,
en démontant une imprimante, j'ai pensé à toi ce WE.
j'ai récupéré des moteurs avec disque encodeur et le lecteur qui va avec, si ca te dis, je te les envoie.

sinon pour le BT, quel type de smartphone?
bonjour infobarquee
merci pour ta proposition, mais j'en ai des "caisses pleines"  smiley-mr-green

sous android , samsung ace en ce qui me concerne
Logged

Offline Offline
Edison Member
*
Karma: 9
Posts: 1650
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

tiens un truc sous processing via android
http://arduinobasics.blogspot.fr/2013/03/arduino-basics-bluetooth-android.html
Logged

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4178
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ça semble une bonne base de depart
merci infobarquee
Logged

Offline Offline
Edison Member
*
Karma: 9
Posts: 1650
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

de rien smiley-wink
si je trouve quelque chose plus approchant je manquerai pas de le mettre
Logged

Paris
Offline Offline
Sr. Member
****
Karma: 1
Posts: 366
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ça fait une très bonne idée de caméra cachée :

  • Un forain qui tient un stand de loterie confie celui-ci à un jeune employé et s'absente
  • Quelque clients viennent et gagnent systématiquement, le stand est dévalisé

Je vous laisse imaginer la tête du jeunot quand le patron revient...
Logged

EN: Libraries are my Gurus, they make me believe anything they want !
FR: Les librairies sont mes gourous, elles me font croire ce qu'elles veulent !

perpignan, france
Offline Offline
Sr. Member
****
Karma: 0
Posts: 280
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ou la tête du patron si c'est lui qui ne sait pas que la roue est pipée smiley-razz
Logged

-tu savais que si tu passe le CD de windows à l'envers, tu entends une chanson satanique ?
-non, mais il y a pire : à l'endroit, ça l'instal

Pages: 1 [2]   Go Up
Jump to: