久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
Micropython教程之TPYBoard開發板驅動舵機教程(蘿卜學科編程)
[打印本頁]
作者:
bodasister
時間:
2018-12-8 09:51
標題:
Micropython教程之TPYBoard開發板驅動舵機教程(蘿卜學科編程)
大家應該都看到過機器人的手臂啊腿腳啊什么的一抽一抽的在動彈吧...是不是和機械舞一樣的有節奏,現在很多機器人模型里面的動力器件都是舵機。
但是大家一般見到的動力器件都是像步進電機,直流電機這一類的動力器件,應該對舵機比較陌生。
舵機主要有以下3個優點:
一是體積緊湊,便于安裝; 二是輸出力矩大,穩定性好; 三是控制簡單,便于和數字系統接口。
本次教程中使用的是SG90的舵機,個人感覺性能一般,但是比較穩定和耐用,做DIY實驗器材用還是比較不錯的。
舵機的基本介紹
舵機,又稱伺服馬達,是一種具有閉環控制系統的機電結構。舵機主要是由外殼、電路板、無核心馬達、齒輪與位置檢測器所構成。 其工作原理是由控制器發出PWM(脈沖寬度調制)信號給舵機,經電路板上的IC處理后計算出轉動方向,再驅動無核心馬達轉動, 透過減速齒輪將動力傳至擺臂,同時由位置檢測器(電位器)返回位置信號,判斷是否已經到達設定位置,一般舵機只能旋轉180度。
圖片1.png
(242.35 KB, 下載次數: 56)
下載附件
2018-12-8 09:51 上傳
舵機的接線
舵機有3根線,棕色為地,紅色為電源正,橙色為信號線,但不同牌子的舵機,線的顏色可能不同。
舵機的控制原理
舵機的轉動的角度是通過調節PWM(脈沖寬度調制)信號的占空比來實現的。
占空比
1.指高電平在一個周期之內所占的時間比率。
2.正脈沖的持續時間與脈沖總周期的比值。例如:正脈沖寬度1μs,信號周期10μs的脈沖序列占空比為0.1。即:脈沖的寬度除以脈沖的周期稱為占空比。標準PWM(脈沖寬度調制)信號的周期固定為20ms(50Hz),理論上脈寬分布應在1ms到2ms之間,但是,事實上脈寬可由0.5ms到2.5ms之間,脈寬和舵機的轉角0°~180°相對應。
Python語言驅動舵機的方法
其實說了以上這些呢,都是為了給大家介紹利用Python語言來控制舵機的轉動角度,和普通單片機一樣的,都是需要用不同寬度的脈沖來控制器轉動的角度。 說白了,我們需要做的就是使用Python語言來輸出不同寬度的脈沖信號,來給到信號線里面去。現在一般的舵機脈寬那都是在0.5ms到2.5ms之間,這就可以計算了。 0.5MS-2.5MS這兩毫秒里面可以控制轉動到180度,這樣算下來,轉一度的脈沖時間大約就是2毫秒/180度=0.011毫秒/度,這樣依次計算就可以了。剩下的就是寫一個脈沖信號了,相信寫脈沖信號的程序大家都很熟悉啦。 但是,在舵機里面有一些幾點幾的毫秒的延時脈沖,這個在Python語言里如果想要利用delay()函數來做延時的話,很難做到每個角度都可以轉到,甚至說是很難做到轉動到大多數的角度。所以,你需要找到一個比毫秒延時還要精確的延時函數來作為脈沖的計時延時函數。我現在用的是time.sleep(i)這個函數,這個函數里面的i,建議設置在0.0000-0.0035之間。不能說精確的轉動到每個角度吧,但是百分之九十的角度都是可以轉到。如果想讓舵機進行循環擺動,一定要記得加上適當的延時,因為程序可以飛快的跑,但是舵機轉動也是需要一點時間的。舵機轉動時間肯定要比程序跑一遍的時間要長的多啦。
http://v.youku.com/v_show/id_XMTY1MzE5ODIyOA==.html
實驗目的
通過加速度傳感器的X方向控制舵機的轉動,讓舵機隨TPYBoard 的轉動而轉動
實驗材料
TPYBoard v10x 開發板 1塊
SG90舵機 1個
杜邦線 若干
實驗線路圖
這里電路圖很簡單,只需要給舵機接上VCC和GNG(這是最基本的,這個開發板上好多電源和地可以用)。 然后把舵機的信號線接到任意一個GPIO口(后面程序里面要在這個GPIO往外輸出脈沖的,我用了X1,還有很多其他的GPIO口可以用。)就可以了。 接線原理圖:
import pyb
import time
from pyb import Pin
xlights = (pyb.LED(2), pyb.LED(3))
ylights = (pyb.LED(1), pyb.LED(4))
M0 = Pin('X1', Pin.OUT_PP)
accel = pyb.Accel()
i=0.0001
j=0.0000
while True:
x = accel.x()
print("x=")
print(x)
Y=x+20
M0.high()
time.sleep(i*Y)
M0.low()
time.sleep(i*Y)
pyb.delay(12)
if x > 0:
xlights[0].on()
xlights[1].off()
elif x < 0:
xlights[1].on()
xlights[0].off()
else:
xlights[0].off()
xlights[1].off()
復制代碼
雖然舵機只是能實現轉動指定的角度,看起來功能很單一,但是單一的功能結合起來,就能完成很復雜的任務。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
91福利电影在线观看
|
一区二区三区日韩
|
亚洲一区二区三区四区五区中文
|
99影视
|
黄网站免费在线观看
|
欧美9999
|
一区二区三区四区免费观看
|
欧美日韩福利视频
|
亚洲精品电影在线观看
|
夜夜撸av
|
国产日韩久久久久69影院
|
亚洲精品1
|
亚洲精品中文字幕在线观看
|
99精品久久久
|
日日爽
|
成人在线视频网站
|
国产在线不卡视频
|
久久精品伊人
|
三级黄色网址
|
久热精品免费
|
精品一区二区三区四区视频
|
黄色免费观看
|
91在线一区
|
精品一二区
|
欧美国产精品一区二区三区
|
亚州精品天堂中文字幕
|
亚洲一区毛片
|
在线免费观看成年人视频
|
国产精品无码久久久久
|
av黄色在线
|
国产一区二区三区在线
|
久久精彩
|
九九热热九九
|
日日夜夜影院
|
欧美日韩一区在线
|
一区二区免费
|
亚洲中国字幕
|
国产成人精品免费视频大全最热
|
992tv人人草 久久精品超碰
|
午夜在线精品偷拍
|
欧美日韩一区二区在线
|