![]() |
發布時間: 2019-1-26 11:47
正文摘要:以前做項目剩有幾十個14500鋰電池,不知是否全好的,干脆就做個測試電池容量的來測一下 原理圖: *串口工具需要一直開著,否則會清零 *電池中途可以卸下 再接上 不影響測量 另外這個只是粗略測量 ... |
原來是這樣 啊,,明白了 |
樓主的程序計算出的容量應該是AS(安秒),這一句“capacity=capacity+Idown; //換算為電池容量值”改為 “capacity=capacity+Idown/3.6; //換算為電池容量值” 單位才能用mAh. |
252622979 發表于 2020-2-4 13:20 原來是這樣 啊,,明白了 |
252622979 發表于 2020-2-4 13:20 要什么板?? |
cr8526 發表于 2019-10-15 15:10 DUE 好像不行的哦, |
圖1 Arduino Pro Mini 測量 2 節 7 號電池電壓和容量![]() 圖2 硬件連接 Arduino Pro Mini 和 電池 ![]() 圖3 APP 實時顯示電池電壓和容量 ![]() 謝謝您的介紹,按這個原理實現了 Arduino Pro Mini 測量 2 節 7 號電池(電壓=2.93V,電量=94%)。算法原理和實驗過程,請參考《花 1 小時,開源設計 LoRa 檢測電池容量》 https://blog.csdn.net/jiangjunjie_2005/article/details/104070668 |
zhengyouhua 發表于 2019-10-15 18:30 論壇有的,,我看到有顯示屏的做法 |
加個顯示屏 顯示呢 |
我用Arduino DUE板做的,,做不出來,,上面就是錯誤報警 |
Arduino:1.6.9 (Windows 7), 開發板:"Arduino Due (Programming Port)" Arduino:1: error: 'float time' redeclared as different kind of symbol In file included from c:\users\administrator.user-20161022ou\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1\arm-none-eabi\include\stdlib.h:11:0, from C:\Users\Administrator.USER-20161022OU\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8\cores\arduino/Arduino.h:24, from sketch\Arduino.ino.cpp:1: c:\users\administrator.user-20161022ou\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1\arm-none-eabi\include\time.h:47:11: error: previous declaration of 'time_t time(time_t*)' time_t _EXFUN(time, (time_t *_timer)); ^ D:\360嫻忚鍣ㄤ笅杞絃BV\絎簲绔犲簲鐢ㄨ繘闃禱5.4娓╂箍搴︽祴閲廫Arduino\Arduino.ino: In function 'void loop()': D:\360嫻忚鍣ㄤ笅杞絃BV\絎簲绔犲簲鐢ㄨ繘闃禱5.4娓╂箍搴︽祴閲廫Arduino\Arduino.ino:9:11: warning: pointer to a function used in arithmetic [-Wpointer-arith] Arduino:9: error: assignment of function 'time_t time(time_t*)' Arduino:9: error: cannot convert 'time_t (*)(time_t*) {aka long int (*)(long int*)}' to 'time_t(time_t*) {aka long int(long int*)}' in assignment Arduino:24: error: call of overloaded 'print(time_t (&)(time_t*))' is ambiguous D:\360嫻忚鍣ㄤ笅杞絃BV\絎簲绔犲簲鐢ㄨ繘闃禱5.4娓╂箍搴︽祴閲廫Arduino\Arduino.ino:24:18: note: candidates are: In file included from C:\Users\Administrator.USER-20161022OU\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8\cores\arduino/Stream.h:26:0, from C:\Users\Administrator.USER-20161022OU\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8\cores\arduino/HardwareSerial.h:24, from C:\Users\Administrator.USER-20161022OU\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8\cores\arduino/Arduino.h:195, from sketch\Arduino.ino.cpp:1: C:\Users\Administrator.USER-20161022OU\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8\cores\arduino/Print.h:61:12: note: size_t Print::print(char) <near match> size_t print(char); ^ C:\Users\Administrator.USER-20161022OU\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8\cores\arduino/Print.h:61:12: note: no known conversion for argument 1 from 'time_t(time_t*) {aka long int(long int*)}' to 'char' C:\Users\Administrator.USER-20161022OU\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8\cores\arduino/Print.h:62:12: note: size_t Print::print(unsigned char, int) <near match> size_t print(unsigned char, int = DEC); ^ C:\Users\Administrator.USER-20161022OU\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8\cores\arduino/Print.h:62:12: note: no known conversion for argument 1 from 'time_t(time_t*) {aka long int(long int*)}' to 'unsigned char' C:\Users\Administrator.USER-20161022OU\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8\cores\arduino/Print.h:63:12: note: size_t Print::print(int, int) <near match> size_t print(int, int = DEC); ^ C:\Users\Administrator.USER-20161022OU\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8\cores\arduino/Print.h:63:12: note: no known conversion for argument 1 from 'time_t(time_t*) {aka long int(long int*)}' to 'int' C:\Users\Administrator.USER-20161022OU\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8\cores\arduino/Print.h:64:12: note: size_t Print::print(unsigned int, int) <near match> size_t print(unsigned int, int = DEC); ^ C:\Users\Administrator.USER-20161022OU\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8\cores\arduino/Print.h:64:12: note: no known conversion for argument 1 from 'time_t(time_t*) {aka long int(long int*)}' to 'unsigned int' C:\Users\Administrator.USER-20161022OU\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8\cores\arduino/Print.h:65:12: note: size_t Print::print(long int, int) <near match> size_t print(long, int = DEC); ^ C:\Users\Administrator.USER-20161022OU\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8\cores\arduino/Print.h:65:12: note: no known conversion for argument 1 from 'time_t(time_t*) {aka long int(long int*)}' to 'long int' C:\Users\Administrator.USER-20161022OU\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8\cores\arduino/Print.h:66:12: note: size_t Print::print(long unsigned int, int) <near match> size_t print(unsigned long, int = DEC); ^ C:\Users\Administrator.USER-20161022OU\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8\cores\arduino/Print.h:66:12: note: no known conversion for argument 1 from 'time_t(time_t*) {aka long int(long int*)}' to 'long unsigned int' exit status 1 'float time' redeclared as different kind of symbol 在文件 -> 首選項開啟 “編譯過程中顯示詳細輸出”選項 這份報告會包含更多信息。 |