Show Posts
Pages: 1 ... 57 58 [59] 60 61 ... 65
871  International / Français / Re: Qu'acheter pour programmer Arduino Standalone ? (usb) on: August 11, 2011, 05:12:28 pm
Bonjour

Si le Mega328 acheté chez Adafruit possède déjà un bootloader un simple adaptateur USB/Série "TTL" suffit.
Les 2 ou 3 modèles déjà présentés sur le fil de discussion http://arduino.cc/forum/index.php/topic,66178.0.html conviennent si ça ne te gènes pas de guetter sur l'IDE le bon moment où effectuer une brève pression sur le bouton de reset (je fais ça une bonne vingtaine de fois par jours en ce moment avec le premier modèle présenté par Jean Marie ). Comme indiqué vers la fin du fil de discussion cité je devrais d'un jour à l'autre un nouveau module (3€88 port compris) qui sur le papier du moins devrait permettre le reset automatique et m'épargnerait la pression sur le bouton ! A suivre...
Un cable Nokia CA-42 fait parait-il également l'affaire....
872  International / Français / Re: Astuce - màj winAVR 2010 et arduino 0022 on: August 11, 2011, 08:15:21 am
Ok skywodd
Plein de choses nouvelles dans la prochaine version, c'est vrai !
J'ai déjà joué un peu avec il y a une quinzaine de jours (plus particulièrement avec la nouvelle librairie Ethernet et ses exemples)
On a déjà eu un échange rapide sur cette nouvelle version :
http://arduino.cc/forum/index.php/topic,68067.msg502659.html#msg502659

Mes questions portaient plus précisément sur :
Quote
Le probléme c'est que l'équipe arduino a modifié le code source de avrdude à leur sauce pour que avrdude reconnaisse le bootloader arduino comme un bootloader stk500.
Mais cela n'est plus nécessaire car la dernière version de winAVR comporte un protocole nommé "arduino" spécialement étudié pour ... l'arduino.

Je pense voir (dans le code de son firmware) le Mega8u2 relayer les changements de DTR qui lui sont signifiés par le PC par le biais du port série virtuel. Je cherche donc la "source" de la manipulation de DTR au niveau du PC soit par l'IDE en java soit plutôt par l'avrdude modifié.
(A partir du pc ,avec un terminal permettant de manipuler à volonté DTR (terminal Bray par exemple sous Windows https://sites.google.com/site/terminalbpp/), on déclenche des reset comme on veut, à tout moment.....
873  International / Français / Re: Acquisition de données : faisabilité du projet on: August 10, 2011, 04:42:01 pm
skywodd a bien balayé le sujet !! Il n'a pas laissé grand chose de côté !

-Capteur inductif :
La tension Vcc ne doit pas quitter sa valeur 5V mais le capteur inductif peut être alimenté en 10V (environ) sur le fil brun avec l'alimentation que tu enverras à l'Arduino (tension notée Vin sur les cartes).
Le signal sortant (fil noir) peut etre envoyé à une entrée numérique après avoir été ramené impérativement à la plage 0/5V (pont diviseur par exemple, diode zener ecréteuse.....).
L'infra-rouge (en interruption de faisceau ou en réflexion) proposé par skywodd peut poser probleme si le milieu est susceptible de laisser un dépot de poussière, huile .... etc
Il existe également la solution du capteur à effet hall.

-Potentiometre : le curseur peut etre relié une entrée analogique pourvu que la valeur maximale ne dépasse pas 5V.

Globalement : pour moi la difficulté relative du projet réside dans la cohabitation  'temporelle' entre les 2 mesures de vitesses de rotation et l'écriture dans la carte SD , du moins s'il faut surveiller en permanence les rotations.  Telles que je comprend les intentions (peut être à tort) les mesures de vitesse se feraient par deux interruptions  smiley-sad-blue à 333Hz (@20000t/mn et une interruption du µC par tour, pire encore si le rotor a plusieurs dents ...) ce qui ne laisserait pas beaucoup de place à l'écriture en SD.
Il me parait inévitable :
-soit de ne mesurer les vitesses de rotation que par intermittance pendant des 'fenetres' calibrées de comptage d'impulsions ou bien, avec pulsin(), de mesurer une période de rotation.
-soit de travailler en interruptions mais d'insérer  des diviseurs de fréquence  entre sondes et entrées numériques pour laisser au microcontroleur le temps de mener à bien d'autres tâches qui ne sont pas forcément toutes interruptibles. La mise au point d'un systeme avec deux interruptions aussi 'envahissantes' n'est pas simple d'autant plus qu'avec l'Arduino il n'y a pas de grandes facilités de débuggage.
-soit d'utiliser des convertisseurs fréquence/tension comme les classiques LM2907/LM2917 pour ramener les mesures de vitesses de rotation à de simples mesures de tensions faisables comme les autres par 'polling' et non par interruption.
874  International / Français / Re: Astuce - màj winAVR 2010 et arduino 0022 on: August 10, 2011, 04:19:58 pm
Merci skywodd pour l'astuce qui me servira prochainement : je suis très tenté de jouer avec le mega32u4 et les divers firmwares usb qu'on peut y installer.

Question 1 : tu fais allusion à une modification du code source d'avrdude. Où est ce code source ? Je l'ai cherché ces jours derniers pour y trouver éventuellement la manipulation de DTR qui déclenche le reset auto.

Question 2 : as tu constaté  dans Arduino 1 beta les choses que tu annonces ?
875  International / Français / Re: Domo'Duino, la domotique par Arduino ( Finit, j'en est marre ! ) on: August 10, 2011, 12:08:48 pm
Comme osaka je pense qu'il est tout à fait possible  d'avoir en réserve dans le code (en mémoire flach) plusieurs pages html et d'envoyer dans le buffer (Ram mega328 puis Ram 28J60) la page sélectionnée.

Avec la librairie que vous utilisez pour l'Ethershield je ne sais pas faire. (c'est une librairie qui me 'sort par les yeux' et que j'évite autant que possible quand je veux utiliser mon Ethershield maison !)

Pour information (pas pour tester tel quel,  vu  qu'il utilise une autre librairie pour le 28j60) voici un pde pour mini serveur à 3 pages web pour le circuit enc28J60. Un coup d'oeil peut donner des idées pour écrire l'analyse de la requête et servir la bonne page (actualisée).
876  Using Arduino / Networking, Protocols, and Devices / Re: heat-power consumption ethernet shield wiznet 5100 chip on: August 10, 2011, 06:31:01 am
Hi

Quote
It's definitaly the W5100 chip that becomes extremely hot and uses a lot of power (I will try to measure this tonight, but I think around 4 W)
This chip consumes around 150mA @ 3.3 V so 0.5W is usual. Chip is 'warm', but you can keep finger on it ! (chip is less than 50°C in 22°C ambient air on my desk)
> You probably have some hardware problem.Once finded your'll have less than 1W. Why is your regulator 5V ? 3.3V is needed (chip is 5V I/O tolerant when 3.3 V powered)

Quote
Is it realy necessary to stop the power to this chip, can't I just disable the chip via CS/SS pin (bring pin 10 HIGH) ?
Going further needs disconnecting power (+ spi lines to avoid drivin pins on an unpowered chip)
Toggling CS has no big effect. This chip as no sleep mode. (W5200 will have)
877  Using Arduino / Networking, Protocols, and Devices / Re: How to check for latest Ethernet Shield revision on: August 09, 2011, 05:22:56 pm
Arduino site is not up to date for this shield (still Version 5)
Your shield, tubos, is the last shield (Version 6) with reset chip CAT811 (green zone) and is POE ready (10 pins in yellow zone). cf schematics.
878  International / Français / Re: Domo'Duino, la domotique par Arduino ( Finit, j'en est marre ! ) on: August 09, 2011, 03:54:47 pm
avec
Code:
#define BUFFER_SIZE 1000
j'arrive à transférer une page de 903 octets...
Je vais chercher la limite.
avec
Code:
#define BUFFER_SIZE 1500
j'arrive à transférer une page de 1432 octets
(pde test joint)

je ne cherche pas plus loin vu ce qui est défini dans enc28j60.h
Code:
// max frame length which the conroller will accept:
#define        MAX_FRAMELEN        1500        // (note: maximum ethernet frame length would be 1518)
//#define MAX_FRAMELEN     600

Bien sûr, osaka, en partant sur une base PHP...etc    ça change de dimension !

Il n'en reste pas moins intéressant de tester les limites de l'Arduino 'solo', soit avec ENC28J60 soit avec W5100. Avec un buffer à 1500 chicotore peut envoyer des pages 3 fois plus 'lourdes' (tout est relatif !) que sa page initiale à 3 boutons. Reste à voir s'il reste assez de ram disponible pour le reste de l'application.
879  International / Français / Re: Domo'Duino, la domotique par Arduino ( Finit, j'en est marre ! ) on: August 09, 2011, 03:22:17 pm
Osaka : avec cette librairie on butte sur la "charge utile maximale" dans un paquet (1512 octets) puisque c'est le cahier des charges de l'initiateur de cette librairie. On est bien en dessous de la ram du Mega328 ainsi que de la RAM (8ko) du 28J60. Pour tirer le maximum des deux circuits intégrés en cause il faudrait une autre librairie.... ça existe pour d'autres microcontrolleurs mais pas encore pour Arduino.
880  International / Français / Re: Domo'Duino, la domotique par Arduino ( Finit, j'en est marre ! ) on: August 09, 2011, 03:06:24 pm
Malheureusement les diverses librairies Arduino  pour ENC28J60 ne documentent pas la taille maximale de la page HTML que l'on peut envoyer. On apprend juste que ces librairies sont "optimisées pour l'envoi d'un paquet unique et donc l'envoi de pages de quelques centaines d'octets".
Rien sur la taille maximale du buffer. Il reste soit le tâtonnement soit la plongée dans les détails de la librairie !!

Avec un sniffer de paquets (SmartSniff+Wincap) j'ai vu à l'instant que la page avec 3 lampes en alignement vertical envoie 484 octets.Il reste donc un peu de marge. Combien avec un buffer à 650 ?

En fin de fonction  uint16_t print_webpage() j'ai ajouté des caractères de bourrage jusqu'à ce que cela plante. J'ai pu passer jusqu'à 113 caractères de bourrage ce qui fait un plafond vers 597 octets.
Code:
    plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("</body><br>"));

      //remplissage
      plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("1234567890"));
      plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("1234567890"));
      plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("1234567890"));
      plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("1234567890"));
      plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("1234567890"));
      plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("1234567890"));      
      plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("1234567890"));
      plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("1234567890"));
      plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("1234567890"));
      plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("1234567890"));
      plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("1234567890"));
      plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("123"));
      return(plen);
}

Pour info je joins la capture de la requete et la réponse avec la page la plus longue possible pour cette taille de buffer.



881  International / Français / Re: DS1307 durée de vie et changement pile on: August 09, 2011, 07:03:07 am
Bonjour
La notice Maxim du DS1307 indique : "plus de 10 ans à 25°C avec une pile lithium de capacité supérieure ou égale à 48mAh." Pour une évaluation plus fine il faut travailler avec la notice de la puce, et bien sûr, tenir compte de la capacité réelle de la pile (une bonne CR2032 a une capacité de 225 mAh)
Voilà les capacités d'un bon nombre de piles boutons lithium 3V  d'un fabricant :
CR2450 3V 550mAh
CR2430 3V 270mAh
CR2354 3V 530mAh
CR2335 3V 300mAh
CR2330 3V 260mAh
CR2325 3v 190mAh
CR2320 3V 130mAh
CR2032 3V 220mAh
CR2025 3V 150mAh
CR2016 3V  75mAh
CR1632 3V 120mAh
CR1620 3V  70mAh
CR1616 3V  50mAh

-pile usée = le DS1307 cesse de fonctionner (heure perdue, il faut reconfigurer la puce)
-la pile n'entre en service que lorsque l'Arduino n'est plus alimenté et que le Vcc du DS1307 tombe en dessous de 3,8V avec une pile 3V (et si le schéma de câblage est correct)
882  International / Français / Re: Acquisition de données : faisabilité du projet on: August 09, 2011, 05:47:05 am
Bonjour
Pour information : jusqu'à 40 000 echantillons /seconde !
http://arduino.cc/forum/index.php/topic,64813.0.html
883  International / Français / Re: liaison serie et auto reset arduino on: August 07, 2011, 04:25:14 pm
Bonjour

Si la cause du changement de comportement est bien 100% logicielle j'aurai tendance à dire qu'il faur tracer tour ce qui peut influer sur la gestion de DTR (interaction systeme d'exploitation/Python, parametres par défaut de pyserial, différences éventuelle de comportement de pyserial entre le mode interactif et le script, probleme de timing dans les commandes setDTR().....(trop tot, trop tard, trop court, trop long)

ce qui surprend c'est qu'une modification puisse survenir par la trame elle même et non par les circonstances de l'ouverture du port !

Pour information : la carte utilise-t-elle un FTDI232 ou un Mega8u2 ?
884  International / Français / Re: Domo'Duino, la domotique par Arduino ( Finit, j'en est marre ! ) on: August 07, 2011, 01:36:23 pm
@chicotore
Comme indiqué je viens de réinstaller la librairie de Turicas (qui je le rappelle est en chantier)
Les exemples WebServer et WebserverSimple sont OK du premier coup sans retouches  smiley.
L'exemple WebServerSimpleLED ne marche pas tel quel  smiley-sad
Pour le faire marcher (photo jointe) j'ai :
-augmenté un peu le buffer défini  dans  /utility/socket.
Code:
#define BUFFER_SIZE   650
 
-raccourci un peu l'html envoyé en jouant soit sur le titre, sur le H1.....ou autre chose de non essentiel
(il n'est pas sûr osaka que le mode debug soit opérationnel)

hardware : mega328 et enc28j60 tous les deux en 3,3V (pas d'adaptation de tension, mais câblage identique à l'EtherShield)
885  Using Arduino / Networking, Protocols, and Devices / Re: cheap spi ethernet module with arduino - enc28j60 - pinout on: August 07, 2011, 12:15:40 pm
Hi !
WebServerSimpleLED runs on my side .... whis some greater buffer
utility/socket.c    : #define BUFFER_SIZE         650


Pages: 1 ... 57 58 [59] 60 61 ... 65