匿名
未登录
登录
丢石头百科
搜索
查看“Power Management HAT”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
Power Management HAT
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<div class="tabber"> {{Product |images=[[File:Power Management HAT-intro.jpg|360px|Power Management HAT]] |categories= {{Category|树莓派}} {{Category|Arduino}} {{Category|电源}} |brand=Waveshare |features= * 树莓派电源管理控制板 |interfaces= {{Category|RPi接口}} |related= * [[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://raw.githubusercontent.com/waveshare/Power-Management-HAT/master/Power-Management-HAT-Setup.sh </pre--> <pre> wget https://wiki.diustou.com/w/upload/f/f6/PowerManagementHAT.tar.gz tar xvf PowerManagementHAT.tar.gz cd PowerManagementHAT/ </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下载地址下载,也可以从微雪官网下载,下载完成后,将下载后PowerManagementHAT文件夹'''(该文件夹还含有子文件夹PowerManagementHAT)'''复制到Arduino安装路径下的hardware文件夹下,如下图所示,执行完该步骤后则可以使用Arduino IDE来开发Power Management HAT了。<br /> [[File:power-Management-Hat.png|800x]]<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例程,编译,下载 *若树莓派已关机: *按下电源键,树莓派将开机 *若树莓派已开机: *长按电源键2秒以上,但小于8秒,树莓派将先软件关机,软件关机后将切断树莓派电源。 *长按电源键8秒以上,将直接切断树莓派电源。 *可调参数如下: {|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" |} ===电流检测=== *完成基础准备工作 *打开MeasureCurrent例程,编译,下载 *若树莓派已关机: *按下电源键,树莓派将开机 *若树莓派已开机: *长按电源键2秒以上,但小于8秒,树莓派将先软件关机,软件关机后将切断树莓派电源 *长按电源键8秒以上,将直接切断树莓派电源 *打开串口终端,可查看到树莓派开机与关机状态的工作电流 *可调参数如下: {|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" |} ===电压检测+低电压自动关机=== *完成基础准备工作 *打开MeasureVoltage_ShutdownInLowVoltage例程,编译,下载 *若树莓派已关机: ο 按下电源键,树莓派将开机<br /> *若树莓派已开机: ο 长按电源键2秒以上,但小于8秒,树莓派将先软件关机,软件关机后将切断树莓派电源<br /> ο 长按电源键8秒以上,将直接切断树莓派电源 *若电压低于设定的阈值,将自动关机。 *可调参数如下: {|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" |} ===规定时间段处于开机状态=== *完成基础准备工作 *打开PowerOnInAPeriodTime例程,编译,下载 *树莓派将在规定的时间段处于开机状态 *可调参数如下: {|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例程或PowerOnPeriodicallyOnAlarm例程,编译,下载 *树莓派将周期性地处于开机状态 *例程区别及可调参数如下: {|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例程,编译,下载 *树莓派将在规定时间段周期性地处于开机状态 *可调参数如下 {|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 原理图] ===程序=== <!--*[[File:PowerManagementHAT.7z|Arduino器件包]]--> *[[:File:PowerManagementHAT.tar.gz|Arduino器件包及树莓派驱动程序]] *[https://github.com/waveshare/Power-Management-HAT Github] ===软件=== *[https://www.arduino.cc/en/Main/Software Arduino IDE] *[[:File:串口调试助手.zip|串口调试助手]] ===数据手册=== *[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> == FAQ == <div class="tabbertab" title="FAQ"> <br /> <!--{{Li-polymer Battery HAT_FAQ}}--> </div> <div class="tabbertab" title="售后"><br />{{Service18}}</div> </div>
该页面使用的模板:
模板:Category
(
查看源代码
)
模板:Product
(
查看源代码
)
模板:Raspberry Pi Study
(
查看源代码
)
模板:Service00
(
查看源代码
)
模板:Service18
(
查看源代码
)
模板:Tag
(
查看源代码
)
模板:Tipbox
(
查看源代码
)
返回至
Power Management HAT
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志