Счетчик импульсов с UART(снятие показаний)
-
andrey_ims
- Открыл глаза
- Сообщения: 73
- Зарегистрирован: Пн июл 01, 2013 22:38:09
Счетчик импульсов с UART(снятие показаний)
Доброе время суток!
Заболел я идеей умного дома и решил начать с автоматизации съема показаний с квартирных водомеров и электросчетчика.
Купил себе вот такое устройство и хочу с его помощью дистанционно снимать показания со счетчиков. У меня имеется 2 счетчика воды с герконовым контактом и электросчетчик, весело мигающий светодиодом в такт потребления электроэнергии. Собственно задача состоит в том, чтобы собрать устройство, которое будет считать импульсы по трем независимым каналам(2 геркона, 1 фоторезистор(?)) и уметь по требованию, передавать эти показания по UART.
По специальности я программист, и имею только общее представление о схемотехнике.
В моем понимании, мне нужен микроконтроллер, который должен иметь три пина для обработки прерываний и аппаратный UART.
Мне нужно, чтобы вы, уважаемые специалисты, порекомендовали мне микроконтроллер, удовлетворяющий следующим требованиям:
1)Простой в освоении.
2)Недорогой.
3)Недорогой программатор.
4)Экономичный.
Еще мне понадобится помощь в проектировании схемы, но это позднее.
Спасибо.
Заболел я идеей умного дома и решил начать с автоматизации съема показаний с квартирных водомеров и электросчетчика.
Купил себе вот такое устройство и хочу с его помощью дистанционно снимать показания со счетчиков. У меня имеется 2 счетчика воды с герконовым контактом и электросчетчик, весело мигающий светодиодом в такт потребления электроэнергии. Собственно задача состоит в том, чтобы собрать устройство, которое будет считать импульсы по трем независимым каналам(2 геркона, 1 фоторезистор(?)) и уметь по требованию, передавать эти показания по UART.
По специальности я программист, и имею только общее представление о схемотехнике.
В моем понимании, мне нужен микроконтроллер, который должен иметь три пина для обработки прерываний и аппаратный UART.
Мне нужно, чтобы вы, уважаемые специалисты, порекомендовали мне микроконтроллер, удовлетворяющий следующим требованиям:
1)Простой в освоении.
2)Недорогой.
3)Недорогой программатор.
4)Экономичный.
Еще мне понадобится помощь в проектировании схемы, но это позднее.
Спасибо.
- Реклама
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Счетчик импульсов с UART(снятие показаний)
Наверное, любой RISC. Для примера, AVR можно взять по $0,5/шт.andrey_ims писал(а):1)Простой в освоении.
2)Недорогой.
"5 проводков" для AVRandrey_ims писал(а):3)Недорогой программатор.
В смысле, мало потребляющий?andrey_ims писал(а):4)Экономичный.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
-
andrey_ims
- Открыл глаза
- Сообщения: 73
- Зарегистрирован: Пн июл 01, 2013 22:38:09
Re: Счетчик импульсов с UART(снятие показаний)
даВ смысле, мало потребляющий?
Погуглил AVR и нашел ATtiny2313. Вроде должен подойти.
А вы не знаете нету ли под него эмулятора какого-то, чтоб можно было не покупая попробовать с ним поработать?
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Счетчик импульсов с UART(снятие показаний)
Есть Proteus, есть AVRStudio от Atmel.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
-
pcb
- Опытный кот
- Сообщения: 833
- Зарегистрирован: Пт авг 12, 2011 09:14:27
- Откуда: Млечный путь/Земля/РФ/Екатеринбург
Re: Счетчик импульсов с UART(снятие показаний)
Сойдет на первое время. Но намного приятнее юзать живьем камни.Gudd-Head писал(а):Есть Proteus, есть AVRStudio от Atmel.
Ну и кроме 2313 можно тини26 пользовать, там ацп есть и универсальный порт (хошь SPI хошь UART)
Разработал:
-BLDC
-ФУОЗ/МПСЗ
-SMART BMS
-ECU/EDC на STM32F4(43%)+CPLD(57%)
-Моноинжектор на ATSAMD20G16
-контроллер эффектов для RGB LED ленты
-умные часы/обратный счет/секундомер
-устройство измерения емкости АКБ
-BLDC
-ФУОЗ/МПСЗ
-SMART BMS
-ECU/EDC на STM32F4(43%)+CPLD(57%)
-Моноинжектор на ATSAMD20G16
-контроллер эффектов для RGB LED ленты
-умные часы/обратный счет/секундомер
-устройство измерения емкости АКБ
- Реклама
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Счетчик импульсов с UART(снятие показаний)
UART из USI сделать можно, но это немного сложнее чем использование железного UARTа, так что "для освоения" лучше все-таки tiny2313, а если надо и UART и АЦП, то можно брать АТМеги.pcb писал(а):(хошь SPI хошь UART)
-
andrey_ims
- Открыл глаза
- Сообщения: 73
- Зарегистрирован: Пн июл 01, 2013 22:38:09
Re: Счетчик импульсов с UART(снятие показаний)
А какой к нему нужен программатор(у меня нет COM-порта)?лучше все-таки tiny2313
Эти чипы многократно шьются?
- olegators68
- Поставщик валерьянки для Кота
- Сообщения: 2253
- Зарегистрирован: Пн ноя 01, 2010 12:19:31
- Откуда: Серпухов
Re: Счетчик импульсов с UART(снятие показаний)
Раз tiny2313 и нет ни COM, ни LPT портов, на нем можно и собрать http://sokolsp.at.ua/publ/samyj_miniatj ... r/1-1-0-23
Но придеться для программирования микросхемы программатора все таки найти ящик с портами.
Конечно шьються, главное не залочить фузами http://fusecalc.mirmk.net/
Но придеться для программирования микросхемы программатора все таки найти ящик с портами.
Конечно шьються, главное не залочить фузами http://fusecalc.mirmk.net/
Вот блин, опять в галерее картину малевича вверх ногами повесили.
-
andrey_ims
- Открыл глаза
- Сообщения: 73
- Зарегистрирован: Пн июл 01, 2013 22:38:09
Re: Счетчик импульсов с UART(снятие показаний)
Я вот такой нашел http://www.kosmodrom.com.ua/el.php?name=AVR-USB-ASP Недорогоolegators68 писал(а):Раз tiny2313 и нет ни COM, ни LPT портов, на нем можно и собрать http://sokolsp.at.ua/publ/samyj_miniatj ... r/1-1-0-23
Но придеться для программирования микросхемы программатора все таки найти ящик с портами.
-
andrey_ims
- Открыл глаза
- Сообщения: 73
- Зарегистрирован: Пн июл 01, 2013 22:38:09
Re: Счетчик импульсов с UART(снятие показаний)
Я хотел записывать значения счетчика в EEPROM, чтобы при потере питания данные не терялись, но прочитал в даташите, что там всего 100 000 циклов записи, что не очень подходит для счетчика. Как в данном случае обычно поступают?
Сохранять только при потере питания?
И еще, кто может подсказать как в Proteus эмулировать работу UART?
Сохранять только при потере питания?
И еще, кто может подсказать как в Proteus эмулировать работу UART?
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Счетчик импульсов с UART(снятие показаний)
Если вам 100 000 мало, можете использовать FRAM память, там 10^12 циклов.andrey_ims писал(а):Как в данном случае обычно поступают?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Счетчик импульсов с UART(снятие показаний)
Что-то умный дом совсем не умный получится,к тому -же с таким проциком резервов для усовершенствования никакого нет.Возьми лучше плату дискавери с STM32 и паять нечего не надо,и программатора не надо,и ресурсов немерено,да к тому же SD-карта подключается в лёт.А если очень захотеть,то HD-диск со временем прилепить сможешь.
Ну а,если всё же по бедности тинька AVR,то какой умный дом без часиков и календаря.К тому же там имеется 64 бит RAM памяти на батарейке,будет куда показания счётчиков на хранение оставлять.
Ну а,если всё же по бедности тинька AVR,то какой умный дом без часиков и календаря.К тому же там имеется 64 бит RAM памяти на батарейке,будет куда показания счётчиков на хранение оставлять.
-
andrey_ims
- Открыл глаза
- Сообщения: 73
- Зарегистрирован: Пн июл 01, 2013 22:38:09
Re: Счетчик импульсов с UART(снятие показаний)
Мало, счетчик мигает диодом 6400 раз на 1 кВт/ч.Gudd-Head писал(а): Если вам 100 000 мало, можете использовать FRAM память, там 10^12 циклов.
Вы имеете 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(снятие показаний)
Бл., каждый пик что ли записывать???andrey_ims писал(а):Мало, счетчик мигает диодом 6400 раз на 1 кВт/ч.
Я имею в виду не FLASH, а FRAM память. Есть как контроллеры, так и отдельно такая память.andrey_ims писал(а):Вы имеете FLASH-память самого контроллера или внешнюю?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: Счетчик импульсов с UART(снятие показаний)
Если правильно распределить память, то и на каждый "тик" её хватит до скончания веков. Достаточно не писать данные всегда в одно место, и ресурс ячеек увеличится многократно. Но стоит ли эта овчинка выделки? Можно ведь использовать обычную SRAM запитанную от ионистора на 1-2-3 Фарада, такие есть как в составе с часами реального времени так и отдельно. При желании взять чип на основе DS... какой-то там или PCF8583 и просто не использовать функцию отсчета времени... Хм. Кстати, в таких м/с вместо функции часов можно использовать в их качестве как аппаратный счетчик, такой режим работы оговорен отдельно. Причем этот счетчик будет работать и при питании от резервного источника, когда контроллер в отключке. В таком варианте в принципе, контроллер может просыпаться раз в час и сохранять значение счетчика в EEPROM, для повышения надежности (ионистор сутки например не протянет). Хотя, было бы желание... валяются у меня ионисторы на 180Ф и 100Ф, небось впитают в себя половину батареек сразу при включении и выходить на режим будут минуту-две минимум... (ток заряда 1А - 200 секунд до достижения напряжения в 2 вольта).
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Счетчик импульсов с UART(снятие показаний)
Вот только куда писать положение того самого не "одного места"?Alexeyslav писал(а):Достаточно не писать данные всегда в одно место, и ресурс ячеек увеличится многократно.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
-
andrey_ims
- Открыл глаза
- Сообщения: 73
- Зарегистрирован: Пн июл 01, 2013 22:38:09
Re: Счетчик импульсов с UART(снятие показаний)
Вообще все немного не так устроено,мозг дома -Rails приложение.Vov123 писал(а):какой умный дом без часиков и календаря.К тому же там имеется 64 бит RAM памяти на батарейке,будет куда показания счётчиков на хранение оставлять.
Конкретно этот счетчик - всего лишь аппаратный модуль.
В ванной стоит WiFly модуль, который управляется с сайта, он может включать/выключать бойлер, а так-же делать рассылку о текущем энергопотреблении бойлера.
Но ванной так-же стоит водомер, и электросчетчик через стену. WiFly умеет работать с UART, вот по UART он и должен снимать показания счетчиков.
-
andrey_ims
- Открыл глаза
- Сообщения: 73
- Зарегистрирован: Пн июл 01, 2013 22:38:09
Re: Счетчик импульсов с UART(снятие показаний)
А от конденсатора микроконтроллер сможет достаточно долго проработать, чтобы по прерыванию сохранить значение счетчика из ОЗУ в энергонезависимую память?Gudd-Head писал(а): Вот только куда писать положение того самого не "одного места"?
На сколько это будет надежно?
Re: Счетчик импульсов с UART(снятие показаний)
Дык, в том то и дело, что и такого места не требуется!Gudd-Head писал(а):Вот только куда писать положение того самого не "одного места"?
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Re: Счетчик импульсов с UART(снятие показаний)
Arduino - прошивается прямо из среды через RS232 или USB, программатор не нужен.1)Простой в освоении.2)Недорогой.3)Недорогой программатор.4)Экономичный.
В космодроме есть пустые платы ARDUINO-NANO-PLATA по 12грн http://www.kosmodrom.com.ua/prodlist.ph ... E%E8%F1%EA , достаточно впаять подходящий контроллер (Atmega8/88 стоит 12грн) и прошить загрузчик.
Для экономичности берите Mega48PA/88PA/168PA.
У китайцев цены на собранные платы начинаются с 8$
кольцевой буфер в EEPROM - если например нужно писать 16байт при общем объеме 512байт, количество циклов составит 100000 * 512 / 16 = 3200000.Я хотел записывать значения счетчика в EEPROM, чтобы при потере питания данные не терялись, но прочитал в даташите, что там всего 100 000 циклов записи, что не очень подходит для счетчика. Как в данном случае обычно поступают? Сохранять только при потере питания?
Также можно писать только при пропадании питания - компаратором или АЦП ловить момент падения питания, писать данные, и ложиться спать. Для замедления пропадания - большой электролит или ионистор по питанию.


