Show Posts
Pages: 1 ... 56 57 [58] 59 60 ... 65
856  Using Arduino / Networking, Protocols, and Devices / Re: heat-power consumption ethernet shield wiznet 5100 chip on: August 14, 2011, 06:22:05 am
Unless hardware changes on the shield (VCC, MOSI, SS, CLK switching) one way for chip's case temp reducing  is  : adding some heatsink.
Assuming 0,5W for power dissipation a small 20°C/W heatsink could reduce case temp from 48°C to 38°C  @24°C ambiant.
857  International / Français / Re: étourderie on: August 13, 2011, 11:10:08 am
pas sûr que sprintf() soit pris en charge sous Arduino... et si oui il y a probablement des limites !!

Si trame[] n'a d'autre utilité que l'affichage on peut faire de manière plus 'arduinesque', dans le style  :
Code:
     
      double sinus   = sin(Theta)*1000;
      double cosinus = cos(Theta)*1000;

      Serial.print(Theta,DEC);
      Serial.print('\t');
      Serial.print(long(sinus),DEC);
      Serial.print('\t');
      Serial.println(long(cosinus),DEC);
858  International / Français / Re: étourderie on: August 13, 2011, 04:53:35 am
en écrivant
Code:
  long sinus = sin(Theta)*1000.0;
  long cosinus = cos(Theta)*1000.0;
peut être.
Comment sont déclarées Theta et inc ?
859  International / Français / Re: Qu'acheter pour programmer Arduino Standalone ? (usb) on: August 12, 2011, 06:01:58 pm
Avec une Arduino Duemilanove c'est possible .Ce ne l'est pas (encore ? ) avec une carte Uno en raison du bootloader Optiboot équipant les cartes récentes. cf Site Arduino :
Quote
NOTE: Currently, you cannot use an Arduino Uno as an ISP programmer because the optiboot bootloader does not support this sketch. A revision for this is in progress
http://arduino.cc/en/Tutorial/ArduinoISP

Il semble qu'il ya ait déjà du nouveau depuis le 16 juin ..... mais pour en profiter il faut pouvoir flasher la toute dernière version d'Optiboot  http://arduino.cc/forum/index.php/topic,64105.0.html
Quote
Tested on m328, m168, m8, some with manual reset, and with ArdunioISP. Mostly on Mac, some on windows xp. Needs more linux testing.

C'est typiquement le genre de situation où on ne regrette pas d'être autonome avec un petit programmateur ISP, USBAsp ou autre !
Quand au bootloader installé chez Adafruit, cest à voir.
860  International / Français / Re: Qu'acheter pour programmer Arduino Standalone ? (usb) on: August 12, 2011, 03:57:31 pm
Bonsoir
Quote
De même il parait qu'il existe des interfaces pour reprogrammer l'atmega sur ebay pour pas cher, vous confirmez ?
Le petit bidule qu'on trouve sur ebay pour 4€ sous un nom du genre "USBASP USBISP AVR Programmer AVRDude USB Port"  est tout à fait conseillé pour travailler pluis à l'aise. Un jour ou l'autre on a besoin de changer de bootloader ou de travailler sans bootloader. Même si on s'en sert peu ça donne un sentiment de sécurité !
(Il n'est pas certain qu'un Arduino maison ou 'standalone" puisse tourner en "programmateur ISP" comme une Duemilanove)

Attention : ces modules sortent sur 2x5 broches alors que l'Arduino utilise le brochage 2x3.
Il faut donc réaliser ou acheter un adaptateur (voir brochages ISP 10pins et 6pins ci dessous)

Je n'ai pas encore eu à acheter un "USBASP" vu que j'ai un AVRISP en bon état, module de même fonction connecté sur port série RS232 (cadeau  d'Atmel + quelques Mega8 et Mega16 il y a 4 ou 5 ans dans un rare moment de générosité..... Atmel sur ce plan est beaucoup plus radin que Microchip)
861  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....
862  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.....
863  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.
864  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 ?
865  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).
866  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)
867  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.
868  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.
869  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.
870  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.



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