Messages récents

Pages: [1] 2 3 ... 10
1
Débuter / Re : Moteur aiguillage Lent avec servo moteur
« Dernier message par bobyAndCo le Aujourd'hui à 06:52:21 pm »
La limite est dans Servo.h ligne 81 et 82 :

#define SERVOS_PER_TIMER       12     // the maximum number of servos controlled by one timer
#define MAX_SERVOS   (_Nbr_16timers  * SERVOS_PER_TIMER)

https://github.com/arduino-libraries/Servo/blob/master/src/Servo.h

selon ton architecture :

// Architecture specific include
#if defined(ARDUINO_ARCH_AVR)
#include "avr/ServoTimers.h"
#elif defined(ARDUINO_ARCH_SAM)
#include "sam/ServoTimers.h"
#elif defined(ARDUINO_ARCH_SAMD)
#include "samd/ServoTimers.h"
#elif defined(ARDUINO_ARCH_STM32F4)
#include "stm32f4/ServoTimers.h"
#elif defined(ARDUINO_ARCH_NRF52)
#include "nrf52/ServoTimers.h"
#elif defined(ARDUINO_ARCH_MEGAAVR)
#include "megaavr/ServoTimers.h"
#elif defined(ARDUINO_ARCH_MBED)
#include "mbed/ServoTimers.h"
#else
#error "This library only supports boards with an AVR, SAM, SAMD, NRF52 or STM32F4 processor."
#endif


https://github.com/arduino-libraries/Servo/blob/master/src/avr/ServoTimers.h

// Say which 16 bit timers can be used and in what order
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#define _useTimer5
#define _useTimer1
#define _useTimer3
#define _useTimer4
typedef enum { _timer5, _timer1, _timer3, _timer4, _Nbr_16timers } timer16_Sequence_t;

#elif defined(__AVR_ATmega32U4__)
#define _useTimer1
typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t;

#elif defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
#define _useTimer3
#define _useTimer1
typedef enum { _timer3, _timer1, _Nbr_16timers } timer16_Sequence_t;

#elif defined(__AVR_ATmega128__) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega2561__)
#define _useTimer3
#define _useTimer1
typedef enum { _timer3, _timer1, _Nbr_16timers } timer16_Sequence_t;

#else  // everything else
#define _useTimer1
typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t;
#endif
2
Débuter / Re : Moteur aiguillage Lent avec servo moteur
« Dernier message par Tony04 le Aujourd'hui à 05:35:48 pm »
Bonjour à tous,

qui pourrait me dire combien de servos maximum peux gérer la librairie "Slowmotion" ?

Chez moi je n'arrive pas à dépasser 12 servos, est-ce normal ?

Merci par avance pour vos réponses.

Cordialement
Antoine
3
Discussions ouvertes / Re : Problème pour utiliser l'horloge externe du PCA9685
« Dernier message par hinano70 le Aujourd'hui à 04:45:16 pm »
Oui, tous les 0V sont reliés ensemble.
La solution que j'ai trouvée pour les ponts en H me paraissait plus intéressante car elle me fait gagner un fil (2 au lieu de 3 pour les cantons à double sens), mais je vais tester...
4
Discussions ouvertes / Re : Problème pour utiliser l'horloge externe du PCA9685
« Dernier message par simontpellier le Aujourd'hui à 12:43:24 pm »
- Les 0V des ponts H et de l'Arduino sont ils reliés ?

- peux tu tester ce branchement qui est plus orthodoxe même si on peut en effet envoyer la PWM sur les gachettes :

"Les pins IN 1 e IN 2 nous servent à contrôler le sens de rotation du moteur 1, et les pins IN 3 et IN 4, celui du moteur 2. Ces pins fonctionnent:

    IN 1 -> HIGH; IN 2 -> LOW: le moteur tourne dans un sens.
    IN 1 -> LOW; IN 2 -> HIGH: le moteur tourne dans le sens inverse.

Et c’est pareil pour les pins IN 3 et IN 4 du moteur 2.

Pour contrôler la vitesse de rotation des moteurs on doit retirer les cavaliers des pins ENA et ENB. On les connecte à deux sorties PWM de la plaque Arduino de façon qu’on puisse envoyer une valeur entre 0 et 255 pour gérer cette vitesse des moteurs. Avec les cavaliers installés, les moteurs tourneront toujours à la même vitesse."

5
Discussions ouvertes / Re : Problème pour utiliser l'horloge externe du PCA9685
« Dernier message par hinano70 le Aujourd'hui à 11:00:51 am »
Voici un programme de principe qui devrait fonctionner, je ne l'ai pas testé, et un schéma (j'espère ne rien avoir oublié) du circuit. J'utilise un Méga2560.
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

Adafruit_PWMServoDriver pwm1 = Adafruit_PWMServoDriver( 0x40 );// cantons alim 12V
Adafruit_PWMServoDriver pwm2 = Adafruit_PWMServoDriver( 0x41 );// cantons alim 12V

byte vitesse = 80;
byte pin0Driver1 = 0;  // pin0 du pwm1 : PCA9685 N°1
byte pin0Driver2 = 0;  // pin0 du pwm2 : PCA9685 N°2

void setup() {
pwm1.begin();
pwm1.setPWMFreq(60);
pwm2.begin();
pwm2.setPWMFreq(60);

pwm1.setPWM(pin0Driver1, 0, 20*vitesse);
pwm2.setPWM(pin0Driver2, 0, 20*vitesse);

//on peut aussi utiliser 2 pins de chaque PCA9685 pour pouvoir inverser le sens de circulation
}

void loop() {
}

Si on utilise le même PCA9685 pour alimenter les 2 cantons, pas de problème, si on en utilise 2, c'est là que le passage d'un canton à l'autre ne se fait pas correctement.
A essayer : différentes vitesse (0 à 200) et des fréquences différentes.
6
Discussions ouvertes / Re : Problème pour utiliser l'horloge externe du PCA9685
« Dernier message par CATPLUS le décembre 04, 2020, 06:28:37 pm »
Bonsoir INANO70
STP aurais-tu un fichier pour tester, je suis curieux
Marcel
7
Discussions ouvertes / Re : Problème pour utiliser l'horloge externe du PCA9685
« Dernier message par hinano70 le décembre 04, 2020, 03:20:28 pm »
Chez moi, c'est plutôt un ralentissement, peut être est-ce parce que la jonction est dans une zone de ralentissement où le temps d'alimentation est d'environ 1/3. Je vais tester un rapport 1/2.
Mes cantons sont toujours alimentés ainsi :pwm3.setPWM(pin1, 0, 20*vitesse); la vitesse variant de 1 à 200. A l'arrêt la vitesse est 1, l'alimentation est insuffisante pour faire avancer le train, mais suffisante pour charger un condensateur au travers d'une diode et qui se décharge dans les LEDS des lumières (loco + wagons).
Le gros avantage des PCA9685, c'est qu'on peut en mettre autant qu'on veut en parallèle. Je les utilise aussi pour alimenter les servomoteurs qui commandent les aiguillages, pour alimenter les feux de signalisation : il est très facile de faire varier la luminosité des LEDS en faisant varier le duty-cycle.

Je viens de tester un rapport de 1/2 du PWM, c'est beaucoup mieux. Cela me donne une possibilité supplémentaire pour juxtaposer les cantons alimentés par des PCA9685 différents. La discussion fait progresser les choses ! Merci aux contributeurs.
8
Présentez vous ! / Re : Noscollections qui es-tu ? Train - Slot même besoins
« Dernier message par Dominique le décembre 03, 2020, 05:32:13 pm »
Bienvenue Christophe,

C'est super cette analogie qui excuse de ne pas coller exactement au modélisme ferroviaire  ;D

Ceci dit, sur une réseau ferroviaire, il est possible de faire circuler des petites voitures sur des routes à coté.
A suivre et bon courage

9
Présentez vous ! / Noscollections qui es-tu ? Train - Slot même besoins
« Dernier message par noscollections le décembre 03, 2020, 05:26:37 pm »
Bonjour à tous,

J'ai 45 printemps, je suis fan de train depuis que je suis tout petit mais manque de place de temps, j'ai jamais fait de vrais réseau.
Petit j'avais une planche sous le lit que je pouvais mettre dessus et 2 boules me permettais de faire rouler le TGV et un autre train.

J'ai toujours les trains mais dans une boite. Cela ne m'empêche pas de relire régulièrement des livres sur le sujet.

Pour le moment je suis plutôt a faire du circuit routier (Slot).

Il y a beaucoup de points communs entre les 2 univers. Les deux sont guidés par des rails (fente), il y a des aiguillages, de l'analogique et du digital.

Locoduino permet de trouver de bonnes infos pour le SLOT.

Merci Locoduino.

J'ai fait le module pour avoir la vitesse du train, heu de la voiture à un endroit du circuit. C'est super, j'ai mis ca dans une boite de nesquik que je déplace au besoin.
J'ai ajouté une fonction radar. Je paramètre une vitesse max et si la voiture passe trop vite un flash se déclenche.

Je vais continuer à vous suivre.

Christophe
10
Vos projets / Re : projet centrale wifi DCC++ Can
« Dernier message par msport le décembre 03, 2020, 03:21:01 pm »
J'utilise LaBox.ino tel quel ...
Pages: [1] 2 3 ... 10