完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
亲爱的,我正在用PIC构建电池监控。其思想是观察20个电池串内电压的变化。首先,我用一个电势分压器从60V转换到5V,然后通过ADC输入PIC引脚读取电压。这样我就意识到:首先我需要把电池GND与PIC GND共享,它给了我一个不稳定的设备。另外,当我插入电池串的输入时,我需要做很多的关注,不要把GND弄得一团糟。顺便问一下,有没有人知道一种不同的方法来降低读取B的电压?Y微控制器或如何改善我的电路?在市场上的IC隔离,可以支持我缩小电池电压,并给我相同的值在输出?非常感谢你的关注安东尼奥
以上来自于百度翻译 以下为原文 Dear All, I am building a battery monitoring using a PIC. The idea is to observe how the voltage change inside a string of 20 batteries. At first i used a potential divider to shift from 60V to 5V and then by an ADC input pic pin read the voltage. In this way i have realized: At first i need to share the battery gnd to pic gnd, it gives me an unstable device plus when i plug the input from the battery string i need make a lot of attention do not mess up with GND. By the way; does anyone knows a different way to scale down voltage to be read by micocontroller or how can improve my circuit? Is on the market an IC Isolation which can support my scaling down battery voltage and give me the same value on the outputs? Thank you very much for your attention Antonio |
|
相关推荐
18个回答
|
|
|
你将PIC接地连接到弦接地,然后在每个互连上测量电压(使用电阻分配器和每个点的可能缓冲器)。这有什么问题?
以上来自于百度翻译 以下为原文 You connect the PIC ground to thestring ground, then you measure voltage at every interconnect (using resistive dividers and possibly buffers for each point). What is wrong with this? |
|
|
|
|
|
这取决于电池和他为什么监视它们。10位A/D中的60V电压不是很大的分辨率。
以上来自于百度翻译 以下为原文 That whould depend on the batteries and why he is monitoring them. 60volts in a 10 bit a/d is not a lot of resolution. |
|
|
|
|
|
HiTITs总是可能有分离的电阻分压器,以降低电池组(例如5个电池组)的电压,并将它们馈送到AMPOPs,以抵消馈送给不同ANX输入的值。这将有助于提高每一个阅读的分辨率。只是我的2美分。编辑:第一次忘记了AMPOs。
以上来自于百度翻译 以下为原文 Hi Its allways possible to have separated resistive dividers to scale down the voltage by groups of bateries (5 cell groups for example) and feed them to AMPOPs to offset down the value fed to different ANx inputs. This will help enhance the resolution of each reading. Just my 2 cents.... EDIT: Forgot the AMPOPs the first time. Best regards Jorge |
|
|
|
|
|
这样一来,我就对地面产生了阻力,所以这是一个很差的解决办法。HAOK U意味着缓冲器opop10大约10,如果我没有错5/1023 = 0.0.4V乘以缩放= 0.5V。0.5V是一个很好的读给你。
以上来自于百度翻译 以下为原文 Dear NorthGuy In this way i have path resistance on the ground therefore it is a poor solution. Ha ok u meant an buffer opAmp about 10bit If i am not in mistake 5 /1023 = 0.004V multiply by scaling =~ 0.5V. 0.5V is a good read to me Thank you |
|
|
|
|
|
60伏特/ 1023=0.059V每一步。又是什么电池?你能MUX这60个频道吗?你的PIC分享击球场地吗?你可以使用差分运算放大器,但需要找到一个可以处理60V共模差。
以上来自于百度翻译 以下为原文 60 Volts /1023 = 0.059V per step. Again what batteries? Are you could mux all 60 channels? Does you PIC share the batter ground? You can use differential opamps, but need to find one the can handle the 60V common mode difference. |
|
|
|
|
|
HI,市场上有许多独立的IC组件用于隔离测量,而对于隔离通信,有一些模拟信号传输优化的光耦合器。有霍尔效应传感器用于隔离测量,主要用于电流测量,在瑞士LeM做了大量的O。F变量,也用于电压测量的LV25-P:HTTP://www. Lim.COM/NITX.PHP?选项= COMYCONTROL和AMP;LV25-P和& BTNSUBITM2.2,BTNSUBITM2.2,Y=11,站点= HQ&Lang= En&Apple;DISPLAGPALLIKIN=Y&DoSoCH=1和7;Tease= StudioStReCHCHY;Stand & FordSt= =是的,它实际上也是一个电流传感器,需要一个完整的一次电流10毫安。AD7402可以是一个具有内部隔离的AD转换器,AD7402可以是一个具有MCP3010 ADC的开发板,具有与FD8012隔离的SPI输出,它是一个具有2个通道的光耦合器,每个单元具有3伏,您可以在一个小PIC直接CON使用隔离的信号,使用光耦合器或一些其他的隔离手段,对每个单元进行数字信号。UART可能是最简单的隔离协议,只需要一个通道用于每个PIC。这就带来了如何调度测量的问题,使得它们不尝试发送相同的信息。SPI需要至少2个孤立的信号。I2C通信也可以是孤立的,但需要特殊的传输信号或隔离信号,因为信号的双向性。
以上来自于百度翻译 以下为原文 Hi, There are many IC components in the market for isolated measurement, and for isolated communication. There are some Optocouplers optimized for analog signal transfer. There are Hall effect sensors sensors for isolated measurement, mostly used for current measurement, LEM in Switzerland make a lot of variants, also LV25-P for voltage measurement: http://www.lem.com/index.php?option=com_catalog&productsearch=LV25-P&btnSubmit2.x=7&btnSubmit2.y=11&site=HQ&lang=en&displayPageLink=yes&dosearch=1&task=productsearch_short&formSet=yes It is actually also a current sensor, needing a full scale primary current 10 mA. You arrange for series resistance suitable for the actual voltage. There exist AD converters with isolation internally, AD7402 may be an example Microchip have a development board with MCP3910 ADC with SPI output isolated with FOD8012, which is a optocoupler with 2 channels. With 3 V per Cell, you could a small PIC directly connected to each cell, with isolated signals, using optocoupler or some other means of isolation for digital signals. UART may be the easiest protocol to isolate, needing only one channel for each PIC. That leave the problem of how to schedule measurements, such that they do not try to send at the same time. SPI need at least 2 isolated signals. I2C communication may also be isolated, but need specialized transcievers or isolators because of the bidirectional nature of the signals. Regards, Mysil |
|
|
|
|
|
Ti有一系列Li Ion芯片串联在一起,能够做100的电压。60V和20个电池是3伏每电池,铅酸?
以上来自于百度翻译 以下为原文 And TI has a line of Li-Ion chips that are chained together in series to be able to do 100's of volts. 60V and 20 cells are 3 volts per cell, Lead Acid? |
|
|
|
|
|
我以前做过这个。别把自己逼疯了。使用单独的分频器和一个共同的接地来缩放第一个单元之后的每个单元的电压,并使用精密电阻器(0.1%),从而获得足够的精度。12比特将比10好很多,如果需要的话,我会切换的。您将需要从底部向上读取,并从最新的减去以前获得一个单细胞值,这将是非常准确的。你只需保持一个跑步总数,从下一个读数中减去直到你到达顶端。不要尝试从每一个细胞使用地面,你将永远对抗共模问题。如果你需要电流,使用一个0.05欧姆电阻的IA193,这将消除你的共模问题,我一直使用这些,它们非常快和超准确。希望这有帮助。
以上来自于百度翻译 以下为原文 I've done this before. Don't drive yourself crazy. Use separate dividers with a common ground to scale the voltages for each cell after the first cell and use precision resistors (0.1%) so you get sufficient accuracy. 12bits is going to be much better than 10, I would switch uP's if you need to. You will need to take the readings from the bottom up and subtract the previous from the newest to obtain a single cell value, this will be plenty accurate. You just keep a running total to subtract from the next reading until you reach the top. Don't try using the ground from each cell, you will fight common mode problems forever. If you need current, use an INA193 across a 0.05 ohm resistor and that will eliminate your common mode problems, I use these all the time and they are very fast and hyper accurate. Hope this helps. |
|
|
|
|
|
|
|
|
|
|
|
铅酸电池,最大充电电压2.4 V/Cy.以上电压的气体发展大幅增加.我认为电池电压3 V或以上必须涉及锂的某种形式,这也需要单独的电池监测.但是电池电压可能在2.7V和4.2之间变化.如PIC12F1572,它们具有10位ADC、内部FVR、USAT、PWM和CWG。可以使用上面的电池供电,LDO调节器,或者直接从它自己的电池供电。可以使用FVR校准电源电压:如果FVR电压的ADC读数增加,则电源电压较低。可以使用USAT与光耦合器进行隔离通信。或者PWM或/和CWG调制差分信号。每个PIC仅用2个电容器隔离。可以使用DTMF T。电话信号或频移键控,或仅开/关信令,发送ASCII字符或莫尔斯电码。可以使用ADC或模拟比较器来检测差分转换。可以在同一个家庭中使用14针或20针芯片进行开发,PIC16F1575或PIC16F1579。伊西尔
以上来自于百度翻译 以下为原文 Lead Acid batteries, max charging voltage 2.4 V/cell. Above this voltage gas development increase substantially. I think cell voltage 3 V or more have to involve Lithium in some form, which also require individual cell monitoring. But then cell voltage may be varying between 2.7V and 4.2 V Could use something like PIC12F1572, they have 10 bit ADC, internal FVR, USART, PWM and CWG. May use power supply from the cell above, with a LDO regulator, or powered directly from its own cell. May use the FVR to calibrate the supply voltage: If ADC reading of the FVR voltage increase, then Supply voltage is lower. May use USART with optocouplers for isolated communication. Or PWM or/and CWG to make a modulated differential signal. Isolating with just 2 capacitors for each PIC. May use DTMF 'Telephone signalling' Or Frequency Shift Keying, or just On/Off signalling, sending ASCII characters or Morse code. May receive using the ADC, or Analog comparator to detect differential transitions. May use a 14 pin or 20 pin chip in the same family for development, PIC16F1575 or PIC16F1579. Regards, Mysil |
|
|
|
|
|
这是一个经常讨论的电动汽车主题:http://www/diyEnguloC.com /论坛/ PHP/低成本Cyto-ValigeAdvices,17623.HTMLHTTP://www. diyEnguliCAR.COM/FuMs/PuththReal.php/Buy-BMS-PCM系统-Ondo-171746HTMLhttp://www. diyEnguliCAR.COM/FUMMS/StHeTrRead .php/低成本的细胞电压监测-开发-71100.HTMLHTTP://www. diyEnguliCAR.COM/FUMSU/StuthRead .PHP/CHARGEN 3V-LIPPO4和MIBIMS-16475.HTML.还有其他线程也在这个主题上。锂电池必须仔细监测过电压(充电时)和欠电压(放电时)以避免损坏。串联的电池串必须是电荷平衡的,并且监控系统必须在电池上提供非常低的电流负载,并且避免不相等的负载,这将最终导致不平衡。您可以使用DG408多路复用器来监控多达8个单元(24~34伏),而不需要静态电流汲取。超过20纳秒,您可以使用大约1兆赫兹电阻的10:1分压器来获得PIC ADC范围内的电压。这将在采样时呈现高达34 UA的负载,但具有低占空比,它可以有效地等效于1 UA的恒定负载。对于至少10 AV的EV大小的电池,这将导致58天内的一半值放电。您可以使用DG409来监测差分模式下的4个电池,PIC电路与电池组隔离,并用两个ADC直接监测每个单元,同时采样,仅引起EUUG。H负载电流对采样电容充电。最好使用多个PICS和MUXS来监控8个以上的电池。将电路与电池组隔离是相当容易的,并且还隔离它们之间的输入和输出信号,以及显示整体状态的“主”控制器。
以上来自于百度翻译 以下为原文 This is a regularly discussed topic for electric vehicles: http://www.diyelectriccar.com/forums/showthread.php/low-cost-cell-voltage-monitoring-176234.html http://www.diyelectriccar.com/forums/showthread.php/buy-bms-pcm-system-ones-choose-172946.html http://www.diyelectriccar.com/forums/showthread.php/low-cost-cell-voltage-monitoring-development-71100.html http://www.diyelectriccar.com/forums/showthread.php/charging-3v-lifepo4-and-minibms-164745.html There are other threads on this topic as well. Lithium cells must be carefully monitored for both overvoltage (when charging) and undervoltage (when discharging) to avoid damage. Strings of cells in series must be charge-balanced, and the monitoring system must present a very low current load on the cells and avoid unequal load which will eventually cause imbalance. You can use a DG408 multiplexer to monitor up to 8 cells (24-34 volts), with a static current draw of no more than 20 nA, and you can use a 10:1 voltage divider with about 1 Meg resistance to get voltage within the range of the PIC ADC. That will present a load of up to 34 uA when sampling, but with a low duty cycle it can be effectively an equivalent constant load of 1 uA. For EV size cells of at least 10 A-h, this will cause a discharge to half value in 58 days. You could use a DG409 to monitor 4 cells in differential mode, with the PIC circuit isolated from the battery pack, and monitor each cell directly with two ADCs using simultaneous sampling, causing only enough load current to charge the sampling capacitor. It's probably best to use multiple PICs and MUXs to monitor more than 8 cells. It's fairly easy to isolate the circuits from the battery pack, and also isolate input and output signals between them and a "master" controller that displays the overall status. |
|
|
|
|
|
不要尝试使用自己的分频器,如果你想要高度精确的结果(比如测量顶部电池到10毫伏以内)。高共模电压直接作用于您。说TeToP 2分频器每个都好于+/- 1%…因为它们可以有AMISMatter,大的公共电压(50-60V)将被不匹配放大。假设你在12分……高分值可能是1188和12.12分。说58.3伏驻留在顶部终端和55.75下一次……真MEAs是583-55.75=2.55伏。2.5/12应在ADC引脚为0.2125伏。但是用分频器给出58.3/11.88=4.907408和55.75/12.12=4.59983 4.907408~4.599 83= 0.30375,这偏离了真0.2125(像50%误差左右)!!!)您可以购买激光修整匹配分频器或使用特殊的差分运算放大器,让您在轨道上(他们要么有内置或其他方案中的精密分频器)HTTP://CDS.Loo.COM/DOCS/En/DaseHeTe/601567 ff.PDF。
以上来自于百度翻译 以下为原文 Don't try to use your own divider if you want highly precise results (such as measure top battery to WITHIN 10 mV). The high common mode voltage works directly against you. Say the top 2 dividers are each good to +/-1% ...since they can have a mismatch, the large common voltage (50-60V) will be magnified by the mismatch. Say you were dividing by 12.000...the high divider perhaps actually gives 11.88 & the low 12.12 division. Say 58.3 V resides at the top terminal and 55.75 next down...true meas is 58.3-55.75= 2.55 volts. 2.55/12 should be 0.2125 V at ADC pin. But with dividers give 58.3/11.88=4.907408 & 55.75/12.12=4.59983 4.907408-4.59983=0.30375 which is WAY off from true 0.2125 (like around 50% error!!). You can buy laser trimmed matching dividers or use special diff op-amps that let you go above the rails (they either have precision dividers built in or other schemes) http://cds.linear.com/docs/en/datasheet/601567ff.pdf |
|
|
|
|
|
如果你沿着每个PIC的路线走下去,你真的需要隔离吗?每个PIC将由它正在监视的小区供电,并且数据可以通过NPN公共基级移位器传送到链上,并通过PNP共同基级移位器来返回链,每个相邻单元之间的一个。在读数之间,PIC将处于睡眠状态,没有驱动器到电平移位器发射器,以最小化单元上的负载。元件计数可能会降低到一个PIC,一个解耦帽,两个电阻器和两个晶体管每单元-添加另一个电阻和电容器来过滤PWM和一个晶体管,如果需要分流平衡。显然,这不包括主PIC,它与链中的最低PIC通信,或者任何保护电路。由于相当蹩脚的PIC内部引用,需要校准。
以上来自于百度翻译 以下为原文 If you are going down the individual PIC per cell route, do you really need isolation? Each PIC would be powered by the cell it is monitoring, and data could be communicated up the chain by NPN common base level shifters and back down the chain by PNP common base level shifters, one of each between adjacent cells. Inbetween readings the PICs would be in sleep with no drive to the level shifter emitters to minimise the load on the cells. The component count could probably be got down as low as one PIC, a decoupling cap, two resistors and two transistors per cell - add another resistor and capacitor to filter a PWM and a transistor if shunt balancing is required. Obviously this doesn't include the master PIC that communicates with the lowest PIC in the chain, or any protection circuit. Due to the fairly crappy PIC internal references, calibration would be required. |
|
|
|
|
|
IMHO的最佳方法是使用非常小的ADC预警PIC为每个细胞。只需在每个小的计量板上放置一个集电极输出光耦合器。并将所有光耦合器输出晶体管并联在主控制器板上。编程所有的小图片发送电压值作为一个短消息,每个电路板的占空比非常低。为每个消息提供一个单元格号码和CRC。为每个消息引入一些随机抖动。这样,在共用光耦合器输出时,您会得到一个随机但恒定的消息流。一些消息将被损坏。但是由于消息覆盖的随机性,每个单元值在多次尝试之后将被正确更新。
以上来自于百度翻译 以下为原文 IMHO the best method is to use very small ADC-awared PIC for each cell. Just place an open collector output optocoupler on each small metering board. And connect all optocouplers output transistors in parallel on a master controller board. Program all small PICs to send voltage value as a short messages with very low duty cycle for each board. Provide each message with a cell number and CRC. Introduce some random jitter for each message. This way you'll got a random but constant message flow at common optocoupler output. Some messages will be corrupted. But due to randomness of message overlay, each cell value will be updated correctly after several tries. |
|
|
|
|
|
|
|
|
|
|
|
IMHO,在实现基于电池的电压测量之后,下一个愿望是电池电量平衡。所以最好做一个仪表,而不是用一个上行的电池电压平衡器来控制主控制器。
以上来自于百度翻译 以下为原文 IMHO, after implementing a cell-based-voltmetering your next wish will be cell power balancing. So it's better to make not just a meter but cell voltage balancers with an uplinks to master controller. |
|
|
|
|
|
这是豪华版!光耦合器+驱动晶体管和每个单元的TL431?我的菊花链的图片和JeelyBee BJT电平移位器将相当便宜,并且可以通过在一个备用ADC引脚和VSS之间应用一个精确的1.024V基准来自动校准第一次上电。Cal引脚最初被设置为数字+弱上拉。如果它检测到低,使其模拟,并进行交替的ADC转换的引脚和内部参考1秒,平均结果。使用1.024V ADC计数来计算内部VREF的校准因子并将其存储到EEPROM中。一旦被存储,它将不重新校准,除非命令。另一种常见的基数移位器概念的变化,对于长串字符串来说甚至更便宜,并且更简单的代码是只使用一个NPN LexSHIfter向上链,将UART TX连接到PIC ABO的RX。让它,然后使用一个光电耦合器在顶部的链,以获得最终TX输出回到主PIC在底部。使用9位模式和第九位设置的标志命令。每个单元PIC遍历所有接收到的信息,从输出队列中的任何命令向其注入结果。
以上来自于百度翻译 以下为原文 That's the luxury version! An optocoupler + driver transistor and a TL431 for each cell? My daisy-chain of PICs and jellybean BJT level shifters would be considerably cheaper and could be auto-calibrated on first powerup by applying a precision 1.024V reference between a spare ADC pin and Vss. The Cal pin would initially be set as digital + weak pullup. If its detected low, make it analog and do alternate ADC conversions of the pin and the internal reference for 1 second, averaging the results. Use the 1.024V ADC count to calculate a calibration factor for the internal Vref and store it to EEPROM. Once stored, it wouldn't recalibrate unless commanded to. Another variation on the common base levelshifter concept that could be even cheaper for long series strings, and simpler to code would be to only use one NPN leveshifter going up the chain, connecting UART TX of each to the RX of the PIC above it, then use an optocoupler at the top of the chain to get the final TX output back down to the master PIC at the bottom. Use 9 bit mode and flag commands with the 9th bit set. Each cell PIC passes along everything received, injecting results from any commands to it in its output queue. |
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
494 浏览 0 评论
5807 浏览 9 评论
2347 浏览 8 评论
2235 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3542 浏览 3 评论
1150浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1117浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
884浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
495浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-11 03:41 , Processed in 1.455426 second(s), Total 108, Slave 91 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3016