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

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

Сообщение GP1 »

зато есть компаратор, добавить регистр/счетчик, и можно забодяжить полу-внешний :))) АЦП.
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
ooogo
Это не хвост, это антенна
Сообщения: 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 вывода на счетчик (второй вывод для сброса счетчика/ов, но можно и без него)

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

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

Сообщение headshotbacs »

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

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

Сообщение ooogo »

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

Сообщение GP1 »

есть вариант совместного использования выводов, правда программу придется подработать.
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
ooogo
Это не хвост, это антенна
Сообщения: 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
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
headshotbacs
Вымогатель припоя
Сообщения: 641
Зарегистрирован: Пт ноя 28, 2008 20:34:39
Откуда: Краматорск

Сообщение headshotbacs »

ooogo писал(а):гасить индикаторы на время измерения и выходы делать входами (входы компаратора)!? Мысля конечно хорошая, но я хотел освоить работу с внешним АЦП, как раз два порта свободных можно наскребсти! :)


А если использовать ATMega8??? Возможностей то больше...
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 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 »

что-то забыл про этот апноут, а ведь читал в свое время.
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
ooogo
Это не хвост, это антенна
Сообщения: 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.
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
ooogo
Это не хвост, это антенна
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Сообщение ooogo »

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

Сообщение SergK »

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

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

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

Сообщение ooogo »

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

Сообщение Arlleex »

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



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

Сообщение ooogo »

Stalker46 писал(а):а это еще что?

цитата из протеуса "Digital Primitive Model Of A Pull-Up Resistor"
SergK посмотрел код прерывания твоей прошивки, грубых ошибок не увидел, попробуй поэкспериментировать с протеусом. я бы начал с установки внешнего кварца.
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 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:
Аватара пользователя
SergK
Открыл глаза
Сообщения: 62
Зарегистрирован: Чт сен 03, 2009 12:39:36
Откуда: Ильичевск
Контактная информация:

Сообщение SergK »

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

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

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