找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1341|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

msp430單片機控制的電動牙刷方案 DRV8850RGY+SN74LVC1G80DCK

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1073328 發(fā)表于 2023-4-22 09:59 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
電動牙刷控制器采用了德州儀器 (TI) 低電壓 H 橋電機驅(qū)動器與集成式 LDO 電壓穩(wěn)壓器和超低功耗微控制器 (MCU),旨在展示電池供電型電動牙刷的全面實施方案。
特性
•    電池電壓范圍從 2V 到 5.5V
•    提供 5A 連續(xù)電流和 8A 峰值驅(qū)動電流
•    PCB 外形小巧:43.2 x 14.6mm
•    組件數(shù)量少,可降低成本
•    在關(guān)閉時電池漏電流小于 50nA
電動牙刷控制器電路框圖:
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


單片機源程序如下:
#include "msp430.h"

// Port 1 output definitions
#define IN1H            BIT7    // P1.7
#define IN1L            BIT2    // P1.2
#define IN2H            BIT5    // P1.5
#define IN2L            BIT6    // P1.6

// Define output PWM waveform parameters
#define t_OFF            750        // Time that both outputs maintain low; 5*150
#define t_ON            1350    // Time that one output maintains high; 9*150

volatile unsigned int count;

int main(void)
{
    // Setup CLKs

    // Stop watchdog timer
    WDTCTL = WDTPW + WDTHOLD;

    // 1MHZ DCO
    BCSCTL1 = CALBC1_1MHZ;
    DCOCTL = CALDCO_1MHZ;

    // Configure all GPIO with pulldowns
      P1REN  = BIT7 + BIT6 + BIT5 + BIT4 + BIT3 + BIT2 + BIT1 + BIT0;
      P2REN  = BIT7 + BIT6;

      // Set the four GPIO pins as OUTPUT
      P1DIR = 0xE4;

      // Set default GPIO settings
      P1OUT  = 0x00;
      P2OUT  = 0x00;

    // Setup Timer
    TACCTL0= CCIE;            // Enable Interrupts on Timer
    TACCR0 = 150-1;            // Number of cycles in the timer
    TACTL = TASSEL_2;        // Use SMCLK as source for timer
    TACTL |= MC_1;            // Use UP mode timer

    // Enters low power mode and enables interrupt
    __bis_SR_register(LPM0_bits + GIE);

}     // main

#pragma vector = TIMERA0_VECTOR
/*         |      ____         |            |                 |
*     IN1H | __|      |_______ |            |                 |
*          |              ____ |            |    ____         |
*     IN1L | __________|      ||        OUT1|__|    |________|
*          |              ____ |            |            ____ |
*     IN2H | __________|      ||        OUT2|__________|    ||
*          |      ____         |            |                 |
*     IN2L | __|      |________|            |                 |
*/
__interrupt void CCR0_ISR(void)    {

    count++;                        // Increment count upon every interrupt

    if         (count == 5)            // 750 uS
            P1OUT = IN1H + IN2L;    // OUT1 high

    else if (count == 14)            // 2100 uS
            P1OUT = IN1L+IN2L;        // Slow decay

       else if (count == 19)            // 2850
               P1OUT = IN2H + IN1L;    // OUT2 high

    else if (count == 28)    {        // 4200
            P1OUT = IN1L+IN2L;        // Slow decay
            count = 0;
    }
    else    {
        // Do nothing
        }
}//interrupt

電動牙刷方案.zip

3.36 MB, 下載次數(shù): 25, 下載積分: 黑幣 -5

電動牙刷方案.pdf

9.81 MB, 下載次數(shù): 14, 下載積分: 黑幣 -5

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表