ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

АвтоматичСскоС зарядноС устройство

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Выбирая Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, я ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π» ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ я ΠΏΡ€ΠΈΡˆΠ΅Π» ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ использованиС Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов: усилитСля ΠΈ ΠΠ¦ΠŸ, Ρ‡Ρ‚ΠΎ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ услоТняСт схСму, поэтому я ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Π΅Π» Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π² Π²ΠΈΠ΄Π΅ Ρ‡ΠΈΠΏΠ° DS18B20. Для выполнСния ΠΌΠΎΠ΅Π³ΠΎ курсового задания Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ +/-1, Π° ΡΡ‚ΠΈ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ сСртифицированы ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

АвтоматичСскоС зарядноС устройство (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ВСхничСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΊ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ автоматичСскоС зарядноС устройство с ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π½Ρ‹ΠΌ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ зарядного устройства, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ задания ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° напряТСний, Ρ‚ΠΎΠΊΠΎΠ² зарядки ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π·Π°Ρ€ΡΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ аккумуляторы. Для отслСТивания измСнСния Ρ‚ΠΎΠΊΠΎΠ² ΠΈ Π½Π°ΠΏΡ€ΡΠΆΠ΅Π½ΠΈΡ Π½Π° Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ЦАП.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ устройством выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ пяти клавишной ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, с ΠΊΠ»Π°Π²ΠΈΡˆΠ°ΠΌΠΈ: «Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ°», «+», «-», «Π—Π°Π΄Π°Ρ‚ΡŒ», «Π Π΅ΠΆΠΈΠΌ». ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ выполняСтся Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ однострочном LCD дисплСС. ΠŸΡ€ΠΈ этом выводятся Π½Π° ΡΠΊΡ€Π°Π½ Ρ€Π΅ΠΆΠΈΠΌΡ‹: разряд/заряд, напряТСниС Π½Π° Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€Π΅, зарядный Ρ‚ΠΎΠΊ. ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π·Π° ΡΡ‡Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ управлСния Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ускорСнный Ρ€Π΅ΠΆΠΈΠΌ зарядки с ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ зарядного Ρ‚ΠΎΠΊΠ° ΠΎΡ‚ max Π΄ΠΎ min значСния.

Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ эксплуатации с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π½ΠΎΠ²Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ заряда-разряда Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ вСщСство Π²Π½ΡƒΡ‚Ρ€ΠΈ аккумулятора постСпСнно измСняСт свою структуру Π² ΡΡ‚ΠΎΡ€ΠΎΠ½Ρƒ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ повСрхности, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡŽ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ Смкости, для прСдотвращСния этого эффСкта прСдусмотрСн Ρ€Π΅ΠΆΠΈΠΌ автоматичСского разряда аккумулятора, Π° Π΄Π»Ρ прСдотвращСния эффСктов ΡΡƒΠ»ΡŒΡ„Π°Ρ†ΠΈΠΈ ΠΈ Π΄Π΅Π³Ρ€Π°Π΄Π°Ρ†ΠΈΠΈ пластин ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ зарядов аккумуляторов.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ИспользованиС микроэлСктронных срСдств Π² ΠΈΠ·Π΄Π΅Π»ΠΈΡΡ… производствСнного ΠΈ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π½ΠΎ-Π±Ρ‹Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ назначСния ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΎ-экономичСских ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ издСлия (стоимости, потрСбляСмой мощности, Π³Π°Π±Π°Ρ€ΠΈΡ‚Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ²) ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ сроки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΎΡ‚ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ сроки «ΠΌΠΎΡ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ старСния» ΠΈΠ·Π΄Π΅Π»ΠΈΠΉ, Π½ΠΎ ΠΏΡ€ΠΈΠ΄Π°Π΅Ρ‚ ΠΈΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ качСства (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ, Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ Ρ‚. Π΄.).

Π—Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π³ΠΎΠ΄Ρ‹ микроэлСктроники Π±ΡƒΡ€Π½ΠΎΠ΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, связанноС с Π²Ρ‹ΠΏΡƒΡΠΊΠΎΠΌ ΠΎΠ΄Π½ΠΎΠΊΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² (ОМК), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для «ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ» оборудования Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ назначСния. ОМК ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΡ€ΠΈΠ±ΠΎΡ€Ρ‹, конструктивно Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅ Π‘Π˜Π‘, ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π² ΡΠ΅Π±Ρ всС составныС части «Π³ΠΎΠ»ΠΎΠΉ» ΠΌΠΈΠΊΡ€ΠΎΠ­Π’Πœ: микропроцСссор, ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ интСрфСйсныС схСмы для связи с Π²Π½Π΅ΡˆΠ½Π΅ΠΉ срСдой. ИспользованиС ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π² ΡΠΈΡΡ‚Π΅ΠΌΠ°Ρ… управлСния обСспСчиваСт достиТСниС ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ высоких ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ эффСктивности ΠΏΡ€ΠΈ ΡΡ‚ΠΎΠ»ΡŒ Π½ΠΈΠ·ΠΊΠΎΠΉ стоимости (Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… примСнСниях систСма ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π‘Π˜Π‘ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°), Ρ‡Ρ‚ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌ, Π²ΠΈΠ΄ΠΈΠΌΠΎ, Π½Π΅Ρ‚ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Π±Π°Π·Ρ‹ для построСния ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΈ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… систСм. К Π½Π°ΡΡ‚ΠΎΡΡ‰Π΅ΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±ΠΎΠ»Π΅Π΅ Π΄Π²ΡƒΡ… Ρ‚Ρ€Π΅Ρ‚Π΅ΠΉ ΠΌΠΈΡ€ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Ρ‹Π½ΠΊΠ° микропроцСссорных срСдств ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ ОМК.

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ автоматичСскоС зарядноС устройство с ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π½Ρ‹ΠΌ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ зарядного устройства, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ задания ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° напряТСний, Ρ‚ΠΎΠΊΠΎΠ² зарядки ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π·Π°Ρ€ΡΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ аккумуляторы.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ схСма Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ устройства ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 1.

Рис. 1. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ схСма Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ устройства На Ρ€ΠΈΡ. 1 ΠŸΡ€ΠΈΠ½ΡΡ‚Ρ‹ обозначСния:

Π”Π’ — Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для снятия Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹Ρ… характСристик с Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€Π°, для опрСдСлСния состояния пригодности.

Π”I — Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Ρ‚ΠΎΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для измСрСния силы Ρ‚ΠΎΠΊΠ° проходящСй Ρ‡Π΅Ρ€Π΅Π· аккумулятор, для обСспСчСния зарядки Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ.

Π”U — Π΄Π°Ρ‚Ρ‡ΠΈΠΊ напряТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для измСрСния падСния напряТСния Π½Π° Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€Π΅, для опрСдСлСния заряда Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ.

Π‘Πš — Π±Π»ΠΎΠΊ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΏΡ€ΠΈ ошибкС зарядки, ΠΊΠ½ΠΎΠΏΠΊΠ° Π²Ρ‹Π±ΠΎΡ€Π° состояния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΊΠ½ΠΎΠΏΠΊΠ° измСнСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΊΠ½ΠΎΠΏΠΊΠ° принятия ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

Π‘ΠŸ — Π±Π»ΠΎΠΊ питания, обСспСчиваСт ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ схСмы.

Π–ΠšΠ˜ — спСциализированный ТидкокристалличСский дисплСй, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для отобраТСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы, Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

МК — ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€. Он ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, напряТСния, Ρ‚ΠΎΠΊΠ°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Π’ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΡΡ‡ΠΈΡ‚Π°Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ посылаСт сигналы.

Данная Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ схСма ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ основныС элСмСнты Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для построСния автоматичСского зарядного устройства. Для опрСдСлСния состояния зарядки аккумулятора ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€ 1 ΠΈ ΠΊΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€ 2, Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ Ρ‚ΠΎΠΊΠ°, напряТСния ΠΈ Ρ‚ΠΎΠΊΠ°.

Π”Π°Π»Π΅Π΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ выполняСт принятиС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… дСйствий.

ОписаниС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ схСмы

ОбоснованиС Π²Ρ‹Π±ΠΎΡ€Π° микропроцСссора.

Π’ Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ я ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π» свойства Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²: AVR, PIC, МК-51 ΠΈ ATmega8. ΠŸΡ€ΠΈ этом я ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π», Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ трСбованиям ΠΊ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΌΡƒ устройству ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ:

Β· количСство ΠΏΠΎΡ€Ρ‚ΠΎΠ²,

Β· объСм памяти,

Β· число Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ²,

Β· Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ,

Β· ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ знакомая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°.

Β· Π‘ΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Ρ†Π΅Π½Ρ‹ ΠΈ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π°.

ОписаниС ΠœΠš AVR.

AVR ядро базируСтся Π½Π° ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π½ΠΎΠΉ RISC Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ рСгистровый Ρ„Π°ΠΉΠ» быстрого доступа, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит 32 рСгистра ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния. Они нСпосрСдствСнно связанны с Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΎ-логичСским устройством (ALU), ΠΈ ΠΌΠΎΡ‰Π½ΠΎΠΉ систСмой ΠΊΠΎΠΌΠ°Π½Π΄. ΠŸΡ€ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΈΠ· Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ Π΄Π²Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°. ΠŸΡ€ΠΈ этом выполняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ записываСтся Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ назначСния. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ высокоэффСктивной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΠΎΡ‡Ρ‚ΠΈ Π² Π΄Π΅ΡΡΡ‚ΡŒ Ρ€Π°Π· большС, Ρ‡Π΅ΠΌ стандартныС CISC ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹.

ОписаниС ΠœΠš PIC16Π‘745.

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ PIC 16Π‘745. Π£ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ состоят ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ слова (14 Π±ΠΈΡ‚ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ). Π˜Ρ… ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ происходит Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ†ΠΈΠΊΠ» (200 нс ΠΏΡ€ΠΈ 20 ΠœΠ“Ρ†), ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°. Они Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π·Π° Π΄Π²Π° Ρ†ΠΈΠΊΠ»Π° (400 нс). Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ срабатываСт ΠΎΡ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… источников, ΠΈ Π²ΠΎΡΡŒΠΌΠΈΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ стСк. УмСньшСниС ΠΎΠ±Ρ‰Π΅ΠΉ стоимости систСмы происходит засчёт высокой Π½Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠΉ способности (25 мА ΠΌΠ°ΠΊΡ. Π²Ρ‚Π΅ΠΊΠ°ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎΠΊ, 20 мА ΠΌΠ°ΠΊΡ. Π²Ρ‹Ρ‚Π΅ΠΊΠ°ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎΠΊ) Π»ΠΈΠ½ΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, которая ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ внСшниС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚рСмя Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ ΠΊΠ°Π½Π°Π»ΠΎΠΌ I2C.

ОписаниС ΠœΠš 51.

ΠŸΡ€ΠΈ создании ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² сСмСйства МК-51 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ гарвардская Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (ΠŸΠ—Π£) ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… (ΠžΠ—Π£) ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ адрСсноС пространство. ΠŸΡ€ΠΈ использовании Ρ‚Π°ΠΊΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ для обращСния ΠΊ ΡΡ‡Π΅ΠΉΠΊΠ°ΠΌ памяти Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΊΠΎΠΌΠ°Π½Π΄. ΠžΠ±ΡŠΡ‘ΠΌ максимального Ρ€Π°Π·ΠΌΠ΅Ρ€Π° адрСсного пространства для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° памяти составляСт 64 ΠšΠ±Π°ΠΉΡ‚Π°. Но Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 4 ΠšΠ±Π°ΠΉΡ‚Π° ΠŸΠ—Π£ ΠΈ 128 Π±Π°ΠΉΡ‚ ΠžΠ—Π£ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ нСпосрСдствСнно Π½Π° ΠΊΡ€ΠΈΡΡ‚Π°Π»Π»Π΅ ΠœΠš 8051 АН. БущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ внСшнСй памяти ΠœΠš сСмСйства MCS-51 (Ρ‚. Π΅. Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° являСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ). Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Ρ‹ посрСдством ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… микросхСм памяти, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. МК-51 ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ 8-разрядных ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚Π° Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ Π΄Π²Π° 16-разрядных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ 51 ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ 52 сСрии ΠΈΠΌΠ΅Π΅Ρ‚ больший объСм ΠžΠ—Π£, 3 Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΡˆΠΈΠ½Π΅ I2C. Π­Ρ‚ΠΎ позволяСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ внСшнСС ΠŸΠ—Π£ ΠΈ Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ количСство ΠΏΠΎΡ€Ρ‚ΠΎΠ² (4?8).

ОписаниС ATmega8.

Как ΠΈ Π²ΡΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR Ρ„ΠΈΡ€ΠΌΡ‹ Atmel, ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ сСмСйства Mega ΡΠ²Π»ΡΡŽΡ‚ΡΡ 8 — Π±ΠΈΡ‚Π½Ρ‹ΠΌΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ для использования Π²ΠΎ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… прилоТСниях. Они ΠΈΠ·Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΌΠ°Π»ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‰Π΅ΠΉ КМОП — Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, которая Π² ΡΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΠΈ с ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π½ΠΎΠΉ RISC — Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ позволяСт Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ/быстродСйствиС/энСргопотрСблСниС.

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ описываСмого сСмСйства ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹ΠΌΠΈ прСдставитСлями ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR ΠΎΠ±Ρ‰Π΅Π³ΠΎ примСнСния.

Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½, ΠΈΠΌΠ΅Π΅Ρ‚ 8 Кб Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΠΎΠΉ flash — памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ (статичСскоС ΠžΠ—Π£) объСмом 1 Кб, EEPROM — ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…, объСмом 512 Π±, ΠΌΠ½ΠΎΠ³ΠΎΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ 10 — Π±ΠΈΡ‚Π½Ρ‹ΠΉ АЦП ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ приблиТСния, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ ΠΊΠ°ΠΊ нСсиммСтричныС, Ρ‚Π°ΠΊ ΠΈ Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹, Π΄Π²Π° 8 — Π±ΠΈΡ‚Π½Ρ‹Ρ… (Π’0, Π’2) ΠΈ ΠΎΠ΄ΠΈΠ½ 16 — Π±ΠΈΡ‚Π½Ρ‹ΠΉ (Π’1) Ρ‚Π°ΠΉΠΌΠ΅Ρ€/счСтчик. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ 3 ΠΏΠΎΡ€Ρ‚Π° Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° (ΠΏΠΎΡ€Ρ‚Ρ‹ B, D — 8 — Π±ΠΈΡ‚Π½Ρ‹Π΅, ΠΏΠΎΡ€Ρ‚ Π‘ — 7 — Π±ΠΈΡ‚Π½Ρ‹ΠΉ), 3 ΠΊΠ°Π½Π°Π»Π° ШИМ.

Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΠ² свойства ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ сравнивая ΠΈΡ… Ρ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹ΠΌΠΈ трСбованиями (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Ρ‚Π΅ΠΊΠ°ΡŽΡ‚ ΠΈΠ· ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ устройства), я ΡΠ΄Π΅Π»Π°Π» Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ использованиС ATmega8, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ Π½Π΅Π³ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ доступная Ρ†Π΅Π½Π°, ΠΏΡ€ΠΈ этом достаточноС количСство ΠΏΠΎΡ€Ρ‚ΠΎΠ², памяти ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, с Π½Π΅ΠΉ ΠΌΠ½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΡƒΡ€ΡΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π’Ρ‹Π±ΠΎΡ€ элСмСнтов схСмы

1). Π‘Π½Π°Ρ‡Π°Π»Π° рассмотрим Π²Ρ‹Π±ΠΎΡ€ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.

Выбирая Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, я ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π» ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ я ΠΏΡ€ΠΈΡˆΠ΅Π» ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ использованиС Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов: усилитСля ΠΈ ΠΠ¦ΠŸ, Ρ‡Ρ‚ΠΎ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ услоТняСт схСму, поэтому я ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Π΅Π» Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π² Π²ΠΈΠ΄Π΅ Ρ‡ΠΈΠΏΠ° DS18B20. Для выполнСния ΠΌΠΎΠ΅Π³ΠΎ курсового задания Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ +/-1, Π° ΡΡ‚ΠΈ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ сСртифицированы ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠ±ΠΎΡ€Ρ‹ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π΄ΠΎ 0.1. БоотвСтствСнно, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΠ³ΠΎ срСдства измСрСния. ΠŸΡ€ΠΈ этом Π½Π΅ Ρ‚рСбуСтся АЦП, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ прСобразования ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π²ΠΈΠ΄ ΠΈΠΌΠΈ обСспСчиваСтся ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΎΠΉ сигнальной Π»ΠΈΠ½ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ 1-Wire. 1-Wire — двунаправлСнная шина связи для устройств с Π½ΠΈΠ·ΠΊΠΎΡΠΊΠΎΡ€ΠΎΡΡ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ 15,4 ΠšΠ±ΠΈΡ‚/с, максимум 125 ΠšΠ±ΠΈΡ‚/с), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° — ΠΎΠ΄ΠΈΠ½ для зазСмлСния, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ для питания ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…; Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ питания). Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠ΅ΠΉ Dallas Semiconductor ΠΈ ΡΠ²Π»ΡΠ΅Ρ‚ся Π΅Ρ‘ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΉ ΠΌΠ°Ρ€ΠΊΠΎΠΉ. Благодаря ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ возмоТности адрСсного обращСния Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ использованиС ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ связи для всСх Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ².

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ: сигнал сброса ΠΈ ΠΏΡ€ΠΈΡΡƒΡ‚ствия ВсС сСансы связи ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° с Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ DS18B20 Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с ΡΠΈΠ³Π½Π°Π»Π° сброса. ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π½Π° 480 мкс «ΠΏΡ€ΠΎΠ²Π°Π»ΠΈΠ²Π°Π΅Ρ‚» 1-Wire ΡˆΠΈΠ½Ρƒ Π² Π½ΠΎΠ»ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ «ΠΎΡ‚пускаСт» Π΅Π΅. Если ΠΊ ΡˆΠΈΠ½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ‚Π΅Ρ€ΠΌΠΎΠΌΠ΅Ρ‚Ρ€ DS18B20, Ρ‚ΠΎ ΠΎΠ½ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅ΠΏΠ°Π΄ ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠ°ΡƒΠ·Ρ‹ Π² 15−60 мкс ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠΌ присутствия — «ΠΏΡ€ΠΎΠ²Π°Π»ΠΈΠ²Π°Π΅Ρ‚» ΡˆΠΈΠ½Ρƒ Π² Π½ΠΎΠ»ΡŒ Π½Π° Π²Ρ€Π΅ΠΌΡ ΠΎΡ‚ 60 Π΄ΠΎ 240 мкс.

Π—Π°ΠΏΠΈΡΡŒ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° 1-Wire шинС ОбмСн Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎ 1-Wire шинС происходит ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, младшим Π±ΠΈΡ‚ΠΎΠΌ Π²ΠΏΠ΅Ρ€Π΅Π΄. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ фиксированного ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ‚Π°ΠΉΠΌ слота. Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ Ρ‚Π°ΠΉΠΌ слоты записи ΠΈ Ρ‚Π°ΠΉΠΌ слоты чтСния. Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ всСх Ρ‚Π°ΠΉΠΌ слотов Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ > 60 мкс, Π° ΠΏΠ°ΡƒΠ·Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°ΠΉΠΌ слотами > 1 мкс.

Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ нуля ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ «ΠΏΡ€ΠΎΠ²Π°Π»ΠΈΠ²Π°Π΅Ρ‚» 1-Wire ΡˆΠΈΠ½Ρƒ Π½Π° Π²Ρ€Π΅ΠΌΡ ΠΎΡ‚ 60 Π΄ΠΎ 120 мкс. Π—Π°Ρ‚Π΅ΠΌ «ΠΎΡ‚пускаСт» Π΅Π΅ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ записью ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π±ΠΈΡ‚Π° Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ°ΡƒΠ·Ρƒ >1 мкс.

Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ «ΠΏΡ€ΠΎΠ²Π°Π»ΠΈΠ²Π°Π΅Ρ‚» 1-Wire ΡˆΠΈΠ½Ρƒ Π½Π° Π²Ρ€Π΅ΠΌΡ ΠΎΡ‚ 1 Π΄ΠΎ 15 мкс, «ΠΎΡ‚пускаСт» Π΅Π΅ ΠΈ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ°ΡƒΠ·Ρƒ. ΠŸΠ°ΡƒΠ·Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΉΠΌ слота Π±Ρ‹Π»Π° > 60+1 мкс.

Π§Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° 1-Wire шинС

DS18B20 являСтся ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹ΠΌ устройством ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° 1-Wire шинС Ρ‚Π°ΠΉΠΌ слоты чтСния. Для формирования Ρ‚Π°ΠΉΠΌ слота чтСния ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ «ΠΏΡ€ΠΎΠ²Π°Π»ΠΈΠ²Π°Π΅Ρ‚» 1-Wire ΡˆΠΈΠ½Ρƒ Π½Π° Π²Ρ€Π΅ΠΌΡ ΠΎΡ‚ 1 Π΄ΠΎ 15 мкс, Π° Π·Π°Ρ‚Π΅ΠΌ «ΠΎΡ‚пускаСт» Π΅Π΅, пСрСдавая ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ состояниСм 1-Wire ΡˆΠΈΠ½Ρ‹ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΡƒ DS18B20. Если DS18B20 ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ноль, ΠΎΠ½ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡˆΠΈΠ½Ρƒ Π² «ΠΏΡ€ΠΎΠ²Π°Π»Π΅Π½Π½ΠΎΠΌ» состоянии (Π² ΡΠΎΡΡ‚оянии логичСского нуля) Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ‚Π°ΠΉΠΌ слота. Если ΠΎΠ½ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ 1, ΠΎΠ½ ΠΎΡΡ‚авляСт ΡˆΠΈΠ½Ρƒ Π² «ΠΏΠΎΠ΄Ρ‚янутом» состоянии.

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° DS18B20 Ρ‡Π΅Ρ€Π΅Π· 15 мкс послС Π½Π°Ρ‡Π°Π»Π° Ρ‚Π°ΠΉΠΌ слота чтСния.

Π”Π°Ρ‚Ρ‡ΠΈΠΊ DS18B20 ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ особСнности:

1. Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ±0.5Β°C ΠΎΡ‚ -10Β°C Π΄ΠΎ +85Β°C,

2. Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ 9 Π΄ΠΎ 12 Π±ΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ настраиваСтся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ,

3. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… посрСдством 1-ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ интСрфСйса,

4. 64-Π±ΠΈΡ‚Π½Ρ‹ΠΉ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡ‹ΠΉ сСрийный Π½ΠΎΠΌΠ΅Ρ€,

5. ΠœΠ½ΠΎΠ³ΠΎΡ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ΅ считываниС,

6. Π Π°Π±ΠΎΡ‡Π΅Π΅ напряТСниС ΠΎΡ‚ 3.0 Π’ Π΄ΠΎ 5.5 Π’,

7. Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° с Π·Π°ΠΏΠΈΡ‚ΠΊΠΎΠΉ с Π»ΠΈΠ½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (DS18B20-PAR),

8. O-92, 150mil 8-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ SOIC, ΠΈΠ»ΠΈ 1.98ΠΌΠΌ x 1.37ΠΌΠΌ корпус с ΡˆΠ°Ρ€ΠΈΠΊΠΎΠ²Ρ‹ΠΌΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌΠΈ (±2.0Β°C).

НазначСниС Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² Π”Π°Π½Π½Ρ‹Π΅ Π² ΠΌΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ΅ DS18B20 ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· 1-ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΡˆΠΈΠ½Ρƒ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΎΡ‚ 9 Π΄ΠΎ 12 Π±ΠΈΡ‚Π½ΠΎΠΌ (программируСтся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ) ΠΊΠΎΠ΄Π΅ с Ρ†Π΅Π½ΠΎΠΉ младшСго разряда ΠΎΡ‚ 0.5Β°C Π΄ΠΎ 0.0625Β°C. Она являСтся Ρ‚Π΅Ρ€ΠΌΠΎΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ с Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ Π²Π²ΠΎΠ΄ΠΎΠΌ/Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ±0.5Β°C.

Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ тСрмостата, Ρ‚ΠΎ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ энСргонСзависимой памяти (EEPROM) Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ установки ΠΏΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ (TH) ΠΈ ΠΏΠΎ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΡŽ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ (TL). Но ΡΡ‚ΠΈ Π΄Π²Π° Π±Π°ΠΉΡ‚Π° энСргонСзависимой памяти (EEPROM), Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ для установок, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для энСргонСзависимого хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, Ссли тСрмостатированиС Π½Π΅ Ρ‚рСбуСтся. Π― ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ рСгистры для хранСния установлСнного Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΈ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ.

Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ микросхСмы DS18B20 имССтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡ‹ΠΉ 64-Π±ΠΈΡ‚Π½Ρ‹ΠΉ сСрийный Π½ΠΎΠΌΠ΅Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠ°ΠΊ ΡƒΠ·Π»ΠΎΠ²ΠΎΠΉ адрСс Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°. ΠŸΡ€ΠΈ этом появляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ мноТСству микросхСм DS18B20 Π½Π° ΠΎΠ΄Π½ΠΎΠΉ 1 ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΎΠΉ шинС. ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° DS18B20 ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ локально Π·Π°ΠΏΠΈΡ‚Π°Π½Π° ΠΎΡ‚ 3.0 Π’ Π΄ΠΎ 5.5 Π’ ΠΈΠ»ΠΈ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сконфигурирована Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΠΈΡ‚Π°Π½Π½ΠΎΠΉ посрСдством 1-ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° сброса повторяСтся ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ 0xCD послС Ρ‡Π΅Π³ΠΎ пСрСдаСтся Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΎΠΌΠ΅Ρ‚Ρ€Π°. А Π΄Π°Π»Π΅Π΅ посылаСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Read Scratchpad — BEh. Если Π½Π΅ Ρ‚рСбуСтся Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ 0.1 градуса, Ρ‚ΠΎ Ρ‚ΠΎΠ³Π΄Π° достаточно ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° Π±Π°ΠΉΡ‚Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ содСрТит Π·Π½Π°ΠΊ, Ссли Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° «+», Ρ‚ΠΎ ΠΎΠ½ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ 0-ΠΌΠΈ, Ссли «-», Ρ‚ΠΎ 11 111 111-ΠΌΠΈ. Если Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π°, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ пСрСдаСтся Π² ΠΈΠ½Π²Π΅Ρ€ΡΠ½ΠΎΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ прСобразования Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.

Для DS18S20 Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° прСдставляСтся Π² Π²ΠΈΠ΄Π΅ 9-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ значСния Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 2 Π±Π°ΠΉΡ‚Π°, всС разряды ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ Π±Π°ΠΉΡ‚Π° Ρ€Π°Π²Π½Ρ‹ Π·Π½Π°ΠΊΠΎΠ²ΠΎΠΌΡƒ разряду. Π”ΠΈΡΠΊΡ€Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ прСдставлСния Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ составляСт 0.5Β°C.

Π’Π°Π±Π»ΠΈΡ†Π° Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΎΡ‚ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

Π’Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°

Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ΄ (Binary)

Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ΄ (Hex)

Π‘Ρ‚. Π±Π°ΠΉΡ‚

Мл. Π±Π°ΠΉΡ‚

+125Β°C

0000 0000

1111 1010

00FAh

+25Β°C

0000 0000

0011 0010

0032h

+0.5Β°C

0000 0000

0000 0001

0001h

0Β°C

0000 0000

0000 0000

0000h

— 0.5Β°C

1111 1111

1111 1111

FFFFh

— 25Β°C

1111 1111

1100 1110

FFCEh

— 55Β°C

1111 1111

1001 0010

FF92h

2) Π²Ρ‹Π±ΠΎΡ€ Π–ΠšΠ˜.

Выбирая Π–Πš ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€, я ΠΈΡΡ…ΠΎΠ΄ΠΈΠ» ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ понадобится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π²ΠΎΠ΄ тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. И ΠΏΠΎΡΡ‚ΠΎΠΌΡƒ остановил свой Π²Ρ‹Π±ΠΎΡ€ Π½Π° ΠœΠ’10-Π’7.

ЖидкокристалличСский ΠΌΠΎΠ΄ΡƒΠ»ΡŒ МВ10Π’7−7 состоит ΠΈΠ· Π‘Π˜Π‘ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ Π–Πš ΠΏΠ°Π½Π΅Π»ΠΈ. ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ 10 знакомСст (Ρ†ΠΈΡ„Ρ€ с Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ).

Π›ΡŽΠ±ΠΎΠΉ сСгмСнт любого знакомСста ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ нСзависимо ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… сСгмСнтов. Бтруктурная схСма модуля прСдставлСна Π½Π° Ρ€ΠΈΡ. 3.1. РСгистры Π΄Π°Π½Π½Ρ‹Ρ… Π² Π‘Π˜Π‘ дСлятся Π½Π° Π΄Π²Π΅ Ρ‚Π΅Ρ‚Ρ€Π°Π΄Ρ‹: SGx (L) ΠΈ SGx (H). Π—Π°ΠΏΠΈΡΡŒ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π·Π½Π°ΠΊΠΎΠΌΠ΅ΡΡ‚ΠΎ производится Π·Π° Π΄Π²Π° Ρ‚Π°ΠΊΡ‚Π°: сначала Π² ΠΌΠ»Π°Π΄ΡˆΡƒΡŽ Ρ‚Π΅Ρ‚Ρ€Π°Π΄Ρƒ, Π·Π°Ρ‚Π΅ΠΌ Π² ΡΡ‚Π°Ρ€ΡˆΡƒΡŽ. Младшая Ρ‚Π΅Ρ‚Ρ€Π°Π΄Π° ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΡΠ΅Π³ΠΌΠ΅Π½Ρ‚Ρ‹ g, e, d, Π°, Π° ΡΡ‚Π°Ρ€ΡˆΠ°Ρ — Π·Π° ΡΠ΅Π³ΠΌΠ΅Π½Ρ‚Ρ‹ h, b, c, d (см. Ρ€ΠΈΡ.3.2).

Π—Π°ΠΏΠΈΡΡŒ «H» Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ высвСчиваниС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ сСгмСнта, запись «L» Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π΅Π³ΠΎ гашСниС.

ΠšΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° зависит ΠΎΡ‚ Π½Π°ΠΏΡ€ΡΠΆΠ΅Π½ΠΈΡ питания модуля. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ производится ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ внСшнСго рСзистора Π½Π° Π²Ρ‹Π²ΠΎΠ΄ V0.

КвнСш.=0 — MAX ΠΊΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚Π½ΠΎΡΡ‚ΡŒ, КвнСш.=? (Π½Π΅Ρ‚ рСзистора) — MIN ΠΊΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚Π½ΠΎΡΡ‚ΡŒ.

НазначСниС Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ²

β„–

Наим.

НазначСниС

A0

Π’Ρ‹Π±ΠΎΡ€ адрСс/Π΄Π°Π½Π½Ρ‹Π΅: A0-`L''-адрСс, A0="H" Π΄Π°Π½Π½Ρ‹Π΅

~WR2

Π—Π°ΠΏΠΈΡΡŒ Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Активный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ «L».

WR1

Π—Π°ΠΏΠΈΡΡŒ Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Активный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ «H»

DB3

Π¨ΠΈΠ½Π° адрСса/Π΄Π°Π½Π½Ρ‹Ρ…

DB2

Π¨ΠΈΠ½Π° адрСса/Π΄Π°Π½Π½Ρ‹Ρ…

DB1

Π¨ΠΈΠ½Π° адрСса/Π΄Π°Π½Π½Ρ‹Ρ…

DB0

Π¨ΠΈΠ½Π° адрСса/Π΄Π°Π½Π½Ρ‹Ρ…

GND

ΠžΠ±Ρ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚.ЗСмля.

V0

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ.

+E

ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅ модуля.

+L

НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ

— L

НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ

ОписаниС интСрфСйса Π–ΠšΠ˜ модуля Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π° ΡˆΠΈΠ½Π΅ выставляСтся адрСс Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ знакомСста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ фиксируСтся Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ адрСса ΠΏΡ€ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ ΠΠž ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ сигналом Π½Π° Π²Ρ…ΠΎΠ΄Π΅ WRx. Π’Ρ…ΠΎΠ΄Ρ‹ WR1 ΠΈ WR2 Π·Π°Ρ‰Π΅Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ Π½Π° ΡˆΠΈΠ½Π΅, Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… рСгистрах статичСского Ρ‚ΠΈΠΏΠ°. Π’Π½ΡƒΡ‚Ρ€ΠΈ Π‘Π˜Π‘ эти Π²Ρ…ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ ΠΏΠΎ ΡΡ…Π΅ΠΌΠ΅ WR1 & WR2. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, информация Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ WR1="H" ΠΈ WR2="L" ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π’Π°ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ CS (Π²Ρ‹Π±ΠΎΡ€ кристалла) ΠΏΡ€ΠΈ большом количСствС ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π° ΡˆΠΈΠ½Π΅, ΠΈΠ»ΠΈ Ссли Π½Π° ΡˆΠΈΠ½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ устройства.

ΠŸΡ€ΠΈ записи адрСса знакомСста ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Ρ‚Π΅Ρ‚Ρ€Π°Π΄Ρ‹ сбрасываСтся Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ SGx (L). Π—Π°ΠΏΠΈΡΡŒ Π΄Π°Π½Π½Ρ‹Ρ… производится Π² ΠΌΠ»Π°Π΄ΡˆΡƒΡŽ Ρ‚Π΅Ρ‚Ρ€Π°Π΄Ρƒ ΠΏΡ€ΠΈ высоком ΡƒΡ€ΠΎΠ²Π½Π΅ сигнала Π½Π° Π²Ρ…ΠΎΠ΄Π΅ ΠΠž сигналом Π½Π° Π²Ρ…ΠΎΠ΄Π΅ WRx. По ΡΡ‚ΠΎΠΌΡƒ — ΠΆΠ΅ сигналу ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Ρ‚Π΅Ρ‚Ρ€Π°Π΄Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ SGx (H), сохраняя ΠΏΡ€ΠΈ этом Ρ‚ΠΎΡ‚-ΠΆΠ΅ адрСс знакомСста. Π”Π°Π½Π½Ρ‹Π΅ Π² ΡΡ‚Π°Ρ€ΡˆΡƒΡŽ Ρ‚Π΅Ρ‚Ρ€Π°Π΄Ρƒ SGx (H) Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ младшСй Ρ‚Π΅Ρ‚Ρ€Π°Π΄Π΅ SGx (L). ПослС записи Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π΅Ρ‚Ρ€Π°Π΄Ρ‹ содСрТимоС рСгистра адрСса инкрСмСнтируСтся ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ знакомСсто Π±Π΅Π· записи адрСса.

По Π°Π΄Ρ€Π΅ΡΡƒ 0Fh располоТСн Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΡˆΠΈΠ½Ρ‹. Π—Π°ΠΏΠΈΡΡŒ Π² Π½Π΅Π³ΠΎ DB0="L" Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ записи Π² Π‘Π˜Π‘ адрСсов ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° 30 сигналов WRx. Π Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΡˆΠΈΠ½Ρ‹ производится записью DB0="H" ΠΏΠΎ Π°Π΄Ρ€Π΅ΡΡƒ 0Fh.

ПослС ΠΏΠΎΠ΄Π°Ρ‡ΠΈ питания содСрТимоС рСгистров SGx Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ, поэтому ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ питания Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ очистку рСгистров. БостояниС Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ, поэтому ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ произвСсти Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ ΡˆΠΈΠ½Ρ‹. Π Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΡˆΠΈΠ½Ρ‹ производится записью DB0="H" ΠΏΠΎ Π°Π΄Ρ€Π΅ΡΡƒ 0Fh.

Π’Π°Π±Π»ΠΈΡ†Π° истинности

Π‘ΠΈΠ³Π½Π°Π»

Π—Π°ΠΏΠΈΡΡŒ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ адрСса

Π—Π°ΠΏΠΈΡΡŒ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ Π΄Π°Π½Π½Ρ‹Ρ…

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅

A0

X

WR2

X

WR1

X

DB0−3

АдрСс

Π”Π°Π½Π½Ρ‹Π΅

X

ОписаниС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ схСмы Для зарядки аккумулятора ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ШИМ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° подаСтся сигнал Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚ранзистор ΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ рСгулируСтся сила Ρ‚ΠΎΠΊΠ° проходящая Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ. Π’ Π¨Π˜Πœ использован ΠΏΠΎΠ»Π΅Π²ΠΎΠΉ транзистор с P-ΠΊΠ°Π½Π°Π»ΠΎΠΌ. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π΄ΠΎ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚ΡŒΡΡ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ Π·Π°Ρ‚Π²ΠΎΡ€Π° транзистора ΠΈ ΡΠΎΠΏΡ€ΠΎΡ‚ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ сток-исток Π±Ρ‹Π»ΠΈ наимСньшими. Π€ΠΈΠ»ΡŒΡ‚Ρ€ (L1C4) Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΉ (нСбольшой) ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΡƒΠ»ΡŒΡΠ°Ρ†ΠΈΠΉ Π½Π° Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€Π΅. Π”ΠΈΠΎΠ΄Ρ‹ D2 ΠΈ D3 — Π΄ΠΈΠΎΠ΄Ρ‹ Π¨ΠΎΡ‚Ρ‚ΠΊΠΈ, с ΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ΠΌ напряТСния Π½Π° Π½ΠΈΡ….

R6, R8, R9, R10, R14, R15 рСзисторы — Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ АЦП ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ эти значСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ свои коэффициСнты, Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ рСзисторы. Π’ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ напряТСниС ΠΈ Ρ‚ΠΎΠΊ Π² «ΡƒΡΠ»ΠΎΠ²Π½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ…», ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹Ρ… АЦП. Π’Π°ΠΊ, напряТСниС Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π΅ 82 соотвСтствуСт 0.8 Π’ Π½Π° Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€Π΅, 190 соотвСтствуСт 1.85 Π’. Π Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΎΠΊ, Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· аккумулятор (измСряСтся Π½Π° R12), ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π½Π° 10/18 ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π΅. Π’. Π΅. ΠΏΠΎΠ΄Π±ΠΎΡ€ рСзисторов — Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ усилитСля сводится ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ: измСряСм напряТСниС Π½Π° Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€Π΅, Ρ‚ΠΎΠΊ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ, ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Π΅ΠΌ рСзисторы Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ΅ соотвСтствовало ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΌΡƒ Π½Π° LCD.

Вранзистор Q5 ΠΏΡ€ΠΈ разрядкС пСриодичСски ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ аккумулятор ΠΊ R11. Π§Π΅ΠΌ большС Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ аккумулятора, Ρ‚Π΅ΠΌ большСС врСмя Π·Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ рСзистор ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½. Π’ ΡƒΡΡ‚ройствС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅. АЦП ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π½ΠΈΠ·ΠΊΠΈΡ… частот L2C9. ΠŸΡ€ΠΈ постоянных ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΏΡƒΠ»ΡŒΡΠ°Ρ†ΠΈΡΡ… Π½Π° Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€Π΅ Π΅Π³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΠ· ΡΡ…Π΅ΠΌΡ‹.

Π’Π΅Ρ€ΠΌΠΎΠΌΠ΅Ρ‚Ρ€ DD2 ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ устройства Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ ΠΎΠΊΠΎΠ»ΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ элСктрода ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€ΠΎΠ². ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ устройство, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π°Π³Ρ€Π΅Π² DD2 ΠΎΡ‚ Ρ€ΡƒΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Для отобраТСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ LΠ‘D дисплСй МВ10-Π’7, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ схСмС.

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Π΅ с Ρ‚Π΅Ρ€ΠΌΠΎΠΌΠ΅Ρ‚Ρ€Π°, Π½Π΅Ρ‚ Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€Π΅Π²Π° Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ, Ссли Π΅ΡΡ‚ΡŒ, схСма Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ. Вранзистор Q5 выполняСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ разрядки аккумулятора, Π½ΠΎ ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для снятия ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ. Вранзисторы Q2, Q3, Q4 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для прСдотвращСния ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… Ρ‚ΠΎΠΊΠΎΠ² с Ρ‚ранзистора Q1, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΠ»ΠΈ Π±Ρ‹ микропроцСссор, Ρ‚.ΠΊ. кондСнсатор Ρƒ Π±Π°Π·Ρ‹ транзистора Q1 большСй Смкости. ΠšΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ DA2 ΠΈΠ·ΠΌΠ΅Ρ€ΡΡŽΡ‚ Ρ‚ΠΎΠΊ, Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· Π±Π°Ρ‚Π°Ρ€Π΅ΡŽ ΠΈ R12, Ρ‚ΠΎΠΊ Π½Π° ΡΡ‚ΠΎΠΌ рСзисторС Ρ€Π°Π²Π΅Π½ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΡ‚ΠΎΠΌ сравниваСтся с Ρ‚Π΅ΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π° Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€Π΅.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ЗарядноС устройство позволяСт Π·Π°Ρ€ΡΠΆΠ°Ρ‚ΡŒ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎ ΡˆΠ΅ΡΡ‚ΠΈ Ni-Cd, Ni-Mh ΠΈ Li-Ion аккумуляторов с Π΅ΠΌΠΊΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ 50 Π΄ΠΎ 1200 мА/час. ΠŸΡ€ΠΈ зарядкС NiMh аккумуляторов Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹:

1. Π€Π°Π·Π° опрСдСлСния наличия аккумулятора

2. Π€Π°Π·Π° опрСдСлСния состояния аккумулятора

3. Разрядка аккумулятора

4. ΠŸΡ€Π΅Π΄Π·Π°Ρ€ΡΠ΄ΠΊΠ° аккумулятора

5. ПлавноС ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ° зарядки

6. Быстрая зарядка

7. Дозарядка

8. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ аккумулятора Π’ Ρ„Π°Π·Π΅ опрСдСлСния наличия аккумулятора АЦП ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° измСряСт напряТСниС Π½Π° ΠΊΠ»Π΅ΠΌΠΌΠ°Ρ…. Если напряТСниС мСньшС ~0.1 Π’, Ρ‚ΠΎ Π·Π°Ρ€ΡΠ΄ΠΊΠ° Π½Π΅ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ся ΠΈ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ выдаСтся сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ошибки Π±ΡƒΠ΄ΡƒΡ‚ описаны ΠΏΠΎΠ·ΠΆΠ΅). Π’Π°ΠΊΠΎΠΉ способ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡƒΠ΄ΠΎΠ±Π΅Π½, Ρ‚.ΠΊ. сильно разряТСнныС (Π΄ΠΎΠ»Π³ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π²ΡˆΠΈΠ΅ΡΡ) аккумуляторы придСтся Π²Π½Π°Ρ‡Π°Π»Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π·Π°Ρ€ΡΠ΄ΠΈΡ‚ΡŒ. Π’ Ρ„Π°Π·Π΅ опрСдСлСния состояния спСрва измСряСтся Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° аккумуляторов. ИспользованиС Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° DS18B20 Π² ΠΏΠ»Π°ΡΡ‚ΠΈΠΊΠΎΠ²ΠΎΠΌ корпусС позволяСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, Π½ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ трудностям ΠΏΡ€ΠΈ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ»Π°ΠΆΠΈΠ²Π°Π½ΠΈΠΈ ΠΊ Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€Ρƒ. Если Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° Π½Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ допустимой (большС 5 ΠΈ ΠΌΠ΅Π½ΡŒΡˆΠ΅ 40 градусов ΠΏΠΎ Π¦Π΅Π»ΡŒΡΠΈΡŽ), Ρ‡Π΅Ρ€Π΅Π· аккумулятор устанавливаСтся Ρ‚ΠΎΠΊ 0.1*Π‘, Π³Π΄Π΅ Π‘ — Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ аккумулятора. Если напряТСниС зарядки ΠΏΡ€ΠΈ этом Π±ΠΎΠ»Π΅Π΅ 1.85 Π’, зарядка дальшС Π½Π΅ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚, появляСтся сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅. Вакая ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ вмСсто аккумулятора вставили Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·Π°Ρ€ΡΠΆΠ°Ρ‚ΡŒ Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ся. Π­Ρ‚ΠΈΠΌ тСстом, фактичСски, измСряСтся Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ сопротивлСниС заряТаСмого элСмСнта. Аккумулятор справился, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ‚ΠΎΠΊ, ΠΎΠΏΡΡ‚ΡŒ измСряСтся напряТСниС. Если ΠΎΠ½ΠΎ мСньшС 1 Π’ Π½Π° Π±Π°Π½ΠΊΡƒ (Π² Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ) — ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌ дозарядки, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ этот самый 1Π’/Π±Π°Π½ΠΊΠ° достигаСтся ΠΏΡƒΡ‚Π΅ΠΌ зарядки постоянным Ρ‚ΠΎΠΊΠΎΠΌ 0.2*Π‘. Если напряТСниС Π½Π΅ Ρ€Π°ΡΡ‚Π΅Ρ‚ — ΠΎΠΏΡΡ‚ΡŒ сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅. Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΠ»ΠΈ напряТСниС, оказалось большС 1.7Π’/Π±Π°Π½ΠΊΡƒ ΠΈΠ»ΠΈ мСньшС 0.4Π’/Π±Π°Π½ΠΊΡƒ — ΠΎΠΏΡΡ‚ΡŒ ошибка. ПослСдними свойствами ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ старыС ΠΈΠ»ΠΈ испорчСнныС аккумуляторы. Если Π²Π΄Ρ€ΡƒΠ³ всС ΠΏΡ€ΠΎΡˆΠ»ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΈ ΠΎΡˆΠΈΠ±ΠΊΠΈ Π½Π΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡŒ, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ»ΠΈ Π² Ρ€Π°Π·Ρ€ΡΠ΄ΠΊΡƒ (Ссли установлСн Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ), ΠΈΠ»ΠΈ Π² Ρ„Π°Π·Ρƒ 4 — ΠΏΠ»Π°Π²Π½ΠΎΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ° Π΄ΠΎ 1Π‘. ΠŸΡ€ΠΈ разрядкС аккумуляторы Ρ€Π°Π·Ρ€ΡΠΆΠ°ΡŽΡ‚ΡΡ Π½Π° Ρ€Π΅Π·ΠΈΡΡ‚ΠΎΡ€, ΠΏΠΎΠΊΠ° напряТСниС Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½Π΅ Π΄ΠΎΡΡ‚ΠΈΠ³Π½Π΅Ρ‚ 1 Π’. Польза — устранСния эффСкта памяти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ сильно ΡΡ‚Ρ€Π°Π΄Π°ΡŽΡ‚ NiCd, ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ сильно (ΠΏΠΎ Π·Π°Π²Π΅Ρ€Π΅Π½ΠΈΡΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ) NiMh.

NiCd Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π·Ρ€ΡΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ зарядкой, NiMh — ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π·Π° ~5 зарядок. ПослС разрядки Ρ„Π°Π·Π° 4, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано, Ρ‚ΠΎΠΊ ΠΏΠ»Π°Π²Π½ΠΎ увСличиваСтся Π΄ΠΎ 1C (ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ для аккумулятора Ρ‚Π°ΠΊ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Ρ€Π΅Π·ΠΊΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ‚ΠΎΠΊ). Π’ ΡƒΡΡ‚ройствС примСняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π΅ΠΆΠΈΠΌ быстрой зарядки, Ρ‚. Π΅. Ρ‚ΠΎΠΊΠΎΠΌ ΠΎΠΊΠΎΠ»ΠΎ 1Π‘ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ часа. БчитаСтся, Ρ‡Ρ‚ΠΎ послС Ρ‚Π°ΠΊΠΎΠΉ зарядки врСмя ΠΆΠΈΠ·Π½ΠΈ (количСство Ρ†ΠΈΠΊΠ»ΠΎΠ² заряд-разряд) ΠΈ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ аккумулятора ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ зарядкС Ρ‚ΠΎΠΊΠΎΠΌ 0.1*C Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 12 часов. ΠŸΡ€ΠΈ достиТСнии ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ 80% заряда, Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π΅Π·ΠΊΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Ρ‚ΡŒΡΡ для этого случая Π² ΡΡ…Π΅ΠΌΠ΅ Ρ‚Π΅Ρ€ΠΌΠΎΠ΄Π°Ρ‚Ρ‡ΠΈΠΊ. Π Π΅Π·ΠΊΠΎΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² окончания зарядки. ВСрнСмся ΠΊ Ρ„Π°Π·Π΅ быстрой зарядки. Зарядка происходит ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°ΠΌΠΈ, Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΊΠΎΠ»ΠΎ 1 сСк, Ρ‡Π΅Ρ€Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈΡΡ с ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ (5 мс) ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌΠΈ разрядки. На ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌ Π² ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²Π°Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°ΠΌΠΈ аккумуляторС измСряСтся напряТСниС ΠΈ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°. Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ — ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ зарядки ΠΈ ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ окончания зарядки 3:

Β· УмСньшСниС напряТСния Π½Π° Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€Π΅.

Β· Π£Π²Π΅Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ аккумулятора Π±ΠΎΠ»Π΅Π΅ 40 градусов.

Β· Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ роста Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ аккумулятора 1 градус/ΠΌΠΈΠ½ΡƒΡ‚Ρƒ ΠΈ Π±ΠΎΠ»Π΅Π΅.

Π›ΡŽΠ±ΠΎΠΉ ΠΈΠ· ΡΠ»ΡƒΡ‡Π°Π΅Π² ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ Π² Ρ€Π΅ΠΆΠΈΠΌ дозарядки — аккумулятор Π²Π½Π°Ρ‡Π°Π»Π΅ остываСт Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 10 ΠΌΠΈΠ½ΡƒΡ‚, Π·Π°Ρ‚Π΅ΠΌ заряТаСтся Ρ‚ΠΎΠΊΠΎΠΌ 0.1*Π‘ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΅Ρ‰Π΅ 20 ΠΌΠΈΠ½ΡƒΡ‚. Π­Ρ‚ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌ ΡƒΡ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ аккумуляторы Π² Π±Π°Ρ‚Π°Ρ€Π΅Π΅ — ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°Ρ€ΡΠ΄ΠΈΠ²ΡˆΠΈΠ΅ΡΡ Ρ‚ΠΈΡ…ΠΎΠ½ΡŒΠΊΠΎ Π³Ρ€Π΅ΡŽΡ‚ΡΡ, Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π°Ρ€ΡΠ΄ΠΈΠ²ΡˆΠΈΠ΅ΡΡ — Π·Π°Ρ€ΡΠΆΠ°ΡŽΡ‚ΡΡ Π»ΡƒΡ‡ΡˆΠ΅. ПослС этого зарядка Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π° ΠΈ Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ. НомСр ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„Π°Π·Ρ‹ Π² Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΊΠ°ΠΊ Π² ΡΠΏΠΈΡΠΊΠ΅, отобраТаСтся Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅ (пСрвая Ρ†ΠΈΡ„Ρ€Π°).

Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ быстрой зарядки Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… 5 ΠΌΠΈΠ½ΡƒΡ‚ аккумулятор нСпрСдсказуСм, поэтому ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ся ΠΈ Π·Π°Ρ€ΡΠ΄ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎ.

Π•ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ способ опрСдСлСния окончания зарядки — ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ скорости нарастания напряТСния Π½Π° Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€Π΅, Ρ‚. Π΅. ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Π° напряТСния. Π­Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигнала ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ измСрСния напряТСния. Π§Ρ‚ΠΎ обСспСчиваСт 10-Π±ΠΈΡ‚Π½Ρ‹ΠΉ АЦП.

Бписок ошибок:

1. «TIME OVER» Π˜ΡΡ‚Π΅ΠΊΠ»ΠΎ врСмя быстрой зарядки (90 ΠΌΠΈΠ½ΡƒΡ‚) ΠΈ Π½Π΅ ΡΡ€Π°Π±ΠΎΡ‚Π°Π» Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² окончания зарядки.

2. «HIGH TEMP» Блишком высокая Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° (Π²Ρ‹ΡˆΠ΅ 40 градусов).

3. «INC TEMP» Π’Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° быстро растСт Π½Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ быстрой зарядки.

4. «HI VOLTAGE» ВысокоС напряТСниС (Π±ΠΎΠ»Π΅Π΅ 1.85 Π’) Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π½ΠΊΠ΅.

5. «HI RESIST» ВысокоС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ сопротивлСниС Π±Π°Π½ΠΊΠΈ.

6. «CURRENT» НСвозмоТно ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊ, Ρ‚. Π΅. ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ напряТСния зарядки Π΄ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΡƒΠΌΠ°, Ρ‚ΠΎΠΊ Π½Π΅ Π΄ΠΎΡΡ‚ΠΈΠ³ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ значСния.

7. «LO VOLTAGE» Блишком Π½ΠΈΠ·ΠΊΠΎΠ΅ напряТСниС Π½Π° Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€Π΅ (ΠΌΠ΅Π½Π΅Π΅ 0.4 Π’ Π½Π° Π±Π°Π½ΠΊΡƒ Π² Ρ„Π°Π·Π΅ опрСдСлСния состояния)

8. «NO U INC» НапряТСниС ΠΏΡ€ΠΈ подзарядкС Π½Π΅ Ρ€Π°ΡΡ‚Π΅Ρ‚

9. «LO TEMP» Блишком низкая Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° (ΠΌΠ΅Π½Π΅Π΅ 5 градусов)

10. «NO ACC» НСт аккумуляторов ΠŸΡ€ΠΈ ошибкС появляСтся сообщСниС Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅, процСсс зарядки останавливаСтся. Для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ устройства.

ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, главная функция main () ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΈΡ… Π²ΠΌΠ΅ΡΡ‚Π΅ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ рСгистры ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

Ѐункция LCDWriteByte () осущСствляСт Π²Ρ‹Π²ΠΎΠ΄ символа Π½Π° Π–ΠšΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Π²Ρ‹Π²ΠΎΠ΄ осущСствляСтся Π·Π° 2 Ρ‚Π°ΠΊΡ‚Π° сначала младшая Ρ‡Π°ΡΡ‚ΡŒ, Π·Π°Ρ‚Π΅ΠΌ ΡΡ‚Π°Ρ€ΡˆΠ°Ρ. Π­Ρ‚ΠΎ связано с ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ями строСния Π–Πš — ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°.

Ѐункция LCDAddress () осущСствляСт запись адрСса символа Π² Π–Πš — ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π΅, указываСтся ΠΊΠ°ΠΊΠΎΠΉ сСми — сСгмСнтник ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, адрСс ΠΎΡ‚ 0−9.

Ѐункция LCDInit () осущСствляСт ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π–Πš — ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, для этого ΠΏΠΎ Π°Π΄Ρ€Π΅ΡΡƒ 0 °F Π² ΠΌΠ»Π°Π΄ΡˆΠΈΠΉ разряд записываСтся 1, Ρ‡Ρ‚ΠΎ соотвСтствуСт ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡˆΠΈΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π·Π°Ρ‚Π΅ΠΌ выводятся 0 Π½Π° Π²ΡΠ΅ 10 ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ.

Ѐункция LCDPutChar () осущСствляСт Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ символа, Ρ‚. Π΅. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Π² Ρ„ΠΎΡ€ΠΌΡƒ восприятия Π–Πš — ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½.

Ѐункция LCDPutsf () Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ строку символов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ LCDPutChar ().

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ LCDPutUC (), LCDPutUI () выводят значСния мощности ΠΈ ΡΠΈΠ»Ρ‹ Ρ‚ΠΎΠΊΠ°, Π½Π° ΡΠΊΡ€Π°Π½ Π–Πš — ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°.

Ѐункция LCDClear () ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ экран Π–Πš — ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, Ρ‚. Π΅. заполняСт Π΅Π³ΠΎ нулями.

Ѐункция StableADC () запускаСт АЦП ΠΈ ΡΠΎΡ…раняСт значСния максимального ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ напряТСния.

Ѐункция ReadADC () Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΎΡ…раняСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€Π°.

Ѐункция StartTimer () запускаСт Ρ‚Π°ΠΉΠΌΠ΅Ρ€, для этого ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ рСгистры.

Ѐункция StopTimer () останавливаСт Ρ‚Π°ΠΉΠΌΠ΅Ρ€.

Ѐункция StopPWM () останавливаСт ШИМ Π² Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, ΠΏΡ€ΠΈ этом Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΉ сигнал ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° синхронизируСтся с Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠΌ.

Ѐункция StartPWM () запускаСт ШИМ.

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Battery () выбираСтся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€: Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, напряТСния ΠΈ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΠΈ ΠΈ Π² ΡΠΎΠΎΡ‚вСтствии с Π½ΠΈΠΌΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ прСобразования.

Ѐункция Error () Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ошибки:

1. «TIME OVER» Π˜ΡΡ‚Π΅ΠΊΠ»ΠΎ врСмя быстрой зарядки (90 ΠΌΠΈΠ½ΡƒΡ‚) ΠΈ Π½Π΅ ΡΡ€Π°Π±ΠΎΡ‚Π°Π» Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² окончания зарядки.

2. «HIGH TEMP» Блишком высокая Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° (Π²Ρ‹ΡˆΠ΅ 40 градусов).

3. «INC TEMP» Π’Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° быстро растСт Π½Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ быстрой зарядки.

4. «HI VOLTAGE» ВысокоС напряТСниС (Π±ΠΎΠ»Π΅Π΅ 1.85 Π’) Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π½ΠΊΠ΅.

5. «HI RESIST» ВысокоС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ сопротивлСниС Π±Π°Π½ΠΊΠΈ.

6. «CURRENT» НСвозмоТно ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊ, Ρ‚. Π΅. ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ напряТСния зарядки Π΄ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΡƒΠΌΠ°, Ρ‚ΠΎΠΊ Π½Π΅ Π΄ΠΎΡΡ‚ΠΈΠ³ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ значСния.

7. «LO VOLTAGE» Блишком Π½ΠΈΠ·ΠΊΠΎΠ΅ напряТСниС Π½Π° Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€Π΅ (ΠΌΠ΅Π½Π΅Π΅ 0.4 Π’ Π½Π° Π±Π°Π½ΠΊΡƒ Π² Ρ„Π°Π·Π΅ опрСдСлСния состояния)

8. «NO U INC» НапряТСниС ΠΏΡ€ΠΈ подзарядкС Π½Π΅ Ρ€Π°ΡΡ‚Π΅Ρ‚

9. «LO TEMP» Блишком низкая Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° (ΠΌΠ΅Π½Π΅Π΅ 5 градусов)

10. «NO ACC» НСт аккумуляторов Ѐункция SetCurrent () устанавливаСт ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ, подаваСмая Π½Π° Π±Π°Ρ‚Π°Ρ€Π΅ΡŽ.

Ѐункция SendUSART () ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ напряТСниС.

Ѐункция ShowTime () Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ врСмя.

Ѐункция FastChergeNiMH () выполняСт Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ зарядку Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ Ρ‚ΠΈΠΏΠ° NiMH.

Ѐункция FastChergeLiIon () выполняСт Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ зарядку Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ Ρ‚ΠΈΠΏΠ° LiIon.

зарядный устройство микропроцСссор Π΄Π°Ρ‚Ρ‡ΠΈΠΊ

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π‘Ρ…Π΅ΠΌΠ° устройства

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

#include

#include

#asm

.equ __w1_port = 0×18 ;PORTB

.equ __w1_bit = 0

#endasm

/* DS18B20 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ‚Π΅Ρ€ΠΌΠΎΠΌΠ΅Ρ‚Ρ€Π°*/

#include

//#define NUMBER 6 // количСство аккумуляторов

#define U_ACC185 190 // 1.85 V

//#define U_ACC_MAX 174 // 1.7 V

#define U_ACC_MAX 180 // 1.7+ V

#define U_ACC_MIN 82 // 0.8 V

#define U_ACC_CRITICAL 41 // 0.4 V

#define C 550 // ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ аккумулятора

#define U_ACC_DISCHARGE 103 // 1 V

#define TEMP_MIN 50 // 5 градусов

#define TEMP_MAX 400 // 40 градусов

#define U_ACC420 430 // 4.20 V

#define MIN_CURRENT 63 // ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΎΠΊ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ LiIon

#define FASTCHARGE_TIME 90 // врСмя быстрой зарядки Π² ΠΌΠΈΠ½ΡƒΡ‚Π°Ρ…

//#define C_CURRENT 70 // 1C ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ

#define RXB8 1 //8-ΠΉ Π±ΠΈΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

#define TXB8 0 //8-ΠΉ Π±ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

#define UPE 2 //Ρ„Π»Π°Π³ ошибки контроля чСстности (Ссли выявлСна ошибка Π² Π΄Π°Π½Π½Ρ‹Ρ… //Π±ΡƒΡ„Π΅Ρ€Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°, Ссли Π΅ΡΡ‚ΡŒ, Ρ‚ΠΎ Ρ€Π°Π²Π΅Π½ 1)

#define OVR 3 //Ρ„Π»Π°Π³ ошибки пСрСполнСния

#define FE 4 //Ρ„Π»Π°Π³ ошибки кодирования (ΠΏΡ€ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Ρ€Π°Π²Π΅Π½ 1)

#define UDRE 5 //Ρ„Π»Π°Π³ ΠΎΠΏΡƒΡΡ‚ΠΎΡˆΠ΅Π½ΠΈΡ рСгистра Π΄Π°Π½Π½Ρ‹Ρ… (ΠΏΡ€ΠΈ пустом Π±ΡƒΡ„Π΅Ρ€Π΅ //ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Ρ€Π°Π²Π΅Π½ 1)

#define TXC 6 //Ρ„Π»Π°Π³ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ (послС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ всСх Π±ΠΈΡ‚ΠΎΠ² Ρ€Π°Π²Π΅Π½ 1)

#define RXC 7 //Ρ„Π»Π°Π³ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ΅ΠΌΠ° (ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π½Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… //Ρ€Π°Π²Π΅Π½ 1)

//Π±ΠΈΡ‚Ρ‹ рСгистра управлСния ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ

#define BUTTON1 3

#define BUTTON2 4

#define BUTTON3 5

//Π±ΠΈΡ‚Ρ‹ рСгистра управлСния LCD

#define DB0 2

#define DB1 3

#define DB2 4

#define DB3 5

#define WR1 6

#define A0 7

#define BIT0 0

#define BIT1 1

#define BIT2 2

#define BIT3 3

#define BIT4 4

#define BIT5 5

#define BIT6 6

#define AS2 3 //установка Ρ€Π΅ΠΆΠΈΠΌΠ° (Ссли 1 — Ρ‚ΠΎ ΠΊΠ²Π°Ρ€Ρ†Π΅Π²Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€)

#define TOIE2 6 //Ρ„Π»Π°Π³ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ прСрывания ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°/счСтчика 2

#define OCIE2 7 //Ρ„Π»Π°Π³ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ прСрывания ΠΏΠΎ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ «Π‘овпадСния» //Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°/счСтчика 2

#define TCN2UB 2 //состояниС обновлСния рСгистра (ΠΏΡ€ΠΈ записи Ρ„Π»Π°Π³ Ρ€Π°Π²Π΅Π½ 1)

//Π±ΠΈΡ‚Ρ‹ рСгистра ADCSRA

#define ADEN 7 //Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ АЦП (1 — Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅)

#define ADSC 6 //запуск прСобразования (1 — Π½Π°Ρ‡Π°Ρ‚ΡŒ)

#define ADIF 4 //Ρ„Π»Π°Π³ прСрывания ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€Π°

#define ADIE 3 //Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ прСрывания ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€Π°

#define CS10 0 //ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΌ сигналом (ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ источник сигнала

#define CS21 1 // Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°/счСтчика)

#define DOT_MT 4

//Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ для дСкодирования символов

#define a 0×08

#define b 0×20

#define c 0×40

#define d 0×04

#define e 0×02

#define f 0×80

#define g 0×01

#define h 0×10

#define VOLTAGE 0xC1

#define CURRENT 0xC0

#define TEMPERATURE 0xC2

#define NiMH 0

#define LiIon 1

#define PRESENCE 0 //Π½Π°Π»ΠΈΡ‡ΠΈΠ΅

#define QUALIFICATION 1 //ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅

#define DISCHARGING 2 //разрядка

#define PRECHARGE 3 //заряд

#define RAMP 4 //ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ

#define FASTCHARGE 5 //быстрая зарядка

#define TOPOFFCHARGE 6 //ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π²Π΅Ρ€Ρ…Π½Π΅Π΅

#define MAINTENANCE 7 //Ρ€Π΅ΠΌΠΎΠ½Ρ‚

#define ERROR 8 //ошибка

#define CHOOSETYPE 9 //Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ

#define CHOOSENUMBER 10 //Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ количСство

#define CHOOSECURRENT 11 //Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠΊ

#define IFDISCHARGE 12 //Ссли разряд

#define STABLECURRENT 13 //ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΎΠΊ

#define STABLEVOLTAGE 14 //ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ΅ напряТСниС

//поразрядная Π΄ΠΈΠ·ΡŠΡŽΠ½ΠΊΡ†ΠΈΡ 00=0, 1^*=1

flash char Decode[]=c), //4

(a;

typedef struct

{

unsigned char second; //сСкунды

unsigned char minute; //ΠΌΠΈΠ½ΡƒΡ‚Ρ‹

}time; //Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

time t;

int PrevTemp = 0, Temp = 0;

int Voltage=0, MaxVoltage = 0;

int Uacc[3]={0,0,0};

int Current = 0;

unsigned char STATUS, TYPE, DISCHARGE = 0, POINT;

unsigned int NUMBER = 2;

unsigned int C_CURRENT = 700;

unsigned char DISCHARGE_CURRENT = 0;

void ResetTime () { t. second = 0; t. minute = 0;}

//функция записи символа Π² LCD

void LCDWriteByte (unsigned char byte)

= (1<

PORTD &= ~(1<

void LCDAddress (unsigned char address)

PORTD &= 0xC3; // ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠΎΡ€Ρ‚ D (11 000 011)

PORTD

//функция ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ LCD

void LCDInit ()

{

unsigned char i;

LCDAddress (0x0F); //установка адрСса 0F

LCDWriteByte (0×11); //запись Π² ΠΌΠ»Π°Π΄ΡˆΠΈΠΉ Π±ΠΈΡ‚ 1

LCDAddress (0×00); //запись Π²ΠΎ Π²ΡΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 0

for (i=0; i<=9; i++)

LCDWriteByte (0×00);

}

//функция Π²Π²ΠΎΠ΄Π° символа

void LCDPutChar (char byte, char dot)

=(1<

LCDWriteByte (byte); //Π²Ρ‹Π²ΠΎΠ΄ Π½Π° Π–ΠšΠ˜

//Π²Ρ‹Π²ΠΎΠ΄ строки символов

void LCDPutsf (flash char *str)

{

char k;

while (k = *str++) {LCDPutChar (k, 0);} //ΠΏΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ строки

}

//Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ значСния силы Ρ‚ΠΎΠΊΠ°

void LCDPutUC (unsigned char uc, unsigned char address)

{

unsigned int i=100;

unsigned char zero_flag=1;

LCDAddress (address); //ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ адрСс

if (uc == 0) LCDPutChar (0,0); //Ссли Ρ€Π°Π²Π½Π° 0 Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ 0

else

do

{

if ((uc/i) && zero_flag) zero_flag=0;

if (!zero_flag) LCDPutChar ((char)(uc/i+48), 0); //ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

uc%=i;

i/=10;

}while (i);

}

//Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ значСния напряТСния

void LCDPutUI (unsigned int ui, unsigned char address)

{

unsigned int i = 1000;

unsigned char zero_flag=1;

LCDAddress (address); //ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ адрСс

if (ui == 0) LCDPutChar (0,0); //Ссли Ρ€Π°Π²Π½Π° 0 Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ 0

else

do

{

if ((ui/i) && zero_flag) zero_flag=0;

if (!zero_flag) LCDPutChar ((char)(ui/i+48), 0); //ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

ui%=i;

i/=10;

}while (i);

}

//очистка LCD

void LCDClear ()

{

unsigned char i;

LCDAddress (0×00); //адрСс 0 сСгмСнта

for (i=0; i<=9; i++)

LCDWriteByte (0×00); //Π²Ρ‹Π²ΠΎΠ΄ 10 Π½ΡƒΠ»Π΅ΠΉ Π½Π° ΡΠΊΡ€Π°Π½

}

//ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ максимума ΠΈ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ° напряТСния

void StableADC ()

{

int V[4];

char i;

int Vmax, Vmin;

// Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΏΠΎΠΊΠ° значСния АЦП ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ. (Vmax <= (Vmin+1))

for (Vmax=10,Vmin= 0;Vmax > (Vmin+1);)

{

V[3] = V[2];

V[2] = V[1];

V[1] = V[0];

ADCSRA |= 0×40; // Π½Π°Ρ‡Π°Π»ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ A/D прСобразования

while (!(ADCSRA & (1<

;

V[0] = ADCW;

Vmin = V[0]; // Vmin Π½ΠΈΠ·ΠΊΠΎΠ΅ напряТСниС

Vmax = V[0]; // Vmax высокоС напряТСниС

/*ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ максимальноС ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ напряТСниС*/

for (i=0;i<=3;i++)

{

if (V[i] > Vmax) Vmax=V[i];

if (V[i] < Vmin) Vmin=V[i];

}

}

}

// USART ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ обслуТивания прСрывания

interrupt [USART_RXC] void usart_rx_isr (void)

{

}

// USART ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊ обслуТивания прСрывания

interrupt [USART_TXC] void usart_tx_isr (void)

{

}

//Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ АЦП

unsigned int ReadADC ()

unsigned int s = 0;

unsigned char i;

for (i=0; i<=63; i++)

ADCSRA

ADCSRA

//запуск Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°

void StartTimer ()

= (1 << TOIE2);

//остановка Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°

void StopTimer ()

TIMSK &= ~(1 << TOIE2);

ASSR

void StopPWM (void) // останавливаСт ШИМ Π² Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ

{

if ((TCCR1B & (1 << CS10))&&(OCR1AL ≠ 0))

{

if (OCR1AL == 1)

{

while (TCNT1 > 2); // оТиданиС ШИМ == 1

while (TCNT1 < 2); // оТиданиС ШИМ == 0

}

/*рСгистр OCR1AL Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΡΠΎΡΡ‚Π°Π² Π±Π»ΠΎΠΊΠ° сравнСния. Π’ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°/счСтчика производится Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ΅ сравнСниС этого рСгистра с Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΎΠΌ TCNT1 ΠΈ Π² ΡΠ»ΡƒΡ‡Π°Π΅ равСнства устанавливаСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π»Π°Π³*/

else

{

while (TCNT1 > OCR1AL); // оТиданиС ШИМ == 1

while (OCR1AL > TCNT1); // оТиданиС ШИМ == 0

}

TCCR1B &= ~(1 << CS10); // Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ШИМ

}

}

//запускаСт ШИМ

inline void StartPWM (void)

TCCR1B

//ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ аккумулятора

unsigned int Battery (unsigned char parameter)

{

switch (parameter)

{

case (TEMPERATURE): //Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

return ((int)(ds18b20_temperature (0)*10)); //считываСм с Ρ‚Π΅Ρ€ΠΌΠΎΠΌΠ΅Ρ‚Ρ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

break;

case (VOLTAGE): //Ссли напряТСниС

ADMUX = VOLTAGE;

StableADC (); // запускаСм АЦП ΠΈ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ значСния

break;

case (CURRENT): //ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ

ADMUX = CURRENT; //сохраняСм

break;

}

return (ReadADC ());

}

//Π²Ρ‹Π²ΠΎΠ΄ ошибки

void Error (unsigned char error)

{

StopTimer (); //останавливаСм Ρ‚Π°ΠΉΠΌΠ΅Ρ€

if (OCR1AL == 0xFF) OCR1AL = 0×80;

StopPWM (); //останавливаСт ШИМ

LCDClear (); //ΠΎΡ‡ΠΈΡ‰Π°Π΅ΠΌ Π–ΠšΠ˜

LCDAddress (0); //устанавливаСм адрСс Ρ€Π°Π²Π½Ρ‹ΠΉ 0

switch (error) //Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ

{

//" TIME OVER" Π˜ΡΡ‚Π΅ΠΊΠ»ΠΎ врСмя быстрой зарядки (90 ΠΌΠΈΠ½ΡƒΡ‚) ΠΈ Π½Π΅ ΡΡ€Π°Π±ΠΎΡ‚Π°Π» Π½ΠΈ ΠΎΠ΄ΠΈΠ½ //ΠΈΠ· ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² окончания зарядки.

//" HIGH TEMP" Блишком высокая Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° (Π²Ρ‹ΡˆΠ΅ 40 градусов).

//" INC TEMP" Π’Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° быстро растСт Π½Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ быстрой зарядки.

//" HI VOLTAGE" ВысокоС напряТСниС (Π±ΠΎΠ»Π΅Π΅ 1.85 Π’) Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π½ΠΊΠ΅.

//" HI RESIST" ВысокоС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ сопротивлСниС Π±Π°Π½ΠΊΠΈ.

//" CURRENT" НСвозмоТно ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊ, Ρ‚. Π΅. ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ напряТСния //зарядки Π΄ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΡƒΠΌΠ°, Ρ‚ΠΎΠΊ Π½Π΅ Π΄ΠΎΡΡ‚ΠΈΠ³ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ значСния.

//" LO VOLTAGE" Блишком Π½ΠΈΠ·ΠΊΠΎΠ΅ напряТСниС Π½Π° Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΎΡ€Π΅ (ΠΌΠ΅Π½Π΅Π΅ 0.4 Π’ Π½Π° //Π±Π°Π½ΠΊΡƒ Π² Ρ„Π°Π·Π΅ опрСдСлСния состояния)

//" NO U INC" НапряТСниС ΠΏΡ€ΠΈ подзарядкС Π½Π΅ Ρ€Π°ΡΡ‚Π΅Ρ‚

//" LO TEMP" Блишком низкая Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° (ΠΌΠ΅Π½Π΅Π΅ 5 градусов)

//" NO ACC" НСт аккумуляторов

case (1):

LCDPutsf («TIME OVER»);

break;

case (2):

LCDPutsf («HIGH TEMP»);

break;

case (9):

LCDPutsf («LO TEMP»);

break;

case (3):

LCDPutsf («INC TEMP»);

break;

case (4):

LCDPutsf («HI VOLTAGE»);

break;

case (5):

LCDPutsf («HI RESIST»);

break;

case (6):

LCDPutsf («CURRENT»);

break;

case (7):

LCDPutsf («LO VOLTAGE»);

break;

case (8):

LCDPutsf («NO U INC»);

break;

case (10):

LCDPutsf («NO ACC»);

break;

}

while (1);

}

//установка Ρ‚ΠΎΠΊΠ°

int SetCurrent (unsigned int I)

{

unsigned int temp;

do

{

temp = Battery (CURRENT); //заносим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π±Π°Ρ‚Π°Ρ€Π΅ΡŽ

//ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ окончания

if ((temp < (I — 1))&&(OCR1AL < 0xFF))

{

OCR1AL++;

}

else if (temp > (I + 1))

{

OCR1AL—;

}

//Ссли Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊ, Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ ошибки

if (OCR1AL == 0xFF) Error (6);

}while ((temp>(I + C_CURRENT/20))||(temp<(I — C_CURRENT/20)));

return (temp);

}

//ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ напряТСния

void SendUSART (int data)

{

unsigned int i = 1000;

do

= (1 << TXC);

data %= i;

i /= 10;

while (i);

}

//Π²Ρ‹Π²ΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

void ShowTime (unsigned int address)

{

LCDAddress (address); //устанавливаСм адрСс

LCDPutChar (t.minute/10, 0); //Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹

LCDPutChar (t.minute%10, 1);

LCDPutChar (t.second/10, 0); //Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ сСкунды

LCDPutChar (t.second%10, 0);

}

//Ρ€Π΅ΠΆΠΈΠΌ быстрой зарядки

void FastChargeNiMH ()

{

StopTimer (); //останавливаСм Ρ‚Π°ΠΉΠΌΠ΅Ρ€

StopPWM (); //останавливаСм шим

LCDClear (); //ΠΎΡ‡ΠΈΡ‰Π°Π΅ΠΌ экран

LCDAddress (0); //адрСс Ρ€Π°Π²Π΅Π½ 0

LCDPutChar (STATUS, 0); //Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ статус

switch (STATUS) //ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° значСния статуса

{

case PRESENCE: //ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹

if (Battery (VOLTAGE) > 10) STATUS = QUALIFICATION;

//устанавливаСм напряТСниС ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π½Π΅Ρ‚ аккумулятора

else { LCDAddress (2); LCDPutsf («NO ACC»);}

break;

case QUALIFICATION:

Temp = Battery (TEMPERATURE); //Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ

if (Battery (TEMPERATURE) < TEMP_MIN) Error (9); //Ссли мСньшС Π½ΠΎΡ€ΠΌ.

if (Battery (TEMPERATURE) > TEMP_MAX) Error (2); //Ссли большС Π½ΠΎΡ€ΠΌ.

PrevTemp = Temp;

StartPWM (); //запуск ШИМ

SetCurrent (C_CURRENT/10); //установка Ρ‚ΠΎΠΊΠ°

if (Battery (VOLTAGE) > U_ACC185 * NUMBER) Error (5);

StopPWM (); //остановка ШИМа

Voltage = Battery (VOLTAGE); //напряТСниС Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ

if (Voltage > U_ACC_MAX * NUMBER) Error (4);

if (Voltage < U_ACC_CRITICAL * NUMBER) Error (7);

if (Voltage > U_ACC_DISCHARGE * NUMBER)

{

if (DISCHARGE == 1)

{

OCR1AL = 0×00;

OCR1BL = DISCHARGE_CURRENT; //Ρ‚ΠΎΠΊ разрядки

STATUS = DISCHARGING; //статус разрядки

}

else STATUS = RAMP; //ΠΏΠΎΠ½ΠΈΠ·ΠΈΡ‚ΡŒ

}

else if (Voltage < U_ACC_MIN * NUMBER)

{

ResetTime (); //пСрСзапускаСм Ρ‚Π°ΠΉΠΌΠ΅Ρ€

STATUS = PRECHARGE; //зарядка

}

else STATUS = RAMP;

break;

case DISCHARGING:

delay_ms (10); //Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°

Voltage = Battery (VOLTAGE); //напряТСниС Π½Π° Π±Π°Ρ‚Π°Ρ€Π΅Π΅

LCDPutUI (Voltage, 2); //установка напряТСния

ShowTime (6); //Π²Ρ‹Π²ΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

if (Voltage <= U_ACC_DISCHARGE * NUMBER)

{

OCR1BL = 0×00;

STATUS = RAMP;

SetCurrent (C_CURRENT/10); //установка Ρ‚ΠΎΠΊΠ°

ResetTime (); //сброс Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

break;

}

StartPWM (); //запуск шим

break;

case PRECHARGE:

Voltage = Battery (VOLTAGE); //напряТСниС Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ

LCDPutUI (Voltage, 3); //Π²Ρ‹Π²ΠΎΠ΄ напряТСния

if (Voltage >= U_ACC_MIN * NUMBER)

{

STATUS = RAMP;

SetCurrent (C_CURRENT/5); //установка напряТСния

ResetTime (); //сброс Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

break;

}

if (t.minute >= 30) Error (8); //ошибка напряТСниС Π½Π΅ Ρ€Π°ΡΡ‚Π΅Ρ‚

StartPWM (); //запуск шим

SetCurrent (C_CURRENT/5); //установка напряТСния

break;

case RAMP:

StartPWM ();

if (!(t.second % 5))OCR1AL++;

ShowTime (6); //Π²Ρ‹Π²ΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

Current = Battery (CURRENT); //Ρ‚ΠΎΠΊ Π½Π° Π±Π°Ρ‚Π°Ρ€Π΅Π΅

LCDPutUI (Current, 2); //Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½

if (Current >= C_CURRENT)

{

ResetTime (); //сброс Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

STATUS = FASTCHARGE; //быстрая зарядка

}

break;

case FASTCHARGE:

//врСмя истСкло (90 ΠΌΠΈΠ½) ΠΈ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ зарядки Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ

if (t.minute > FASTCHARGE_TIME) Error (1);

PORTB |= (1 << BIT2);

delay_ms (5); //Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°

PORTB &= ~(1 << BIT2);

Voltage = Battery (VOLTAGE); //напряТСниС

if (!t.second)

{

delay_ms (1000);

StableADC ();

Voltage = Battery (VOLTAGE);

Uacc[0] = Uacc[1];

Uacc[1] = Uacc[2];

Uacc[2] = Voltage;

if (Voltage > U_ACC_MAX * NUMBER) Error (4);

if (t.minute > 5)

{

if (DiffU > (Uacc[0] - 2 * Uacc[1] + Uacc[2])) {STATUS = TOPOFFCHARGE; ResetTime (); break;}

if (Voltage < MaxVoltage) {STATUS = TOPOFFCHARGE; ResetTime (); break;}

Temp = Battery (TEMPERATURE);

if ((Temp — PrevTemp) >= 10) {STATUS = TOPOFFCHARGE; ResetTime (); break;}

if (Battery (TEMPERATURE) > TEMP_MAX) {STATUS = TOPOFFCHARGE; ResetTime (); break;}

if (MaxVoltage < Voltage) MaxVoltage = Voltage;

}

SendUSART (Voltage);

}

ShowTime (8);

StartPWM ();

Current = SetCurrent (C_CURRENT);

LCDPutUI (Current, 5);

LCDPutUI (Temp/10, 2);

break;

case TOPOFFCHARGE: //ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π²Π΅Ρ€Ρ…

ShowTime (6);

if (t.minute >= 10)

{

if (t.minute >= 30) {STATUS = MAINTENANCE; break;}

StartPWM ();

SetCurrent (C_CURRENT/10);

}

LCDPutUI (Temp/10, 2);

break;

case MAINTENANCE: //Ρ€Π΅ΠΌΠΎΠ½Ρ‚

break;

case ERROR:

break;

}

if (!t.second)

{

Temp = Battery (TEMPERATURE);

if (Battery (TEMPERATURE) < TEMP_MIN) Error (9);

PrevTemp = Temp;

}

StartTimer ();

}

void FastChargeLiIon ()

{

StopTimer ();

LCDClear ();

LCDPutUC (STATUS, 0);

switch (STATUS)

{

case PRESENCE:

if (Battery (VOLTAGE) > 10) STATUS = STABLECURRENT;

else { LCDAddress (3); LCDPutsf («NO ACC»);}

break;

case (STABLECURRENT):

StopPWM ();

Voltage = Battery (VOLTAGE);

LCDPutUI (Voltage, 2);

if (Battery (VOLTAGE) >= U_ACC420)

{

STATUS = STABLEVOLTAGE;

}

StartPWM ();

Current = SetCurrent (C_CURRENT);

LCDPutUI (Current, 6);

break;

case (STABLEVOLTAGE):

if (Battery (VOLTAGE) < U_ACC420 * NUMBER) OCR1AL++;

if (Battery (VOLTAGE) > U_ACC420 * NUMBER) OCR1AL—;

if (Battery (CURRENT) < MIN_CURRENT) STATUS = MAINTENANCE;

Voltage = Battery (VOLTAGE);

LCDPutUI (Voltage, 2);

Current = Battery (CURRENT);

LCDPutUI (Current, 6);

break;

case (MAINTENANCE):

break;

}

if (!t.second)

{

Temp = Battery (TEMPERATURE);

if (Battery (TEMPERATURE) < TEMP_MIN) Error (9);

if (Battery (TEMPERATURE) > TEMP_MAX) Error (2);

}

StartTimer ();

}

void Charge ()

{

if (TYPE == NiMH) FastChargeNiMH ();

else FastChargeLiIon ();

}

// ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π’Π°ΠΉΠΌΠ΅Ρ€Π° 2, обслуТиваСтся ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅

interrupt [TIM2_OVF] void timer2_ovf_isr (void)

{

t.second++;

if (t.second == 60) { t. second = 0; t. minute++; }

Charge ();

}

void main (void)

{

OSCCAL = 0xAA; //устанавливаСтся частота RC Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°

PORTB=0×00;

DDRB=0×06;

PORTC=0×38;

DDRC=0×00;

PORTD=0xBC;

DDRD=0xFC;

MCUCR=0×00;

// ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Ρ‚Π°ΠΉΠΌΠ΅Ρ€/счСтчик 1

// Часы источник: систСмноС врСмя

// Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ часов: 8000,000 kHz

// Π Π΅ΠΆΠΈΠΌ: быстрого Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ШИМ=00FFh

// OC1A Π²Ρ‹Ρ…ΠΎΠ΄Π°: Non-Inv.

// OC1B Π²Ρ‹Ρ…ΠΎΠ΄Π°: Non-Inv.

TCCR1A=0xA1;

TCCR1B=0×08;

TCNT1H=0×00;

TCNT1L=0×00;

OCR1AH=0×00;

OCR1AL=0×00;

OCR1BH=0×00;

OCR1BL=0×00;

// инициализация USART

// ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ связи: 8 Data, 1 Stop, Π½Π΅ ΠΎΠ±ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹

// USART ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ: On

// USART ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊ: On

// USART Ρ€Π΅ΠΆΠΈΠΌ: асинхронный

// USART ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…: 9600

UCSRA=0×00;

//UCSRB=0xD8;

UCSRB=0×18; // Π½Π΅Ρ‚ прСрывания

UCSRC=0×86;

UBRRH=0×00;

UBRRL=0×33;

ACSR=0×80;

SFIOR=0×00;

TIMSK &= ~(1 << TOIE2);

ASSR |= (1 << AS2);

TCNT2 = 0×00;

TCCR2 = 0×00;

while (ASSR & TCN2UB);

TIMSK |= (1 << TOIE2);

// инициализация АЦП

// тактовая частота АЦП: 125,000 kHz

// ΠΎΠΏΠΎΡ€Π½ΠΎΠ΅ напряТСниС АЦП: Int., cap. on AREF

ADMUX = 0xC0;

ADCSRA = 0×86;

delay_ms (2000); //ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ стабилизации МК

#asm («sei»)

LCDInit ();

ResetTime ();

STATUS = CHOOSETYPE;

while (1)

{

if (!(PINC & (1 << BUTTON1)))

{

delay_ms (100);

if (!(PINC & (1 << BUTTON1)))

{

if (STATUS == IFDISCHARGE) STATUS = CHOOSETYPE;

else STATUS++;

}

}

if (!(PINC & (1 << BUTTON2)))

{

delay_ms (100);

if (!(PINC & (1 << BUTTON2)))

{

switch (STATUS)

{

case (CHOOSETYPE):

if (TYPE == NiMH) TYPE = LiIon;

else TYPE = NiMH;

break;

case (CHOOSENUMBER):

if (NUMBER == 6) NUMBER = 1;

else NUMBER++;

break;

case (CHOOSECURRENT):

if (C_CURRENT == 1200) C_CURRENT = 50;

else C_CURRENT += 50;

break;

case (IFDISCHARGE):

if (DISCHARGE == 0) DISCHARGE = 1;

else DISCHARGE = 0;

break;

}

}

}

if (!(PINC & (1 << BUTTON3)))

{

delay_ms (100);

if (!(PINC & (1 << BUTTON3)))

{

Temp = Battery (TEMPERATURE);

if (Temp > TEMP_MAX) Error (2);

if (Temp < TEMP_MIN) Error (9);

C_CURRENT = C_CURRENT * 10 / 18;

DISCHARGE_CURRENT = 0xFF / NUMBER;

STATUS = PRESENCE;

StartTimer ();

while (1);

}

}

LCDClear ();

LCDAddress (0);

if (STATUS == CHOOSETYPE) POINT = 1;

else POINT = 0;

if (TYPE == NiMH) LCDPutChar ('N', POINT);

else LCDPutChar ('L', POINT);

LCDPutChar ('I', 0);

if (STATUS == CHOOSENUMBER) POINT = 1;

else POINT = 0;

LCDAddress (3);

LCDPutChar (NUMBER + 48, POINT);

if (STATUS == CHOOSECURRENT) POINT = 1;

else POINT = 0;

LCDPutUI (C_CURRENT/10, 5);

LCDPutChar ('0', POINT);

if (STATUS == IFDISCHARGE) POINT = 1;

else POINT = 0;

LCDAddress (9);

if (DISCHARGE == 1) LCDPutChar ('1', POINT);

else LCDPutChar ('I', POINT);

delay_ms (50);

};

}

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ