日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

logisim优先编码器怎么用_编码器简介、应用的stm32代码及注释

發布時間:2025/3/8 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 logisim优先编码器怎么用_编码器简介、应用的stm32代码及注释 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在機器人的旋轉關節中、或者底盤的驅動輪中,編碼器是一個很常用的部件,它用于檢測輸出軸的位置、轉速。下面我們先從它的分類開始,后面還有一個簡單的用法示例代碼。

磁編碼器

1.編碼器分類:

按工作原理:光電式、磁電式和觸點電刷式。按碼盤的刻孔方式:增量式和絕對式兩類。

筆者到目前為止,就用過這些種類的編碼器。像光電的差分編碼器,一般由8根線連接。信號線分別為 A+ A- B+ B- Z+ Z- 以及VCC和GND。這里有一種不需要Z信號的,6線差分A+ A- B+ B- VCC 和GND。正交編碼器一般是5根線連接,信號線分別為A B Z VCC和GND。

編碼器線數: 就是旋轉一圈你的A(B)會輸出多少個脈沖 ,這里的A、B就是上面的輸出脈沖信號線,它們轉一圈發出的脈沖數一樣的,不過存在90°的相位差。線數越高代表編碼器能夠反應的位置精度越高。

2.下面以基于stm32的直流電機驅動為例,里面有編碼器的讀取。

代碼及注釋如下:

#include "delay.h"

#include "stm32f10x.h"

#include "sys.h"

#include "timer.h"

#include "usart.h"

#include "encoder.h"

#include "oled.h"

#include "pwm.h"

#include "control.h"

#include "led.h"

#include "key.h"

extern int Target_velocity;

extern u16 Encoder; //左右編碼器的脈沖計數

extern u16 Moto1; //電機PWM變量

u8 t=0;

float speed;

int main(void)

{

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 設置中斷優先級分組2

delay_init(); //延時函數初始化

KEY_Init(); //初始化與按鍵連接的硬件接口

OLED_Init();

uart_init(9600); //=====串口初始化

Encoder_Init_TIM2(); //=====編碼器接口

TIM3_Int_Init(99,7199); //10ms

IN2=1;

IN1=0;

LED_Init(); //初始化與LED連接的硬件接口

TIM1_PWM_Init(7199,0);//不分頻。PWM頻率=72000/(899+1)=80Khz

while(1)

{

speed = Encoder*100/4/13/30;

printf("speed:%0.2f rad/s

總結

以上是生活随笔為你收集整理的logisim优先编码器怎么用_编码器简介、应用的stm32代码及注释的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。