Pages: 1 2 [3]   Go Down
Author Topic: Radar vitesse moyenne modélisme  (Read 3556 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Euh pourquoi l'IR ? euh car je sais que certains radars utilisent ce type de technologie. Arpès, je viens de lire un post sur le laser. Après, si des capteurs photosensibles sont précis (de l'ordre de 10µs) et que ça coute pas cher, je dis OK !
Logged

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Avec un photo-transistor, j'arrive aux limites de l'arduino  smiley-lol
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5092
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Euh pourquoi l'IR ? euh car je sais que certains radars utilisent ce type de technologie. Arpès, je viens de lire un post sur le laser. Après, si des capteurs photosensibles sont précis (de l'ordre de 10µs) et que ça coute pas cher, je dis OK !
Bonsoir

un BPW34 est donnée pour des temps de "réaction sur rising/falling" tournant autour de 100 ns
à la louche dans le commerce de detail, ça doit tourner autour de 1€ la BPW34
les pointeurs lasers ça se trouve en France pour quelques € dans toutes les boutique de gadgets (porte clef)
sinon les modules se vendent par lot pour ~1$ l'unité.
exemple
http://www.dealextreme.com/p/2-5mw-focusable-dot-laser-module-4-pack-3v-46390?item=18

 
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour,
alors pour résumer, si je prends un arduino UNO, deux diodes deux lasers type "pointeurs" , 2 BPW34, deux régulateurs de tensions décrits ici:http://www.sonelec-musique.com/electronique_realisations_alim_laser_001.html

Je devrai y arriver ?
Logged

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5092
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour,
alors pour résumer, si je prends un arduino UNO, deux diodes deux lasers type "pointeurs" , 2 BPW34, deux régulateurs de tensions décrits ici:http://www.sonelec-musique.com/electronique_realisations_alim_laser_001.html

Je devrai y arriver ?

bonjour
et même (au moins dans un premier temps) pas besoin de regulateur, il suffit de disposer d'une alim 3V
pour valider ton projet l'ideal serait que tu trouve des pointeurs gadgets genre ça :
(NB : ce n'est pas de la pub pour le site, je suis allé au plus vite en recherche google)
C'est alimenté en 3V par des piles boutons (alim facile ensuite à deriver) le corps cylindrique est mécaniquement facile à integrer

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

ok merci pour ces renseignements. Je viens d'acheter tout le nécessaire (arduino uno + kit démarrage + 2 pointeurs laser + 2 diodes BPW34)

Je vous tiens au courant pour la suite !

Merci encore pour les conseils !
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
après quelques jours de programmation (je n'avais jamais fait ça avant à part 2-3 projets en VB), voici mon code pour mon radar. Je l'ai testé sur mon matos et ça marche. Si toutefois, il y a des incohérences ou des choses qui pourraient faire bugger mon système, dites-le moi smiley

Code:
// include the library code
#include <LiquidCrystal.h>
LiquidCrystal lcd(7,8,9,10,11,12);

//Déclaration variables
const int PD1 = A0;  //Photodiode1 sur entrée A0
const int PD2 = A1;  //Photodiode1 sur entrée A1
const int LED1=4;    //LED de contrôle pour PD1
const int LED2=5;    //LED de contrôle pour PD2

int ValeurPD1 = 0;    // valeur PD1 du port A0
int ValeurPD2 = 0;    // valeur PD1 du port A1
int ValeurLED1 = 0;    // valeur LED1 pour sortie 4
int ValeurLED2 = 0;    //valeur LED2 pour sortie 5

long PD1VH =1023;
long PD1VB=0;
long PD2VH =1023;
long PD2VB=0;

long Tps0 =0;
long TpsEnd=0;
long TpsAffi=0; //Temps affiché en ms depuis fonction micros()

float Speedkph =0; // en kph
float Speedmph =0; // en mph
float SpeedkphM =0; // en kph
float SpeedmphM =0; // en mph

float Longueur = 10; // Longueur en cellules en mètres en décimales
long LongueurAffi = 0; //Longueur affichée au LCD en entier

boolean chrono = false;

void setup() {
  Serial.begin(9600);
  LongueurAffi=Longueur;
  lcd.begin(16, 2); // set up the LCD's number of columns and rows:
  lcd.clear();
  lcd.print("Tassault");      //Displays  version of the software
  lcd.setCursor (12,0);
  lcd.print("V0.9");  // Print a message to the LCD.
  lcd.setCursor (3,1);
  lcd.print("Developpement");  // Print a message to the LCD.
  delay(1000);                                    // Time for displays of soft version
  lcd.clear();
  lcd.setCursor (3,0);
  lcd.print("ms");  // Print a message to the LCD.
  lcd.setCursor (6,0);
  lcd.print("kph:");  // Print a message to the LCD.
  lcd.setCursor (6,1);
  lcd.print("mph:");
  lcd.setCursor(0,1);
  lcd.print("L:");
  lcd.setCursor(2,1);
  lcd.print(LongueurAffi);
  lcd.setCursor(4,1);
  lcd.print("m");
  }

void loop() {
  
   ValeurPD1=analogRead(PD1);
   ValeurPD2=analogRead(PD2);
  
   ValeurLED1=map(ValeurPD1,PD1VB,PD1VH,0,255);
   ValeurLED2=map(ValeurPD2,PD2VB,PD2VH,0,255);
  
   analogWrite(LED1,ValeurLED1);
   analogWrite(LED2, ValeurLED2);
  
   if(ValeurPD1<=100 && ValeurPD2<=100 && chrono==false){ //initialisation pour démarrer le chrono
   chrono=true;
   }
      
   if (ValeurPD1>=600 && ValeurPD2<=100 && chrono==true){ //départ du chrono
    Tps0=(micros());
    lcd.setCursor (10,0); //Efface Vitesse kph
    lcd.print("                   ");
    lcd.setCursor (10,1); // Efface Vitesse mph
    lcd.print("               ");
    lcd.setCursor (0,0); // Efface Temps
    lcd.print("      ");
    lcd.setCursor (3,0);
    lcd.print("ms");
   }
    
   if (ValeurPD1<=100 && ValeurPD2>=600 && chrono==true && Tps0>0){ //Arret chrono
    TpsEnd=micros()-Tps0;
    TpsAffi=TpsEnd/1000;
    lcd.setCursor(0,0);
    lcd.print(TpsAffi);
    Speedkph=3600000*Longueur/TpsEnd;
    Speedmph=Speedkph/1.7;
    SpeedkphM=Speedkph;
    lcd.setCursor(10,0);
    lcd.print(SpeedkphM);
    lcd.setCursor (10,1);
    lcd.print(Speedmph);    
    Tps0=0;
   }
 
 }

Edit de Jean-François : j'ai mis le code entre les balises idoines  smiley-wink
« Last Edit: August 29, 2012, 08:44:35 am by dassault27 » Logged

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5092
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
après quelques jours de programmation (je n'avais jamais fait ça avant à part 2-3 projets en VB), voici mon code pour mon radar. Je l'ai testé sur mon matos et ça marche. Si toutefois, il y a des incohérences ou des choses qui pourraient faire bugger mon système, dites-le moi smiley


Bonjour
met ton code entre balise code
Code:
c'est plus lisible
led1 et led2 c'est pour contrôler la focalisation du laser sur les BPW34 ?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok, merci pour la modif! Oui la led1 et LED2 me permettront sur le terrain de voir si les 2 lasers pointent bien sur les 2 photodiodes. ET j'ai oublié de préciser qu'ici, dans mon code, le chrono se déclenche et s'arrête quand le laser vient sur la photodiode. J'ai fait ça car mon montage est pour l'instant sur une plaque d'essai. Quand j'aurai fait mes circuits imprimés, je modifierai le code pour que le chrono se déclenche et s'arrête quand le lasser ne percute plus les photodiodes.
Logged

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5092
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok, merci pour la modif! Oui la led1 et LED2 me permettront sur le terrain de voir si les 2 lasers pointent bien sur les 2 photodiodes. ET j'ai oublié de préciser qu'ici, dans mon code, le chrono se déclenche et s'arrête quand le laser vient sur la photodiode. J'ai fait ça car mon montage est pour l'instant sur une plaque d'essai. Quand j'aurai fait mes circuits imprimés, je modifierai le code pour que le chrono se déclenche et s'arrête quand le lasser ne percute plus les photodiodes.
Ok
finalement comme envisagé, c'est plus la conception mecanique de l'ensemble qui va te prendre le plus de temps  smiley-mr-green
pense bien à tuber les BPW34 sur au moins 4/5 cm
Logged

Pages: 1 2 [3]   Go Up
Jump to: