logisim優先編碼器怎么用_編碼器簡介、應用的stm32代碼及注釋

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

f8d466b04bb80656b081942fca776800.png

磁編碼器

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/537634.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/537634.shtml
英文地址,請注明出處:http://en.pswp.cn/news/537634.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據庫查詢集合排序

/** 定義一個排序規則*/ public class ComparatorUser implements Comparator{Overridepublic int compare(Object arg0, Object arg1) {User user0(User)arg0;User user1(User)arg1;//首先比較年齡,如果年齡相同,則比較名字int flaguser0.getAge().comp…

立項管理

項目建議書 也叫立項申請項目建設單位發起主要內容:項目的必要性、項目市場預測、產品方案或服務的市場預測、項目建設必需的條件項目可行性研究 特點 預見性、公正性、可靠性、科學性主要內容 投資、技術、財務、組織、經濟、社會的可行性、風險因素及對策技術可行…

c++輸出方塊_【Blender】方塊波浪動畫音樂效果

先上結果:Blender方塊動畫效果https://www.zhihu.com/video/1232333427569262592老規矩:一、設置基本Wave Mesh(波浪面)創建Plane,S 8,這樣寬度就是2*816m了。CtrlA/Object菜單->Apply->Apply Scale—…

vue服務端渲染添加緩存

雖然 Vue 的服務器端渲染(SSR)相當快速,但是由于創建組件實例和虛擬 DOM 節點的開銷,無法與純基于字符串拼接(pure string-based)的模板的性能相當。在 SSR 性能至關重要的情況下,明智地利用緩存策略,可以極大改善響應時間并減少服…

Could not autowire. No beans of 'xxxx' type found的錯誤提示

spring 集成mybatis 找不到 beans 查了很多網頁,解決辦法是: 在PersonMapper 上加 Repositorypackage zengmiaogen.csdn.cn.mybatis;import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository;import java.ut…

怎么把頁面按比例縮小_做PPT多圖排版千萬別套模板了,按這28種版式來,絕對靠譜!...

編按:各種類型的PPT經常會用到圖片,這些圖片到底如何排版才更出色呢?今天給大家分享一篇PPT圖片排版手冊,主要介紹了多張圖常見的排版方式,希望能幫助到您!嗨,大家好,我是P小白。一張…

spring boot 集成Mybatis時 Invalid bound statement (not found)

spring boot 集成Mybatis時,運行提示 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): zengmiaogen.csdn.cn.mybatis.PersonMapper.queryPersonList 按照下文的步驟,解決了問題 https://blog.csdn.net/qq_3598128…

Caffe CuDNN版本與環境不同導致make錯誤

1.將./include/caffe/util/cudnn.hpp 換成最新版的caffe里的cudnn的實現,即相應的cudnn.hpp. 2.將./include/caffe/layers里的,所有以cudnn開頭的文件,例如cudnn_conv_layer.hpp,都替換成最新版的caffe里的相應的同名文件。 3.將.…

nodejs 安裝 nrm

nodejs默認源在國外,訪問速度慢。可以手動修改源,但要每次都修改。 安裝 nrm,指定源路徑,不需要每次修改 npm install nrm -g nrm ls * npm -------- https://registry.npmjs.org/ yarn ------- https://registry.yarnpkg.co…

磁盤陣列怎么做_設計與后期制作該怎么選擇筆記本電腦?朋克老師來教你

最近有很多人問我設計與后期制作該怎么選擇筆記本電腦?既然選擇筆記本電腦就說明在相關工作中對電腦有移動需求,比如自媒體、記者、影視后期出組人員等等,那該如何選擇呢?視頻剪輯咱們按工作內容分類聊一聊。第一類,平…

EventBus源碼分析

簡介 前面我學習了如何使用EventBus,還有了解了EventBus的特性,那么接下來我們一起來學習EventBus的源碼,查看EventBus的源碼,看看EventBus給我們帶來什么驚喜以及編程思想。 這個圖我們從一開始就一直放置在上面了。我們在來回顧…

Vue.js 概述與 MVVM 模式

一、Vue.js 1. Vue.js 是什么 Vue.js 是一個輕巧、高性能、可組件化的 MVVM 庫,擁有非常容易上手的 API; Vue.js是一個構建數據驅動的 Web 界面的庫。 2. Vue.js 的特性 1. 輕量級的框架 2. 雙向數據綁定 3. 指令 4. 插件化(組件化&#…

ipad錄屏軟件_如何在 Mac 上優雅的截圖和錄屏

在使用電腦的時候,很多時候我們都需要截屏或者錄屏分享。所以你可能已經聽過 snip,或者經常使用 QQ、微信 等軟件來實現截屏。但是今天我們一起來看一下,怎么使用系統提供的功能,來優雅的實現截圖和錄屏。最開始的這幾篇都比較基礎…

數據庫的輔助工具:My-SqlViewer

閱讀目錄開始My-SqlViewer 使用說明程序安裝及啟動說明程序主界面DataBase瀏覽器搜索數據庫存儲過程的復制比較數據庫今天發一個我自己寫的且經常使用的數據庫的輔助工具:My-SqlViewer由于我比較喜歡使用存儲過程,但發現不管是SQL Server Management Stu…

安卓平板微信和手機微信同時登陸_Mac電腦如何同時登陸多個微信或QQ

現如今,微信和QQ已經不單單是簡單的社交軟件了,也成了工作必備軟件,工作中用它傳個文件,發個通知,不知道有多方便。但是很多人希望將工作圈和生活圈分開,有人想出拿兩部手機的方法,倒是可以&…

VSCode 開發Vue必備插件

工欲善其事,必先利其器 以下就是開發Vue必備插件: Vetur —— 語法高亮、智能感知、Emmet等 包含格式化功能, AltShiftF (格式化全文),CtrlK CtrlF(格式化選中代碼,兩個Ctrl需要同時…

蘋果x人臉識別突然失靈_教你解決mac電腦鍵盤失靈的問題

無論是使用WIN系統還是蘋果電腦都有可能遇到鍵盤失靈,無法使用的問題,那么蘋果電腦鍵盤失靈該怎么解決呢?這里macw小編為大家帶來了蘋果電腦鍵盤失靈解決教程,趕緊收藏起來吧!無線鍵盤失靈解決教程1、確保藍牙已啟用并…

產品文檔如何說清楚產品業務?關注這幾點就夠了

如果產品文檔沒把產品業務說清楚會有什么影響? 常見的:產品不符合業務(實際使用場景),驗收不通過,需要加班修改,調整。產品經理被罵。 嚴重的:甲方爸爸受不了了,換供應…

前端錯誤日志收集方案

前言 公司的項目上線出現問題后難以定位錯誤,研究過現存的錯誤監控方案,受限于特殊條件只能定制自己的錯誤收集方案。 基于以上背景我擼出來一個錯誤日志收集方案 - Ohbug。 歡迎各位大佬 star ~ 監控錯誤 說起錯誤的捕獲,首先想到的是 try c…

spring入門到放棄——spring事務管理

Spring事務提供了兩種管理的的方式:編程式事務和聲明式事務 簡單回顧下事務: 事務:邏輯上的一組操作,組成操作的各個單元,要么全部成功,要么全部失敗。 事務特性: 原子性:一個事務包…