标题: 第一次尝试着做单片机项目,感觉好像无法下手,求大师傅指点一二 [打印本页]

作者: cdiyy    时间: 2021-3-11 16:34
标题: 第一次尝试着做单片机项目,感觉好像无法下手,求大师傅指点一二
由于本论坛禁止直接求程序,禁止伸手党,所以向大家请教一下大致的实现方法与思路,理清头绪后我自己来写程序去实现
小弟学习单片机4个月这样子,现在第一次尝试着做项目,感觉好像无法下手。

1615451464(1).jpg (40.22 KB, 下载次数: 67)

求大师帮帮忙,这个功能说明应该要如何写框架呢?

求大师帮帮忙,这个功能说明应该要如何写框架呢?

作者: 人人学会单片机    时间: 2021-3-11 18:15

这个就是10K温敏电阻采集温度的

作者: 51hei**1140    时间: 2021-3-11 18:18
怎么感觉你这是两个项目呢!
用什么单片机来做?
温度传感器用什么?
充电对象是什么电池?电池参数发一下
作者: lmn2005    时间: 2021-3-11 19:08
这是什么设备?锂电池供电?测温?检测碗体?

作者: cdiyy    时间: 2021-3-12 08:22
新新科技 发表于 2021-3-11 19:08
这是什么设备?锂电池供电?测温?检测碗体?

对的,就是一个碗体,NTC是10K的,电池是二节18650串联
作者: cdiyy    时间: 2021-3-12 08:23
51hei**1140 发表于 2021-3-11 18:18
怎么感觉你这是两个项目呢!
用什么单片机来做?
温度传感器用什么?

是一个项目,单片机是BYD的7612CM,NTC是10K的,电池是二节18650串联
作者: 黄youhui    时间: 2021-3-12 08:27
cdiyy 发表于 2021-3-12 08:22
对的,就是一个碗体,NTC是10K的,电池是二节18650串联

234你可以去找充电芯片
作者: cdiyy    时间: 2021-3-12 08:53
黄youhui 发表于 2021-3-12 08:27
234你可以去找充电芯片

充电芯片也找到,也一个脚需要跟单片机链接,。这样单片机才能知道是否满电和缺电。NTC哪里我不知道怎么下手了
作者: pcf2000    时间: 2021-3-12 08:55
你这是做项目还是宣传τ 宝店?!
作者: cdiyy    时间: 2021-3-12 09:22
黄youhui 发表于 2021-3-12 08:27
234你可以去找充电芯片

求教啊思路啊
作者: angmall    时间: 2021-3-13 15:15
cdiyy 发表于 2021-3-12 08:53
充电芯片也找到,也一个脚需要跟单片机链接,。这样单片机才能知道是否满电和缺电。NTC哪里我不知道怎么 ...

比亚迪 单片机 BF7612 有支持 7 路 12bit ADC 检测

为了准确地使用NTC热敏电阻测量温度,您需要连接一个稳定的DC电压作为参考电压,例如5VDC,然后添加一个上拉电阻,例如10k ohm。 在已知参考电压和上拉电阻的情况下,您可以根据模数转换器测量的电压来计算数字计数,假设它是12位ADC,则全5V对应于4096。获得计数后,您可以 可以使用插值法找到NTC热敏电阻的电阻,然后确定温度。

AD值就是NTC随温度变化而变化的电压数据,由于热敏电阻温阻曲线的非线性,AD转换得到的电压变化曲线也呈非线性,很难用简单公式计算出来。所以就通过数据表进行比对(查表法),可以很方便的获得温度值。假设NTC与分压电阻都是10K,VCC=5V,环境温度25度,那么12位ADC结果就=2048,通过查表得到温度值=25度。但实际应用中由于外界干扰因素需要平滑滤波,误差补偿等等。


作者: wulin    时间: 2021-3-13 16:50
对时间、温度、电压采样控制没有多少难度。不知这是个什么东西。碗体又是什么玩意?楼主要做无线充电器?
作者: 啤酒瓶子老大    时间: 2021-3-13 19:36
大胆出手。遇到问题解决问题。时间长了经验就多了,也就学会了。千里之行,始于足下。
作者: cdiyy    时间: 2021-3-14 08:28
pcf2000 发表于 2021-3-12 08:55
你这是做项目还是宣传τ 宝店?!

做项目,
作者: ZXWPL    时间: 2021-3-14 18:07
分块写好。首先是子函数有。显示函数,按键检测以及处理函数,电压检测函数,温度检测函数,计时函数,输出控制函数,电池类产品还要做低功耗加一个睡眠函数,但是有睡眠函数就要考虑一下怎么唤醒,要注意的是 按键和充电检测这两个端口是能够唤醒单片机的IO口,要么就是IO电平变化唤醒,要么外部中断唤醒 。然后每个函数里面细分具体操作,记得要分清楚主次。例如显示函数,充电显示不管开关状态都是要显示的,优先级最高,然后就是判断产品的开关状态,开机要显示什么,关机要显示什么。初学者自己简单画一画流程图,以后熟练就可以直接动手,因为这个项目简单
作者: 1183149042    时间: 2021-3-14 18:19
唉   太难了   
作者: TTQ001    时间: 2021-3-15 01:11
将整个系统划分为各个功能部分,然后设计独立的子系统。 在最后一步,将所有子系统放在一起。
作者: lmn2005    时间: 2021-3-15 08:22
本帖最后由 新新科技 于 2021-3-15 08:23 编辑

我这里有个将NTC电阻阻值转换成温度的C51函数,从网上下载的,经测试,可以用,如果需要,你可以搬去用一下#include "math.h"
const float Rp=10000.0; //10K
const float T2 = (273.15+25.0);//T2
const float Bx = 3950.0;//B
const float Ka = 273.15;
float Get_Temp(void)
{
float Rt;
float temp;
Rt = Get_TempResistor();
//like this R=5000, T2=273.15+25,B=3470, RT=5000*EXP(3470*(1/T1-1/(273.15+25)),  
temp = Rt/Rp;
temp = log(temp);//ln(Rt/Rp)
temp/=Bx;//ln(Rt/Rp)/B
temp+=(1/T2);
temp = 1/(temp);
temp-=Ka;
return temp;
}


作者: cdiyy    时间: 2021-3-15 09:25
ZXWPL 发表于 2021-3-14 18:07
分块写好。首先是子函数有。显示函数,按键检测以及处理函数,电压检测函数,温度检测函数,计时函数,输出 ...

能不能帮忙画一下流程图啊,我脑子蒙了,无法下手
作者: cdiyy    时间: 2021-3-15 09:26
新新科技 发表于 2021-3-15 08:22
我这里有个将NTC电阻阻值转换成温度的C51函数,从网上下载的,经测试,可以用,如果需要,你可以搬去用一下 ...

谢谢参考,感谢
作者: cdiyy    时间: 2021-3-15 09:26
1183149042 发表于 2021-3-14 18:19
唉   太难了

难是难,但是还是得要加油啊。,
作者: cdiyy    时间: 2021-3-15 09:28
TTQ001 发表于 2021-3-15 01:11
将整个系统划分为各个功能部分,然后设计独立的子系统。 在最后一步,将所有子系统放在一起。

求帮忙画一下流程图,以便我理解好整理一下思路。谢谢您
作者: lmn2005    时间: 2021-3-15 13:54
我认为要先画电路图,再者整理思路,然后再根据思路小修电路图,最后就可以分块写程序了。自己要多动手,多动脑。
作者: cdiyy    时间: 2021-3-15 14:12
新新科技 发表于 2021-3-15 13:54
我认为要先画电路图,再者整理思路,然后再根据思路小修电路图,最后就可以分块写程序了。自己要多动手,多 ...

刚刚画完线路图,。

作者: liuzx66    时间: 2021-3-15 14:32
首先电路设计,然后程序。
1、开关机电路;
2、充电电路;
3、碗体检测;
4、温度检测;
5、软件功能划分,分别编写程序,实现功能
作者: cdiyy    时间: 2021-3-16 14:22
liuzx66 发表于 2021-3-15 14:32
首先电路设计,然后程序。
1、开关机电路;
2、充电电路;

好的,大概整体的框架我写出来了,谢谢你




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1