Электронные часы на микроконтроллере

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

зато есть компаратор, добавить регистр/счетчик, и можно забодяжить полу-внешний :))) АЦП.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Сообщение ooogo »

и реализовать на внутреннем АЦП?
Может и легце, но не охота железо переделывать? :))
зато есть компаратор, добавить регистр/счетчик, и можно забодяжить полу-внешний АЦП.
А как это? Можно чуть по подробней?Или где можно про это прочитать?
Реклама
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

вещаем на одну из ног счетчик напр. 1533ИЕ5 (оно же 74ALS93 в буржуйском варианте) и подаем счетные импульсы. на выходе ставится резистивная матрица R-2R, с которой снимаем ступенчато нарастающее напряжение и подаем его на один из входов компаратора.
на одном ИЕ5 получаестя 16 уровневый ЦАП, на 2х - 256 уровней.
на второй вход компаратора подается измеряемое напряжение.
итого: 2 входа компаратора, 2 вывода на счетчик (второй вывод для сброса счетчика/ов, но можно и без него)

на сдвиговом регистре (ввиду ограниченности свободных ног) вообще можно замутить АЦП полседовательного приближения, ну прям как встроенные АЦП.

все.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 641
Зарегистрирован: Пт ноя 28, 2008 20:34:39
Откуда: Краматорск

Сообщение headshotbacs »

ХОРОШАЯ ИДЕЯ!!! К ДЕЛУ ДРУЗЬЯ!!!!

ВОЛЬТМЕТР НУЖЕН ПОЛЮБОМУ!!!
Реклама
Эиком - электронные компоненты и радиодетали
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Сообщение ooogo »

Вон оно как, на сколько я понял, просто счетчиком переключается напряжение с резистивных делителей, которое сравнивается с входным напряжением, и при превышении делается вывод о величене напряжения!? портов МК не хватит, максимум можно использовать два порта которые под кнопками подстройки часов и минут!? Да и пайки будет много....
Реклама
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

есть вариант совместного использования выводов, правда программу придется подработать.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Сообщение ooogo »

гасить индикаторы на время измерения и выходы делать входами (входы компаратора)!? Мысля конечно хорошая, но я хотел освоить работу с внешним АЦП, как раз два порта свободных можно наскребсти! :)
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

АЦП бывают разные: с последовательным выходом, параллельным.
вот например:
http://www.analog.com/en/analog-to-digi ... index.html
или вот:
http://focus.ti.com/analog/docs/datacon ... +home_p_dc
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 641
Зарегистрирован: Пт ноя 28, 2008 20:34:39
Откуда: Краматорск

Сообщение headshotbacs »

ooogo писал(а):гасить индикаторы на время измерения и выходы делать входами (входы компаратора)!? Мысля конечно хорошая, но я хотел освоить работу с внешним АЦП, как раз два порта свободных можно наскребсти! :)
А если использовать ATMega8??? Возможностей то больше...
akl
Друг Кота
Сообщения: 4447
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

ooogo писал(а):

А как это? Можно чуть по подробней?Или где можно про это прочитать?
Здравствуйте.
Можно воспользоваться этим документами для получения АЦП.
http://atmel.com/dyn/resources/prod_doc ... oc0953.pdf
http://atmel.com/dyn/resources/prod_doc ... avr401.zip
Делал по этой идее "честный" 10-разрядный АЦП. Правда, вместо транзистора использовал стабилизатор тока на КЖ101 и, таким образом, сократил управление АЦП до двух лап контроллера.
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

что-то забыл про этот апноут, а ведь читал в свое время.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Сообщение ooogo »

я так понимаю, принцип такой же как здесь http://www.gaw.ru/html.cgi/txt/app/micr ... AVR400.htm ?
А то я с англицким не очень дружу, трудно не зная сути перводить! :(
К тому же 6 бит вполне хватит если чуток переделать математику, ведь напряжение мерять надо будет от 9в до 15в, итого 6в
если мои расчеты верны 6/2^6=0.09375в, итого разрешение по напряжению составит 0,1в помоему вполне достаточно для контроля напряжения бортовой сети?! :)
Последний раз редактировалось ooogo Пт сен 04, 2009 23:42:23, всего редактировалось 3 раза.
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

можно и этот метод.
в AN401 8-ми разрядный АЦП, а здесь только 6.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Сообщение ooogo »

Я не подумал про ситуацию выхода из строя реле регулятора, тогда напруга с генератора может подняться до 17в, и уже потребуеться измерять диопазон 8в! А можно про КЖ101 по подробнее?
Открыл глаза
Аватара пользователя
Сообщения: 62
Зарегистрирован: Чт сен 03, 2009 12:39:36
Откуда: Ильичевск

Сообщение SergK »

Почитал тему кое что понял, еще больше додумал сам.
Переделал схему под имеющиеся у меня индикаторы (5 штук семисегментников с общим катодом, купил по случаю десяток за 5 грн.)

Программу на Си переделал чтобы была понятнее, в Протеусе все крутится, но в симуляции получается что время идет в 1,253 раза медленнее чем в реале... (считал с секундомером - на индикаторе 27 минут, на секундомере 33:50)

В чем проблема не могу разобраться...
Может быть такое расхождение из-за дополнительного индикатора,
но по идее время считается в прерываниях???
Вложения
clock-5.zip
(21.28 КБ) 245 скачиваний
Контактная информация:
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Сообщение ooogo »

У меня в протеусе как-то коряво запустился, с кодом не разбирался, сам особо не соображаю. :) попробуй в протеусе выставить опцию работы мк от внешнего кварца! впринципе если внутреннюю подтяжку включил, то внешняя не нужна на кнопки часов и минут, но хуже не будет если поставишь. :) Маленький совет, сам напаролся, старайся при отладки цифровых устройств ставить "цифровые" элементы, т.е. к ножке ресет не 10 к, а пуллап (PULLUP) резистор
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

ooogo писал(а):... а пуллап (PULLUP) резистор

а это еще что?
Не умеешь - не берись, но не взявшись не научишься...
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Сообщение ooogo »

Stalker46 писал(а): а это еще что?
цитата из протеуса "Digital Primitive Model Of A Pull-Up Resistor"
SergK посмотрел код прерывания твоей прошивки, грубых ошибок не увидел, попробуй поэкспериментировать с протеусом. я бы начал с установки внешнего кварца.
akl
Друг Кота
Сообщения: 4447
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

ooogo писал(а):...напряжение мерять надо будет от 9в до 15в
Подавление нулевой отметки было актуально для стрелочных измерителей, у которых мал диапазон индикации. В цифровых приборах это ограничение, во многом, снято. Например:
-диапазон измерения К*4.096В
-разрядность АЦП 12 разрядов (4096 дискрет отсчета)
-тактовая частота работы контроллера 1МГц
-конденсатор имеет емкость 0.1мкФ
Для получения времени накопления напряжения равного 4.096В необходим постоянный ток 100мкА и, одновременный с началом заряда конденсатора, запуск счетчика. Через 4096мксек напряжение на конденсаторе достигнет значения 4.096В. В момент превышения напряжения на компараторе опорного напряжения, связанный выход аналогового компаратора с входом ICP счетчика, вызывает прерывание CAPT и в ICR заносится текущее значение счетчика.
ooogo писал(а):... А можно про КЖ101 по подробнее?
Постоянный ток заряда конденсатора как раз и обеспечивает КЖ101 (есть забугорный аналог, но маркировку не помню). Так делал когда "Земля была тепленькой, а зёбра была тигрою и дышала жабрами...", т.е. лет 10 назад. В то время один 10-р АЦП стоил пару контроллеров AT90S8515. :cry:
Открыл глаза
Аватара пользователя
Сообщения: 62
Зарегистрирован: Чт сен 03, 2009 12:39:36
Откуда: Ильичевск

Сообщение SergK »

Я с протеусом тоже только начал работать, тонкостей не знаю. В схеме с индикацией разобрался, в начальной схеме в данной теме и программе на Си было очень запутано с ногами МК и Индикатора, наверное делалось для облегчения разводки, но для начинающего надо что-то попроще :)
Но думаю счас уже понятнее PORTD.2=1 - вывод на конкретную ногу высокого уровня... Циферки на PORTB привел в двоичном виде, сразу видно что куда... А для замены индикатора на общий анод достаточно инвертировать уровни на портах...

Вот с чем я совсем не разобрался, так это с логикой работы прерываний и как оно реализовано в данном случае, и откуда беруться исходные два вызова в секунду?
Контактная информация:
Ответить

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