Счетчик импульсов с UART(снятие показаний)

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
andrey_ims
Открыл глаза
Сообщения: 73
Зарегистрирован: Пн июл 01, 2013 22:38:09

Счетчик импульсов с UART(снятие показаний)

Сообщение andrey_ims »

Доброе время суток!

Заболел я идеей умного дома и решил начать с автоматизации съема показаний с квартирных водомеров и электросчетчика.
Купил себе вот такое устройство и хочу с его помощью дистанционно снимать показания со счетчиков. У меня имеется 2 счетчика воды с герконовым контактом и электросчетчик, весело мигающий светодиодом в такт потребления электроэнергии. Собственно задача состоит в том, чтобы собрать устройство, которое будет считать импульсы по трем независимым каналам(2 геркона, 1 фоторезистор(?)) и уметь по требованию, передавать эти показания по UART.

По специальности я программист, и имею только общее представление о схемотехнике.
В моем понимании, мне нужен микроконтроллер, который должен иметь три пина для обработки прерываний и аппаратный UART.
Мне нужно, чтобы вы, уважаемые специалисты, порекомендовали мне микроконтроллер, удовлетворяющий следующим требованиям:
1)Простой в освоении.
2)Недорогой.
3)Недорогой программатор.
4)Экономичный.

Еще мне понадобится помощь в проектировании схемы, но это позднее.

Спасибо.
Реклама
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение Gudd-Head »

andrey_ims писал(а):1)Простой в освоении.
2)Недорогой.
Наверное, любой RISC. Для примера, AVR можно взять по $0,5/шт.
andrey_ims писал(а):3)Недорогой программатор.
"5 проводков" для AVR
andrey_ims писал(а):4)Экономичный.
В смысле, мало потребляющий?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
andrey_ims
Открыл глаза
Сообщения: 73
Зарегистрирован: Пн июл 01, 2013 22:38:09

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение andrey_ims »

В смысле, мало потребляющий?
да

Погуглил AVR и нашел ATtiny2313. Вроде должен подойти.
А вы не знаете нету ли под него эмулятора какого-то, чтоб можно было не покупая попробовать с ним поработать?
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение Gudd-Head »

Есть Proteus, есть AVRStudio от Atmel.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Эиком - электронные компоненты и радиодетали
pcb
Опытный кот
Сообщения: 833
Зарегистрирован: Пт авг 12, 2011 09:14:27
Откуда: Млечный путь/Земля/РФ/Екатеринбург

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение pcb »

Gudd-Head писал(а):Есть Proteus, есть AVRStudio от Atmel.
Сойдет на первое время. Но намного приятнее юзать живьем камни.

Ну и кроме 2313 можно тини26 пользовать, там ацп есть и универсальный порт (хошь SPI хошь UART) :)
Разработал:
-BLDC
-ФУОЗ/МПСЗ
-SMART BMS
-ECU/EDC на STM32F4(43%)+CPLD(57%)
-Моноинжектор на ATSAMD20G16
-контроллер эффектов для RGB LED ленты
-умные часы/обратный счет/секундомер
-устройство измерения емкости АКБ
Реклама
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение Engineer_Keen »

pcb писал(а):(хошь SPI хошь UART) :)
UART из USI сделать можно, но это немного сложнее чем использование железного UARTа, так что "для освоения" лучше все-таки tiny2313, а если надо и UART и АЦП, то можно брать АТМеги.
Реклама
andrey_ims
Открыл глаза
Сообщения: 73
Зарегистрирован: Пн июл 01, 2013 22:38:09

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение andrey_ims »

лучше все-таки tiny2313
А какой к нему нужен программатор(у меня нет COM-порта)?
Эти чипы многократно шьются?
Аватара пользователя
olegators68
Поставщик валерьянки для Кота
Сообщения: 2253
Зарегистрирован: Пн ноя 01, 2010 12:19:31
Откуда: Серпухов

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение olegators68 »

Раз tiny2313 и нет ни COM, ни LPT портов, на нем можно и собрать http://sokolsp.at.ua/publ/samyj_miniatj ... r/1-1-0-23
Но придеться для программирования микросхемы программатора все таки найти ящик с портами.
Конечно шьються, главное не залочить фузами http://fusecalc.mirmk.net/
Вот блин, опять в галерее картину малевича вверх ногами повесили.
andrey_ims
Открыл глаза
Сообщения: 73
Зарегистрирован: Пн июл 01, 2013 22:38:09

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение andrey_ims »

olegators68 писал(а):Раз tiny2313 и нет ни COM, ни LPT портов, на нем можно и собрать http://sokolsp.at.ua/publ/samyj_miniatj ... r/1-1-0-23
Но придеться для программирования микросхемы программатора все таки найти ящик с портами.
Я вот такой нашел http://www.kosmodrom.com.ua/el.php?name=AVR-USB-ASP Недорого
andrey_ims
Открыл глаза
Сообщения: 73
Зарегистрирован: Пн июл 01, 2013 22:38:09

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение andrey_ims »

Я хотел записывать значения счетчика в EEPROM, чтобы при потере питания данные не терялись, но прочитал в даташите, что там всего 100 000 циклов записи, что не очень подходит для счетчика. Как в данном случае обычно поступают?
Сохранять только при потере питания?

И еще, кто может подсказать как в Proteus эмулировать работу UART?
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение Gudd-Head »

andrey_ims писал(а):Как в данном случае обычно поступают?
Если вам 100 000 мало, можете использовать FRAM память, там 10^12 циклов.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение Vov123 »

Что-то умный дом совсем не умный получится,к тому -же с таким проциком резервов для усовершенствования никакого нет.Возьми лучше плату дискавери с STM32 и паять нечего не надо,и программатора не надо,и ресурсов немерено,да к тому же SD-карта подключается в лёт.А если очень захотеть,то HD-диск со временем прилепить сможешь.

Ну а,если всё же по бедности тинька AVR,то какой умный дом без часиков и календаря.К тому же там имеется 64 бит RAM памяти на батарейке,будет куда показания счётчиков на хранение оставлять.
andrey_ims
Открыл глаза
Сообщения: 73
Зарегистрирован: Пн июл 01, 2013 22:38:09

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение andrey_ims »

Gudd-Head писал(а): Если вам 100 000 мало, можете использовать FRAM память, там 10^12 циклов.
Мало, счетчик мигает диодом 6400 раз на 1 кВт/ч.

Вы имеете FLASH-память самого контроллера или внешнюю?

В даташите написанно:
The Flash memory has an endurance of at leas
t 10,000 write/erase cycles.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение Gudd-Head »

andrey_ims писал(а):Мало, счетчик мигает диодом 6400 раз на 1 кВт/ч.
Бл., каждый пик что ли записывать???
andrey_ims писал(а):Вы имеете FLASH-память самого контроллера или внешнюю?
Я имею в виду не FLASH, а FRAM память. Есть как контроллеры, так и отдельно такая память.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение Alexeyslav »

Если правильно распределить память, то и на каждый "тик" её хватит до скончания веков. Достаточно не писать данные всегда в одно место, и ресурс ячеек увеличится многократно. Но стоит ли эта овчинка выделки? Можно ведь использовать обычную SRAM запитанную от ионистора на 1-2-3 Фарада, такие есть как в составе с часами реального времени так и отдельно. При желании взять чип на основе DS... какой-то там или PCF8583 и просто не использовать функцию отсчета времени... Хм. Кстати, в таких м/с вместо функции часов можно использовать в их качестве как аппаратный счетчик, такой режим работы оговорен отдельно. Причем этот счетчик будет работать и при питании от резервного источника, когда контроллер в отключке. В таком варианте в принципе, контроллер может просыпаться раз в час и сохранять значение счетчика в EEPROM, для повышения надежности (ионистор сутки например не протянет). Хотя, было бы желание... валяются у меня ионисторы на 180Ф и 100Ф, небось впитают в себя половину батареек сразу при включении и выходить на режим будут минуту-две минимум... (ток заряда 1А - 200 секунд до достижения напряжения в 2 вольта).
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение Gudd-Head »

Alexeyslav писал(а):Достаточно не писать данные всегда в одно место, и ресурс ячеек увеличится многократно.
Вот только куда писать положение того самого не "одного места"? :wink:
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
andrey_ims
Открыл глаза
Сообщения: 73
Зарегистрирован: Пн июл 01, 2013 22:38:09

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение andrey_ims »

Vov123 писал(а):какой умный дом без часиков и календаря.К тому же там имеется 64 бит RAM памяти на батарейке,будет куда показания счётчиков на хранение оставлять.
Вообще все немного не так устроено,мозг дома -Rails приложение.
Конкретно этот счетчик - всего лишь аппаратный модуль.
В ванной стоит WiFly модуль, который управляется с сайта, он может включать/выключать бойлер, а так-же делать рассылку о текущем энергопотреблении бойлера.
Но ванной так-же стоит водомер, и электросчетчик через стену. WiFly умеет работать с UART, вот по UART он и должен снимать показания счетчиков.
andrey_ims
Открыл глаза
Сообщения: 73
Зарегистрирован: Пн июл 01, 2013 22:38:09

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение andrey_ims »

Gudd-Head писал(а): Вот только куда писать положение того самого не "одного места"? :wink:
А от конденсатора микроконтроллер сможет достаточно долго проработать, чтобы по прерыванию сохранить значение счетчика из ОЗУ в энергонезависимую память?
На сколько это будет надежно?
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение Kavka »

Gudd-Head писал(а):Вот только куда писать положение того самого не "одного места"? :wink:
Дык, в том то и дело, что и такого места не требуется! :))) Если хорошо подумать, конечно.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
zöner
Вымогатель припоя
Сообщения: 502
Зарегистрирован: Чт фев 16, 2012 19:00:11

Re: Счетчик импульсов с UART(снятие показаний)

Сообщение zöner »

1)Простой в освоении.2)Недорогой.3)Недорогой программатор.4)Экономичный.
Arduino - прошивается прямо из среды через RS232 или USB, программатор не нужен.
В космодроме есть пустые платы ARDUINO-NANO-PLATA по 12грн http://www.kosmodrom.com.ua/prodlist.ph ... E%E8%F1%EA , достаточно впаять подходящий контроллер (Atmega8/88 стоит 12грн) и прошить загрузчик.
Для экономичности берите Mega48PA/88PA/168PA.
У китайцев цены на собранные платы начинаются с 8$
Я хотел записывать значения счетчика в EEPROM, чтобы при потере питания данные не терялись, но прочитал в даташите, что там всего 100 000 циклов записи, что не очень подходит для счетчика. Как в данном случае обычно поступают? Сохранять только при потере питания?
кольцевой буфер в EEPROM - если например нужно писать 16байт при общем объеме 512байт, количество циклов составит 100000 * 512 / 16 = 3200000.
Также можно писать только при пропадании питания - компаратором или АЦП ловить момент падения питания, писать данные, и ложиться спать. Для замедления пропадания - большой электролит или ионистор по питанию.
Ответить

Вернуться в «Разные вопросы по МК»