91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內(nèi)不再提示

關于ESP8266的ADC,相關的性能參數(shù)有哪些?

單片機愛好者 ? 來源:未知 ? 2019-11-20 14:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這一節(jié)內(nèi)容比較簡單,就是電壓采樣,在傳統(tǒng)設計中應用還是比較多的。首先看下支持ADC采樣的管腳,找到你手里模塊的原理圖,我的如下所示:

如上所示,U1的2腳為ADC管腳,而且整個模塊有且僅有這一個電壓采集管腳。CDS1是一個光敏電阻,它和R1組成一個分壓電路。不同強度的光照在CDS1上時,會導致它的阻值變化,最終導致ADC管腳上的電壓發(fā)生變化。

那么,關于ESP8266的ADC,相關的性能參數(shù)有哪些?

可以打開手冊:2c-esp8266_sdk_api_guide_cn_v1.5.4,在第26頁,有幾個ADC相關的函數(shù),我們截取其中一個,看一下:

首先是電壓的輸入范圍,也就是ADC的量程:0~1.0V,相比傳統(tǒng)單片機的0~3.3V小了很多。

然后是分辨率:1/1024V。從這個參數(shù)可以知道,這是個10位的AD,只是不知道為何,量程這么小。

接著是三點注意事項:

1、ADC讀取管腳電壓時,需確保管腳連接了外部電路,且沒有超過量程。

這一點很好理解,根據(jù)輸入電壓設計相應的分壓電路,接過來就行了。

2、讀取電壓之前,需要修改esp_init_data_default.bin文件中的第107byte的值,改為VDD3P3管腳3和4上的真實電源電壓值。

先說修改esp_init_data_default.bin文件,這個其實很簡單,因為這個文件是我們燒錄到ESP8266里面的,所以只要找到文件位置,用修改flash的函數(shù)改一下就行。

接下來這句話可能理解起來有點繞,這個VDD3P3管腳3和4是啥?模塊上沒有這兩個管腳啊~

還記得我在前言里面提到過的,ESP8266是樂鑫的芯片,安信可做的模組封裝。所以本文上面的原理圖截圖其實是模塊的管腳分布,并不是真實的芯片管腳。真實的模塊內(nèi)部的芯片原理圖是什么樣?我這里截取其中一部分,看一下:

懂?很簡單。

3、第107byte的值的單位是0.1V,有效取值范圍是18~38.

這個就很好理解了,第二點已經(jīng)說了,第107byte寫入的是VDD3P3管腳的電壓。而我們常用的供電電壓是3.3V,所以要寫入的值是33。因為單位是0.1V,33*0.1V得到3.3V。

接下來看一下這三個函數(shù),system_adc_read() 剛才已經(jīng)看了,它的功能就是讀取ADC電壓值,很簡單,直接調(diào)用讀取就行。

然后是system_get_vdd33(),我們看一下截圖:

簡單來說,是用來測量VDD3P3管腳上的電壓的,可以理解為獲取當前的工作電壓。工作前提必須要確保ADC管腳懸空,同時確保esp_init_data_default.bin的第127byte值為0xFF。

還有一個函數(shù),快速高精度的AD采樣,因為篇幅比較長,這里不截圖了,我總結一下。先看函數(shù)結構:

system_adc_read_fast(uint16 *adc_addr, uint16 adc_num, uint8 adc_clk_div)

注意事項和函數(shù)system_get_vdd33()類似,要限制輸入電壓值、修改107byte的值為VDD3P3,不同的地方在于,使用快速采樣函數(shù)的時候,要關閉wifi和所有中斷。

參數(shù)1:uint16 *adc_addr,ADC連續(xù)采樣輸出的地址指針

參數(shù)2:uint16 adc_num,ADC連續(xù)采樣的點數(shù),范圍1~65535

參數(shù)3:uint8 adc_clk_div,ADC工作時鐘=80M/ adc_clk_div,輸入范圍8~32,建議值8.

假設我們要連續(xù)采樣50次,那么可以定義一個50個元素的數(shù)組,把數(shù)組首地址給參數(shù)1,數(shù)組大小給參數(shù)2,參數(shù)3沒有特殊情況的話默認輸入8.

所以,用過帶DMA功能的ADC的童鞋,會發(fā)現(xiàn)用法很相似。

接下來進入演示部分,以之前的串口程序為模版,增加AD采樣功能,得到的AD值通過串口助手打印輸出。代碼比較簡單,直接看一下主函數(shù)部分:

void ICACHE_FLASH_ATTRuser_init(void){ partition_item_t partition_item; uint16 vdd33 = 33; uint32 flash_r_w[1024]; uart_init(BIT_RATE_115200, BIT_RATE_115200); spi_flash_read(0x1fc*4096, flash_r_w, 4096); flash_r_w[107/4] = flash_r_w[107/4] & !(0xff<<((107%4)*8)); flash_r_w[107/4] = flash_r_w[107/4] | 33; spi_flash_erase_sector(0x1fc); spi_flash_write(0x1fc*4096,flash_r_w,4096); system_init_done_cb(system_done);}

前幾行比較簡單,就是串口初始化。

接下來就到了修改esp_init_data_default.bin文件中的地方,該文件的地址為什么是0x1fc?

第二節(jié)講程序燒錄的時候,曾經(jīng)說過每個文件的地址,如圖:

我的模塊是16Mbit的,esp_init_data_default.bin文件的起始地址是0x1fc000,0x1000等于10進制的4096,所以0x1fc000=0x1fc*4096。

而我們要修改的是該文件的第107byte,而讀寫flash必須要4字節(jié)對齊,所以后面對107做了一些換算。理解不了的建議看一下第八節(jié)。

VDD33是前面定義的變量,值為33,對應3.3V的供電電壓。

很簡單吧?

系統(tǒng)初始化完成的回調(diào)函數(shù)里,我定義了一個軟件定時器,每隔3秒讀取一次ADC的電壓值,并通過串口打印出來:

void system_done(){ wifi_station_disconnect(); os_timer_disarm(&LED_timer); os_timer_setfn(&LED_timer, (os_timer_func_t *)ADC_OUTPUT, NULL); os_timer_arm(&LED_timer, 3000, 1); }void ADC_OUTPUT(){ static adc_value = 0; adc_value = system_adc_read(); os_printf("adc_value is %d ", adc_value);}

細心的人會發(fā)現(xiàn)定義定時器之前有一行代碼:

wifi_station_disconnect();

這是因為我的模塊之前保存了某個環(huán)境下的wifi賬號、密碼。即便主函數(shù)里沒有要求模塊連接wifi,上電后它還是會自動連接,并打印相關信息。所以,加入這一行代碼,讓它不再連接。

這就完了?是的,so easy!

程序修改完成,保存、清理、編譯、下載一條龍,然后重新上電。這里借助串口助手來查看效果。設備上電之后,效果如下所示:

如圖所示,上電后開始輸出ADC采集到的電壓值,前面兩個是200多,后面我用手擋住光敏電阻,導致光敏電阻阻值變大,R1分壓得到的電壓變小,只有40多。

實驗完成。

鏈接:

https://pan.baidu.com/s/1yueZQpULiDklHK22TPqsqA

提取碼:tcfa

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • adc
    adc
    +關注

    關注

    100

    文章

    7511

    瀏覽量

    555916
  • 電壓
    +關注

    關注

    45

    文章

    5773

    瀏覽量

    121824
  • 函數(shù)
    +關注

    關注

    3

    文章

    4417

    瀏覽量

    67499

原文標題:ESP8266_22基于自身ADC的電壓采樣

文章出處:【微信號:gh_dae0718828df,微信公眾號:gh_dae0718828df】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    ESP8266系列】WT8266-S3模組規(guī)格書

    核心處理器ESP8266在較小尺寸封裝中集成了業(yè)界領先的TensilicaL106超低功耗32位微型MCU,帶有16位精簡模式,主頻支持80MHz和160MHz,支
    的頭像 發(fā)表于 02-05 18:04 ?107次閱讀
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S3模組規(guī)格書

    ESP8266系列】WT8266-S5模組規(guī)格書

    處理器ESP8266在較小尺寸封裝中集成了業(yè)界領先的TensilicaL106超低功耗32位微型MCU,帶有16位精簡模式,主頻支持80MHz和160MHz,支持
    的頭像 發(fā)表于 02-05 18:03 ?117次閱讀
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S5模組規(guī)格書

    ESP8266系列】WT8266-S6模組規(guī)格書

    處理器ESP8266在較小尺寸封裝中集成了業(yè)界領先的TensilicaL106超低功耗32位微型MCU,帶有16位精簡模式,主頻支持80MHz和160MHz,支持R
    的頭像 發(fā)表于 02-05 18:03 ?106次閱讀
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S6模組規(guī)格書

    ESP8266系列】WT8266-S1模組產(chǎn)品介紹

    WT8266-S1WiFi模塊是由啟明云端科技開發(fā)的、低功耗高性價比的嵌入式無線網(wǎng)絡控制模塊??蓾M足智能電網(wǎng)、樓宇自動化、安防、智能家居、遠程醫(yī)療等物聯(lián)網(wǎng)應用的需求。該模塊核心處理器ESP8266
    的頭像 發(fā)表于 01-29 18:22 ?357次閱讀
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S1模組產(chǎn)品介紹

    ESP8266系列】WT8266-S6模組產(chǎn)品介紹

    處理器ESP8266在較小尺寸封裝中集成了業(yè)界領先的TensilicaL106超低功耗32位微型MCU,帶有16位精簡模式,主頻支持80MHz和160MHz,支持R
    的頭像 發(fā)表于 01-29 18:22 ?232次閱讀
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S6模組產(chǎn)品介紹

    無需安裝!在瀏覽器里就能玩轉(zhuǎn)ESP32/ESP8266,這個神器絕了!

    無需安裝!在瀏覽器里就能玩轉(zhuǎn)ESP32/ESP8266,這個神器絕了!【往期精選】十年嵌入式最深的痛,不是Bug,而是抓不到日志!vivo宣布原生支持HomeAssistant生態(tài)設備接入(含
    的頭像 發(fā)表于 01-10 10:01 ?826次閱讀
    無需安裝!在瀏覽器里就能玩轉(zhuǎn)<b class='flag-5'>ESP</b>32/<b class='flag-5'>ESP8266</b>,這個神器絕了!

    【瑞薩RA6E2地奇星開發(fā)板試用】使用`RA6E2`驅(qū)動 `ESP8266 WiFi模塊`,調(diào)試AT指令。

    WiFi模塊和串口輸出等,為社區(qū)其他產(chǎn)品的快速開發(fā)、驗證和應用設計提供了示例。 期望瑞薩官方論壇、立創(chuàng)社區(qū)精選此代碼,為社區(qū)提供esp8266 WiFi模塊調(diào)試方案。 7. 相關源碼,見附件。 *附件:esp8266_u
    發(fā)表于 12-25 10:08

    晶科鑫 | 國產(chǎn)26MHz晶振匹配Espressif(樂鑫) ESP8285/ESP8266芯片案例

    【應用】國產(chǎn)26MHz頻率晶振應用于物聯(lián)網(wǎng)WIFI物聯(lián)網(wǎng)模塊(串口轉(zhuǎn)WiFi模塊),Espressif(樂鑫)ESP8285/ESP8266芯片匹配測試OKESP8285其實是ESP8266的升級版
    的頭像 發(fā)表于 11-21 15:37 ?4611次閱讀
    晶科鑫 | 國產(chǎn)26MHz晶振匹配Espressif(樂鑫) <b class='flag-5'>ESP</b>8285/<b class='flag-5'>ESP8266</b>芯片案例

    ESP8266ESP32開發(fā)板常見的2種下載方式

    ESP32和ESP8266是性價比很高而且使用較為廣泛的的Wi-Fi模塊,在物聯(lián)網(wǎng)(IoT)領域的DIY項目中可以首先考慮這2款產(chǎn)品。 兩款芯片都屬于32位處理器。ESP32是低功耗雙核80MHz
    的頭像 發(fā)表于 11-10 20:30 ?956次閱讀
    <b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP</b>32開發(fā)板常見的2種下載方式

    ESP8266ESP32開發(fā)板常見的2種下載方式

    。 ESP8266ESP32都是燒寫的官方的AT固件,直接打開BIN,注意COM口,然后點擊START就可以燒錄了。 總結 ESP32/ESP8266的下載方式主要使用這2種,燒錄
    發(fā)表于 10-24 18:04

    請問一下我想用ESP8685直接替換ESP8266而不用寫程序,可以讓ESP8685直接通過之前ESP8266的外掛的flash運行程序嗎

    請問一下我想用ESP8685直接替換ESP8266而不用寫程序,可以讓ESP8685直接通過之前ESP8266的外掛的flash運行程序嗎
    發(fā)表于 09-17 12:06

    ESP8266】進入透傳模式后,數(shù)據(jù)間隔怎么調(diào)整,

    01.TCP客戶端用ESP8266透傳模式發(fā)送數(shù)據(jù)是10ms發(fā)送一次,(連續(xù)發(fā)送) 02.TCP服務器接收到的數(shù)據(jù)是200ms左右接收一次,數(shù)據(jù)未丟失,但是更新不及時; 03.通過TCP調(diào)試助手已
    發(fā)表于 09-15 10:16

    【RA-Eco-RA6M4開發(fā)板評測】——4.使用ESP8266獲取任意城市的天意預報

    軟件 1.取名RA6M4_ESP 2。選擇芯片 3。繼續(xù) 4。finish完成 5。設置通信串口 首先P110和P109用來打印調(diào)試 配置好參數(shù) ESP8266選擇P100和P101 6。生成代碼
    發(fā)表于 07-23 19:50

    STM32+esp8266連接機智云,上傳溫濕度數(shù)據(jù)并控制繼電器開關(平臺配置、代碼生成、代碼移植)

    本教程將詳細介紹如何將STM32微控制器與ESP8266Wi-Fi模塊連接到機智云平臺,實現(xiàn)溫濕度數(shù)據(jù)的上傳與繼電器的遠程控制。通過此過程,您將學會如何配置機智云平臺,燒錄ESP8266固件,移植
    的頭像 發(fā)表于 07-15 18:54 ?1065次閱讀
    STM32+<b class='flag-5'>esp8266</b>連接機智云,上傳溫濕度數(shù)據(jù)并控制繼電器開關(平臺配置、代碼生成、代碼移植)

    ESP8266燒錄與機智云一鍵配網(wǎng)教程

    ESP8266模塊因其低成本和高性能,廣泛應用于智能家居和工業(yè)自動化等領域。機智云平臺提供了一鍵配網(wǎng)功能,簡化了設備的聯(lián)網(wǎng)過程。本教程將詳細介紹如何使用ESP8266進行燒錄,并通過機智云實現(xiàn)一鍵配
    的頭像 發(fā)表于 05-24 11:04 ?1985次閱讀
    <b class='flag-5'>ESP8266</b>燒錄與機智云一鍵配網(wǎng)教程