Pour quel type de communication série Arduino Severino est-il conçu?


8

Arduino est devenu assez coûteux d'où je viens (2/3 du prix de Raspberry PI), j'ai donc créé un clone Arduino Severino .

J'avais utilisé l'appareil avec le convertisseur USB-série RS-232. Mais après un (long) moment, l'appareil a cessé de fonctionner. Mon ami est venu avec un point que la communication RS-232 se situe entre +6 à -6 V (avec des seuils à +3 et -3 volts).

J'ai donc essayé le FT232 qui utilise à la place de 0 à 5 volts. j'ai un peuchinois Puce FTDI conçue pour cela: USB vers la face avant série

USB vers l'arrière série

Cependant, après l'avoir connecté, il se comporte de manière inattendue. (il avait planté mon PC, une des LED de communication est allumée tout le temps ...) J'ai réalisé que la carte Arduino pouvait se casser pour une autre raison (un court-circuit accidentel est très probable).

Alors, pour quel type de communication cet "Arduino" est-il conçu?


Veuillez voir ma réponse mise à jour.
Ricardo

Réponses:


4

En regardant le schéma de cette carte, elle utilise une inversion de signal très grossière pour le RS-232. Cela lui permet de fonctionner d'un signal RS-232 standard directement à partir d'un ordinateur - juste .

C'est loin d'être idéal et devrait vraiment utiliser une puce MAX232 (ou similaire) pour l'interface.

Votre adaptateur FT232 doit contourner cette partie du circuit et se connecter directement aux broches 0 et 1 du clone Arduino. La broche DTR du FT232 doit se connecter à la broche RESET du clone Arduino via un condensateur 100nF pour permettre à l'IDE de réinitialiser la carte pour entrer dans le chargeur de démarrage. Oh, et bien sûr, connectez également la terre à votre clone Arduino (quelque chose que les utilisateurs Arduino oublient souvent).

Vous pouvez suivre la partie de la carte de répartition en série du tutoriel de la carte de test Arduino et l'appliquer à votre carte.


3

L'arduino auquel vous vous êtes connecté est conçu pour les signaux série de niveau RS232, qui peuvent être devinés à l'aide d'un connecteur DB09.

L'impression FT232 que vous montrez est destinée à la signalisation 5V TTL (ou peut-être 3,3V 'TTL'). Non compatible avec votre arduino. (BTW: cette puce n'est pas du tout chinoise, elle est fabriquée par www.ftdichip.com IMO, ils font les meilleurs produits de puce / pilote usb vers série.)


Merci pour l'information supplémentaire. J'ai édité ma question grâce à vous.

4
Vous supposez, bien sûr, qu'il s'agit d'une VRAIE puce FT232, et non d'une copie chinoise douteuse

2

L'Arduino Severino (Single Sided Serial version 3 - S3V3rino) est conçu pour fonctionner avec l'interface série RS-232, pas avec les niveaux de signal série TTL de votre carte FT232.

Donc, pour utiliser votre carte FT232 pour connecter votre Severino à un port USB, vous aurez besoin de connexions comme celles des schémas ci-dessous:

Schémas TTL série à ATmega328

Donc, fondamentalement, vous avez besoin de ces connexions:

  FTDI |  ATmega328           | Arduino Severino 
----------------------------------------------------
  DTR  |  Pin 1 (thru cap C6) | RESET (thru cap C6) 
  RXI  |  Pin 3               | TX (D1)  
  TXO  |  Pin 2               | RX (D0)  
  VCC  |  Not connected       | Not connected
  CTS  |  Not connected       | Not connected  
  GND  |  Pin 8 & 22          | Ground

C'est essentiellement la même suggestion de Majenko (mais avec une photo ajoutée).

Je ne suis pas sûr que vous puissiez établir ces connexions directement dans le Severino sans endommager la carte ou quoi que ce soit d'autre. Vous devrez probablement couper les traces TX / RX qui vont de l'ATmega328 au connecteur femelle DB9 sur le Severino et les câbler aux broches d'en-tête FTDI.

Le mieux serait de modifier les schémas Severino EagleCAD pour supprimer tous les circuits RS-232 et les remplacer par un connecteur TTL comme indiqué dans mes schémas ci-dessus et, avec cela, graver et assembler une nouvelle carte. C'est beaucoup de travail, mais cela peut être fait.

J'espère que ça aide.


1

Un Arduino 5 V typique utilisera une série de niveau logique - c'est-à-dire une signalisation de 0 et 5 V.

RS232 a des niveaux de signal de plus ou moins 3 à 15 volts. Les pilotes et récepteurs RS-232 doivent pouvoir résister à des courts-circuits indéfinis à la masse ou à tout niveau de tension jusqu'à ± 25 volts

De Wikipédia

De nombreuses interfaces RS232 recevront des signaux 0-5V.

Je crois que l'Arduino série d'origine avait des circuits pour tolérer les niveaux de signal RS232 sur ses entrées.

Étant donné que la plupart des ordinateurs disposent désormais de ports USB plutôt que RS232, la plupart des utilisateurs d'Arduinos utilisent une interface série USB à niveau logique. Certaines des puces les plus populaires pour cela proviennent de FTDI comme le FT232RL sur votre clone chinois d'un " ami FTDI ". Dans ce cas, tous les signaux sont de niveau logique 0-5 V (ou 3,3 V si vous modifiez la liaison de cavalier).

Donc, ce qui suit est probablement OK

 PC DE-9 RS232    ----- Severino DE-9
 PC DB-25 RS232   ----- Severino DE-9
 PC USB port ---- "FTDI Friend" ---- Arduino 0(RX), 1(TX), Reset, GND and (optionally) VCC.

Eh bien, non, j'ai deux réponses affirmant exactement le contraire. Que devrais-je faire? : D

@ TomášZato: Je soupçonne que vous n'avez pas de véritable niveau de signal RS232 nulle part. J'utiliserais un voltmètre en cas de doute.
RedGrittyBrick
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.