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

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
    +關注

    關注

    146

    文章

    17266

    瀏覽量

    351996
  • 設備
    +關注

    關注

    2

    文章

    4533

    瀏覽量

    70772
  • 電動牙刷
    +關注

    關注

    7

    文章

    485

    瀏覽量

    22137
收藏 人收藏

    評論

    相關推薦

    探尋大研智造激光焊錫機:為智能電動牙刷焊接注入新動力

    。傳統焊接技術在面對智能電動牙刷復雜的 PCB 焊接需求時,面臨諸多挑戰。大研智造激光焊錫機憑借其先進技術與創新理念,為智能電動牙刷 PCB 焊接提供了卓越解決
    的頭像 發表于 01-17 13:58 ?14次閱讀

    電動牙刷的充電接口介紹

    電動牙刷與普通牙刷最大的區別就在于一個是電動一個是手動,既然是靠電源驅動的電器,自然避免不了充電問題。而各種樣式的電動牙刷采用的充電接口也有所不同,但大部分都是Type-c和USB充電
    的頭像 發表于 01-15 09:10 ?159次閱讀
    <b class='flag-5'>電動牙刷</b>的充電接口介紹

    電動牙刷的分類有哪些

    在1945年由瑞士philippe-Guyloog牙醫,發明了第一支有線電動牙刷
    的頭像 發表于 01-14 09:53 ?87次閱讀
    <b class='flag-5'>電動牙刷</b>的分類有哪些

    新一代iMask 3全系列電動牙刷介紹

    在追求品質生活的道路上,口腔護理的重要性日益凸顯。今天,我們將為大家隆重介紹新一代 iMask 3 全系列電動牙刷,它以卓越的性能、時尚的外觀和先進的科技,為用戶口腔健康帶來全新的呵護
    的頭像 發表于 12-05 11:27 ?191次閱讀

    拆解電動牙刷

    今天拆解一款 這是粉絲朋友很久之前寄給我的一個損壞的電動牙刷。 這是個聲波電動牙刷,手柄正中間有一個開機按鍵。 手柄中部是幾個模式顯示指示燈和充電狀態指示燈。 尾部是無線充電插槽,這個電動牙刷
    的頭像 發表于 11-20 09:46 ?429次閱讀
    拆解<b class='flag-5'>電動牙刷</b>

    智能電動牙刷的工作原理

    智能電動牙刷逐漸成為很多年輕人的新寵,作為一款消費電子產品,您知道電動牙刷是怎么工作嗎,本文帶您深入了解電動牙刷工作原理。
    的頭像 發表于 09-12 10:37 ?992次閱讀

    解鎖電動牙刷方案新玩法!宇凡微聯合前瞻研究院發布業內首份《電動牙刷伺服電機洞察白皮書》

    宇凡微聯合前瞻研究院耗時三個月對電動牙刷方案開發進行了深度調研,共同發布了《電動牙刷行業洞察白皮書》,白皮書從產業變革角度剖析了電動牙刷伺服電機關鍵技術迭代過程,結合產業大數據和多品牌
    的頭像 發表于 09-06 14:45 ?403次閱讀
    解鎖<b class='flag-5'>電動牙刷</b><b class='flag-5'>方案</b>新玩法!宇凡微聯合前瞻研究院發布業內首份《<b class='flag-5'>電動牙刷</b>伺服電機洞察白皮書》

    峰岹科技推出“掃、振一體伺服控制”電動牙刷方案

    直流無刷電機(BLDC)驅動控制專用芯片研發的企業,針對電動牙刷市場推出了創新技術解決方案——“掃、振一體伺服控制方案”,創新芯片算法可實現精確位置的伺服控制,并
    的頭像 發表于 08-14 08:16 ?672次閱讀
    峰岹科技推出“掃、振一體伺服控制”<b class='flag-5'>電動牙刷</b><b class='flag-5'>方案</b>

    電動牙刷電機專用霍爾元件方案-MH49A3線性傳感器

    由于人們對口腔健康的重視程度不斷提高,對高效清潔口腔工具的需求增加。而電動牙刷有著強大的優勢,電池技術改進,使電動牙刷的續航能力提升;刷頭設計和材料創新,提高清潔效果。滿足不同人群的需求,如兒童
    的頭像 發表于 06-29 08:07 ?439次閱讀
    <b class='flag-5'>電動牙刷</b>電機專用霍爾元件<b class='flag-5'>方案</b>-MH49A3線性傳感器

    掃振伺服電機電動牙刷芯片方案:高效、節能、一鍵掌控!

    隨著科技的不斷進步,智能生活已經悄然走進我們的日常生活。今天,我們自豪地向您介紹一款創新的電動牙刷方案,它不僅提升了您的口腔護理體驗,更是在節能和便捷性上邁出了一大步。核心芯片:FH8F
    的頭像 發表于 06-19 18:11 ?617次閱讀
    掃振伺服電機<b class='flag-5'>電動牙刷</b>芯片<b class='flag-5'>方案</b>:高效、節能、一鍵掌控!

    電動牙刷帶來高精度與低功耗的智慧 霍爾元件(Hallwee)到位檢測

    霍爾微電子生產的HAL4905、4904、930X、590X系列線性霍爾元件,以其卓越的高精度和低功耗特性,為電動牙刷行業帶來了創新的解決方案。我們有理由相信,在未來,這些智慧的元件將繼續引領
    的頭像 發表于 06-04 14:43 ?426次閱讀

    應用方案 | 電動牙刷伺服控制方案

    電動牙刷通過電機的快速運動帶動牙刷頭高頻振動,穩定高效的電機驅動控制方案是提升體驗感的有效方式。領芯微研發的“電動牙刷電機控制方案”,具備掃
    發表于 05-11 13:45 ?913次閱讀
    應用<b class='flag-5'>方案</b> | <b class='flag-5'>電動牙刷</b>伺服控制<b class='flag-5'>方案</b>

    電動牙刷電機專用霍爾元件方案-MH49A3線性傳感器

    MH49A3線性霍爾元件在電動牙刷中的應用可以提高電動牙刷智能化程度、刷牙效果和使用安全性。MST霍爾傳感器廠家MH49A3線性霍爾元件,專為電動牙刷設計。實現不同力度的切換,以滿足
    的頭像 發表于 04-25 11:03 ?578次閱讀
    <b class='flag-5'>電動牙刷</b>電機專用霍爾元件<b class='flag-5'>方案</b>-MH49A3線性傳感器

    無刷電機電動牙刷方案介紹【其利天下技術】

    隨著不同消費群體對電動牙刷功能需求的差異化,將會刺激電動牙刷技術的持續創新,采用無刷電機FOC驅動技術的電動牙刷技術的獨特性必將成為未來各大品牌商角逐的核心競爭力。
    的頭像 發表于 03-27 21:14 ?1544次閱讀
    無刷電機<b class='flag-5'>電動牙刷</b><b class='flag-5'>方案</b>介紹【其利天下技術】

    透明外殼、能播音樂的開源智能電動牙刷

    科技與創意的碰撞,會發生怎樣的奇妙?這款使用透明外殼,能直觀看清內部結構,能播放音樂的賽博風多功能智能電動牙刷,正是工程師朋友的DIY靈感之作。今天特別分享@萌了個芯大佬的開源佳作,一起“喜刷刷”~自制能播音樂的智能
    的頭像 發表于 02-19 12:27 ?1004次閱讀
    透明外殼、能播音樂的開源<b class='flag-5'>智能</b><b class='flag-5'>電動牙刷</b>
    主站蜘蛛池模板: 男女交性视频免费视频| 在线播放真实国产乱子伦| 国产女同在线观看| 黑人黑粗硬视频| 欧美性猛交xxxx黑人猛交| 九九色网站| 手机毛片| 免费看色视频| 在线看片一区| 四虎网址| 巨乳色在线观看| 国产大乳美女挤奶视频| 在线观看精品国产入口| 欧美午夜网| 97夜夜操| 久久中文字幕一区二区| 一区二区视频| 啪啪网视频| 免费视频不卡一区二区三区| 亚洲特级aaaaaa毛片| 日韩美香港a一级毛片| 经典三级第一页| 在线免费看高清视频大全| 欧美黄色成人| yiren22亚洲综合高清一区| 欧美操穴视频| 99久久精品免费观看国产| 四虎新地址4hu 你懂的| 黄色视屏在线免费观看| 天天曰天天操| 手机看片免费永久在线观看| 天天干夜夜噜| 亚洲乱码尤物193yw在线播放| 看a网站| 日韩毛片视频| 岛国片欧美一级毛片| 看黄在线观看| 亚洲www在线| 色婷婷资源网| 欧美日韩亚洲国产一区二区综合| 免费大秀视频在线播放|