国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【合宙Air105開發板試用體驗】PWM+ADC+TIME聯測

開發板試用精選 ? 來源:開發板試用 ? 作者:電子發燒友論壇 ? 2022-12-01 11:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來源電子發燒友社區,作者:z趙先森, 帖子地址:https://bbs.elecfans.com/jishu_2290905_1_1.html


pwm測試視頻(開發板體驗視頻,詳見作者原文鏈接內容)

@TOC

**本文使用環境:

電腦:windows10

主控:air105(204MHZ)**

注意:本文默認已經搭建好平臺。

前言

首先非常感謝電子發燒友合宙的大力支持。

這篇文章主要記錄air105的初始lutaos嘗試,之前一直在使用C語言進行開發,這次換一個開發方式。

主要使用ADC-TIM-PWM,為了提升技術難度,將三個串起來:

使用PC7/PWM5(其他的PWM都不方便接出來)產生1MHZ動態變化的的PWM,然后由PC4的ADC5獲取,并轉化成實際的電壓。C7產生的PWM通過不斷的改變比較值可以輸出不同的電壓,所以就能夠滿足ADC的采集要求,這里需要注意的是,不能直接測量電源電壓,要不然要燒。。。。。ADC的電壓范圍為0-1.8V

LuatOS對于方案來說非常友好,對新手也比較友好,隔離了底層的驅動,不需要關心底層怎么實現,只需要調用官方的API就行,極大的解決了不同芯片重復使用相同外設的問題,非常方便。

一、手冊

1、 AIR105的硬件手冊

查看105的手冊了解其IO分布和各方面的性能,主要看以下幾個:

手冊分別為:

在線wiki

105手冊

1.1、主頻:

在這里插入圖片描述

1.2、ADC和PWM:

在這里插入圖片描述

2、LutaOS編程手冊

2.1. PWM編程

找到在線文檔的LuatOS-SOC接口文檔,并找到PWM模塊,

在這里插入圖片描述

往下翻官方給出了demo實例,手冊中有詳細的說明對于每一個參數:

-- 打開PWM5, 頻率1kHz, 占空比50%
pwm.open(5, 1000, 50)
-- 打開PWM5, 頻率10kHz, 分頻為 31/256,即31的高電平256-31的低電平
pwm.open(5, 10000, 31, 0, 256)

本文需要關心占空比和PWM的頻率,ADC測量電壓時,最好將PWM的頻率稍微打一下二,否者檢測的數據可能不準,因為電路沒有濾波采樣到的數據不是那么準確。兩個函數都可以使用。后續只需要改變占空比即可。

2.2. ADC編程

同樣找到ADC的數模轉換章節:

在這里插入圖片描述

adc有三個函數:open、read、close。功能和名字一樣非常簡單,各參數也都有詳細的講解,不再贅述。特別要注意。==AIR105的ADC只能檢測外部1.8V的電壓,不能超過==。。。。。如果需要檢測高電壓,采用電阻分壓的方式,兩個電阻串聯檢測中間的電壓即可。

在這里插入圖片描述

2.3. TIME編程

查看sys庫,定時器在sys中:

在這里插入圖片描述

如圖該函數為循環定時功能函數,需要注意該函數內==不能使用wait函數。==

二、編程

本文采用定時器對pwm進行調節,首先對定時器和ADC進行編程介紹,然后是PWM。

1、 TIME和ADC編程

local time_num = 0;
local dir_num = 0;
sys.timerLoopStart(function()

    if time_num >= 55 then
        dir_num = 0
    elseif time_num <= 0 then
        dir_num = 1
    end
    
    if dir_num == 1 then
        time_num = time_num + 1;
    else 
        time_num = time_num - 1;
    end
    
   log.info("task", time_num,"adc_read:",adc.read(5)) -- 500毫秒后才會執行
    
end, 500)

首先定義兩個變量,一個自加,一個方向。當自加到最大值時,方向取反,依次內推,減到最小亦是如此。==最大值為什么設置為55?因為IO口電壓為3V3,按照0-100等份,及55為1.8V左右== 根據前面的介紹可知,ADC打開后僅使用讀取函數即可,故在輸出的位置進行打印讀取。

測試結果如下:

在這里插入圖片描述

可以看見測試結果和預想的一樣。

2、PWM編程

有了前面的基礎,PWM編程就會非常簡單,只需要調用相關的函數即可,同時需要在程序循環之前的位置打開adc。直接上程序:

sys.taskInit(function()
    adc.open(5) -- 5通道是PC4, 0~1.8v,不要超過范圍使用!!!,其它通道也是同樣的范圍
    while 1 do
        pwm.open(5, 1000000, time_num, 0, 100)  
        sys.wait(200)
    end
    adc.close(1)
end)

這里只看pwm.open(5, 1000000, time_num, 0, 100)即可。time_num為定時器修改的PWM值,范圍是0-55。最后的100表示比較的最大值為100。

為了對PWM進行測試,使用萬用便測量IO口的電壓。測試結果如下:

見開頭視頻

3、 完整程序

話不多說直接上程序。

-- LuaTools需要PROJECT和VERSION這兩個信息
PROJECT = "mytest"
VERSION = "1.0.0"

log.info("mymain", PROJECT, VERSION)

-- 一定要添加sys.lua !!!!
local sys = require "sys"
local time_num = 0;
local dir_num = 0;

--添加硬狗防止程序卡死
if wdt then
    wdt.init(15000)--初始化watchdog設置為15s
    sys.timerLoopStart(wdt.feed, 10000)--10s喂一次狗
end
--定時器1s

sys.timerLoopStart(function()

    if time_num >= 55 then
        dir_num = 0
    elseif time_num <= 0 then
        dir_num = 1
    end
    
    if dir_num == 1 then
        time_num = time_num + 1;
    else 
        time_num = time_num - 1;
    end
    
    log.info("task", time_num,"adc_read:",adc.read(5)) -- 1000毫秒后才會執行, 打印 task A B C
    
end, 500)


sys.taskInit(function()
    adc.open(5) -- 5通道是PC4, 0~1.8v,不要超過范圍使用!!!,其它通道也是同樣的范圍
    while 1 do
        pwm.open(5, 1000000, time_num, 0, 100)  
        sys.wait(200)
        --log.info("adc_read:",adc.read(5))
    end
    adc.close(1)
end)


-- 用戶代碼已結束---------------------------------------------
-- 結尾總是這一句
sys.run()
-- sys.run()之后后面不要加任何語句!!!!!

4、測試

電壓是先變小再變大,然后再變小變大,依次循環。

見末尾視頻

pwm_adc測試視頻(開發板體驗視頻,詳見作者原文鏈接內容)



聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 合宙通信
    +關注

    關注

    0

    文章

    160

    瀏覽量

    2472
  • Air105
    +關注

    關注

    0

    文章

    48

    瀏覽量

    442
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    猛!MCU模組:Air1601/1602雙星出擊!

    在嵌入式開發中,你是否曾面臨這樣的困境:高清UI渲染依賴昂貴高端芯片、圖像處理卡頓、多網通信協同復雜、工業級穩定設計繁瑣……Air1601/Ai
    的頭像 發表于 02-13 14:05 ?479次閱讀
    猛!<b class='flag-5'>合</b><b class='flag-5'>宙</b>MCU模組:<b class='flag-5'>Air</b>1601/1602雙星出擊!

    有獎丨米爾全志 T153 MINI開發板免費試用來啦

    米爾與全志合作發布的新品基于全志T153應用處理器的MYD-YT153MX-MINI開發板免費試用名額來啦~~米爾提供了3套價值399元的MYD-YT153MX-MINI開發板發起試用
    的頭像 發表于 01-29 08:04 ?280次閱讀
    有獎丨米爾全志 T153 MINI<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>來啦

    有獎丨米爾 瑞芯微RK3506開發板免費試用

    米爾與瑞芯微合作發布的新品基于瑞芯微RK3506應用處理器的MYD-YR3506開發板免費試用名額來啦~~米爾提供了3塊價值299元的MYD-YR3506開發板發起試用活動您不僅可以免
    的頭像 發表于 06-19 08:04 ?1066次閱讀
    有獎丨米爾 瑞芯微RK3506<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>

    有獎丨米爾 瑞芯微RK3562開發板免費試用新增名額!

    米爾與瑞芯微合作發布的新品基于瑞芯微RK3562應用處理器的MYD-YR3562開發板免費試用名額增加
    的頭像 發表于 06-13 08:04 ?1478次閱讀
    有獎丨米爾 瑞芯微RK3562<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>新增名額!

    基于RK3576處理器,米爾RK3576開發板免費試用

    年7月19日 ? 評測數量: 3塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發板免費試用 RISC-V開發板深度評測!頂級開發板免費
    的頭像 發表于 06-09 15:00 ?1171次閱讀
    基于RK3576處理器,米爾RK3576<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>

    多功能+高擴展能力加持,Air8000開發板最新資料

    開發者福利來襲!Air8000開發板兼具全面功能與強大擴展性的開發神器,將讓物聯網開發、原型設計等任務更高效,加速項目從概念到產品的轉化。
    的頭像 發表于 06-09 14:18 ?704次閱讀
    多功能+高擴展能力加持,<b class='flag-5'>Air</b>8000<b class='flag-5'>開發板</b>最新資料

    搭載OpenHarmony操作系統,視美泰SC-3568HA開發板免費試用

    : 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發板免費試用 RISC-V開發板深度評測!頂級開發板免費
    的頭像 發表于 06-05 16:45 ?1272次閱讀
    搭載OpenHarmony操作系統,視美泰SC-3568HA<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>

    基于RK處理器,創龍TL3562-MiniEVM開發板試用體驗

    數量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發板免費試用 RISC-V開發板深度評測!頂級開發板免費
    的頭像 發表于 06-05 16:31 ?1177次閱讀
    基于RK處理器,創龍TL3562-MiniEVM<b class='flag-5'>開發板</b><b class='flag-5'>試用</b>體驗

    性能強悍!合眾HZ-RK3568開發板試用體驗

    月19日 ? 評測數量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發板免費試用 RISC-V開發板深度評測!頂級開發板免費
    的頭像 發表于 06-05 16:30 ?1471次閱讀
    性能強悍!合眾HZ-RK3568<b class='flag-5'>開發板</b><b class='flag-5'>試用</b>體驗

    有獎丨米爾 NXP i.MX91開發板免費試用來啦

    米爾與NXP合作發布的新品基于NXPi.MX91應用處理器的MYD-LMX91開發板免費試用名額來啦~~米爾提供了3套價值588元的MYD-LMX91開發板發起試用活動您不僅可以免費體
    的頭像 發表于 06-05 08:02 ?1346次閱讀
    有獎丨米爾 NXP i.MX91<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>來啦

    技術篇——Air8000開發板,一站式滿足多功能高擴展開發需求!

    對于追求高效開發的你來說,Air8000開發板最新資料庫的開放絕對不容錯過。無論是智能控制、數據采集還是多場景應用開發,其多功能內核與高擴展接口,為各類項目提供“即插即用”式的解決方案
    的頭像 發表于 06-04 15:59 ?619次閱讀
    技術篇——<b class='flag-5'>Air</b>8000<b class='flag-5'>開發板</b>,一站式滿足多功能高擴展<b class='flag-5'>開發</b>需求!

    【評測試用】合眾HZ-T536開發板免費試用體驗

    【評測試用】合眾HZ-T536開發板免費試用體驗
    的頭像 發表于 05-27 08:05 ?973次閱讀
    【評測<b class='flag-5'>試用</b>】合眾HZ-T536<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>體驗

    免費丨米爾 STM32MP257開發板有獎試用

    米爾與ST合作發布的新品基于STM32MP257應用處理器的MYD-LD25X開發板免費試用活動來啦~~米爾提供了2塊價值488元的MYD-LD25X開發板發起試用活動您不僅可以免費
    的頭像 發表于 03-20 08:05 ?1123次閱讀
    免費丨米爾 STM32MP257<b class='flag-5'>開發板</b>有獎<b class='flag-5'>試用</b>

    有獎丨米爾 瑞芯微YR3562開發板免費試用

    米爾與瑞芯微合作發布的新品基于瑞芯微RK3562應用處理器的MYD-YR3562開發板免費試用活動來啦~~米爾提供了3塊價值599元的MYD-YR3562開發板發起試用活動您不僅可以免
    的頭像 發表于 03-20 08:05 ?967次閱讀
    有獎丨米爾 瑞芯微YR3562<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>

    有獎試用??!RA-Eco-RA4M2-100PIN-V1.0開發板試用活動報名

    RA-Eco-RA4M2-100PIN-V1.0開發板試用活動
    的頭像 發表于 03-13 12:10 ?1469次閱讀
    有獎<b class='flag-5'>試用</b>??!RA-Eco-RA4M2-100PIN-V1.0<b class='flag-5'>開發板</b><b class='flag-5'>試用</b>活動報名