因某些需求,要做一個測量多種小功率變壓器的步進方波頻響。覺得用micropython的PWM是最為方便及精確的。除掉再加一個反相器及功率輸出部件之外,用一塊ESP WROOM 32模板即可實作(已包括不用其他硬體的加減鍵)。反相器及功率輸出就根據需求自行配置。
特性及用材:
1. 輸出方波頻率最高可達3MHZ
2. 輸出方波頻率值、最低方波頻率值及步進頻率,均可精確設定到1HZ
3. 占空比可根據需求自行設定 1 - 1023
4. 用觸摸加減鍵步進方波頻率
5. ESP WROOM 32模板
6. 觸摸加減鍵就用ESP32的GPIO27及GPIO32腳,不用再加任何硬體
程式如下:
#test POWER PWM ESP32 20210504.py
from machine import Pin, PWM, freq, TouchPad
freq(240000000) #CPU作業頻率設定240MHZ
#pinLED = Pin(2, Pin.OUT)
pwmFreqLow = 1000 # PWM最低頻率設為1KHZ,可設定到10HZ
pwmFreqHigh = 3000000 # PWM最高頻率設為3MHZ
pwmFreq = 100000 # PWM起始頻率設為100KHZ
pwmStep = 1000 # PWM步進頻率設為1KHZ
pwm20 = PWM(Pin(16), freq = pwmFreq, duty = 512) # PWM輸出 占空比0.5
print(' 初始 PWM 頻率 ' + str(pwmFreq) + ' HZ')
while True:
Touch32 = TouchPad(Pin(32)).read() #觸摸鍵+,PWM頻率加
Touch33 = TouchPad(Pin(27)).read() #觸摸鍵-,PWM頻率減
#print(str(Touch32) + " " + str(Touch33)) #列印觸摸鍵值
if Touch32 < 800: #觸摸鍵值有效
pwmFreq = pwmFreq + pwmStep # PWM頻率加
if (pwmFreq > pwmFreqHigh): pwmFreq -= pwmStep
if Touch33 < 800: #觸摸鍵值有效
pwmFreq = pwmFreq - pwmStep # PWM頻率減
if (pwmFreq < pwmFreqLow): pwmFreq += pwmStep
pwm20 = PWM(Pin(16), freq = pwmFreq, duty = 512) # PWM輸 占空比0.5
print('pwmFreq = ' + str(pwmFreq)) #列印PWM頻率值
歡迎拍磚,一定洗耳恭聽。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/282768.html
標籤:單片機/工控
上一篇:tracert命令操作
下一篇:為什么沒記憶體條進不了bios?