在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    148

    瀏覽量

    2019
  • Air105
    +關注

    關注

    0

    文章

    48

    瀏覽量

    364
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    干貨分享:Air780E開發板如何使用?

    ? 一、概述 CORE-AIR780E 開發板通信推出的基于 Air780E 模組所開發
    的頭像 發表于 10-25 17:46 ?731次閱讀
    干貨分享:<b class='flag-5'>Air</b>780E<b class='flag-5'>開發板</b>如何使用?

    如何使用Air780E開發板?看這篇就夠了!

    ? 一、綜述 CORE-AIR780E 開發板通信推出的基于 Air780E 模組所開發
    的頭像 發表于 10-23 17:07 ?1353次閱讀
    如何使用<b class='flag-5'>Air</b>780E<b class='flag-5'>開發板</b>?看這篇就夠了!

    RNDIS網卡應用看這篇!Air780EP低功耗4G模組AT開發示例

    ** ? 1.1 硬件準備 EVB_Air780EP開發板一套,包括天線、SIM卡; USB線 WIN10以上PC電腦 1.2 軟件準備 串口工具 如果沒有準備,推薦使用LLCO
    的頭像 發表于 09-30 06:59 ?1029次閱讀
    RNDIS網卡應用看這篇!<b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>780EP低功耗4G模組AT<b class='flag-5'>開發</b>示例

    FTP應用看這篇!Air780EP低功耗4G模組AT開發示例

    780EX/Air724UG… **一、相關準備工作 ** ? 1.1 硬件準備 EVB_Air780EP開發板一套,包括天線、SIM卡
    的頭像 發表于 09-29 09:36 ?2160次閱讀
    FTP應用看這篇!<b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>780EP低功耗4G模組AT<b class='flag-5'>開發</b>示例

    低功耗4G模組AIR780EX ——開發板使用說明

    EVB-AIR780EX 開發板通信推出的基于 Air780EX 模組所開發的,包含電源,
    的頭像 發表于 09-11 11:55 ?1183次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>低功耗4G模組<b class='flag-5'>AIR</b>780EX ——<b class='flag-5'>開發板</b>使用說明

    4G模組Air780E開發板使用手冊

    開發板Air780E使用說明
    的頭像 發表于 09-09 18:22 ?1320次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>4G模組<b class='flag-5'>Air</b>780E<b class='flag-5'>開發板</b>使用手冊

    LuatOS開發板Core_Air780EP使用說明

    Core-Air780EP 開發板通信推出的基于 Air780EP 模組所開發的,包含電源
    的頭像 發表于 09-03 17:38 ?967次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>LuatOS<b class='flag-5'>開發板</b>Core_<b class='flag-5'>Air</b>780EP使用說明

    低功耗4G模組Air700EAQ——開發板使用說明

    低功耗4G模組Air700EAQ——開發板使用說明
    的頭像 發表于 08-30 17:14 ?1444次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>低功耗4G模組<b class='flag-5'>Air</b>700EAQ——<b class='flag-5'>開發板</b>使用說明

    LuatOS開發板使用手冊——Air700EAQ

    本文詳細講解了Air700EAQ開發板的使用說明。
    的頭像 發表于 08-28 14:37 ?799次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>LuatOS<b class='flag-5'>開發板</b>使用手冊——<b class='flag-5'>Air</b>700EAQ

    Air700EAQ硬件設計手冊——應用接口2

    Air700EAQ硬件設計的詳細介紹
    的頭像 發表于 08-27 14:23 ?709次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>700EAQ硬件設計手冊——應用接口2

    LuatOS開發板使用手冊——Air700ECQ

    LuatOS開發板使用說明——Air700ECQ
    的頭像 發表于 08-23 16:28 ?855次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>LuatOS<b class='flag-5'>開發板</b>使用手冊——<b class='flag-5'>Air</b>700ECQ

    Air700ECQ硬件設計手冊——應用接口3

    Air700ECQ硬件設計手冊——應用接口部分介紹
    的頭像 發表于 08-22 18:34 ?729次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>700ECQ硬件設計手冊——應用接口3

    Air700ECQ硬件設計手冊——應用接口1

    Air700ECQ硬件設計手冊——應用接口1
    的頭像 發表于 08-21 18:46 ?619次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>700ECQ硬件設計手冊——應用接口1

    Air780EP模塊——AT指令MQTT接入OneNET開發指南

    過程,Air780EP和MQTT是最佳拍檔,讓設備互聯變得輕松又靠譜。想不想試試這簡單又神奇的操作?那就來吧!本文詳細講解了基于Air80EP
    的頭像 發表于 08-19 16:40 ?3818次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>780EP模塊——AT指令MQTT接入OneNET<b class='flag-5'>開發</b>指南

    Air780EP模塊Lua開發阿里云應用指南

    Air780EP模塊Lua開發阿里云超詳細教學!看完包學會!
    的頭像 發表于 08-08 09:00 ?1411次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>780EP模塊Lua<b class='flag-5'>開發</b>阿里云應用指南
    主站蜘蛛池模板: 免费播放特黄特色毛片 | 男人都懂的网址在线看片 | 一区二区三区高清在线 | 四虎影视大全免费入口 | 男人的天堂97 | 欧美日a | 久久久美女视频 | 免费午夜影片在线观看影院 | 午夜三级成人三级 | 日本亚洲成人 | 国产精品第一页在线观看 | 婷婷久久久五月综合色 | 亚洲综合丁香 | 欧美色综合高清免费 | 午夜寂寞视频在线观看 | 美女网站一区二区三区 | 丁香花五月婷婷 | 日韩美香港a一级毛片 | 欧美线人一区二区三区 | 欧美三级视频在线 | 国产精品三级在线播放 | 国产资源在线免费观看 | 日本丝瓜着色视频 | 亚洲国产欧美精品一区二区三区 | 色婷婷视频在线观看 | 免费看黄色片网站 | 五月婷六月 | bt在线www天堂资源网 | 国内精品视频免费观看 | 1024国产基地永久免费 | 天天爽夜夜爽人人爽免费 | 道区二区三区四区 | 特级毛片永久久免费观看 | 亚洲免费一 | 中文一区在线 | 成 人在线观看视频网站 | 久久综合九色综合97_ 久久久 | 黄色三级网站免费 | 在线免费看黄的网站 | 日本不卡免费高清视频 | 亚洲 欧美 另类 吹潮 |