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

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

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

3天內不再提示

基于ACM32F030系列MCU的智能電動牙刷方案

上海航芯 ? 來源:上海航芯 ? 作者:上海航芯 ? 2022-02-18 10:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

當代口腔問題頻發,讓人們越來越重視口腔衛生。傳統的刷牙方式,由于個人習慣和刷牙方式的不同,會不同程度地導致牙齦受損,牙菌斑去除不徹底等問題。而電動牙刷設備,基于其相對程序化的刷牙方式,可根據個人口腔特性支持自主選擇,調節刷牙力度。而且在刷牙過程中,不需要過多的手部動作,僅需要調節刷牙的角度,更多的清潔工作交付由牙刷本身的特性來完成。方便人們的同時也更能有效的減少口腔問題。

電動牙刷類型

現在市面上電動牙刷品類繁多,從刷頭的方式可將其分為兩大類型:旋轉式和振動式(也叫聲波式)。

基于ACM32F030系列MCU的智能電動牙刷方案

圖1. 電動牙刷工作方式對比圖

旋轉式電動牙刷是由電機帶動刷頭旋轉,牙面清潔度高,但牙縫清潔能力薄弱且相較于振動式,更易損傷牙釉質。而振動式,由電機帶動刷頭進行上下的高頻振動,高頻擺動的刷頭能高效完成洗刷牙齒的動作,可以讓牙膏與水的混合物產生大量微小的氣泡,氣泡爆裂時產生的壓力可以更深入牙縫達到深度的清潔效果。

振動式的實現有兩種方式,一種由偏心振動電機實現,多用于中低檔的電動牙刷方案。該種方式的電動牙刷振動感強,振動無序。另一種則是采用線性電機,業內也稱之為磁懸浮電機。

基于ACM32F030系列MCU的智能電動牙刷方案

圖2. 磁懸浮電機示意圖

磁懸浮電機的優點在于其在工作運行噪聲小,機身振感低,振動能量集中,清潔效果佳。因此,本文采用ACM32F030作為主控芯片,基于磁懸浮電機提出一款電動牙刷的設計方案。

設計方案

本文描述的電動牙刷方案,是基于上海航芯ACM32F030系列的MCU進行設計,整體的方案框圖如下所示:

基于ACM32F030系列MCU的智能電動牙刷方案

圖3. 基于ACM32F030/070電動牙刷設計方案框圖

ACM32F0X0 系列是一款支持多種低功耗模式的通用MCU。集成12位1.6 Msps高精度ADC以及比較器、運放、觸控按鍵控制器、段式LCD控制器,內置高性能定時器、多路UART、LPUART、SPI、I2C等豐富的通訊外設,內建AES、TRNG等信息安全模塊,支持多種低功耗模式,具有高整合度、高抗干擾、高可靠性的特點。本產品采用ARM Cortex-M0系列內核,最高工作頻率64MHz。足以滿足一般的電動牙刷方案的需求。

? 人機交互系統

本文論述的設計方案中的人機交互功能是采用簡單的LED和按鍵的方式進行實現。共有1個按鍵和6個LED。按鍵需實現設備的開關機以及模式切換功能。設備會根據按鍵按下時間的長短來判定當前的動作是需要切換模式或是開關機操作。6個LED中有3個用于工作模式指示,最大可支持7種工作模式(23-1),本設計方案中僅提供了三種模式。另外3個LED用于系統狀態指示,包括正常,欠壓,充電,充滿4種電壓狀態。

長短按識別程序:

void keyPressHandler(void)
{
  key.isPressed = Key_GetPressValue();
  switch(key.pressState)
  {
    case 0:
      if(key.isPressed)
      {
        key.pressTime = 0;
        key.pressState = 1;
      }
      break;
    case 1:    /*  eliminate jitter  */
      if(key.isPressed)
      {
        if(++key.pressTime > 10)
          key.pressState = 2;
      }
      else
        key.pressState = 0;
      break;
    case 2:    /*  whether long press is existed  */
      if(key.isPressed)
      {
        if(++key.pressTime > LONG_PRESS_TIME)
          key.pressState = 3;
      }
      else
      {
        if(key.shortPressHandler != NULL)
          key.shortPressHandler();
        else
          DEBUG_KEY("have no short press handler!!\r\n");
        key.pressState = 0;
      }
      break;
    case 3:
      if(key.longPressHandler != NULL)
        key.longPressHandler();
      else
        DEBUG_KEY("have no long press handler!!\r\n");
      key.pressState = 4;
      break;
    case 4:    /*  wait for releasing key  */
      if(key.isPressed == 0)
        key.pressState = 0;
      break;
  }
}

工作指示程序:

void appMotorModeLedControl(void)
{
  static uint8_t state = 0xFF;
  
  if(sys.status == SYSTEM_RUNMODE)
  {
    if(state != sys.motorStatus)
    {
      state = sys.motorStatus;
      if(sys.motorStatus == 0)
      {
        ModeLed_Select(MODE_LED_1, MODE_LED_ON);
      }
      else if(sys.motorStatus == 1)
      {
        ModeLed_Select(MODE_LED_2, MODE_LED_ON);
      }
      else if(sys.motorStatus == 2)
      {
        ModeLed_Select(MODE_LED_3, MODE_LED_ON);
      }
    }
  }
  else
  {
    state = 0xFF;
    ModeLed_Select(MODE_LED_UNKNOWN, MODE_LED_OFF);
  }
}

系統指示程序:

void appSysLedController(void)
{
  static uint8_t led_state = 0xFF;
  
  if(led_state != led.state)
  {
    led_state = led.state;
    if(led.state == LED_OFF)
    {
      led.duty = 0;
      PowerLed_Select(PWR_LED_UNKNOWN, PWR_LED_OFF);
      PWM_dutySet(PWM_LED, led.duty);
    }
    else if(led.state == LED_TWINKLE)    // low power warning
    {
      led.duty = 0;
      PowerLed_Select(PWR_LED_R, PWR_LED_ON);
      PWM_dutySet(PWM_LED, led.duty);
    }
    else if(led.state == LED_ON)
    {
      led.duty = 0;
      PowerLed_Select(PWR_LED_R, PWR_LED_OFF);
      PWM_dutySet(PWM_LED, led.duty);
    }
    else if(led.state == LED_BREATHE)
    {
      if(led.duty == PWM_DUTY_MAX)
        led.dir = LED_FADE;
      else
        led.dir = LED_BRIGHTER;
    }
    else
      led.state = LED_OFF;
  }
  else{
    if(led.state == LED_BREATHE)
    {
      PowerLed_Select(PWR_LED_UNKNOWN, PWR_LED_OFF);
      if(led.dir == LED_BRIGHTER)
      {
        if(led.duty < PWM_DUTY_MAX)
          led.duty += BREATHE_INTERVAL;
        else
        {
          if(++led.cnt > BREATHE_HOLD_TIME)
          {
            led.dir = LED_FADE;
            led.cnt = 0;
          }
        }
      }
      else
      {
        if(led.duty > BREATHE_INTERVAL)
          led.duty -= BREATHE_INTERVAL;
        else
        {
          led.duty = 0;
          if(++led.cnt > BREATHE_HOLD_TIME)
          {
            led.dir = LED_BRIGHTER;
            led.cnt = 0;
          }
        }
      }
      PWM_dutySet(PWM_LED, led.duty);
    }
  }
}

電源及功耗管理

電動牙刷產品的續航能力也是一直備受人們關注。本設計方案在低功耗的處理,摒棄了一般的休眠方式,直接采用關閉電源來避免設備在不工作狀態下的設備功耗。整個設備的供電線路共有三種,如下圖所示。電動牙刷產品的續航能力也是一直備受人們關注。本設計方案在低功耗的處理,摒棄了一般的休眠方式,直接采用關閉電源來避免設備在不工作狀態下的設備功耗。整個設備的供電線路共有三種,如下圖所示。

基于ACM32F030系列MCU的智能電動牙刷方案

圖4. 基于ACM32F030的電動牙刷供電電路(部分)

正常情況下,設備不在充電時,VCHARG電壓為0,需要關機時,按鍵彈開,PWR_KEY為低電平,芯片內部程序也將PWR_LOCK拉低,此時Q2關斷,Q2的D極電壓同VBAT,從而引起Q1斷開,VCCIN斷電,系統關機。而開機時,按鍵按下,PWR_KEY先被拉至高電平,Q2導通,Q2的D極拉低,則Q1導通,設備供電,程序檢測到開機,拉高PWR_LOCK,此時,盡管按鍵彈開,PWR_LOCK仍然會提供Q2的導通電壓,系統正常工作。充電時,Q2的導通電壓會由VCHARG提供,系統保持在工作狀態,此時會程序會檢測系統的運行狀態,在不需要啟動時,進入休眠狀態。

電源管理部分,則通過鋰電池充電芯片檢測是否進行充電,同時通過一路ADC監測電池電壓。為減少芯片工作負擔,電池電壓的欠壓和滿電通過ADC門限電壓功能來實現。ADC的門限電壓初始化程序如下:

// ADC Watchdog config
  ADC_WDT_Handle.ITMode      = ENABLE;
  ADC_WDT_Handle.WatchdogMode  = ADC_ANALOGWATCHDOG_RCH_ALL;
  ADC_WDT_Handle.Channel      = channel;
  ADC_WDT_Handle.HighThreshold  = (HIGH_POWER_THS * 0x0FFF) / VREF ;
  ADC_WDT_Handle.LowThreshold  = (LOW_POWER_THS * 0x0FFF) / VREF ; 

智能管理系統

智能管理系統分為兩個部分,一部分為上位機的數據處理,由云端處理,另一部分是電動牙刷數據記錄和傳輸。整個的實現過程可簡述為,電動牙刷通過慣性測量儀QMI8658C記錄電動牙刷在使用過程中的運動軌跡,并實時將該部分數據以及整個系統的工作參數通過BLE發送到手機,手機連接云端,并將數據傳輸至云平臺進行數據解析,分析用戶刷牙的健康指數,并將相關建議反饋至手機。電動牙刷作為數據采集設備,需上報實時數據,結構如下:

typedef __packed struct{
  uint32_t time;          // This shows the relative time of each activity
  uint16_t location[3];        // This shows the acceleration of brush when using
  uint16_t pressure;        // This is the force between tooth and brush
  uint16_t angle[3];        // This shows the angle between brush
  
}BLE_RealTimeDataDef;        // This define the data structure about brushing tooth in real time

其中,location為三軸的加速度,angle為三軸的角度。定時上傳電動牙刷的相關實時數據。上位機根據一系列點位數據進行建模計算可得到整個牙刷的運動軌跡。

電機驅動系統

電動牙刷的驅動系統是通過H橋芯片MX612E進行處理,MX612E的輸入端連接芯片的PWM互補輸出端口。如下圖所示:

基于ACM32F030系列MCU的智能電動牙刷方案

圖5. 電動牙刷電機驅動電路

本設計中的電動牙刷采用磁懸浮電機,內部構造和直流無刷電機相似,但相比于直流無刷電機,其僅有兩相輸入端。這也就造成該電機在通電后,正負極不變的情況下,電機旋轉至某一角度形成平衡后將會停止旋轉。切換正負極后則又會在另一個方向旋轉形成平衡。在電動牙刷的正常工作中,是通過兩相的正負極切換來使電機正反旋轉從而帶動刷頭做高頻運動的。因此,其電機速度的控制依靠于輸出PWM的輸出頻率而非占空比。控制代碼如下:

void PWM_freqSet(uint8_t PWMx, uint16_t freq)
{
  uint32_t arr;
  if(IS_PWM_INSTANCE(PWMx) == 0)  return;
  if(freq == 0)
  {
    TIM15->ARR = 0;
    return;
  }
  if(freq > PWM_FREQ_MAX)  freq = PWM_FREQ_MAX;
  if(freq < PWM_FREQ_MIN) freq = PWM_FREQ_MIN;
  arr = (PWM_TIMER_FRE / freq);
  if(PWMx == PWM_MOTOR)
  {
    TIM15->ARR = arr-1;
    TIM15->CCR1 = arr / 2;
  }
}

上例中,PWM的占空比為50%,使得在一個PWM周期內,電機可完成一次往返運動。

本文提出的設計方案的主旨是將電動牙刷智能化,在提高人們刷牙效率的同時,也能達到進一步保證人們刷牙質量的目的。通過電動牙刷對慣性的數據采集,實時上傳至云端,并對數據進行處理,恢復用戶的刷牙軌跡,給出合理建議,糾正用戶不良的刷牙習慣。磁懸浮電機的高頻振動也能有效清除口腔污漬。歲月恒久遠,牙齒永相隨 。

審核編輯:湯梓紅

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

    關注

    147

    文章

    18925

    瀏覽量

    398276
  • 設備
    +關注

    關注

    2

    文章

    4835

    瀏覽量

    73738
  • 電動牙刷
    +關注

    關注

    7

    文章

    503

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    案例分析:徠芬透明探索版掃振電動牙刷 i2

    前言徠芬近期推出了新一代掃振電動牙刷i2,針對不同審美與需求,徠芬一口氣設計了ABS、透明探索版、鋁合金三種款式。其中透明探索版采用高透光PC材質以及AF防指紋涂層外殼,由下而上進行漸變透明無縫
    的頭像 發表于 12-25 09:59 ?504次閱讀
    案例分析:徠芬透明探索版掃振<b class='flag-5'>電動牙刷</b> i2

    電動牙刷氣密性檢測儀能檢測哪些密封缺陷-岳信儀器

    “剛買的電動牙刷,用了半年就進水短路!”不少人都遇到過這種糟心情況,根源往往是出廠時密封缺陷沒被檢出。作為電動牙刷品質把控的“火眼金睛”,氣密性檢測儀到底能揪出哪些密封隱患?今天就為大家詳細拆解
    的頭像 發表于 11-13 17:01 ?684次閱讀
    <b class='flag-5'>電動牙刷</b>氣密性檢測儀能檢測哪些密封缺陷-岳信儀器

    【應用方案】告別“盲刷”:艾為壓力感應方案電動牙刷實現“力度自由”

    、濺水與續航煩惱。真正的智能,應懂得“感知”與“呵護”。艾為電子推出的壓力感應方案,讓電動牙刷具備精確的壓力感知和智能響應能力,當沒有壓力時,避免濺水;當壓力過大時
    的頭像 發表于 10-28 09:02 ?443次閱讀
    【應用<b class='flag-5'>方案</b>】告別“盲刷”:艾為壓力感應<b class='flag-5'>方案</b>讓<b class='flag-5'>電動牙刷</b>實現“力度自由”

    KAGA FEI無線模塊在電動牙刷中的應用優勢

    如今,人們居家時間更長,健康意識也更強。在此背景下,電動牙刷憑借其功能特點受到了更多關注。
    的頭像 發表于 09-24 15:14 ?746次閱讀

    解析電動牙刷氣密性檢測儀:負壓檢測技術的工作原理

    電動牙刷的生產過程中,氣密性是一項至關重要的指標,它直接關系到電動牙刷的性能和使用壽命。而負壓檢測技術在電動牙刷氣密性檢測儀中發揮著關鍵作用,下面我們就來詳細解析其工作原理。負壓檢測技術的核心在于
    的頭像 發表于 09-22 14:41 ?681次閱讀
    解析<b class='flag-5'>電動牙刷</b>氣密性檢測儀:負壓檢測技術的工作原理

    電動牙刷氣密性檢測儀如何保障IPX8級防水-岳信儀器

    在口腔護理領域,電動牙刷越來越受歡迎。而具備IPX8級防水的電動牙刷,能讓我們在各種場景下放心使用,不用擔心進水損壞。電動牙刷氣密性檢測儀在保障IPX8級防水方面起著至關重要的作用。IPX8級防水
    的頭像 發表于 09-19 11:03 ?891次閱讀
    <b class='flag-5'>電動牙刷</b>氣密性檢測儀如何保障IPX8級防水-岳信儀器

    電動牙刷震動均勻:鋁電解電容讓電機供電 “不忽強忽弱

    電動牙刷作為現代口腔護理的重要工具,其核心性能之一便是電機驅動的穩定性。而電機能否保持均勻震動,直接關系到刷牙效果的舒適性和清潔效率。近年來,隨著鋁電解電容技術的進步,電動牙刷的供電系統得到了顯著
    的頭像 發表于 09-18 15:37 ?521次閱讀
    <b class='flag-5'>電動牙刷</b>震動均勻:鋁電解電容讓電機供電 “不忽強忽弱

    廣州唯創電子WTVxxx系列語音芯片在兒童電動牙刷中的應用介紹

    體驗,廣州唯創電子WTVxxx系列語音芯片(又稱聲音播報芯片、語音IC)被廣泛應用于兒童電動牙刷中,為孩子們帶來了更有趣、更智能的刷牙體驗。一、WTVxxx系列
    的頭像 發表于 09-15 09:48 ?621次閱讀
    廣州唯創電子WTVxxx<b class='flag-5'>系列</b>語音芯片在兒童<b class='flag-5'>電動牙刷</b>中的應用介紹

    7V/1.8A直流電機驅動器適用于電動玩具/電動牙刷/電子茶具/電子鎖等

    PC6200直流電機驅動特點:#單通道內置功率 MOS 全橋驅動#驅動前進、后退、停止及剎車功能#欠壓保護,短路保護,自適應死區#過熱保護功能#低導通電阻(0.2Ω)#最大連續輸出電流可達1.8A,峰值2.5A#封裝形式SOP-8,SOT23-6產品應用:#玩具馬達驅動#電子鎖#電動牙刷#
    發表于 08-21 15:41

    廣州唯創電子WT2605C音頻藍牙語音芯片在電動牙刷的應用方案介紹

    在口腔護理智能化浪潮中,廣州唯創電子推出革命性電動牙刷解決方案——創新融合藍牙版WT2605C、MP3版WT2003H、語音芯片版WTV890三大核心芯片,通過多維度功能集成與語音深度定制能力,為
    的頭像 發表于 07-09 08:42 ?668次閱讀
    廣州唯創電子WT2605C音頻藍牙語音芯片在<b class='flag-5'>電動牙刷</b>的應用<b class='flag-5'>方案</b>介紹

    基于CW32L010單片機的掃振一體電動牙刷應用方案

    馬達空間(深圳) 科技有限公司開發的這款掃振一體電動牙刷方案,憑借CW32L010高集成度、低功耗特性和豐富外設資源,可實現高效電機控制、多檔刷牙振動切換、TFT 屏幕顯示等功能。
    的頭像 發表于 06-17 09:49 ?881次閱讀
    基于CW32L010單片機的掃振一體<b class='flag-5'>電動牙刷</b>應用<b class='flag-5'>方案</b>

    基于CW32L010單片機的掃振一體電動牙刷應用方案

    大幅擺動實現了高效的刷牙方式,這種設計能夠更高效地清潔牙齒和牙齦溝,為用戶帶來全新的潔牙體驗?。本文將介紹武漢芯源半導體CW32L010單片機在掃振一體電動牙刷上的應用方案。 圖1:電動牙刷
    發表于 06-17 09:38

    MOS管在電動牙刷中的應用分析

    電動牙刷的電機驅動與電源管理系統中,MOS管作為核心功率開關器件,直接決定了產品的效率、續航及可靠性。合科泰電子針對旋轉式與聲波式電動牙刷的不同需求,通過SGT工藝MOS管(如HKTQ50N03
    的頭像 發表于 06-06 16:51 ?758次閱讀
    MOS管在<b class='flag-5'>電動牙刷</b>中的應用分析

    電動牙刷品控:為何必須氣密性檢測?

    電動牙刷作為日常高頻使用的個人護理產品,其防水性能直接關系到用戶體驗和產品壽命。然而,許多消費者曾遇到過電動牙刷進水、短路甚至漏電的情況,這些問題往往源于生產環節的氣密性檢測疏漏。那么
    的頭像 發表于 05-17 11:37 ?692次閱讀
    <b class='flag-5'>電動牙刷</b>品控:為何必須氣密性檢測?

    避坑指南:選購電動牙刷氣密檢測儀的5個致命誤區

    電動牙刷行業,“防水性能”是決定產品口碑的核心指標之一。一支標稱IPX7防水的電動牙刷若因氣密性不達標導致進水短路,輕則引發消費者投訴,重則觸發大規模召回。而電動牙刷氣密檢測儀作為產品質量
    的頭像 發表于 03-25 15:44 ?633次閱讀
    避坑指南:選購<b class='flag-5'>電動牙刷</b>氣密檢測儀的5個致命誤區