Show Posts
Pages: [1]
1  International / Français / Re: Piloter un réseau de train avec une Arduino 2560 on: February 21, 2014, 07:01:30 am
Hello !
Joli projet...

Je me demande si la complexité ne provient pas du fait que tu essayes de faire plusieurs choses en même temps :
1 ) La sécurité du réseau ( Protection pas cantons,... )
2)  Le séquencage des trains

Il me semble que tu pourrais te simplifier la vie en y allant par étape.

Par exemple ,si tu implémentes d'abord la sécurité du réseau, tu pourras ensuite batir sur celle-ci pour implémenter le séquençage. Séquençage qui ne se fera qu'en respectant la sécurité sous-jascente.

Essaye de décomposer chaque tâche complexe en sous-tâche plus simple... (Protection d'un canton, puis de deux, puis d'un aiguillage, ... ) C'est aussi plus motivant car tu vois le travail progresser.

Voilà... Ce n'est malheuresuement pas une "solution" mais plutôt une approche.

Bon courage pour la suite !

Michel

2  International / Français / Re: Creation d'un menu afficher sur LCD keypad on: February 05, 2014, 10:52:58 am
Hello,

A première vue (mais je peux me tromper) le problème viendrait de la procédure Menu() qui est sensé ne rien retourner (void) mais que tu utilises comme une fonction ( switch (Menu() ).
Mon C est un peu loin mais je pense que quelque chose comme ceci devrait mieux fonctionner :
Code:
int menu (void)
{
 int  nombre = afficheur();
  if (nombre>3)
  {
    nombre =0;
  }
  else if (nombre<0)
  {
    nombre =3;
  }
  return nombre;

Syntaxe à confirmer, je n'ai pas d'outil sous la main pour le faire...
Le principe est de transformer la procédure en une fonction qui retourne un entier.

Le même "problème" existe au niveau de Afficheur()/Affichage() (Ce code compile réellement ??? ;-) )

En espérant que cela pourra t'aider,

Michel
3  International / Français / Re: Impulsion pour servo... on: February 04, 2014, 03:19:43 pm
Ok... Cela laisse de la marge...

Merci pour l'information.
Si j'arrive à faire tourner mon moteur, je reviendrai avec les informations ad-hoc.

Bien à vous,

Michel

4  International / Français / Re: Impulsion pour servo... on: February 04, 2014, 11:39:51 am
Aaaaah... En voilà une nouvelle qu'elle est bonne !!!
Je vais voir ce que je peux trouver d'approchant  avec les valeurs du PRESCALER...
Merci pour le tuyaux !

Michel
5  International / Français / [Résolu] Impulsion pour servo... on: February 04, 2014, 06:46:46 am
Bonjour à toutes (rêvons un peu !;-) ) et tous !
J'ai une petite question à vous soumettre :
Piloter un servo se fait en lui envoyant une impulsion ayant une largeur de 1 à 2 ms... En général, ceci se fait toutes les 20 ms.

Je compte utiliser un compteur 8 bits pour générer mon impulsion. Dans le meilleur des cas, si je caclule mon prescaler au plus près, j'aurai environ 12 valeurs possibles pour passer de 1 à 2 ms. (256/20)
Ceci si l'on se base sur un cycle de 20ms.  Imaginons maintenant que notre servo supporte un cycle de 10ms, je disposerais de 24 valeurs possibles entre 1 et 2 ms.

Ma question est donc : Quelqu'un a-t-il une idée de la durée minimale d'un cycle supportée par un servo ? (et plus spécifiquement par un controleur  ESC pour moteur brushless)
Merci d'avance pour vos informations,

Michel

PS: Inutile de me proposer d'utiliser run compteur 16 bits.
1) Il n'y aurait pas de challenge ;-)
2) Je n'ai plus que celui-là de disponible pour mon application :-)
6  Using Arduino / Motors, Mechanics, and Power / Re: [Solved]Hard Disk motor control... on: January 07, 2013, 05:01:40 am
Hi John,
Just to let you know that it works perfectly !
Thanks a lot and best wishes for 2013 !!!

Michel
7  International / Français / Re: Usage combiné de AnalogWrite() et de la librairie Servo... on: January 07, 2013, 04:58:04 am
Ok...
Je vais essayer d'intégrer cela dans tout ce qu'il y aura à faire...

Merci B@tto

Michel
8  International / Français / Re: Usage combiné de AnalogWrite() et de la librairie Servo... on: January 06, 2013, 01:04:44 pm
Hello B@to,

Merci pour le code.
Mais cela ne fonctionne que si ma boucle loop() n'est pas occupée à quelque chose d'autre...
Il n'y a aucune garantie que la largeur d'impulsion ne dépassera pas 2 ms. En fait, la durée de celle-ci sera au minimum de 2ms et au max de 2ms + durée d'un cycle dans loop() qui peut être variable en fonction de la situation.
D'où l'intérêt d'utiliser une librairie sensée garantir cette précision.

Je vais continuer à creuser...

Bien à toi,

Michel
9  International / Français / Re: Usage combiné de AnalogWrite() et de la librairie Servo... on: January 06, 2013, 12:06:54 pm
Hello B@to,

Désolé si je n'ai pas été assez clair.
Un contrôleur de type ESC est prévu pour être branché sur un récepteur de voiture ou d'avion téléguidé. Il est donc piloté par une impulsion de 1 à 2 ms qui est envoyée toutes les 20 ms. La largeur de l'impulsion est proportionnelle à la position du manche de la télécommande.
La librairie Servo permet de générer une impulsion de ce type. (http://arduino.cc/en/Reference/Servo)

Les références aux sorties 5 & 6 se trouvent ici : http://arduino.cc/en/Reference/AnalogWrite
(En dessous de "Known Issues" )

j'espère que ce sera plus clair ainsi...

Bien à toi,

Michel

10  International / Français / Usage combiné de AnalogWrite() et de la librairie Servo... on: January 05, 2013, 06:32:49 pm
Bonjour ou Bonsoir à toutes et tous,

Je suis occupé sur un projet qui combine la commande d'un ruban de LEDs RGB et le pilotage d'un contrôleur de moteur Brushless (ESC) via la librairie Servo. J'ai besoin également de détecter les interruptions générées par un capteur à effet Hall et une liaison I2C avec une horloge temps réel de type DS1307.
Je compte, pour ce faire, utiliser un arduino pro mini 5V (pour des raison de taille)

Mon problème est le suivant :
En consultant la documentation de la librairie Servo, je vois que son utilisation entraîne la non disponibilité des sorties 9 et 10 en mode analogique.
Pas grave, il me reste 3,5,6 t 11 pour piloter les LED
Oui..Mais la doc d'AnalogWrite() indique que les sorties 5 et 6 auront des rapports cycliques plus grands que prévu suite à l'interaction entre la fonction et les fonction millis() et delay(). Il en résulte une difficulté à obtenir une sortie égale à "0" sur ces deux portes :-(
Gasp... il ne reste que les sorties 11 et 3...en espérant que la pin 2 permette de gèrer mon interruption...
Et il me manque toujours une sortie...

Une autre option est d'utiliser un 555 pour générer le signal de commande du contrôleur et d'utiliser une sortie en mode digital pour alimenter le 555 (le circuit ne consommerait que 5-10 mA) Mais le contrôleur fonctionne alors en mode tout ou rien... (plus de contrôle de la largeur d'impulsion. Possible mais dommage) :-(

Bref...
- Quelqu'un a-t-il plus d'info concernant le problème des sortie 5 et 6 en analogique ?
- Il y a-t-il une autre option pour piloter mon unique sortie servo ?
- Il y a probablement un option que j'ai ratée...

Au plaisir de vous lire et d'en apprendre plus sur cette petite merveille d'Arduino.

Michel


11  International / Français / Re: Problème ESC... on: January 04, 2013, 09:10:42 am
Hello Spimort,

Je pense que fdufnews a raison.
Tes moteurs peuvent pomper jusqu'à 15 A chacun ce qui donne 60A pour les 4...
Tu parles d'une Alimentation de 1.6 A soit 37 fois moins... :-)
Si ton alimentation est protégée, il est probable qu'elle déclenche la protection si tu pompes trop de courant. Lorsqu'elle rétabli la tension, tu as droit à un  reset d'où les bips...

Il faut donc une alim qui suit... Des accus Lipo par exemple.
Dans ce cas, il te faudra faire attention à la capacité de décharge de ton Lipo. (Le nombre de C, comme 25C ou 15C)
Pour faire court (pardon pour les puristes), ce nombre te permet de calculer la capacité de décharge maximale de ton accu en multipliant celui-ci par la capacité de l'accu.
Un exemple ?
Un accu de 4000mA/10C permet de décharger 4000x10=40000mA soit 40A
Un accu de même capacité en 15C permet de décharger 4000x15 = 60000mA soit 60A

Attention, on parle de valeurs maximales... Il vaut donc mieux prendre un marge de sécurité (prévoir 80A lorsque l'on aura besoin de 60)
Le petit "jeu" consiste à trouver les accus avec le meilleurs rapport capacité/courant de décharge/prix....

Il faut aussi noter que si tu pompes 60A hors d'un accus de 4A, tu pourras le faire au mieux durant... 4 minutes (Tu pompes 15x la capacité donc la durée est 15x plus courte...)
Ne perd pas non plus de vue que tu vas avoir 60A dans certains de tes câbles.. Prévoit les en conséquences.

Donc le mieux est d'essayer de construire léger et d'utiliser les moteurs consommant le moins possible  (mais capables de porter ta charge)...
En espérant que ceci pourra t'aider.

Bon amusement,

Michel
12  International / Le bar / Re: Presentez vous on: January 03, 2013, 06:05:00 pm
Bonjour (ou Bonsoir) à toutes et tous,

Je me prénomme Michel et vis à Liège.
Bientôt 49 printemps, marié, 3 enfants...

Electronicien de formation, je n'ai jamais pratiqué professionnellement ayant directement dévié vers l'informatique (et ayant aussi été quelque peu dégouté de l'électronique par mes profs ;-) )
Je m'y suis remis un peu avec les PICs et beaucoup plus avec l'Arduino...
Pour mon épouse, j'ai bricolé un faux feu de camp pour la crèche (http://fritzing.org/projects/cribcandle/) et je suis actuellement occupé avec une horloge de type POV basée sur un disque dure récupéré...
Bref... Je m'amuse un maximum avec ces petites bêtes...
Dans les projets, il y a un thermostat intelligent avec liaison bluethooth et application android, un robot un tant soit peu autonome, une horloge genre Pong...
Bref, ce ne sont pas les projets qui manquent... :-)

En vous souhaitant une année 2013 à la hauteur de vos espérances,

Michel
13  Using Arduino / Motors, Mechanics, and Power / Re: Hard Disk motor control... on: December 30, 2012, 02:21:49 pm
Ok...
Thanks John... I'll try this option.

Happy New Year,

Michel

14  Using Arduino / Motors, Mechanics, and Power / [Solved]Hard Disk motor control... on: December 30, 2012, 01:17:05 pm
Hi all,
I've dismantled an old hard disk and I would like to have it spinning  without the electronic cards that was given with.

I've read here and there that this can be achieved using an ESC controller for RC brushless motors.
My problem is that the motor has 4 connections pins and the controller 3....
On the net I've found informations regarding the connection option and one speak about 3 coils pins and one common/ground.

Let's name the connections A, B, C and D.

Using my multimeter, I found the following values :
Between A and B I've found 5.8 Ohms. The same between B and C.
But I've found 3 Ohms between A & D, B & D and C & D.

Am I right if I say that the 3 coils connections are A, B & C, in a star scheme with D as a center point ?
(But should I not find 6 Ohms in place of 5.8 Ohms in that case ?)

Any information will be welcome.

By the way, I wish you a pleasant year 2013 full of health, love ...and arduino projects !

Best wishes,

Michel

PS: Please excuse my poor English level...

Pages: [1]