type
status
date
slug
summary
tags
category
icon
password

伺服馬達介紹

本次主要使用的硬體:Micro Servo 9g(SG90)

Tower Pro的 Micro Servo 9g (或常見型號 SG90) 是一種非常流行的小型伺服馬達,廣泛用於遙控模型、機器人以及各種電子專案。
以下是關於Tower Pro的 Micro Servo 9g的一些基本資訊:
  1. 體積和重量:這種伺服馬達的體積和重量非常小, 體積大約為22.2mm x 11.8mm x 31mm,重量約為9克(因此得名9g)。
  1. 電源:通常操作電壓為4.8到6V DC, 並可由一般的微控制器(如Arduino或ESP32)的GPIO腳位控制。
  1. 力矩和速度:該伺服馬達在4.8V時,力矩約為1.6kg/cm, 轉速為0.12秒/60度;在6V時,力矩約為2.0kg/cm,轉速為0.10秒/60度。
  1. 旋轉角度:通常最大可旋轉角度為180度。
  1. 連接方式:這款伺服馬達通常帶有三線式接線,其中紅線代表電源(+), 棕色(或黑色)線代表接地(-),橙色(或白色或黃色)線代表控制訊號。
這款伺服馬達因其價格相對便宜,體積小巧,且使用方便,常常被選擇用於學術或個人電子專案中。
notion image

溝通方式:PWM

PWM,全稱Pulse Width Modulation(脈衝寬度調製),是一種在許多不同類型的電子和電機應用中常見的技術,用於控制功率或信號的級別。它利用數位訊號來產生一種模擬效果。
PWM信號的基本組成部分如下:
  1. 週期 (Period):一個PWM信號的週期是指從開始到結束的完整週期,通常表示為頻率 (Frequency),頻率 = 1 / 週期。例如,一個50Hz的PWM信號有一個20ms的週期。
  1. 占空比 (Duty Cycle):這是PWM信號在一個週期中高電壓狀態的比例。例如,如果一個信號在一個週期中有50%的時間是高電壓,則稱為50%的占空比。
在PWM信號中,我們通常保持頻率固定,並調整占空比來達到我們想要的效果。例如,我們可以透過調整占空比來控制LED的亮度,或是控制伺服馬達的轉速或位置。
在MicroPython中,我們可以使用PWM類別來產生PWM信號。我們可以設定頻率(freq)和占空比(duty)來控制PWM信號的行為。
notion image
 
例如,以下的代碼會產生一個頻率為50Hz,占空比為50%的PWM信號:
在這個例子中,我們首先從machine模組導入PinPWM。然後,我們創建一個PWM物件,指定GPIO腳位和頻率。最後,我們使用duty方法來設定占空比。

主要控制的關鍵:脈衝寬度(佔空比)

脈波寬度,或者稱之為脈衝寬度,是在PWM(脈衝寬度調製)中描述單個脈波信號的"高"(或開啟)狀態持續時間的術語。這個時間段通常是以微秒(µs)或毫秒(ms)來計量。在PWM信號中,脈波的寬度主要被用來控制占空比。
在一個完整的PWM週期內,脈波寬度是"高"電壓狀態的時間。這段時間和完整週期(高電壓加上低電壓的時間)的比例就被稱為占空比。例如,如果一個信號的完整週期是10毫秒,而高電壓狀態持續5毫秒,那麼脈波寬度就是5毫秒,並且占空比是50%。
在許多應用中,例如控制伺服馬達或LED的亮度,我們可以通過改變PWM信號的脈波寬度來改變輸出的電力。例如,增加脈波寬度(並相應增加占空比)將使伺服馬達轉動到一個新的位置,或者使LED亮度增加。
例如,對於一個伺服馬達,一個1.5毫秒的脈波寬度可能使它轉到90度的位置,而一個2毫秒的脈波寬度可能使它轉到180度的位置。這是因為伺服馬達內部的控制器會解讀PWM信號的脈波寬度,並將其轉換為旋轉的角度。

Micropython程式碼

  1. 知道到底SG90的佔空比要怎麼設定,因為每一台可能都不一樣! serveTest()
  1. 讓SG90轉到指定的角度 set_servo_angle()
 
 
“部署” MLMicrosoft Graph API python 開發筆記