Bonjour,
J'aimerai utiliser avec un PC une carte comprenant des entrées et sorties Tout Ou Rien, voir analogiques, reliée au PC par exemple en USB.
J'aimerai piloter ces E/S via un programme C.
Y'a-t-il sur le marché des cartes de ce type ?
Sont-elles compatibles avec Linux ?
# Un port parallèle sur usb
Posté par nono14 (site web personnel) . Évalué à 2.
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: Un port parallèle sur usb
Posté par ilip . Évalué à 2.
Le but est de remplacer un automate par une carte PC + carte E/S, ce qui donne un ensemble pas cher et commandé par PC.
Ca devrai être utilisé en domotique, mais je ne connais pas trop ce domaine.
[^] # Re: Un port parallèle sur usb
Posté par nono14 (site web personnel) . Évalué à 2.
Il n'est pas interdit non plus de mettre plusieurs ports parallèles...
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: Un port parallèle sur usb
Posté par ilip . Évalué à 1.
[^] # Re: Un port parallèle sur usb
Posté par Anonyme . Évalué à 2.
http://www.ftdichip.com/Products/FT245R.htm
Il y a des librairies de programmations (C et python) et des drivers pour linux.
Il existe des montages électroniques facile à prendre en main pour un prototypage rapide. Voir par exemple le module USBMOD4.
http://www.elexol.com/USB_Modules/
# Un microcontroleur sur port USB ?
Posté par totof2000 . Évalué à 2.
[^] # Re: Un microcontroleur sur port USB ?
Posté par ilip . Évalué à 1.
[^] # Re: Un microcontroleur sur port USB ?
Posté par totof2000 . Évalué à 2.
# Arduino
Posté par monsieurw . Évalué à 2.
http://www.arduino.cc/
http://fr.wikipedia.org/wiki/Arduino
[^] # Re: Arduino
Posté par ilip . Évalué à 1.
Mais je ne suis pas sûr du fonctionnement :
- Est-ce une carte dans laquelle on envoi un programme et qui est par la suite autonome?
- Ou est-ce qu'on peut piloter directement les E/S par un programme C sur un PC branché en USB sur la carte ?
[^] # Re: Arduino
Posté par Antoine (site web personnel) . Évalué à 1.
Cela dit tu peux aussi créer un programme très simple qui communique via l'interface série (Serial over USB) avec ton PC grâce à un petit protocole maison qui permettra de lire/écrire sur les IO.
L'IDE et le langage sont très simple à prendre en main, surtout si tu programmes déjà un peu.
D'autre part, si tu veux rendre ton automate autonome, avec cette solution c'est du coup possible en gardant le matériel (il faut juste réécrire le programme pour l'ATMega)...
Enfin, pour environ 40€ (Arduino Mega) tu peux avoir 50 IO numériques (donc 14 PWM) et 16 entrées analogiques... Comparé au prix des cartes d'IO que l'on trouve, je pense que c'est plutôt bon marché :).
# Phidgets
Posté par Christophe Nowicki (site web personnel) . Évalué à 1.
Programmable sous GNU/Linux, il existe un driver pour cela : http://www.phidgets.com/drivers.php
Et il est possible de trifouiller leur produits à l'aide de plusieurs langages de programmation (C, Java, Python, etc...)
Les modules sont disponibles chez Gotronic depuis peu :
http://www.gotronic.fr/catalog/micro/micro-frame.php?page_ci(...)
Mes 0.02 Ampères
[^] # Re: Phidgets
Posté par ilip . Évalué à 1.
Question :
Je programme avec Qt, je sais qu'il y'a des classes pour gérer les E/S (QIODevice ), est-ce possible/facile de gérer une carte sans se servir du driver ?
L'intéret aussi est que Qt est multiplateforme
# E/S déportées ?
Posté par Philip Marlowe . Évalué à 1.
Pour celles qui sont passives (série 750-3xx) l'USB n'est pas disponible directement mais tout le reste est OK (Ethernet, RS232, RS485, Profibus, Can, etc.). Avec un module de tête RS232 (de tête 750-312 ou750-316) si tu utilises un convertisseur USB/série ça correspond à ta description. Attention, c'est du matériel professionnel, donc assez cher. Il faudra aussi te trouver ou te faire un soft exploitant le protocole Modbus sous Linux, mais ça ne doit pas être la mer à boire, vu que les specs sont publiques.
http://www.wagocatalog.com/okv3/index.asp?lid=3&cid=13&a(...)
Ce genre de matériel est proposé par plein d'autres fournisseurs, comme Phoenix Contact, par exemple.
# --> AVR Atmel & linux
Posté par ilip . Évalué à 1.
finalement j'ai récupéré une carte Atmel ATMEGA32,
j'ai déjà programmé dessus sur Windows avec un logiciel payant d'Atmel "Caviar" qui permet une cross-compilation et un envoi du programme sur la carte.
apparement le cross-compilateur est open source sur linux :
sur debian j'ai installé
- gcc-avr
- avr-libc
- binutils-avr
- avrprog
donc j'ai compilé un prog simple :
avr-gcc main.c
mais je ne sais pas comment l'envoyer sur la carte.
Sinon j'aimerai que la carte gère le protocole Modbus par port série avec le PC, mais comme la carte ne gère pas le multi-tâche, je sais pas trop comment faire.
Faut faire une boucle qui scrute le port COM ? ou utiliser une interruption ?
[^] # Re: --> AVR Atmel & linux
Posté par ilip . Évalué à 1.
mais j'ai un soucis pour charger le programme.
Pour charger le programme dans la carte on peut utiliser avrdude :
avrdude -p m32 -c stk500 -P /dev/ttyS0 -p m32
(options pour AtMega32)
J'obtiens :
avrdude: ser_open(): can't set attributes for device "/dev/ttyS0": Inappropriate ioctl for device
Donc je me dit que la carte n'est pas reconnue par mon linux
lorsque je la branche au PC par un cable USB, le dmesg me donne :
[ 8997.352073] usb 5-2: new full speed USB device using uhci_hcd and address 12
[ 8997.552158] usb 5-2: configuration #1 chosen from 1 choice
La carte est elle reconnue ou faut il ajouter des modules en dur dans le kernel ?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.