|
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 21
|
|
Ещё один таймер для фоторезиста29.01.2014, 21:01. Показов 18837. Ответов 34
Метки нет (Все метки)
Всем привет! Создаю данный топик в виде старта проекта, сам проект планируется полностью открытым. Из названия в принципе понятно, что к чему. Изучать МК начал совсем недавно, многие моменты мне ещё совсем непонятны, поэтому тема и создаётся здесь. Пока начал с ассемблера, поэтому проект будет на нём. Так что буду собирать таймер и одновременно улучшать свои познания в программировании, поэтому за глупые вопросы прошу сильно не пинать.
Итого, что имеется: 1. СД матрица на УФ светодиодах. 90 вольт 300 мА. 2. ЖК 44780 20х2 (размер экзотный, но какой есть, не покупать же) 3. Разные МК, но для данного проекта остановился на 2313, как на наиболее подходящем для этой задачи. Что хочется: 1. Собственно, сам таймер. Дискретность установки времени 1 секунда. Максимальная установка 99 минут. 2. Звуковое оповещение по окончанию засветки фоторезиста (это просто) 3. Мониторинг температуры СД матрицы (DS18B20) и снижение мощности при перегреве (с пересчётом времени на засветку) 4. Возможность предварительного выбора мощности (скажем, 3 дискретных значения: 100%, 50% и 20%). Мощность задавать планирую при помощи аппаратного ШИМ-а. 5. Возможность сохранять и быстро загружать несколько предустановок время/мощность. С чем ещё не определился: 1. Сколько кнопок отвести под управление. Хочется 4, но для удобства не помешало бы и 5 (отдельная кнопка для загрузки/сохранения пресетов) 2. Интерфейс в целом. 3. Силовая и питающая часть. Скорее всего будет разрабатываться под готовую схему с МК. ------------------------------ Буду рад услышать предложения, пожелания и дополнения по поводу интерфейса и его организации, каких-то интересных фишек, которые могли бы понадобиться в таймере и прочего. В аттаче набросок схемы и первый вопрос: на какую ногу лучше повесить термометр (18В20) чтобы потом не было хитрых заморочек с кодом?
0
|
|
| 29.01.2014, 21:01 | |
|
Ответы с готовыми решениями:
34
Таймер обратного отсчёта с 7 сегментным индикатором для расчета фоторезиста Один таймер для попеременного развертывания нескольких панелей Еще один ассемблер для STM8 (ST7) |
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
||
| 30.01.2014, 00:52 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 16.07.2005
Сообщений: 826
|
|
| 30.01.2014, 01:09 | |
|
Рассеивающий фильтр надо для светодиодов.
По моему жирный lcd, пункты 3 и 4 тут явно лишние. Вообще идеальный (для меня) таймер это как таймер в микроволновке, энкодер с кнопкой и 7-сегментный 4-разрядный дисплей. Энкодером устанавливаем время, нажатием запускаем таймер, по окончании времени пищит пищалка. Можно добавить кнопки предустановок времени. Ручкой устанавливаем время, длинное нажатие на кнопку сохраняет время, короткое нажатие, устанавливает сохраненное время. Вот когда найду пленку для струйников, именно такой таймер себе сделаю))
0
|
|
|
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 21
|
||
| 30.01.2014, 01:19 | ||
И ещё. Слышал, что этот датчик, если питать его постоянно, склонен саморазогреваться, и от этого страдает точность измерения температуры. А на сколько он сам может нагреться? Если в пределах пяти градусов - - то для данного применения не критично... Кто-нибудь обладает данной информацией?
0
|
||
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|||
| 30.01.2014, 01:34 | |||
0
|
|||
|
0 / 0 / 0
Регистрация: 26.01.2009
Сообщений: 3
|
|
| 30.01.2014, 17:09 | |
|
В моей засветке 220 светодиодов, собраны в 22 линии по 10 штук. Самой главной загвоздкой было - где взять 22 источника тока, да еще с немаленьким напряжением (32 В). В итоге использовал STP24DP05. Остальное просто - mega8, HD44780, энкодер, пищалка, MC34063A. Питается все от купленного блока.
0
|
|
|
0 / 0 / 0
Регистрация: 16.07.2005
Сообщений: 826
|
|
| 30.01.2014, 17:14 | |
|
А в чем смысл применения именно светодиодов? Не легче купить люминисцентных ламп, и дешевле будет, и равномерность засветки должно быть лучше.
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,044
|
|
| 30.01.2014, 17:38 | |
|
2313 - это если программу писать на асме, и то не факт, что хватит flash. Товарищ выше MEGA8 использует. Навскидку я примерно так и накидывал, что МК на 8 кб где-то брать.
0
|
|
|
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 21
|
|||
| 30.01.2014, 18:50 | |||
0
|
|||
|
0 / 0 / 0
Регистрация: 26.01.2009
Сообщений: 3
|
||
| 30.01.2014, 20:33 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 21
|
|
| 30.01.2014, 21:05 | |
|
Развёл и сделал платку. К сожалению дома запаять не хватает кой-каких деталей, так бы сегодня уже пробовал запустить хоть основной алгоритм отсчёта времени...
0
|
|
|
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 21
|
||||||
| 31.01.2014, 01:11 | ||||||
|
Нарыл кусочек кода для преобразования BIN_TO_BCD
0
|
||||||
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
||
| 31.01.2014, 01:38 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 21
|
|
| 31.01.2014, 01:45 | |
|
Всё равно не понятно... Мы же получаем в регистрах после этого кусочка BCD данные, а зачем подготовка тогда? Можно как-то подробнее?, а то я совсем не врубаюсь, а понять очень хочется...
0
|
|
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
||
| 31.01.2014, 01:53 | ||
Ведь для печати числа, скажем, 2014, необходимо получить четыре символа - 2, 0, 1 и 4. Вот это и получается. Сразу то, что нужно для печати. Кстати, присмотрелся к коду внимательнее: он преобразует к печатному виду не только "обычные" цифры 0-9, но и шестнадцатиричные A-F. Собственно, название функции на это указывает: Hex2Ascii.
0
|
||
|
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 21
|
|
| 31.01.2014, 02:06 | |
|
Так это весь код и есть. Готовый пример, так сказать. Мне-то по простому и нужно преобразовывать какое-то значение регистра в BCD для дальнейшего его вывода на дисплей. На тестовой платке (мега128) я это делал функцией, в которой присутствовало умножение, а тини множить не умеет, вот и приходится искать обходные пути.
И не совсем понятно, как этот кусочек кода транслирует результат прямо в Ascii, бо не понимаю зачем, как и для чего вышеприведённая запись, про которую я и спрашивал. Как число представляется для вывода - мне было понятно и раньше.
0
|
|
|
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 21
|
|
| 02.02.2014, 02:20 | |
|
OtyxPM, спасибо за обьяснения, хотя мне достаточно было бы той инфы, что вместо 0 компилятор подставляет код этого символа в Ascii. С этим разобрался.
Есть очередной вопрос. В прерывании, когда счётчик минут подошёл к нулю, нужно в переменную грузить значение 59 (вместо автоматом туда вставляющегося 255) Суть своей идеи попробую преподнести в кусочке кода ниже. Знаю, что компилятор такую запись не хавает, но мне нужен совет, как это можно сделать проще. На данный момент этот кусок работает с джампом за границы прерывания, но это как-то вроде некрасиво... Вот так хочетсяTIMER_INTERRUPT: PUSHF SUBI LTime,1 SBRC SREG, C LDI LTime, 59 SBCI HTime,0 SBR FLAG,1<<TimeUpdate POPF RETI А вот так работаетTIMER_INTERRUPT: PUSHF SUBI LTime,1 BRCS LTime_LOAD NEXT: SBCI HTime,0 SBR FLAG,1<<TimeUpdate POPF RETI LTime_LOAD: LDI LTime, 59 RJMP NEXT
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,044
|
|||||||||||
| 02.02.2014, 13:00 | |||||||||||
|
Как-то так:
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 21
|
|
| 02.02.2014, 13:20 | |
|
Вот спасибо, добрый человек! Отличная конструкция получилась! И на один переход меньше. Именно так я и хотел, но не смог сообразить.
0
|
|
|
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 21
|
|
| 02.02.2014, 18:08 | |
|
Ну что-же, очередной вопрос :)
В тини2313 есть 16-разрядный таймер. Можно ли его заставить тикать с предделителем 1024, да так, чтобы при значении 10800 срабатывало прерывание? Что-то с даташитом я так и не смог разобраться, как именно это сделать. Если у кого-то есть, то очень желателен пример инициализации и запуска таймера в таком режиме.
0
|
|
| 02.02.2014, 18:08 | |
|
Помогаю со студенческими работами здесь
20
UV-подсветка для фоторезиста УФ лампа для засветки фоторезиста дешевый принтер для фоторезиста Ультрафиолетовые (UV) светодиоды для засветки фоторезиста Как создать другой, еще один шлюз для контроля достуа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|