Поверка секундомеров

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Юрий Климчук
Открыл глаза
Сообщения: 48
Зарегистрирован: Вс авг 31, 2008 07:51:22
Откуда: Астрахань

Сообщение Юрий Климчук »

Digital писал(а):Отдохните, до тех пор, пока снова не появится желание продолжать проект. И так круто стартанули для начала ИМХО.


Да уж, надо, недавно вот ЖКИ подпалил, + и - не соблюл
210 руб. однако
А желание продолжать есть, идет изучение и освоение СИ и регистров МК, другого пути не вижу, а разбирая на косточки проект лучше всего воспринимается
Начинающий
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

Надо принять чуть-чуть валерьянки... Погулять... А потом, когда валерьянка выветрится, неспеша заняться проектом...
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

Вот почти работающий в железе вариант программы. На 10 минутах ошибка меньше 1 мс. Всё бы хорошо, но обозначился глюк. Если пытаться запустить секундомер с временем выдержки, равном нулю, то прогоамма зависает, или делает что-то не то...
Отличия от предыдушего варианта:
1. Добавлен опрос кнопок с защитой от дребезга и автоповтором, если кнопку удерживать нажатой.
2. Добавлена индикация (Ваш вариант, как Вы написали) Тока исправил слово "Taimer" на "Timer".
3. Последнее значение выдержки (то, что установили кнопками), после нажатия кнопки "старт" запоминается в энергонезависимой памяти.
4. Ну и так, по мелочам.
Вложения
secmeter.c
(13.21 КБ) 299 скачиваний
Аватара пользователя
Юрий Климчук
Открыл глаза
Сообщения: 48
Зарегистрирован: Вс авг 31, 2008 07:51:22
Откуда: Астрахань

Сообщение Юрий Климчук »

Всем радиокотам возившимся со мной большая благодарность.
Именно
asteroid7, Digital, smac, Барсик

Я думаю на днях вышлю фото девайса.
Начинающий
Аватара пользователя
Юрий Климчук
Открыл глаза
Сообщения: 48
Зарегистрирован: Вс авг 31, 2008 07:51:22
Откуда: Астрахань

Сообщение Юрий Климчук »

как и обещал выставляю фото на обозрение
Немного че добавил, в плане информативности на ЖКИ (информация о последней нажатой кнопке).
Если есть еще варианты девайса, программно или еще как, я думаю стоит выложить, многим будет интересно.
Вложения
secmeter.jpg
(109.87 КБ) 480 скачиваний
Начинающий
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

Дык, тактовая частота от внешнего генератора или откалибровали кварц на микроконтроллере?
Аватара пользователя
Digital
Открыл глаза
Сообщения: 78
Зарегистрирован: Сб сен 13, 2008 16:23:09
Откуда: Kaluga
Контактная информация:

Сообщение Digital »

Юрий Климчук писал(а):как и обещал выставляю фото на обозрение...

Нормально так получилось :) А там 5 секундомеров одновременно могут быть включены?

Барсик писал(а):Дык, тактовая частота от внешнего генератора или откалибровали кварц на микроконтроллере?

Мне тоже это интересно было бы узнать.
Аватара пользователя
Юрий Климчук
Открыл глаза
Сообщения: 48
Зарегистрирован: Вс авг 31, 2008 07:51:22
Откуда: Астрахань

Сообщение Юрий Климчук »

Да можно и десять, все зависит от электромагнита, пока испытания прошли на одном, дальше немного облагорожу исполнительное устройство.
Тактирование осуществляется у меня от внешнего кварца, сегодня измерял период примерно 1,999712 мкс, пока не устраивает буду калибровать на днях, если будут проблемы попробую от генератора с "претензиями", наверно Г4-158.
Я немного внес своё в прогу представляю прикрепленный файл.
Вложения
secmeter+.rar
(98.9 КБ) 222 скачивания
Начинающий
Аватара пользователя
Digital
Открыл глаза
Сообщения: 78
Зарегистрирован: Сб сен 13, 2008 16:23:09
Откуда: Kaluga
Контактная информация:

Сообщение Digital »

Попробовал в протеусе вариант, предложенный в файле secmeter+. Работает, но есть проблема с зависанием программы при показаниях на дисплее 00:00:00 (и не только сразу если такие цифры, но и после окончания выдержки времени). Это видимо то о чём Барсик упоминал выше. Если закомментировать все строки работы с EEPROM, то проблема уходит, хотя в самом начале, при нулях, если на "Пуск" нажать, остаётся. Скорее всего дело здесь в особенностях симуляции протеуса, если в железе нормально.

Юрий Климчук писал(а):...в плане информативности на ЖКИ (информация о последней нажатой кнопке).

ИМХО конечно, но, если о последней, то "Last key: START", к примеру однозначнее понимается. Надпись же "Press key START" так и приглашает, по смыслу, нажать на эту кнопку (и не раз) :) . А "Pressed key: ..." уже не вместится.
Аватара пользователя
Юрий Климчук
Открыл глаза
Сообщения: 48
Зарегистрирован: Вс авг 31, 2008 07:51:22
Откуда: Астрахань

Сообщение Юрий Климчук »

Digital писал(а):Попробовал в протеусе вариант, предложенный в файле secmeter+. Работает, но есть проблема с зависанием программы при показаниях на дисплее 00:00:00 (и не только сразу если такие цифры, но и после окончания выдержки времени). Это видимо то о чём Барсик упоминал выше. Если закомментировать все строки работы с EEPROM, то проблема уходит, хотя в самом начале, при нулях, если на "Пуск" нажать, остаётся. Скорее всего дело здесь в особенностях симуляции протеуса, если в железе нормально.

Зависание в железе происходит только тогда когда при 00:00:00 нажимаеш на пуск, хотя логически оно и не нужно так делать поэтому можно оставить
Начинающий
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

Digital писал(а):...Скорее всего дело здесь в особенностях симуляции протеуса, если в железе нормально.

Как раз в железе и зависает. Я с Протеусом вообще не умею работать. :) Я так и не разобрался в чём дело.
Нельзя ли глянуть в том же Протеусе, в каком месте вылетает программа и куда заруливает ?
Аватара пользователя
Юрий Климчук
Открыл глаза
Сообщения: 48
Зарегистрирован: Вс авг 31, 2008 07:51:22
Откуда: Астрахань

Сообщение Юрий Климчук »

Барсик писал(а): Нельзя ли глянуть в том же Протеусе, в каком месте вылетает программа и куда заруливает ?

В каком смысле заглянуть и зарулить? Протеус по сути эквивалент собранной схемы, как глючит она в Протеусе при 00:00:00 если нажать на ПУСК, так же и в железе (А смысл нажимать на пуск при нулях?). Но в остальном ничего замечено не было, все одинаково как в Протеусе так и в железе
Барсик писал(а): Я с Протеусом вообще не умею работать.

А чего там работать в протеусе собрал схему, указал для МК папку с HEX файлом, и если все правильно наблюдаеш, нажимаеш на кнопочки, читаеш информацию с виртуального ЖКИ и т.п.

Подводил кварц до нормы емкости поставил 120 и 150 пф работает МК!, хотя по моему мах 33 пф.
получилось 1999935 мкс, завтра проведу испытания с Г4-158
Начинающий
Аватара пользователя
Digital
Открыл глаза
Сообщения: 78
Зарегистрирован: Сб сен 13, 2008 16:23:09
Откуда: Kaluga
Контактная информация:

Сообщение Digital »

Юрий Климчук писал(а):Подводил кварц до нормы емкости поставил 120 и 150 пф работает МК!, хотя по моему мах 33 пф...

А скиньте схемку подключения кварца к МК со всей подстроечной обвязкой и номиналами.
Аватара пользователя
Digital
Открыл глаза
Сообщения: 78
Зарегистрирован: Сб сен 13, 2008 16:23:09
Откуда: Kaluga
Контактная информация:

Сообщение Digital »

Барсик писал(а):Нельзя ли глянуть в том же Протеусе, в каком месте вылетает программа и куда заруливает ?

Юрий Климчук писал(а):А чего там работать в протеусе собрал схему, указал для МК папку с HEX файлом...

Если вместо hex-файла указать cof-файл, то можно будет отлаживать программу пошагово.

F9 - установка/снятие "бряков" (тест-поинтов);
F11 - шаг вперёд;
F12 - выполнение пограммы;
Pause/Break - пауза.

После запуска симуляции, если нажать паузу и, в меню Debug, отметить пункт "7.AVR Source Code - CPU", то откроется окно с исходником программы и можно будет "шагать" по нему и смотреть в каком же порядке отрабатывается программа и на ЖКИ смотреть заодно можно будет изменения (типа как на рисунке в аттаче). Если окно "AVR Source Code - CPU" будет пустым, то вверху есть выпадающий список, в нём выбрать файл с расширением .С. Вообще обычно достаточно было указать в меню "Source"-"Add/Remove Source Code files" файл-исходник и окно "AVR Source Code - CPU" не очищалось после start/pause, но поставил на пробу win7rc1, а под ней уже как-то не так работает.

Следить за изменением переменных можно будет, если активировать пункт 8 меню Debug - "8.AVR Variables -CPU. По правой кнопке мыши можно выбрать формат отображения этих переменных (по отдельности или сразу все интересующие выбрать).

Так, для отладки, лучше расставить "бряки" в нужных местах и запустить программу. Как дойдёт до установленной точки/точек останова, то выполнение прервётся, откроется окно с кодом и можно будет дальше "шагать".
---
Наверное для отладки лучше (но не обязательно конечно) кнопки отключить (упростить программу), т.к. с ними заморочней отлаживать.
Вложения
img0.gif
(199.76 КБ) 429 скачиваний
Аватара пользователя
Юрий Климчук
Открыл глаза
Сообщения: 48
Зарегистрирован: Вс авг 31, 2008 07:51:22
Откуда: Астрахань

Сообщение Юрий Климчук »

Да век живи, век учись, даже и не подозревал, что в протеусе можно отлаживать прогу. Спасибо за ценный совет.

А по поводу обвязки, сделал ровно как в даташите стр 25. между 9 и 10 кварц и каждая нога через емкость на землю, ну а ёмкости как и писал 120 и 150 пф. Отлаживал с частотомером Ч3-54 с емкостями 22 пф, наблюдал длительность и период сигнала и старался подвести его ровненько к секунде ну и дошел до такой величины емкости, но это край чуть больше МК начинает глючить. Но мне чего то так уже не нравится, я притащил домой Г4-158 буду пробывать его вместо кварца, правда почемуто при перепрограмировании фузов на внешний сиграл (CKSEL3..0 0000) МК приказала долго жить. (МК вставлена в програматор). Правда последнее я один раз случайно нажал стереть, может из за этого (код 24)?
Начинающий
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

Юрий Климчук писал(а):...правда почемуто при перепрограмировании фузов на внешний сиграл (CKSEL3..0 0000) МК приказала долго жить. (МК вставлена в програматор)...

Дык и подайте тот самый внешний сигнал от генератора на микроконтроллер. Прямо в программатор... Я же Вас предупреждал: http://radiokot.ru/forum/viewtopic.php?p=211446#211446
"Как только Вы запрограммируете работу микроконтроллера от внешнего тактового генератора, то без этого самого генератора уже нельзя будет его программировать обычным программатором." Вот и суньте сигнал с внешнего генератора на вход XTAL1 (разумеется с резисторами смещения и конденсатором, как я нарисовал), и программируйте его наздоровье...
Аватара пользователя
Digital
Открыл глаза
Сообщения: 78
Зарегистрирован: Сб сен 13, 2008 16:23:09
Откуда: Kaluga
Контактная информация:

Сообщение Digital »

Вот, в аттаче, посмотрите - статья "О подборе кварцевых резонаторов". Там как раз есть советы для применения в точных системах, причины ухода частоты и способ подключения подстроечного элемента в реальной схеме.
Вложения
quartz.zip
(141.81 КБ) 199 скачиваний
Аватара пользователя
Юрий Климчук
Открыл глаза
Сообщения: 48
Зарегистрирован: Вс авг 31, 2008 07:51:22
Откуда: Астрахань

Сообщение Юрий Климчук »

Товарищ Барсик, что бы я без Вас делал, Вы как всегда правы, вообщем сделал как сказали, подкинул генератор Г4-158 на 9 ногу в соответствии с выше указанной обвязкой и все пошло, хорошо, что еще мегу не выбросил.
Вот сегодня уже испытывал, и даже экспериментировал с частотой, МК стабильно работает до 28 МГц, 29 все предел, видно как быстро секунды побежали ну это и понятно. Кстати регулировка осущестлялось довольно бысто и МК не вис.
Теперь мне осталось все это дело "поверить", методика наверно одна измерить период сигнала OC1A (нога номер 15), с погрешностью вот такой +/-(20*10-^6*Т+1*10-^2), где Т измеряемый интервал времени в секунду (взято из ГОСТ 8.423-81), т.е допустимая погрешность 1 сек = 0,01002 сек., а например за 60 мин = 0,082 сек., а за сутки = 1,738 секунды, т.е это мах допустимая погрешность эталонного прибора (СТЩ-1), но желательно погрешность иметь <=1 сек. в сутки.
Ну это я информацию даю для тех кому интересно самому поверить секундомер, правда без аккредитации ваша поверка будет не действительна.
Начинающий
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

Я по частотомеру (частотомерчег ещё тот - РЧ3-07-002) сначала устанавливал частоту внешнего генератора Г4-158, измеряя период на ноге 15. Потом измерял период тем же частотомерчегом непосредственно на выходе, куда подключён "соленоид". Получилась погрешность за 10 минут меньше миллисекунды, а за полтора часа - где-то миллисекунды две.
lsv884
Открыл глаза
Сообщения: 76
Зарегистрирован: Чт сен 24, 2009 18:28:40
Откуда: severomorsk
Контактная информация:

Поверка секундомеров.2

Сообщение lsv884 »

Добрый вечер.
Собрал по теме viewtopic.php?f=20&t=14515 на макетке таймер на atmege8-16pu
Прошивал программатором TL866CS,устройство не запустилось.
Как правильно выставить фьюзы в этом программаторе
скриншот прилагается
http://itmages.ru/image/view/2346078/c2fe7d9d
Кварц внешний на 8 мГц,дисплей 1602.



Сюда перенес.
aen
Ответить

Вернуться в «AVR»