|
Как посчитать число замыканий ключа? |
|
|
|
 |
Ответов
|
Sep 16 2010, 09:56
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(esr @ Sep 16 2010, 13:32)  Здравствуйте, подскажите как попроще сделать счётчик числа замыканий контактов? Количество замыканий нужно сохранять внутри схемы. Вот вариант: Берем МК, какой подешевле (например, тиньку какую-нибудь), присоединяем ключ замыкания между пином, который у МК способен вызывать прерывание (например, INT0 или INT1), и землей. Все остальное делается программно. В программе, программируем тот пин на режим чтения и устаналиваем ему подтяжку к высокому уровню. Разрешаем соответствующее прерывание (например, INT0 или INT1) от изменения уровня на этом пине. Если есть возможность, то устанавливаем "полярность", при которой должно происходить прерывание (например, при нисходящем фронте). Теперь при разомкнутом ключе МК сам поддерживает на своем пине высокий уровень, а когда ключ замыкается, но уровень падает до нуля и вызвает срабатывание прерывания. На обработчик этого предывания вешаем процедуру, которая инкрементирует счетчик (прибавляет к нему единичку). Вот и всё. Осталось только решить, должна ли "система" сохранять значение счетчика при отключенном питании. Если должна, то в счетчик придется заводить в EEPROM (энергонезависимой памяти), помня о том, что от каждой записи та необратимо снашивается. Ну и не забыть про индикацию или опрос счетчика. МК в этом деле тоже хороший помощник - может сообщать значение счетчика по кому-нибудь интерфейсу связи по запросу или в момент изменения счетчика. Или на какой-нибудь дисплей то значение постоянно выводить.
|
|
|
|
|
Sep 16 2010, 10:10
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 13-03-09
Из: Москва
Пользователь №: 46 073

|
Цитата(Xenia @ Sep 16 2010, 13:56)  Вот вариант: Берем МК, какой подешевле (например, тиньку какую-нибудь), присоединяем ключ замыкания между пином, который у МК способен вызывать прерывание (например, INT0 или INT1), и землей. Все остальное делается программно. В программе, программируем тот пин на режим чтения и устаналиваем ему подтяжку к высокому уровню... Спасибо! У меня вот PIC18F2320 имеется. В нем есть EEPROM, т.е . я наверное на нём смогу сделать? А подтяжка к высокому уровню - это как сделать?
|
|
|
|
|
Sep 16 2010, 10:42
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(esr @ Sep 16 2010, 14:10)  У меня вот PIC18F2320 имеется. В нем есть EEPROM, т.е . я наверное на нём смогу сделать? Наверное можете, только в ПИКах я не разбраюсь, т.к. я - АВРошница  . Цитата(esr @ Sep 16 2010, 14:10)  А подтяжка к высокому уровню - это как сделать? На платформе AVR это делается путем такого парадоксального действия, как посылание единички (высокого уровня) в порт, сконфигурированный не на выдачу, а на прием. Такая ситуация приводит к возникновению подтяжки к питанию (где-то порядка 50 кОм). Но такую подтяжку ничего не стоит сделать самим, т.к. лишний резистор в такой схеме - не проблема.
|
|
|
|
|
Sep 16 2010, 11:13
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 13-03-09
Из: Москва
Пользователь №: 46 073

|
Цитата(Xenia @ Sep 16 2010, 14:42)  Наверное можете, только в ПИКах я не разбраюсь, т.к. я - АВРошница  . Ксения, а поскажите - существует ли для этой задачи AVR с маленьким напряжением питания и энергопотребления - 2 вольтf примерно ?
|
|
|
|
|
Sep 16 2010, 11:40
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(esr @ Sep 16 2010, 15:13)  Ксения, а поскажите - существует ли для этой задачи AVR с маленьким напряжением питания и энергопотребления - 2 вольта примерно ? Да, очень многие работают, начиная с 1.8 вольта, только тогда кварц должен быть не быстрее 4 МГц. Например, ATtiny20 (свежачок): Low Power Consumption – Active Mode: • 200 μA at 1 MHz and 1.8V – Idle Mode: • 25 μA at 1 MHz and 1.8V Тут токопотребление даже не миллиамперы, а микро! Один ваш светодиод сожрет тока на несколько порядков больше. И это, наверное, не предел, т.к. я этот даташит наобум открыла. Вот еще ATtiny13A: Low Power Consumption – Active Mode: • 190 μA at 1.8 V and 1 MHz – Idle Mode: • 24 μA at 1.8 V and 1 MHz ATtiny2313A: Low Power Consumption – Active Mode • 190 μA at 1.8V and 1MHz – Idle Mode • 24 μA at 1.8V and 1MHz ATtiny24A: Low Power Consumption – Active Mode: • 210 μA at 1.8V and 1MHz – Idle Mode: • 33 μA at 1.8V and 1MHz И т.д. Похоже, что с буковкой "A" на конце они почти все такие... Короче говоря, смотрите сюда - http://atmel.com/dyn/products/devices.asp?family_id=607#791и выбирайте из них те, что "picoPower" и поменьше памяти (так дешевле выйдет, а для вашей задачи много памяти не надо). ========================================== P.S. Если грамотно запрограммировать на спящий режим, то будет просыпаться только на момент срабатывания ключа, инкрементировать счетчик и снова засыпать. Тогда среднее токопотребление снизится до уровня "Idle Mode", а при таком токе литиевой батарейки хватит на тот же срок, как если бы она нераспечатанная в упаковке лежала.
|
|
|
|
Сообщений в этой теме
esr Как посчитать число замыканий ключа? Sep 16 2010, 09:32 Tanya Цитата(Xenia @ Sep 16 2010, 13:56) Все ос... Sep 16 2010, 10:03  Tanya Цитата(esr @ Sep 16 2010, 14:10) А подтяж... Sep 16 2010, 10:30     esr Цитата(Xenia @ Sep 16 2010, 15:40) Да, оч... Sep 16 2010, 12:51      Xenia Цитата(rezident @ Sep 16 2010, 17:08) А в... Sep 16 2010, 13:41       rezident Цитата(Xenia @ Sep 16 2010, 19:41) А оста... Sep 16 2010, 14:06        Xenia Цитата(rezident @ Sep 16 2010, 18:06) Отк... Sep 16 2010, 14:29         rezident Цитата(Xenia @ Sep 16 2010, 20:29) Однако... Sep 16 2010, 17:17          Xenia Цитата(rezident @ Sep 16 2010, 21:17) Инт... Sep 16 2010, 17:25           esr Цитата(Xenia @ Sep 16 2010, 21:25) Полага... Sep 16 2010, 20:27            Tanya Цитата(esr @ Sep 17 2010, 00:27) ПОка вот... Sep 17 2010, 05:58 yakub_EZ Вариантов реализации очень много. Вполне возможно ... Sep 16 2010, 10:03 @Ark ЦитатаСпасибо! У меня вот PIC18F2320 имеется. ... Sep 16 2010, 10:29 esr Цитата(@Ark @ Sep 16 2010, 14:29) Можете,... Sep 16 2010, 10:38  Tanya Цитата(esr @ Sep 16 2010, 14:38) А резист... Sep 16 2010, 10:49 @Ark ЦитатаА резистор какой нужно поставить ? А внутрен... Sep 16 2010, 10:55 Alexashka }{орошо бы еще предусмотреть, чтобы запись не прои... Sep 16 2010, 14:56 Xenia Цитата(Alexashka @ Sep 16 2010, 18:56) }{... Sep 16 2010, 16:05  Alexashka Цитата(Xenia @ Sep 16 2010, 20:05) Авось ... Sep 17 2010, 04:57 @Ark ЦитатаПОка вот нашел PIC16F688. Подойдёт или есть ... Sep 16 2010, 20:52 esr Цитата(@Ark @ Sep 17 2010, 00:52) Подойде... Sep 16 2010, 22:20 @Ark Долгие лирические отступления не приветствуются. ... Sep 16 2010, 22:29 esr Цитата(@Ark @ Sep 17 2010, 02:29) Долгие ... Sep 20 2010, 11:38 Herz Странно, но автора так никто и не спросил, где и д... Sep 17 2010, 09:52 esr Цитата(Herz @ Sep 17 2010, 13:52) Каково ... Sep 17 2010, 11:21  yakub_EZ Цитата(esr @ Sep 17 2010, 15:21) А обычны... Sep 17 2010, 11:59 Herz Да вот, хотя бы. Заодно и трассировку освоите. Я п... Sep 20 2010, 21:08 esr Цитата(Herz @ Sep 21 2010, 01:08) Да вот,... Sep 21 2010, 08:44
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|