Programmation Raspberry Pi avec CODESYS (7 / 8 étapes)

Étape 7: Servomoteur contrôle

Si vous êtes chanceux, suffisamment pour avoir accès à un servo de qualité industrielle (ou stepper) et conduire ensuite cette étape vous montrera comment contrôler que l’utilisation de la Raspberry Pi PLC.

J’ai réussi à obtenir mes mains sur un Technosoft EtherCat kit de démarrage de travail qui contient un seul moteur et le lecteur (voir photo).

Détails peuvent être trouvés ici : http://www.technosoftmotion.com/en/starter-kits-an...

Avec ce tutoriel, vous pouvez utiliser n’importe quelle combinaison de variateur et un moteur EtherCat aussi longtemps que vous avez l’appareil description file(XML) du fabricant pour importer dans Codesys. (Vous pouvez également utiliser le raspberry pi avec d’autres protocoles de communication pour contrôler différents moteurs et IO, mais les configurations et les mesures pour cela sera légèrement différentes de tout ce que j’ai décrit dans cette instructable). Vous devrez peut-être utiliser certains logiciels propriétaires à mettre en place les disques.

NOTE DE SÉCURITÉ :

** Lors de l’utilisation de moteurs s’il vous plaît soyez prudent comme se déplaçant les pièces peuvent être dangereuses. Veuillez aussi faire attention à suivre les instructions du fabricant du moteur et vérifier que tout le câblage est correct, surtout avec haute tension drives.* *

-La première étape consiste au fil de votre moteur et d’entraînement selon les fabricants instructions, dans mon cas c’était simple, tout ce que je devais faire c’était ajouter 24V à la logique et la puissance dans les ports (voir câbles plus épais rouges et bleus sur la photo), le reste est venu tout câblé vers le haut. Ensuite, vous devez relier un câble ethernet entre le port EtherCat dans votre lecteur de moteur et le port ethernet de la Raspberry Pi. C’est le même processus que reliant la Pi à l’e/s industrielles à l’étape 5.

Si vous souhaitez utiliser les e/s et le moteur, laissez le IO tel qu’il était et connectez le câble ethernet du port EtherCat dans de la motorisation de la EtherCat sur le port de l’e/s industrielles. Si vous faites cela cependant, il faut s’assurer que les deux appareils sont ajoutés à votre arborescence périphérique dans Codesys. EtherCat est un protocole de communication fieldbus brillant vous permettant de comms « daisy chain » dans l’ensemble des charges de dispositifs utilisant des câbles ethernet seulement simple.

Pour ce Instructable cependant nous allons juste utiliser le moteur à lui seul.

-Lorsque le câblage est terminé, nous pouvons passer à la programmation.

-Suivant le même processus qu’étape 5 ouvrent un nouveau projet dans Codesys et ajouter un EtherCat maître et un périphérique, cette fois-ci toutefois choisir le fichier XML qui correspond à celle de la motorisation de l’appareil (voir photo de mon arbre des périphériques après avoir ajouté ce)

-Nous devons maintenant ajouter un axe à cet appareil. Essentiellement, cela signifie que nous devrons dire Codesys que ce périphérique EtherCat est un moteur de contrôle. Et que ce sont les paramètres du moteur.

-Faites un clic droit sur le périphérique que vous venez d’ajouter et cliquez sur « Ajouter l’axe SoftMotionLight CiA402 ».

C’est où l’idée de la Raspberry Pi PLC s’abat le plus petit et le plus petit montant. Le Pi ne disposant pas d’un noyau temps réel et par conséquent aucune capacité temps réel (même si ceux-ci peuvent être ajoutés si vous osez jouer avec le noyau de la Pi) il ne peut pas gérer toutes les fonctionnalités de communication vers un lecteur c’est pourquoi il faut utiliser la version « Light ». En temps réel parler, cela signifie que la synchronicité du moteur à votre programme ne sera pas aussi bonne comme si c’était un bon > dispositif de £500. Mais qui se soucie que quand il fait tout le reste si bien !

Clic-droit sur le nouvel élément de l’arborescence des périphériques, passez à « Refactoring » puis « renommer ». Renommez l’axe « Axe1 ». CoDeSys évoquera ensuite un nouvel écran vous demandant de vérifier si ses trouvé le bon dossier, cliquez sur « OK ».

-Double-cliquez sur « Axe1 » dans l’arborescence des périphériques et cela va ouvrir un nouvel onglet dans la fenêtre principale. C’est où vous devez calibrer l’axe de votre système, en choisissant le nombre moyen de tours ce qui, ainsi, par exemple le moteur j’ai a un encodeur avec des incréments de 2000 par tour du moteur. Je n’ai aucune boîte de vitesse et je veux travailler à tour de rôle, pas mm (si vous aviez un axe linéaire sur le moteur). Donc, mon écran ressemble à la photo ci-jointe.

-Codesys s’occupe de la plupart des choses pour vous avec EtherCat donc faire maintenant le moteur passer tout ce que nous devons faire est écrire un programme et d’utiliser certains construit en fonctions Codesys.

-Pour le rendre facile, j’ai téléchargé un programme d’échantillonnage dans cette instructable CFC écrit dans (une langue de Codesys), vous pouvez facilement copier et coller les pou (disponible sous "Application" dans l’arborescence des périphériques") à votre programme. J’ai utilisé quelques simples construit dans les fonctions qui font partie de la « MC_Open » de Codesys bibliothèque qui s’occupent de déplacer le moteur, j’ai juste avoir à leur dire des fonctions quel moteur je veux déménager et à quelle vitesse.

-Lorsque vous avez téléchargé le programme et entré mode d’exécution tel que décrit à l’étape 5. Pour déplacer le moteur, vous devez ouvrir le POU, « Motor_Control » maintenant, vous devez cliquer sur les variables « Distance », « Vitesse » et « Accel » (voir photo) à son tour et entrer des nombres, par exemple, 60, 60, 100. Faire 60 tours et 60revs/min avec une accélération de 100revs/s/s. Maintenant, cliquez sur la variable « Power_Enable » jusqu'à ce que « True » à côté de la variable en bleu, vous devez maintenant écrire cette valeur à l’automate en cliquant sur "Ctrl + F7". Il écrit également les valeurs pour les autres variables, que nous avons changé.

-Le moteur doit maintenant être activé, ce qui signifie qu’il est en marche et la tenue de position.

-Pour déplacer le moteur à l’aide de "MC_MoveRelative_SML" (un mouvement relatif de la position des moteurs par opposition à un absolu), vous devez affecter à la variable "Move_Motor_Pos" "True" (de la même manière que ci-dessus). Vous devrez peut-être effectuer cette étape deux fois pour voir le mouvement du moteur, il s’agit d’un bug que je ne comprends pas très bien. Le moteur doit tourner, yay !

Maintenant, vous avez le contrôle sur les moteurs, essayer d’écrire un programme qui fait tourner le moteur en arrière. Vous pouvez utiliser les fonctions MC_Open en langage ST trop.

Articles Liés

Scanner de documents Raspberry Pi avec téléchargement automatique sur Dropbox.

Scanner de documents Raspberry Pi avec téléchargement automatique sur Dropbox.

Avez vous déjà eu inquiet quand vous n'avez pas été en mesure de trouver une loi ou post-it note que vous avez vraiment besoin ? Bien avec ce Scanner de documents Raspberry Pi maintenant vous ne devrez pas ! Toutes vos notes, les reçus et les documen
Configurer le Raspberry Pi avec écran PiTFT de AdaFruit

Configurer le Raspberry Pi avec écran PiTFT de AdaFruit

Configurer le Raspberry Pi avec affichage PiTFT de Adafruit.Cette instructable utilise un MacBook Pro et spécialisé câble USB au lieu d'un moniteur, le clavier et la souris pour mettre en place un Pi de framboise.Je suis très enthousiasmée par l'affi
Comment programmer le ATtiny85 avec la carte de Arduino uno

Comment programmer le ATtiny85 avec la carte de Arduino uno

Dans ce tutoriel, nous utiliserons une carte Arduino comme un programmeur ATtiny.Pour ce faire nous allons utiliser une seule carte Arduino UNO en tant qu'ISP (programmeur) et un microcontrôleur ATtiny85.Nous allons utiliser Codebender - en ligne IDE
Programmer votre Arduino avec un périphérique Android !

Programmer votre Arduino avec un périphérique Android !

Salutdans ce Instructable que je veux vous montrer, comment vous pouvez programmer votre Arduino avec votre appareil Android. C'est très simple et pas cher. Il nous permet également de programmer notre Arduino, où que nous voulons, c'est utile pour l
Journal Raspberry Pi avec moniteur de voiture

Journal Raspberry Pi avec moniteur de voiture

Donc ce Geek vieux paresseux (LOG) a décidé d'acheter un Pi de framboise. Maintenant le Pi lui-même est vraiment petit (voir photo) mais le premier problème que j'ai trouvé était que, avec tous les câbles connectés, il n'est pas très stable. Les câbl
Alimentation maison pour Raspberry Pi avec Module de Boost de DC / DC XL6009

Alimentation maison pour Raspberry Pi avec Module de Boost de DC / DC XL6009

Alimentation maison pour Raspberry Pi avec XL6009 DC / DC Boost Boost Step-Up Power Module convertisseurvolts très bon marché et réglableDSN6009 4 a est un haute performance Step-up actuel (BOOST) module de commutation. Le module utilise la seconde g
Arduino programmateur réglable avec relais

Arduino programmateur réglable avec relais

c'est mon premier post ici, donc j'espère que j'aurai tout droit !J'ai un chauffage au gaz millivolt (pile de thermocouple) porche qui contient un contrôle manuel à ce sujet.  Je suis fatigué de faire monter et descendre allumer et éteindre, alors j'
Jouer l’impérial mars de Star Wars sur Raspberry Pi avec Buzzer Piezo

Jouer l’impérial mars de Star Wars sur Raspberry Pi avec Buzzer Piezo

Nous allons faire du bruit avec Raspberry Pi et un buzzer piezo ! Ce tutoriel fournit des instructions étape par étape comment jouer la marche impériale, également connu sous le thème de la Dart Vader, de Star Wars sur votre facture pro forma de fram
JavaScript pour ITO : clignotant LED sur Raspberry Pi avec Node.js

JavaScript pour ITO : clignotant LED sur Raspberry Pi avec Node.js

Dans ce tutoriel, vous apprendrez les étapes précises comment contrôler une LED connectée à une broche GPIO de Raspberry Pi en utilisant JavaScript et Node.js. C'est réellement la meilleure chose à faire avec un Pi de framboise et d'une LED. L'exempl
Bande de led comment configurer OSMC avec Hyperion sur Raspberry Pi avec WS2812b

Bande de led comment configurer OSMC avec Hyperion sur Raspberry Pi avec WS2812b

Parfois j'ai anglais très bien, parfois non...Premières choses première. Il s'agit de mon premier instructable et anglais n'est pas ma langue maternelle, alors s'il vous plaît, ne soyez pas trop dur sur moi. Ce sera pas sur la façon de construire le
Renforcer le centre de médias de Raspberry Pi avec Bluetooth A2DP (OSMC)

Renforcer le centre de médias de Raspberry Pi avec Bluetooth A2DP (OSMC)

Ayant la connectivité Bluetooth et activation Raspberry Pi de se comporter comme A2DP source n'est pas nouveau (voir un tutoriel général sur Instructables), mais le problème que j'ai eu jusqu'à présent faisait ce travail sur mon media center Pi qui c
À l’aide de XML sur le Raspberry Pi avec Python

À l’aide de XML sur le Raspberry Pi avec Python

Ce Instructable examinera l'utilisation de XML sur les demandes de la Raspberry Pi. La première étape couvre ce qui est le format des structures de données et XML. Deuxième étape couvrira la construction et de l'analyse XML en Python et troisième éta
Comment à Boot Raspberry Pi avec NOOBS

Comment à Boot Raspberry Pi avec NOOBS

dans le cas où vous ne savez pas, la framboise Pi est un ordinateur de carte de crédit. Il a été créé pour aider les jeunes à apprendre à programmer. Étant donné que les projets de lancent ce petit Conseil a parcouru un long chemin. Il y existe plusi
Serveur de musique Raspberry Pi avec filtre intégré et DSP

Serveur de musique Raspberry Pi avec filtre intégré et DSP

Salut ' iblers j'ai envie de partager ce projet avec vous : transformer votre pi framboise en un serveur de musique puissante qui peut lire des fichiers audio à haute résolution, séparer des signaux audio par fréquence (crossover) et haut-parleur et