导航菜单
Toggle navigation
微雪商城
微雪课堂
Raspberry Pi
主板/套件
显示屏
摄像头
扩展板
笔记本
机器人
游戏机
Android/Linux主板
人工智能
主板/套件
显示屏
摄像头
扩展板
机器人
显示屏
LCD/OLED
e-Paper
模块
远距离无线通信
近距离无线通信
有线通信/接口转换
摄像头/音视频
传感器
电机/舵机
大杂烩
机器人
智能车
驱动器/传感器
机械手/云台控制
MCU/FPGA
Arduino
micro:bit
LPC
FPGA
查看“Power Management HAT”的源代码
←
Power Management HAT
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
<div class="wiki-pages blue-color"> <div class="tabber"> {{扩展板|colorscheme=blue |name = Power Management HAT |img=[[File:Power Management HAT-intro.jpg|360px|alt=Power Management HAT|link=https://{{SERVERNAME}}/shop/Power-Management-HAT.htm | Power Management HAT]] |category1=树莓派 |category2=电源 |brand=Waveshare |feature = 电源管理控制板 |interface1 = RPi | Product1= [[Solar Power Manager]] }} <div class="tabbertab" title="说明"> =产品概述= 我是一款树莓派电源管理控制板,能控制树莓派开机、关机(软件关机)、定时开机、定时关机、检测树莓派工作状态、测量工作电流,测量外接锂电池电压。 ==特点== *板载MCU(ATmega328P),支持Arduino编程。 *板载RTC时钟芯片(PCF8523),可提供精准时间控制。 *板载CP2102芯片,可实现对Arduino一键下载,同时支持查看串口数据。 *板载自定义按键,可作为电源键使用,实现树莓派的开机,软件关机,强制关机。 *提供电源防反接,放倒灌机制,充分保证电路的安全。 *可通过USB接口供电(5V),也可通过外接锂电池供电(2S~4S,7.4V~14.8V),或外接DC 供电(7.0~28V)。 *配套电池及电池盒,可提供2S,7.4V电源,可提供容量达2200 * 2mAh。 *可对外接电池电压进行检测,对工作电流进行检测,可编程即时切断电源以确保锂电池的工作寿命。 *提供完善的配套资料手册,提供丰富的电源管理与控制的Arduino例程。 ==参数== *通信接口:UART, GPIO(自定义协议) *主控芯片:ATmega328P-AU *通信接口:UART + GPIO *通信波特率:默认115200bps (可程序设置其他波特率) *供电方式:USB接口 或 PH2.0接口 *USB接口电压:5V *PH2.0接口电压:DC 7~28V (稳压电源或锂电池) *内置电路:电源防反接、防倒灌电流、电流检测、电压检测 *产品尺寸:56.5mm x 65mm *固定孔直径:3.0mm =产品使用= ==工作原理== 控制树莓派关机工作原理:<br /> Arduino(ATmega328P)通过2个GPIO连接树莓派的两个GPIO,自定义如下通信协议:<br /> {|border=1; style="width:800px;" |-style="background:#008080; color:white;" align="center" |colspan=3 align=“center”|<big></big><big>树莓派端</big><br /> |-align="center" |树莓派GPIO<br />(BCM) ||连接 Arduino||逻辑功能 |-align="center" |GPIO20||PC3||输入,当检测到高电平时,执行关机命令,开机状态下应当检测到低<br />电平。 |-align="center" |GPIO21 ||PD7||输出,当输出高电平时,表示树莓派已开机,当关机后,将输出低电<br />平。 |} <br /> {|border=1; style="width:800px;" |-style="background:#000880; color:white;" align="center" |colspan=3 align=“center”|<big></big><big>Arduino端</big><br /> |-align="center" |Arduino GPIO ||连接 树莓派GPIO<br />(BCM)||逻辑功能 |-align="center" |PC3||GPIO20||输出,当输出高电平时,树莓派检测到后将执行关机命令,开机<br />状态下应当输出低电平。 |-align="center" |PD7 ||GPIO21||输入,当检测到高电平时,表示树莓派已开机,关机状态<br />下应当检测到低电平。 |} ====树莓派端实现该协议:==== *开机:在开机后将GPIO21置为高电平。 *关机:不断检测GPIO20的输入电平,当输入为高电平时,执行关机指令,关机后GPIO21将自动置为低电平。 ====Arduino(ATmega328P)端实现该协议:==== *开机:将PC3置为低电平,接通树莓派电源,树莓派开机,检测PD7输入电平,当输入为高电平时,表示树莓派已成功开机。 *关机:将PC3置为高电平,树莓派检测到后将执行关机指令,检测PD7输入电平,当输入为低电平时,表明树莓派已成功关机,切断树莓派电源。 ==基础准备工作== ===树莓派端准备工作=== ====关机协议配置:==== 打开树莓派终端窗口,分别执行以下命令,即可配置关机协议:<br /> *下载shell脚本<br /> 执行<br /> <pre> sudo wget https://github.com/waveshare/Power-Management-HAT/Power-Management-HAT-Setup.sh </pre> 执行结果如下图所示,表示下载完成:<br /> [[File:work-1.png|800px]]<br /> *给shell脚本执行权限 执行 <pre> sudo chmod a+x Power-Management-HAT-Setup.sh </pre> [[File:work-2.png|800px]]<br /> *执行shell脚本 执行<br /> <pre> sudo ./Power-Management-HAT-Setup.sh </pre> 执行结果如下图所示,当提示Would you like to reboot now? y/n时,输入y,表示重启树莓派(必须重启树莓派该操作才有效,如果树莓派未重启,必须手动重启树莓派后方生效)。<br /> [[File:work-3.png|800px]]<br /> ===Windows PC端准备工作=== *安装Arduino IDE 下载完成后,直接点击下一步即可安装,记住安装路径,安装路径将在下一步中用到。 *安装Power Management HAT器件包 器件包可以从Gihub下载地址下载,也可以从微雪官网下载,下载完成后,将下载后Power Management HAT文件夹'''(该文件夹还含有子文件夹Power Management HAT)'''复制到Arduino安装路径下的hardware文件夹下,如下图所示,执行完该步骤后则可以使用Arduino IDE来开发Power Management HAT了。<br /> <div style="max-width:100%;">[[File:power-Management-Hat.png|800px]]</div><br /><br /> *Arduino IDE开发环境相关配置<br /> 首先,重启Arduino IDE,将Power Management Hat的USB连接至电脑,选择相应的串口:<br /> [[File:arduino-2.png|800px]]<br /><br /> 接着,选择Power Management HAT器件:<br /> [[File:arduino-3.png|800px]]<br /><br /> 最后,即可看到关于Power Management HAT相关的例程如下图所示,后续章节将讲解相关例程的使用:<br /> [[File:arduino-4.png|800px]]<br /> ===供电准备=== *Power Management HAT插入到树莓派引脚 *Power Management HAT将为树莓派供电,树莓派无需再供电 *Power Management HAT采用以下一种方式供电,若同时供电,将自动选择USB供电 *Power Management HAT采用USB供电 *Power Management HAT采用配套锂电池盒供电,或另选其它DC电源供电(可选DC电源电压范围为7V-28V) ==演示== ===一键开关机(ButtonBoot=== ;设置过程 *将Power Management HAT (后面统称为PM HAT)上的跳线帽插到A *连接PM HAT的USB接口到电脑 *打开Arduino IDE软件(需先配置好PM HAT环境) *打开ButtonBoot例程,编译,下载(可以根据实际需求,修改开关机按键识别时间) *将DEBUG开关拨到另一端 *可调参数如下: {|border=1; style="width:800px" |-style="background:#ffff00; color:red;" align="center" |参数 ||含义 ||默认值 |-align="center" |SHUTDOWN_TIME_MS||长按时间超过该阈值将软件关机。||2000 |-align="center" |CUT_POWER_TIME_MS ||长按时间超过该阈值将切断电源。||8000 |-align="center" |USE_CURRENT_TO_CHECK_PI_STATUS||是否使用工作电流来判断树莓派的工作状态,默认采<br />用软件来判断树莓派的工作状态。||0 |-align="center" |CURRENT_THRESHOLD_MA||工作电流小于该阈值将判定为已关机,默认无效。||85 |-align="center" |} ;固件功能 *若树莓派已关机: *按下电源键,树莓派将开机 *若树莓派已开机: *长按电源键2秒以上,但小于8秒,树莓派将先软件关机,软件关机后将切断树莓派电源。 *长按电源键8秒以上,将直接切断树莓派电源。 ===电流检测(MeasureCurrent)=== ;设置过程 *连接PM HAT的USB接口到电脑 *打开Arduino IDE软件(需先配置好PM HAT环境) *打开MeasureCurrent例程,编译,下载 *将DEBUG开关拨到另一端 *可调参数如下: {|border=1; style="width:800px" |-style="background:#00ffcc; color:red;" align="center" |参数 ||含义 ||默认值 |-align="center" |SHUTDOWN_TIME_MS||长按时间超过该阈值将软件关机。||2000 |-align="center" |CUT_POWER_TIME_MS ||长按时间超过该阈值将切断电源。||8000 |-align="center" |} ;固件功能 *若树莓派已关机:按下电源键,树莓派将开机 *若树莓派已开机: **长按电源键2秒以上,但小于8秒,树莓派将先软件关机,软件关机后将切断树莓派电源 **长按电源键8秒以上,将直接切断树莓派电源 *打开串口终端,可查看到树莓派开机与关机状态的工作电流 **如果将跳线帽插到A,打开IDE的串口监视器查看电流情况 **如果将跳线帽插到B,在树莓派上用minicom插件查看电流情况 ===电压检测+低电压自动关机(MeasureVoltage_ShutdownInLowVoltage)=== ;设置过程 *连接PM HAT的USB接口到电脑 *打开Arduino IDE软件(需先配置好PM HAT环境) *打开MeasureVoltage_ShutdownInLowVoltage例程,编译,下载 *将DEBUG开关拨到另一端 *可调参数如下: {|border=1; style="width:800px" |-style="background:#c0c0c0; color:red;" align="center" |参数 ||含义 ||默认值 |-align="center" |SHUTDOWN_TIME_MS||长按时间超过该阈值将软件关机。||2000 |-align="center" |CUT_POWER_TIME_MS ||长按时间超过该阈值将切断电源。||8000 |-align="center" |ON_VOLTAGE_VOLT||开机最低电压||6.6 |-align="center" |OFF_VOLTAGE_VOLT||低电压关机阈值||6.3 |-align="center" |FORCE_OFF_VOLTAGE_VOLT||紧急低电压关机阈值||5.8 |-align="center" |LOW_VOLTAGE_TIME _MS|| 低电压关机等待时间||30000 |-align="center" |OVERRIDE_TIME _MS||低电压续航延长时间||3600000 |-align="center" |} 说明:当电压低于OFF_VOLTAGE时,如果在LOW_VOLTAGE_TIME_IN_MS时间内,按下电源按键,开机时间将延长OVERRIDE_TIME_IN_MS毫秒,但当电压低于FORCE_OFF_VOLTAGE时,将立刻让树莓派软件关机,并切断树莓派电源;当电压高于ON_VOLTAGE时,将重新供电使得树莓派开机。<br /> 注意:单节锂电池的电压在3.0V~4.2V左右,可通过锂电池电压粗略估计电池电量,4.2V的锂电池表示已充满,3.0V左右的锂电池表示电量很低,锂电池大多数时间工作在3.7V;如果单节锂电池电压低于3.0V,则可能造该锂电池永久损毁。 如果采用外接锂电池的方式给Power Management HAT供电,由于Power Management HAT不具有升压功能,则至少需要两节锂电池(包)串联,提供5V以上的电源,此时,请根据具体电池串联的数量设置相应的电压数据,可参考下表提供的数据(如果采用配套锂电池盒的方式给Power Management HAT供电,则请选择2S的参数):<br /> {|border=1; style="width:800px" |-style="background:#00ffff; color:red;" align="center" | ||1S(不支持) ||2S(1S*2)||3S(1S*3)||4S(1S*4) |-align="center" |ON_VOLTAGE_VOLT||3.3||6.6||9.9||13.2 |-align="center" |OFF_VOLTAGE_VOLT ||3.15||6.3||9.45||12.6 |-align="center" |FORCE_OFF_VOLTAGE_VOLT||2.9||5.8||8.7||11.6 |-align="center" |} ;固件功能 *若树莓派已关机: ο 按下电源键,树莓派将开机<br /> *若树莓派已开机: ο 长按电源键2秒以上,但小于8秒,树莓派将先软件关机,软件关机后将切断树莓派电源<br /> ο 长按电源键8秒以上,将直接切断树莓派电源 *若电压低于设定的阈值,将自动关机。 ===规定时间段处于开机状态(PowerOnInAPeriodTime)=== ;设置过程 *连接PM HAT的USB接口到电脑 *打开Arduino IDE软件(需先配置好PM HAT环境) *打开PowerOnInAPeriodTime例程,编译,下载 *将DEBUG开关拨到另一端 *可调参数如下: {|border=1; style="width:800px" |-style="background:#00ff00; color:red;" align="center" |参数 ||含义 ||默认值 |-align="center" |WAKE_UP_START_HOUR||开机时间点-小时||8 |-align="center" |WAKE_UP_START_MINUTE|| 开机时间点-分钟||30 |-align="center" |SLEEP_START_HOUR||关机时间点-小时||18 |-align="center" |SLEEP_START_MINUTE|| 关机时间点-小时||30 |-align="center" |} ;固件功能 ===周期性地处于开机状态(PowerOnPeriodicallyOnTimer)=== ;设置过程 *连接PM HAT的USB接口到电脑 *打开Arduino IDE软件(需先配置好PM HAT环境) *打开PowerOnPeriodicallyOnTimer例程或PowerOnPeriodicallyOnAlarm例程,编译,下载 *将DEBUG开关拨到另一端 *例程区别及可调参数如下: {|border=1; style="width:800px" |-style="background:#808000; color:00ffff;" align="center" |例程 ||PowerOnPeriodicallyOnTimer ||PowerOnPeriodicallyonAlarm |-align="center" |区别||通过定时器唤醒树莓派||通过RTC闹钟定时唤醒树莓派 |-align="center" |特点||简洁,但是定时器精度差||精度相对较高 |-align="center" |} <br/> {|border=1; style="width:800px" |-style="background:#00ff88; color:red;" align="center" |colspan=3|PowerOnPeriodicallyOnTimer |-align="center" |参数 ||含义 ||默认值 |-align="center" |PERIODIC_TIMER_TIMEBASE||周期单位||eTB_MINUTE |-align="center" |PERIODIC_TIMER_VALUE||周期数值||10 |-align="center" |RPI_STAY_AWAKE_TIME _MS ||开机时长||60000 |} <br /> {|border=1; style="width:800px" |-style="background:#c0c0c0; color:black;" align="center" |colspan=3|PowerOnPeriodicallyOnAlarm |-align="center" |参数 ||含义 ||默认值 |-align="center" |RPI_WAKE_UP_CYCLE _MINUTE|| 周期数值|| 10 |-align="center" |RPI_STAY_AWAKE_TIME _MS|| 开机时长|| 60000 |-align="center" |CURRENT_THRESHOLD_MA|| 阈值电流(工作电流低于该阈值判定为关机状态)||110 |-align="center" |} ;固件功能 *树莓派将周期性地处于开机状态 ===规定时间段周期性地处于开机状态(PowerOnPeriodicallyOnTimerInAPeriodTime)=== ;设置过程 *连接PM HAT的USB接口到电脑 *打开Arduino IDE软件(需先配置好PM HAT环境) *打开PowerOnPeriodicallyOnTimerInAPeriodTime例程,编译,下载 *将DEBUG开关拨到另一端 *可调参数如下 {|border=1; style="width:800px" |-style="background:#ffaa00; color:black;" align="center" |colspan=3|PowerOnPeriodicallyOnAlarm |-align="center" |参数 ||含义 ||默认值 |-align="center" |PERIODIC_TIMER_TIMEBASE||周期单位|| eTB_MINUTE |-align="center" |PERIODIC_TIMER_VALUE||周期数值||5 |-align="center" |RPI_STAY_AWAKE_TIME _MS||开机时长||60000 |-align="center" |WAKE_UP_START_HOUR||开机时间点-小时||8 |-align="center" |WAKE_UP_START_MINUTE||开机时间点-分钟||30 |-align="center" |SLEEP_START_HOUR||关机时间点-小时||18 |-align="center" |SLEEP_START_MINUTE||关机时间点-小时||30 |} ;固件功能 *树莓派将在规定时间段周期性地处于开机状态 </div> <div class="tabbertab" title="资料"> ===文档=== *[https://{{SERVERNAME}}/w/upload/9/93/Power-Management-Hat-user-manual-cn.pdf 用户手册] *[https://{{SERVERNAME}}/w/upload/3/36/Power_Management_HAT.pdf 原理图] ===程序=== *[https://{{SERVERNAME}}/wiki/File:PowerManagementHAT.7z Arduino器件包] *[https://www.waveshare.net/w/upload/9/96/Power-Management-HAT-master.zip 示例程序] *[https://github.com/waveshare/Power-Management-HAT Github] ===软件=== *[https://www.arduino.cc/en/Main/Software Arduino IDE] *[https://{{SERVERNAME}}/w/upload/5/5f/Sscom.7z 串口调试助手] ===数据手册=== *[https://{{SERVERNAME}}/w/upload/9/93/ATmega328P_datasheet_Complete.pdf ATmega328P数据手册] *[https://{{SERVERNAME}}/w/upload/6/60/CAT24C23.pdf CAT24C32数据手册] *[https://{{SERVERNAME}}/w/upload/8/81/CP2102.pdf CP2102数据手册] *[https://{{SERVERNAME}}/w/upload/9/93/MAX9938.pdf MAX9938数据手册] *[https://{{SERVERNAME}}/w/upload/d/d3/MP1584.pdf MP1584数据手册] *[https://{{SERVERNAME}}/w/upload/f/fc/PCF8523.pdf PCF8523数据手册] *[https://{{SERVERNAME}}/w/upload/f/f6/RT9193.pdf RT9193数据手册] ===相关链接=== {{Raspberry Pi Study}} </div> <div class="tabbertab" title="FAQ"> <br /> {{FAQ|最大的输出电流多少| 实际由于电池限制,最大输出电流仅能达到1.8A左右。 |||}} {{Power Management HAT_FAQ}} </div> <div class="tabbertab" title="售后"><br />{{Service15}}</div> </div> </div>
该页面使用的模板:
模板:FAQ
(
查看源代码
)
模板:Li-Po Terms and Conditions
(
查看源代码
)
模板:Note
(
查看源代码
)
模板:Note/styles.css
(
查看源代码
)
模板:Power Management HAT FAQ
(
查看源代码
)
模板:Raspberry Pi Study
(
查看源代码
)
模板:Service15
(
查看源代码
)
模板:Study
(
查看源代码
)
模板:扩展板
(
查看源代码
)
返回至
Power Management HAT
。