当前位置:网站首页>Mise en service PID du moteur de codage (anneau de vitesse | anneau de position | suivant)
Mise en service PID du moteur de codage (anneau de vitesse | anneau de position | suivant)
2022-04-23 03:07:00 【Taochengxi 2.0】
Catalogue des articles
Dans l'article précédent, nous avons discuté de la cascade de moteurs de codagePIDConnaissances pertinentes,Et quelquesPIDExpérience de mise en service,J'ai encore touché le moteur.,En même temps, l'outil Waveform est ajouté,L'individu pense que cette façon d'aider plus de gens à comprendre le processus,Et mieux comprendrePIDCe truc..
Pendant l'entrevue d'embauche,Certains postes intégrés sont liés au contrôle des robots,Y compris quand vous présentez votre projet, vous posez généralement des questionsPIDProcessus de mise en service pour,PIDEffets de plusieurs paramètres,Description de l'anneau intérieur et de l'anneau extérieur, etc.,Donc,PIDC'est encore plus important..
Si vous avez des commentaires, n'hésitez pas.!
1、Connaissance du moteur de codage
La lecture des données du moteur de codage a été décrite dans l'article précédent.,Les liens correspondants sont les suivants:,Si vous en avez besoin, apprenez - le vous - même.:
Moteur de codage à courant continu à double boucle fermée(Vitesse+Angle)Contrôle
Il n'y a pas de répétition ici.,Ceci peut être complété en partie,Principalement la partie traitement des données de l'encodeur, Ceci est fait pour obtenir de meilleures données d'angle ,Les étapes sont les suivantes:
D'abord, nous devons activer l'interruption correspondante. , L'accumulation des données en cas d'interruption , Cela permet d'enregistrer des angles et des tours
Examinons encore le harnais de l'encodeur. , Le harnais est le nombre d'impulsions que le moteur tourne. , Mais notre encodeur est AB Il y a ensuite une capture qui peut être faite sur les bords supérieurs et inférieurs ,Pour que4 L'échantillonnage de l'octave
Le nombre final de Tours est conçu comme suit , Il s'agit d'abord de concevoir un positif et un négatif , Si c'est le cas, ajoutez , La direction est coupée , Et le nombre final de Tours est le même. .
De cette façon, vous pouvez visualiser l'enregistrement du nombre de Tours ,Le code source est le suivant::
int Angle = 0;//Angle
int circr = 0;//Nombre de Tours
const int Step_Angle = 360/4/30;
void Motor_Get_Angle(TIM_HandleTypeDef *htim)
{
if(htim == &htim2)
{
if((htim->Instance->CR1 & 0x0010)>>4)//Jugement directionnel
// On peut aussi l'utiliser icihtim->Instance->CR1Pour juger 0X01C'est dans le sens des aiguilles d'une montre.,0X11C'est dans le sens contraire des aiguilles d'une montre.
Angle -= Step_Angle;
else
Angle += Step_Angle;
}
if(Angle == 360)
{
circr++;
Angle = 0;
}
if(Angle == -360)
{
circr--;
Angle = 0;
}
}
2、Affichage de la forme d'onde de l'ordinateur supérieur
1、Description de la fonction
C'est recommandé ici VOFA+ Cet assistant série , Avec fonction d'affichage de forme d'onde ,Plus puissant,À propos deVOFA+ Je ne vais pas vous le dire. , Il y a beaucoup d'informations en ligne , En gros, baidu peut voir beaucoup d'informations pertinentes après une recherche
Pour utiliser sa fonction d'affichage de blog ici, suivez mes instructions ci - dessous.
Après avoir retiré la fonction Waveform pour l'affichage en plein écran, nous devons remplir ceci ,Comme suit
Type de graphique choisissez le Profil d'onde
En général, onx L'axe est réglé directement au temps
y L'axe est prêt pour le réglage de nos courbes ,Attention ici,Il doit y avoir, Si les données n'ont pas été envoyées, elles ne sont pas visibles.
Ensuite, nous zoomons automatiquement sous sélection
2、Description de l'Accord
Entrez dans notre protocole et connexion :
Vous pouvez voir la description de l'accord comme suit :
Voici la description de l'accord ,Comme suit:
Une autre description
Principalement les instructions de mise en service ici , Vous pouvez voir ici le premier type d'utilisation directe printfC'est bon, Mais les deux donnent des exemples , J'ai donc décidé de le faire de la première façon. ,UtiliserprintfPlus,C'est fait..
3、Certificat d'essai de réglage de l'anneau de vitesse
Ici, j'ai construit la même chose que dans l'article précédent. PIDArchitecture,Voir détailsMoteur de codage à courant continu à double boucle fermée(Vitesse+Angle)Contrôle
À propos dePID Effet de débogage de , Voir mon article ,Cet article utilisesimulinkPour simulerPID:MatlabUtilisersimulinkParamètresPIDEnregistrement
Anneau de vitesse utilisé PIDComme suit, Vous pouvez voir que les paramètres tracés sont les valeurs cibles et actuelles :
Ici, regardons Chun pAu moment de l'ajustement,En ce momentKP=200, C'est déjà assez grand , Il y a encore des erreurs à l'état d'équilibre
Ajouter aprèsI Éliminer les erreurs ,Ici.I C'est tout. 0.1
Nous continuons simplement à grossir KP, Vous pouvez voir un dépassement plus évident
À ce moment - là, si un chiffre augmente i La stabilité du système diminue
Enfin, vous pouvez voir l'effet de débogage ,Comme suit:
4、Certificat d'essai de réglage de l'environnement de position
Ici, l'anneau de position contrôle la position du moteur. , L'idée est d'utiliser directement PIDCalcul,C'est tout à fait possible, Ce n'est pas très stable ,Ça ne marche pas très bien, La résistance aux perturbations n'est pas très bonne , Il est donc possible de choisir une cascade PID Pour réaliser des fonctions connexes , J'ai décrit les deux options comme suit: :
Voici les emplacements d'utilisation directe PIDEffectuer des calculsP[IDSituation
、
Voici la vitesse et la position d'utilisation PID Les calculs sont faits
C'est comme si j'avais suivi le plan d'ajustement. , C'est plus pratique , Peut être débogué rapidement ,L'effet final est le suivant::
5、Réaliser l'effet de suivi
Suivre est en fait un PID La liaison avec l'autre , L'essentiel, c'est de mettre un de ces anneaux PID La quantité d'entrée est remplacée par les données recueillies par le capteur d'un autre moteur. , Mais la commande finale est un autre moteur. .
Les résultats obtenus sont les suivants :
版权声明
本文为[Taochengxi 2.0]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204230306011387.html
边栏推荐
- TP5 email (2020-05-27)
- Miniapi of. Net7 (special section): NET7 Preview3
- Service avalanche effect
- Deep q-network (dqn)
- Introduction to ACM [inclusion exclusion theorem]
- tf. keras. layers. Embedding function
- .NET7之MiniAPI(特别篇):.NET7 Preview3
- Blazor University (11) component - replace attributes of subcomponents
- Assembly learning Chapter III of assembly language (Third Edition) written by Wang Shuang
- tf. keras. layers. Inputlayer function
猜你喜欢
tf. keras. layers. MaxPooling? D function
What kind of experience is it to prepare for a month to participate in ACM?
在.NE6 WebApi中使用分布式缓存Redis
Ningde's position in the times is not guaranteed?
Distributed system services
Blazor University (11) component - replace attributes of subcomponents
Array and collection types passed by openfeign parameters
Tips in MATLAB
Recommend reading | share the trader's book list and ask famous experts for trading advice. The trading is wonderful
Introduction to ACM [TSP problem]
随机推荐
Laravel8- use JWT
腾讯视频VIP会员,周卡特价9元!腾讯官方直充,会员立即生效!
A set of C interview questions about memory alignment. Many people make mistakes!
ASP. Net 6 middleware series - execution sequence
The space between the left and right of the movie ticket seats is empty and cannot be selected
ASP.NET 6 中间件系列 - 自定义中间件类
C syntax sugar empty merge operator [?] And null merge assignment operator [? =]
微软是如何解决 PC 端程序多开问题的——内部实现
tf. keras. layers. Inputlayer function
Tips in MATLAB
ASP. Net 6 middleware series - Custom middleware classes
The whole network is the most complete. How to do interface automation test? Proficient in interface automation test details
Tencent video VIP member, weekly card special price of 9 yuan! Tencent official direct charging, members take effect immediately!
Deep q-network (dqn)
It turns out that PID was born in the struggle between Lao wangtou and Lao sky
交换二叉树中每个结点的左和右
AspNetCore配置多环境log4net配置文件
Notes sur le développement de la tarte aux framboises (XII): commencer à étudier la suite UNO - 220 de la tarte aux framboises de contrôle industriel advantech (i): Introduction et fonctionnement du s
MAUI初体验:爽
Source generator actual combat