Bonjour,
Parce que je veux aussi utiliser des servos dans mes projets, j'ai acheté un Adafruit 16-Channel PWM/Servo pour Raspberry Pi. J'ai ouvert le projet d'exemple "Softmotion Servo Example" livré avec Codesys et je peux voir mon servo fonctionner jusqu'à présent ok. Je remarque que la limite de déplacement du servo est bien en dessous de la limite mécanique (voir fichier joint). Y a-t-il un moyen d'augmenter l'amplitude du mouvement ?
Autre question : J'ai jeté un coup d'oeil au projet et il me semble que tout ça est bien complexe pour juste faire déplacer un servo. N'y a-t-il pas un simple bloc FB ou quelque chose de ce genre prêt à l'emploi ?
D'avance, merci pour vos réponses.
Course servo avec 16-Channel PWM/Servo
Re: Course servo avec 16-Channel PWM/Servo
Bonjour,
En cherchant un peu sur internet, je suis tombé sur ce poste : https://forge.codesys.com/forge/talk/Ru ... 50a63227b/
il y a deux messages d'une personne avec le pseudo "eschwellinger" qui pourrait t'aider peut-être.
Le premier où il dit : " généralement ce genre de servomoteur qui est vendu pour faire du +/- 90° fait en réalité du +/- 65°"
Le deuxième message est :" il est possible que ca soit un bug de bibliothèque et qu'il sera patché à la prochaine mise à jour"
Sauf que ce message date de 2015.
dans mes expériences personnelles, même les servomoteurs très entrées de gamme (acheté sur des sites chinois) quand ils sont vendus pour faire du +/- 90°. L'angle en pratique était bien de +/-90°, en revanche la force du moteur... (Mais je ne travaillais pas sur Codesys ni sur du Raspberry)
Pour ce qui est de la simplification du projet en FB, je ne trouve pas ton exemple : "Softmotion Servo Example". Tu travaille sur quel Codesys ? peux-tu mètre le projet en ligne ? (je ne promet rien, j'essaierai voir ce que je peux faire)
Bien cordialement
En cherchant un peu sur internet, je suis tombé sur ce poste : https://forge.codesys.com/forge/talk/Ru ... 50a63227b/
il y a deux messages d'une personne avec le pseudo "eschwellinger" qui pourrait t'aider peut-être.
Le premier où il dit : " généralement ce genre de servomoteur qui est vendu pour faire du +/- 90° fait en réalité du +/- 65°"
Le deuxième message est :" il est possible que ca soit un bug de bibliothèque et qu'il sera patché à la prochaine mise à jour"
Sauf que ce message date de 2015.
dans mes expériences personnelles, même les servomoteurs très entrées de gamme (acheté sur des sites chinois) quand ils sont vendus pour faire du +/- 90°. L'angle en pratique était bien de +/-90°, en revanche la force du moteur... (Mais je ne travaillais pas sur Codesys ni sur du Raspberry)
Pour ce qui est de la simplification du projet en FB, je ne trouve pas ton exemple : "Softmotion Servo Example". Tu travaille sur quel Codesys ? peux-tu mètre le projet en ligne ? (je ne promet rien, j'essaierai voir ce que je peux faire)
Bien cordialement
<< La vie d'un homme passe par trois phases : apprentissage, apprentissage et apprentissage. >>
Et j'ai même pas fini la première phase
Re: Course servo avec 16-Channel PWM/Servo
L’usage des signaux de commande des servomoteur c’est un signal PWM de période 20ms. Avec un état haut variant de 1ms à 2ms (rapport cyclique de 5% à 10%) correspondant à la position absolu du servo de -90° à +90°, voir diagramme suivant:
Ça c’est pour la théorie, en pratique les chinoiseries de servo ne respectent pas vraiment cet usage et on trouve des servos aux courses variant de 0,5ms jusqu’à 2,5ms sauf que c’est impossible de le savoir à l’avance puisque que tu ne trouveras pas de datasheet digne de ce nom.
Donc il te faudra soit modifier la librairie et toucher au paramètre de course mini ou maxi. Ou peut être il existe un constructeur de classe qui permet de passer en paramètres les mini maxi et tu ajuste selon la course réelle de ton servo. Attention toutefois à ne pas aller jusqu’en butée, faut pas forcer sur la « mécanique », ça reste du fragile.
Ça c’est pour la théorie, en pratique les chinoiseries de servo ne respectent pas vraiment cet usage et on trouve des servos aux courses variant de 0,5ms jusqu’à 2,5ms sauf que c’est impossible de le savoir à l’avance puisque que tu ne trouveras pas de datasheet digne de ce nom.
Donc il te faudra soit modifier la librairie et toucher au paramètre de course mini ou maxi. Ou peut être il existe un constructeur de classe qui permet de passer en paramètres les mini maxi et tu ajuste selon la course réelle de ton servo. Attention toutefois à ne pas aller jusqu’en butée, faut pas forcer sur la « mécanique », ça reste du fragile.
Re: Course servo avec 16-Channel PWM/Servo
Bonjour,
Merci pour vos réponses, je me sent moins seul avec mes problèmes...
Comment fait-on pour signaler ce genre de problème aux développeurs?
J'utilise Codesys v3.5 sp16 patch 2.
J'ai encore découvert un autre problème. À la mise sous tension le Servo se met systématiquement à son point 0. ce qui engendre un déplacement très brusque entre sa position précédente et le "0" central. Est-il possible de remédier à cela?
D'avance merci pour votre aide.
Merci pour vos réponses, je me sent moins seul avec mes problèmes...
Oui, donc le problème est là au moins depuis 2015... bon au moins je suis pas le seul à souffrir de cette limitation qui m'embête bien.AC23 a écrit : ↑09 mai 2021, 14:42 En cherchant un peu sur internet, je suis tombé sur ce poste : https://forge.codesys.com/forge/talk/Ru ... 50a63227b/
il y a deux messages d'une personne avec le pseudo "eschwellinger" qui pourrait t'aider peut-être.
Le premier où il dit : " généralement ce genre de servomoteur qui est vendu pour faire du +/- 90° fait en réalité du +/- 65°"
Le deuxième message est :" il est possible que ca soit un bug de bibliothèque et qu'il sera patché à la prochaine mise à jour"
Sauf que ce message date de 2015.
Comment fait-on pour signaler ce genre de problème aux développeurs?
Apparement le forum n'autorise que les fichiers d'images, je ne peux donc pas le mettre ici. Par contre vous le trouverez dans les exemples fournis avec Codesys:
Code : Tout sélectionner
C:\Users\<username>\CODESYS Control for Raspberry PI\3.5.16.20\Examples
J'ai encore découvert un autre problème. À la mise sous tension le Servo se met systématiquement à son point 0. ce qui engendre un déplacement très brusque entre sa position précédente et le "0" central. Est-il possible de remédier à cela?
D'avance merci pour votre aide.
Avec mes meilleures salutations