Страница 2 из 5

Re: Счетчик наработки времени.

Добавлено: Чт мар 03, 2011 16:06:10
akl
Так это же просто замечательно! Нужно освежить в памяти этот момент. Спасибо. :beer:

Re: Счетчик наработки времени.

Добавлено: Чт мар 03, 2011 16:24:44
ARV
интересно, что же тут замечательного? ;) то, что забыли сделали или нет, или то, что не сделали, или то, что сделали? или еще какой-то вариант? ;)

Re: Счетчик наработки времени.

Добавлено: Чт мар 03, 2011 19:36:37
Coviraylhik
akl писал(а):...........Каждую минуту программа записывает в следующие, после предыдущей записи, 4 ячейки новое значение текущего времени............
Вот прямой текст , из этого следует , если отсчитает 59сек и откл питание етествено минута потеряется.
Попробовал поинтенсивней делать схеме обесточку (очень мало шансов попасть на такой перид записи данных, когда этого хочется :cry: ) никаких сбоев.
Вариант сохранения данных (хоть до милисекунд) возможен с применением аналогового компаратора использовав дополнительно AIN0, AIN1 , на которые подается напряжение и при отключении устройства изменение напряжений на входе AIN0 и AIN1, он выдаст на выходе 1 или 0, что будет командой для МК записи данных в память (ножки МК только 12 и 13)

Re: Счетчик наработки времени.

Добавлено: Пт мар 04, 2011 10:20:24
md5sum
Coviraylhik писал(а):при отключении устройства изменение напряжений на входе AIN0 и AIN1, он выдаст на выходе 1 или 0, что будет командой для МК записи данных в память (ножки МК только 12 и 13)
Только важно учесть, что цикл записи в eeprom длится 1,7 милисек (для tini2313) а atomic clear/write 3,5 милисек. Если нужные ячейки eeprom предварительно стереть (см ERRTA на предмет правильного стирания), то останется только поддержать питание контроллера на время записи в eeprom. Думаю не очень большого электролита и диода шотки перед ним (что-б остальную схему не питать) должно хватить. Да, и при срабатывании компаратора всю переферию MK должен отключить - как минимум выводы перевести в Z (DDRx=0;PORTx0) и остановить таймеры.

Re: Счетчик наработки времени.

Добавлено: Пт мар 04, 2011 11:09:16
ARV
если вы говорите о контроле питания, то в этом случае совершенно нет необходимости вести ежеминутную запись в EEPROM - достаточно записывать новые показания только в момент начала пропадания питания, т.е. весь предложенный принцип полностью отвергается. в этом случае надо лишь обеспечить сохранение питания в течение максимум 10 мс - с этим справится любой электролит достаточной емкости.
Coviraylhik писал(а):
akl писал(а):...........Каждую минуту программа записывает в следующие, после предыдущей записи, 4 ячейки новое значение текущего времени............
Вот прямой текст , из этого следует , если отсчитает 59сек и откл питание етествено минута потеряется.
нет, вы не правы, "потеряться" может гораздо больше. счетчик минут занимает минимум 4 байта. представьте себе, что были показания 1000, а стали 1001. в HEX-формате это 0x000003E8 и 0x00003E9 соответственно. в соответствии с принятыми правилами в EEPROM эти числа будут записаны "задом наперед" (если автор прошивки, конечно, не сделал это иначе), т.е. в виде байтов E8-03-00-00 и E9-03-00-00 соответственно. запись в EEPROM всегда состоит из двух этапов: стирания содержимого и записи нового значения - это аппаратная функция и изменить ее невозможно.
есть 2 варианта проявления проблемы, зависящие от того, как автор пишет в EEPROM свой счетчик: если использует функции "стандартные" - это может породить проблему №1, а если пишет сам по одному байту - проблему №2.
обе проблемы сводятся вкратце к тому, что питание может исчезнуть ПОСЛЕ этапа стирания ячейки, но ДО НАЧАЛА записи в нее нового числа. при варианте №1 это может произойти, например, в момент записи последнего 4-го байта, т.е. в EEPROM окажется число E9-03-00-FF, что в нормальном виде означает показания счетчика в 4278191081 - совсем не минута потерялась!!!
при варианте №2 автор, скорее всего, нули напрасно не будет записывать, и тогда бояться надо того, что после стирания второго байта питание пропадет: E9-FF-00-00 соответствует 65513 - тоже в общем-то не 1 минута :)))

так что проблема есть, и ее надо обязательно предусматривать, раз устройство в теории может работать годами! рано или поздно питание вырубят как раз в момент записи... (и случится это по закону Мэрфи в момент, когда вы будете демонстрировать свое изделие самому важному клиенту) :)))

Re: Счетчик наработки времени.

Добавлено: Пт мар 04, 2011 13:43:17
Coviraylhik
Да жаль, что автор написал эту прошивку, из спортивного интереса , мы бы от него обязательно потребовали строгий отчет :lol: :lol: ШУТКА.
Конечно ARV вы правы , когда то по закону Мэрфи, это может и случится.
А может...... да сколько на свете таких схем, которые непонятно как (почти непонятно), но работают.
Схема пока в одном экземпляре, но косяк пока никак не проявляется :beer:
Я так понимаю , котоавторы пишут программы в разных стилях программирования, и в этот проект, никто кроме автора (тоже теоретически) пока ничего не добавит. Так что другой, альтернативы пока нет.

Re: Счетчик наработки времени.

Добавлено: Пт мар 04, 2011 14:05:50
ARV
дело в том, что это потенциальная "дыра" в надежности устройства. если устройство не понятно почему работает - это устройство надо в помойку! может, оно там в себе искусственный интеллект зародило, ну и нафига нам скайнетовское восстание?! :)))

я делал много разных термостатов, и обычно не настаивал на установке фьюзов BOD. казалось бы, в чем проблема? однако многие, кто повторил мои разработки, жаловались на то, что время от времени настройки в EEPROM портятся (пороги термостатов сбиваются). в EEPROM я веду запись вообще только 1 раз спустя 5 секунд после изменения порога! а портится содержимое именно в момент включения-выключения питания. так что учитывать надо все и даже то, что учесть нельзя :) . поэтому и в вашем счетчике НЕОБХОДИМО активировать систему BOD, иначе спустя неделю и вы обнаружите, что у вас "счетчик сбился". ну а про "нюансики" я уже сказал ранее.

Re: Счетчик наработки времени.

Добавлено: Пт мар 04, 2011 18:40:22
O-LED
тем более все делается штатными стандартными средствами, почти без выкрутасов.

Re: Счетчик наработки времени.

Добавлено: Пт мар 04, 2011 19:00:52
Coviraylhik
Да сейчас выставлены фьюзы таким образом
Изображение
И хорошо что вы напомнили про термостаты , действительно подтверждаю ,что, при установке фьюзов BOD, термостат на ATtiny2313 ниже чем +5°C, переставал работать.
На основе таких фактов, сейчас провел испытания этому счетчику, поместил в морозильную камеру холодильника (-20°C гарантировано) примерно в течении часа держал там включеным и не забывал при этом с разными интервалами времени включать отключать ..... Порядок, все нормально работает!
O-LED писал(а):тем более все делается штатными стандартными средствами, почти без выкрутасов.
Это вы про что , есть альтернатива или так просто.......

Re: Счетчик наработки времени.

Добавлено: Пт мар 04, 2011 20:21:42
O-LED
Это вы про что , есть альтернатива или так просто.......
про защиту от потери информации. Все просто. "Слушаем питание", упало ниже 4,5в - записываем текущие данные в еепром, если дальше снижается до 2,7 бод сбрасывает контроллер, не давая затереть собранные данные. Если просело только до 4,5 и вернулось обратно - продолжаем отсчет

Re: Счетчик наработки времени.

Добавлено: Вс сен 25, 2011 21:35:59
stapelmoor
собрал эту схемку, (оставил только первые 4 символа) запустил, сначала был нолик все норм, потом примерно через час начались кракозябры вкл-выкл не помогает, какие-то символы мигают с секундным интервалом. вставил другой контроллер та-же тема((

Re: Счетчик наработки времени.

Добавлено: Пн сен 26, 2011 04:22:45
akl
Здравствуйте. После полного стирания контроллера (особенно это касается EEPROM) и загрузки .hex и .eep на индикаторе должны появиться 999900. Каждую минуту должно идти наращивание индикации минут и через час индикатор покажет 000. Работа этой схемы построена на том, что в EEPROM при стирании записывается 0xFF. Первая ячейка с таким содержимым является указателем откуда считывать предыдущее значение и куда нужно будет записывать следующее, по порядку, значение.

Re: Счетчик наработки времени.

Добавлено: Пн окт 10, 2011 16:21:50
rossich
Ребята, а нельзя ли вживить в вашу чудную схему счётчика кнопочку сброса (обнуления), чтобы не перепрошивать МК?

Re: Счетчик наработки времени.

Добавлено: Чт окт 13, 2011 12:25:37
Coviraylhik
Схемка очень полезная и простая, да и за это время мне в интернете не попадалось больше ничего подобного доступного к сборе самостоятельно А по сравнению с покупными, собранная схемка обходится в "копейки".....
rossich писал(а):схему счётчика кнопочку сброса (обнуления), чтобы не перепрошивать МК?
Есть в форуме свободном доступе исходник, но по моему кроме автора там врядли кто что либо сможет поменять ( вообще то не факт, это я , из своего опыта делаю такой вывод, очень долго я там пытался вставить точку в нужном мне месте , только с помощью автора и удалось... :beer: )
С одной стороны сброс который вам потребовался теоретически и нужен а с другой стороны , для серьезного устройства время наработки должно считатся от начала експлуатации и до его полного списания ..... а после его окончания срока службы, нет проблем и перепрошить МК.
Если вам нужно что для статистики учета времени наработки, то могу предложить вариант, правда там будут не только моточасы, так как схема очень много функциональна (если для себя то и затратность на детали не имеет значения)
по фунциям учёта схема очень интересна 20 !!! индувидуальных счетчиков и плюс их сумирование их в тотальный. Данные там также надежно сохраняются в памяти МК.
Тема здесь http://radiokot.ru/forum/viewtopic.php?f=25&t=55600

Re: Счетчик наработки времени.

Добавлено: Чт авг 30, 2012 01:11:46
LazarevSergey
Здравствуйте! Уважаемые специалисты в области электроники и програмирования, я не силён в создании устройств на МК, а тем более в написании программ к ним,поэтому полагаюсь на ваш опыт. Суть вот в чём. Я прочитал сообщения форума по поводу счётчика наработаного времени. На мой взгляд, весьма полезное устройство. Время наработки таких механизмов как ДВС, знать очень полезно. У меня возникла такая идея: А что если создать на базе этого счётчика такое устройство: назовём его измеритель остатка топлива в баке автомобиля с ЭСУД. Устройство будет считать время (в милисекундах) открытого состояния фарсунки. Давление топлива в рампе-величина относительно постоянная (поддерживается регулятором давления топлива в заданых пределах),Пропускная способность фарсунки,хотя и меняется по мере её износа,но достаточно медленно,поэтому, можно считать,тоже постоянная. Зная эти параметры можно расчитать сколько литров топлива сжёг мотор за время работы, скажем, после очередной заправки, а соответственно и остаток топлива в баке. Причём результат будет привязан не к показаниям штатного датчика уровня (которые +/- 5-7 литров могут менятся несколько раз в минуту,на ямах особенно), а к точному результату вычислений бортовой системы управления двигателем, причём на всех вежимах работы ДВС. Пропускная способность фарсунок для разных ДВС, разная. Поэтому устройство должно иметь возмозность некоторой коректировки по этой величине, сброса предыдущих показаний и ввода новых, сразу после заправки (например: было 10л->0л->50л), считать обратно к нулю и сразу пересчитывать милисекунды в литры для удобного и понятного отображения. Интересно было бы узнать ваше мнение насчёт всего мной тут понаписанного. Имеет ли данная идея право на жизнь? И если да, насколько сложно воплотить это в "железе".

Re: Счетчик наработки времени.

Добавлено: Чт авг 30, 2012 02:04:59
DX168B
ARV писал(а): я делал много разных термостатов, и обычно не настаивал на установке фьюзов BOD. казалось бы, в чем проблема? однако многие, кто повторил мои разработки, жаловались на то, что время от времени настройки в EEPROM портятся (пороги термостатов сбиваются). в EEPROM я веду запись вообще только 1 раз спустя 5 секунд после изменения порога! а портится содержимое именно в момент включения-выключения питания. так что учитывать надо все и даже то, что учесть нельзя :) . поэтому и в вашем счетчике НЕОБХОДИМО активировать систему BOD, иначе спустя неделю и вы обнаружите, что у вас "счетчик сбился". ну а про "нюансики" я уже сказал ранее.
У меня бывали случаи, что не то что бы EEPROM херилась, а доходило даже до слета прошивки. Правда, это была МЕГА32 с поддержкой бутлодера. Я сразу же догадался программатором сбросить бит BODEN. Помогло.

Re: Счетчик наработки времени.

Добавлено: Чт авг 30, 2012 10:35:51
BOB51
древний агрегат для копир-центра - правда считал не часы а продукцию (листочки с сортировкой по размеру А4=А4r/А3) текущий заказ/вложенный цикл и накопитель с момента запуска/инициализации
защита от сбоев в аппарате типа "застрял лист/выключение питания"
самонастройка на особенности скоростей конкретного листопротяжника
положил "в ящик" в связи с изменением в организации работы заказчиков (поток клиентов на услугах копирования подупал по сравнению с 90-ми)

Re: Счетчик наработки времени.

Добавлено: Сб фев 18, 2017 04:27:29
vlasovzloy
akl интересует по вашему проекту http://c2.at.ua/load/tajmery/schetchik_ ... /21-1-0-50
там есть свободный порт pd2. нет ли у вас желания на него сделать управление гашением индикаторов? точку только оставить мигающую, для индикации работоспособности устройства. соединил на общий, заработала индикация

Re: Счетчик наработки времени.

Добавлено: Сб фев 18, 2017 10:13:06
akl
Пробуйте. Индикатор с ОА. Обратите внимание на BODLEVEL2...0 101, задающие порог срабатывания BOD на уровне 2,7V.
MOTOHOURS_CA_2017.rar
(66.33 КБ) 685 скачиваний
Меня уже, чесслово, тошнит от этих счетчиков времени наработки. Правда, они на MSP430
СпойлерИзображение

Re: Счетчик наработки времени.

Добавлено: Ср май 10, 2017 13:38:25
Simp1e
Здравствуйте akl.
Можно ли как-то с вами пообщаться на счёт разработки подобного устройства?
Требуется так же считать время работы и записывать в EEPROM, но помимо этого хотелось бы вести учет еще одного значения времени с записью в EEPROM, которое можно было бы сбросить кнопкой/джампером. Требуется выводить только часы.