性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

  • 回復(fù)
  • 收藏
  • 點(diǎn)贊
  • 分享
  • 發(fā)新帖

【技術(shù)盛宴】基于MCU內(nèi)部資源同時(shí)實(shí)現(xiàn)——Touch +PWM調(diào)光+EEPROM記憶

     許久沒來電源網(wǎng),似乎有些許生分了,盡管如此,但始終默默關(guān)注著!

由于今年經(jīng)歷了來深7年后的第二次離職——找工作-——跳槽——適應(yīng)新環(huán)境——接收一堆電源案子的開發(fā)——目前正在徘徊中。

趁著這次年尾活動(dòng)也來湊個(gè)份子,熱鬧熱鬧。

          此貼屬入門貼,咱只管露臉,不管深淺!

名稱:觸摸無極調(diào)光電路(二次電路調(diào)光)

所用器件:?jiǎn)纹瑱C(jī)PIC12F1822/1PCS、  12V恒壓電源/一個(gè)、12VLED燈負(fù)載/一個(gè)

應(yīng)用:調(diào)光臺(tái)燈或壁燈

功能說明:

      1.利用單片機(jī)內(nèi)部資源實(shí)現(xiàn)觸摸開和關(guān),亮度加減以及當(dāng)前亮度記憶。

     2.通電后亮度漸變到上次斷電后的亮度狀態(tài)。

    3. 觸摸時(shí)間小于1S,屬于開關(guān)模式

    4. 觸摸時(shí)間大于等于1S,屬于亮度加減模式

所以本帖需要講的就是三個(gè)方面:

     1. 利用單片機(jī)內(nèi)部電容傳感資源,利用定時(shí)器讀取、判斷觸摸與非觸摸,給PWM調(diào)光提供條件。例如觸摸長(zhǎng)按或短按

     2. 利用單片機(jī)內(nèi)部PWM模塊實(shí)現(xiàn)PWM無極調(diào)光

     3.利用單片機(jī)內(nèi)部EEPROM實(shí)現(xiàn)保存當(dāng)前亮度

先露露咱開發(fā)的超薄30W 12V/24V恒壓適配電源,留有一個(gè)PWM調(diào)光接口,總高度小于13.5MM

電源參數(shù):Ip/100-240V 50/60HZ  PF>0.95 THDi/6.5%@230VAC  EF>0.85  

              OP/24V 1.25A/12V2.5A 

簡(jiǎn)易應(yīng)用接線示意圖

   

電路原理圖

全部回復(fù)(47)
正序查看
倒序查看
2015-12-25 14:35
歡迎回歸  請(qǐng)繼續(xù)~~
0
回復(fù)
daihui713
LV.6
3
2015-12-25 15:58

以上是理想的接線方式,真實(shí)環(huán)境是這樣的……

拼湊接線方式

0
回復(fù)
daihui713
LV.6
4
2015-12-25 17:13

   1.采用PIC12F1822單片機(jī), 8M/16M以及PLL*4=32M內(nèi)置時(shí)鐘 可供選擇

   2. 四通道電容傳感寄存器設(shè)置

   3. 一路10位PWM CCP寄存器

   4. 內(nèi)置256字節(jié) EEPROM寄存器

 附件是Microhip官方給出的觸摸學(xué)習(xí)資料,供大家下載  

PIC12F1822 中文Datesheet.pdf

電容觸摸傳感簡(jiǎn)介.pdf

電容觸摸傳感布板和物理設(shè)計(jì)指南.pdf

電容觸摸傳感軟件處理.pdf

0
回復(fù)
daihui713
LV.6
5
2015-12-25 17:36
@daihui713
  1.采用PIC12F1822單片機(jī),8M/16M以及PLL*4=32M內(nèi)置時(shí)鐘可供選擇  2.四通道電容傳感寄存器設(shè)置  3.一路10位PWMCCP寄存器  4.內(nèi)置256字節(jié)EEPROM寄存器 附件是Microhip官方給出的觸摸學(xué)習(xí)資料,供大家下載  [圖片]PIC12F1822中文Datesheet.pdf電容觸摸傳感簡(jiǎn)介.pdf電容觸摸傳感布板和物理設(shè)計(jì)指南.pdf電容觸摸傳感軟件處理.pdf

實(shí)現(xiàn)Touch判斷,軟件流程圖如下:

0
回復(fù)
2015-12-28 10:06
好帖子標(biāo)記下,推薦上頭條嘍~
0
回復(fù)
2015-12-28 10:28
戴工的新帖終于來了,贊一個(gè)!~~
0
回復(fù)
2015-12-29 08:56
@daihui713
  1.采用PIC12F1822單片機(jī),8M/16M以及PLL*4=32M內(nèi)置時(shí)鐘可供選擇  2.四通道電容傳感寄存器設(shè)置  3.一路10位PWMCCP寄存器  4.內(nèi)置256字節(jié)EEPROM寄存器 附件是Microhip官方給出的觸摸學(xué)習(xí)資料,供大家下載  [圖片]PIC12F1822中文Datesheet.pdf電容觸摸傳感簡(jiǎn)介.pdf電容觸摸傳感布板和物理設(shè)計(jì)指南.pdf電容觸摸傳感軟件處理.pdf
學(xué)習(xí)了,支持?。。?!
0
回復(fù)
daihui713
LV.6
9
2015-12-29 12:46
@電源網(wǎng)-fqd
好帖子標(biāo)記下,推薦上頭條嘍~
多謝!  重在參與
0
回復(fù)
daihui713
LV.6
10
2015-12-29 12:50
@電源網(wǎng)-娜娜姐
戴工的新帖終于來了,贊一個(gè)!~~
多謝,娜娜。  以后你應(yīng)該多找些單片機(jī)的大咖來發(fā)發(fā)貼,  知識(shí)點(diǎn)會(huì)更全面些。 
0
回復(fù)
daihui713
LV.6
11
2015-12-29 13:22
@daihui713
實(shí)現(xiàn)Touch判斷,軟件流程圖如下:[圖片]

以往我們都是直接利用市面上固化好的專用觸摸IC來作為按鍵輸入對(duì)接單片機(jī)。 然而這觸摸的原理——這個(gè)黑匣子我們始終不得而知

所以在這里,我就簡(jiǎn)易的說說PIC這款單片機(jī)IO口作為觸摸輸入引腳的黑匣子原理:

1.當(dāng)IO口作為觸摸引腳時(shí),一旦當(dāng)人體觸摸焊盤時(shí),由于人體自身電容引起的振蕩打破了原有的充放電的常態(tài),與內(nèi)部基準(zhǔn)做比較,引起了頻率的漂移。

  準(zhǔn)確是引起頻率變低。

  

如下圖:C2OUT就是比較后的輸出————這個(gè)可以作為TIME1計(jì)數(shù)的時(shí)鐘來源

*

2.  C2OUT比較后的輸出作為TIME1計(jì)數(shù)的時(shí)鐘來源,然后再用一個(gè)定時(shí)器,如TIME0設(shè)定一個(gè)固定時(shí)基來時(shí)時(shí)讀取TIME1中TIME1H和TIME1L 的計(jì)數(shù)值

*

3. 每抓取一次,就和上一次沒有觸摸時(shí)所求的平均值來做比較,這樣就可以判斷當(dāng)前是否有觸摸

  if(當(dāng)前值<上一次沒有觸摸時(shí)的平均值) , 已觸摸。else ,無觸摸  

      

  

0
回復(fù)
daihui713
LV.6
12
2015-12-30 12:52
@daihui713
以往我們都是直接利用市面上固化好的專用觸摸IC來作為按鍵輸入對(duì)接單片機(jī)。然而這觸摸的原理——這個(gè)黑匣子我們始終不得而知所以在這里,我就簡(jiǎn)易的說說PIC這款單片機(jī)IO口作為觸摸輸入引腳的黑匣子原理:1.當(dāng)IO口作為觸摸引腳時(shí),一旦當(dāng)人體觸摸焊盤時(shí),由于人體自身電容引起的振蕩打破了原有的充放電的常態(tài),與內(nèi)部基準(zhǔn)做比較,引起了頻率的漂移。 準(zhǔn)確是引起頻率變低。  如下圖:C2OUT就是比較后的輸出————這個(gè)可以作為TIME1計(jì)數(shù)的時(shí)鐘來源[圖片]*2. C2OUT比較后的輸出作為TIME1計(jì)數(shù)的時(shí)鐘來源,然后再用一個(gè)定時(shí)器,如TIME0設(shè)定一個(gè)固定時(shí)基來時(shí)時(shí)讀取TIME1中TIME1H和TIME1L的計(jì)數(shù)值*3.每抓取一次,就和上一次沒有觸摸時(shí)所求的平均值來做比較,這樣就可以判斷當(dāng)前是否有觸摸 if(當(dāng)前值

針對(duì)TOUCH判斷的函數(shù)需要在中斷里面完成,而中斷的時(shí)間就是你設(shè)定的掃描時(shí)基:

1. 對(duì)于中斷, 你可以采用定時(shí)器最常用的溢出中斷,也可以采用定時(shí)器門控中斷,一般PIC單片機(jī)都會(huì)有定時(shí)器1的門控中斷

   本文采用的就是利用定時(shí)器0做時(shí)基,作為定時(shí)器1計(jì)數(shù)器的門控條件————簡(jiǎn)單來說就定時(shí)器0時(shí)間一到,就進(jìn)入定時(shí)器1中斷,然后在定時(shí)器1里面

   讀取觸摸變化頻率計(jì)數(shù)值, 然后做觸摸判斷

  定時(shí)器初始化如下:

   void timer_init()                    //定時(shí)器0 定時(shí)1初始化

  {

        OPTION_REG=0X82;       //8分頻比

        TMR0=0X06;                   //1ms 時(shí)基     TMR1大概計(jì)數(shù)500,電容振蕩頻率500KHZ   

        T1CON=0XC5;        //預(yù)分頻1:1 使能TMR1  時(shí)鐘源為TMR1計(jì)數(shù)

        TMR1L=0;

        TMR1H=0;

        T1GCON=0XE1;    //翻轉(zhuǎn)模式 TMR0溢出門控

        TMR1GIF=0;           //門控中斷標(biāo)志位

        TMR1GIE=1;

        PEIE=1;             //開外設(shè)中斷

       GIE=1;              //開總中斷

  }

2. 觸摸判斷函數(shù)需要在中斷內(nèi)完成

  2.1 觸摸判斷函數(shù)盡量要簡(jiǎn)單,不能有其他任務(wù)執(zhí)行函數(shù),以免影響觸摸判斷無效

  2.2 對(duì)于判斷方法可以參考——PIC附件文檔(觸摸傳感軟件處理)里面有介紹三種方式:

       1. 直接判斷法

      2. 百分比判斷法

      3. 百分比選擇法

      

   而然本文采用第一種改良后的方法——————讀值直接判斷法+百分比判決水平

          if (當(dāng)前值) < (上次松手后刷新的平均值— 觸摸判決固定值)   ————————?jiǎng)t 已觸摸

      else 沒有觸摸

           

     觸摸判決固定值——————可以設(shè)為上次松手后刷新的平均值)百分之多少,這個(gè)作為你觸摸的條件

    實(shí)例如下:

    

      value=(uint)(TMR1H<<8)+TMR1L;             //讀取當(dāng)前值

        if(value<(uint)(avg[index]*90/100))        //如果有觸摸

             button1=1;                                    //標(biāo)志位置1

        else if(value>((uint)(avg[index]*90/100)+20))         //否則無觸摸

        {

                 button1=0;

                 if (AvgIndex<2)AvgIndex++;           //慢慢更新平均值 

                else AvgIndex=0;

                if (AvgIndex==2)

                    avg[index]=(uint)((value+avg[index]*15)/16);              //16位 加權(quán) 求平均值

         }

    

           

0
回復(fù)
haik
LV.4
13
2015-12-30 13:15
@daihui713
多謝,娜娜。 以后你應(yīng)該多找些單片機(jī)的大咖來發(fā)發(fā)貼, 知識(shí)點(diǎn)會(huì)更全面些。 
好活動(dòng)項(xiàng)一下
0
回復(fù)
yang81
LV.2
14
2015-12-30 17:13
不錯(cuò)
0
回復(fù)
xulihua668
LV.1
15
2015-12-31 10:10
0
回復(fù)
peter_yu
LV.5
16
2016-01-10 21:52
@xulihua668
[圖片]
高手啊,謝謝分享!
0
回復(fù)
杜十娘
LV.2
17
2016-01-14 13:59

不錯(cuò)喲

0
回復(fù)
pietyknight
LV.5
18
2016-02-12 15:25
樓主太強(qiáng)大了!
0
回復(fù)
newriver
LV.1
19
2016-02-14 12:17
DINGDING
0
回復(fù)
tt98650207
LV.1
20
2016-02-14 17:20
呵呵,來看看熱鬧!
0
回復(fù)
1150270716
LV.2
21
2016-02-15 09:43
學(xué)習(xí)學(xué)習(xí)
0
回復(fù)
2016-02-15 10:08
參觀學(xué)習(xí),向首長(zhǎng)致敬。
0
回復(fù)
skymxh
LV.2
23
2016-02-16 14:31
看看
0
回復(fù)
miar
LV.1
24
2016-02-16 14:53
回帖拿經(jīng)驗(yàn),順便問一句國(guó)產(chǎn)的MCU帶觸摸功能的高手有沒有用過呢!
0
回復(fù)
2016-02-21 18:09
學(xué)習(xí)
0
回復(fù)
zs0619
LV.1
26
2016-02-22 16:05
不錯(cuò) 看一下回復(fù)
0
回復(fù)
kan850929
LV.2
27
2016-02-23 09:09

很好的案例

0
回復(fù)
ennuo
LV.1
28
2016-02-23 12:25
快快快快快快快快
0
回復(fù)
zhck
LV.3
29
2016-02-24 15:00
看看學(xué)習(xí)
0
回復(fù)
luck_gfb
LV.7
30
2016-02-25 08:45
0
回復(fù)
2016-02-25 09:11
回復(fù)學(xué)習(xí) 
0
回復(fù)
發(fā)