RS232 radar doppler

Bonjour à tous et à toutes.
Je suis en possession d'un Arduino nano et d'un radar Doppler AGD331 dont voici la doc: https://www.agd-systems.com/wp-content/uploads/2017/02/331PM-ISS8.pdf.
mon but est de communiquer avec ce dernier, J'ai tester avec un MAX3232 mais sans aucuns résultats. ce radar fonctionne avec une liaison RS232, et cela fait plusieurs jours que je cherche, mais rien. Si quelqu’un a une idée, je lui en serai fort reconnaissant.

Bonsoir
A verifier que les niveaux des signaux soient réellement du RS232 (+/- V) et pas simplement du TTL

le cordon exposé ci-dessous ressemble à un simple cordon TTL---> FTDI<-->USB

quels niveaux au voltmetre ou oscillo sur le connecteur 331 ?

La doc AGD insiste bien sur

A UART interface is provided that uses RS232 voltage levels on the terminal connector

En plus, chez FTDI,

  • les références en USB-232 correspondent à des interface en niveau RS232
  • les références en TTL-232 correspondent à des interface en niveau TTL

Bonjour,

les seuls tensions que j'obtient c’est en détection, entre VCC et TX, 0,44V et entre VCC et RX, 12V, sinon hors détection j'ai une tension de 12V selement entre VCC et RX.
Le cordon FTDI, je l'ai, il fonctionne bien pour relier le radar au PC .

Voici le module que j'ai utilisé sans succès.

Bonjour

Regardes bien ton cordon 'FTDI' , certains incorporent un MAX232 (ou équivalent)

Bonjour al1fch,
j'ai regarder sur mon cordon, mais ce n'ai pas évident de voir ce que c'est dedans, par contre, j'ai trouver ça sur le MAX3232:

Je pense qu'il y a moyen d'en faire quelque chose, mais je ne vois pas comment.

cette petite carte est nécessaire entre ta carte Arduino Nano et le radar, s'il est sûr et certain qu'il travaille avec des niveaux de tension RS232. (environ + ou - 12V)

Quelle est , du côté du radar la tension entre sa sortie TX et sa masse ?
si la valeur est une dizaine de volt en valeur absolue , la petite carte avec mes MAX3232 est à insérer entre radar et Nano comme indiqué sur le schéma suivant

Elle enverra **-**12V au radar quand le TX sortant d ela carte Nano est = **+5V
Elle enverra =
+**12V au radar quand le TX sortant de la carte Nano est à 0V

conversion du même type (inversion et 'amplification') dans l'autre sens, du radar à la carte Nano

Le seul endroit ou il y a 12V c'est entre VCC et RX, entre GND et TX il n'y a rien. J'ai un doute sur le bon fonctionnement de ce radar, je ferais quelque tests demain sur un deuxième AGD331 ce soir.

Je viens de regarder sur un autre, j'ai exactement la même chose

On mesure les tensions par rapport à GND.

Les signaux RS232 sont caractérisés par le fait que l'un des niveaux logiques génère une tension négative

niveau logique tension
0 +3 à +15V
1 -3 à -15V

Le plus facile pour savoir si c'est du RS232 c'est de monter 2 LEDs tête-bêche avec une résistance de 4,7k.
On connecte un coté à GND et on applique l'autre fil sur le signal à regarder.
Si c'est du RS232 les 2 LEDs vont s'allumer. Si c'est du TTL une seule s'allumera.
Pour que le test soit valable, il faut qu'il y ait du dialogue sur la ligne sinon elle restera toujours au repos et une seule diode s'allumera.

 ---------------------
             |       |
            ---     ---
            \ /      ^
             V      / \
            ---     ---
             |       |
             ---------
                 | 
                ---
                | |
                | |
                ---
                 | 
 -----------------

C'est bien là le soucis, c'est que par rapport au GND, il n'y a rien du tout, que le radar soit en détection ou non.

Si dans cette configuration il fonctionne toujours alors il doit y avoir une tension à un moment ou un autre.

D'accord, j’essaie cette méthode.

Bonsoir,
après avoir relu la doc en long, en large et en travers, j'ai trouvé une partie des solutions. Il fallait activer OUT3. Bien, maintenant j'ai les bonnes tensions qui arrivent aux bons endroits.
Avec le petit bout de code que j'ai fait, j’obtiens des valeurs, mais pas les bonnes.

#include <SoftwareSerial.h>

SoftwareSerial rs232(2, 3);

int vitesse = 0;

void setup() {
  Serial.begin(115200);
  rs232.begin(115200);
}

void loop() {
  
  vitesse = rs232.parseInt();

  if (vitesse > 0){

    Serial.print("Vous roulez à: ");
    Serial.println(vitesse);
  }

Par exemple, pour 50Km/h j'obtiens 63, pour 82 on a 205. j'ai utilisé plusieurs méthodes, read(), readString(), char, il n'y a jamais la bonne valeur qui en ressort.
Avez une idée?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.