Показано с 1 по 13 из 13

Тема: Твик блока индикации катушечника Орбита МПК-108С.

  1. #1
    Старый знакомый
    Автор темы
    Аватар для DrLithium
    Регистрация
    24.12.2006
    Адрес
    SPb
    Сообщений
    658

    Идея! Твик блока индикации катушечника Орбита МПК-108С.

    Причины:
    Достаточно одной - были установлены КР1534ИЕ1.

    Жесты:
    1. Ставим ATtiny2313A вместо 1-ой КР1534ИЕ1, вместо остальных 74HC595
    2. Выкидываем ножку 1 разъёма XS1
    3. Выкидываем диоды для формирования символа "У"
    4. Рисуем прошивку с сохранением прежних функций + с сохранением значения
    счётчика в энергонезависимой памяти.

    Совместимость:
    1. По уровням управляющих сигналов
    2. По функционалу, т.е. кнопки работают как и раньше.

    Добавлено относительно оригинала:
    1. Сохранение значения счётчика в энергонезависимой
    памяти, после 3-х секунд простоя подкатушечников и возвращение
    значения при включении.
    2. Отдельное питание счётчика не используется (XS1@1). По этому
    значения набежавшего счёта не сбрасывается во время переключения
    в режим "У".
    3. Возможность подстройки счёта изменением разрядности младшего
    (не отображаемого) разряда долей в пределах 0-255.
    * - по умолчанию значение разрядности установлено ="12"(0x0C).
    При этом на сторону 525-ой катушки набегает около "460"-и.
    При ="10"(0x0A) набегает "600".
    ** - Адрес переменной в файле "Orbita_108_ind_02.eep" (далее EPP) -
    строка 1@36-37. Подробнее о структуре EPP в файле "EEPROM&SRAM.xls".
    4. Возможность изменять знакогенератор в файле EPP как для символов
    счёта, так и для отображения символов в режиме "У".
    5. Возможность подключения дополнительных сегментов через
    регистры сдвига. Данные в 595-е регистры заталкиваются в следующем
    порядке: доли (Part - самый младший разряд с возможностью
    настройки разрядности, при ="0" игнорируется), знак ("+"
    не отображается), тысячи, сотни (первый разряд), десятки (второй
    разряд), единицы (третий разряд).
    * - по умолчанию значение счётчика установлено равным "+1234.5".
    ** - можно подключить дополнительный 595-й регистр для вывода разряда тысяч,
    следующий для знака, последний 6-ой для долей единиц (но при этом разрядность
    лучше оставить =9(0-9), а набегающий максимум регулировать числом лопастей
    крыльчатки).

    Согласование по управляющим уровням:
    Делитель напряжения из пары резисторов (для примера R2+R3) - получаем
    "0В"/"+4.9В". Вероятно придётся подобрать значения резисторов R3,5,7,9,11,
    для получения логической единицы на входах микроконтроллера, чуть ниже
    напряжения питания (+5.0В).

    Алгоритм МК:

    В момент включения, МК получает стандартную задержку по RESET. После входа в рабочий режим, происходит инициализация (установка портов, определяются разрешения и режимы таймеров и прерываний, и копируются данных из EEPROM в SRAM, счёт и отображение только в/из SRAM),
    устанавливается режим отображения режима "У" или счётчика (в зависимости от
    сигнала на ножке PB3).
    По завершении, фокус передаётся основной части программы, в которой крутится пустой бесконечный цикл. Какие-либо события обрабатываются прерываниями основного цикла.
    Прерывание по INT0 (вывод 6 МК, счётный вход XS1@3):
    задержка на время дребезга,
    сброс набежавших лишних прерываний,
    проверяем значение реверса и исходя из него инкрементируем или декрементируем
    значение счётчика,
    выводим на индикатор,
    останавливаем 3-х секундный таймер (не важно работал он или нет),
    сбрасываем набежавшее в таймере,
    запускаем 3-х секундный таймер по-новой,
    сравниваем значение счётчика со значением "ПАМЯТИ" и если они равны, то формируем "СТОП" на PD0 (вывод 11 МК, через R58, Q23 и R58 на XS1@11),
    запускаем 8-и битный таймер на время 256*1024/4.0MHz=0,065536 секунды.
    Этого времени достаточно для логики основной схемы, что бы перевести аппарат в
    режим "СТОП",
    выходим и бесконечный цикл.
    Прерывание по переполнению таймера Timer1_OVF (16-бит, 3-х секундный):
    если возникло это прерывание, значит изменилось значение счётчика и был запущен
    этот таймер и он истёк,
    останавливаем таймер,
    сохраняем новое значение счётчика в EEPROM,
    и выходим и бесконечный цикл.
    Прерывание по переполнению таймера Timer0_OVF (8-бит, 65-и мили-секундный):
    если возникло это прерывание, значит значение счётчика совпало с записанным ранее в SRAM по кнопке "ПАМЯТЬ" и он был запущен и истёк,
    отключаем сигнал "СТОП" на XS1@11,
    останавливаем таймер,
    и выходим и бесконечный цикл.
    Прерывание по PC_INT:
    обслуживание событий по изменению уровня на выводах МК PB4 (вывод 16, XS1@4
    сброс), PB3 (вывод 15, XS1@5 режим "У"), PB2 (вывод 14, XS1@7 "ПАМЯТЬ"),
    формируем задержку на время дребезга,
    сброс набежавших лишних прерываний,
    замеряем PB2 и если нужно (кнопка нажата) сохраняем текущее значение счётчика
    в SRAM,
    замеряем PB3 и если нужно (было переключение в режим "У") включаем альтернативный вывод, т.е. выводим на индикатор значение из альтернативных ячеек (ячейки памяти для счёта не видны, но при этом полностью функциональны и могут вести счёт, при условии получение сигнала на счётный вход),
    В отсутствии сигнала для режима "У", возвращаем отображение значений счётчика,
    замеряем PB4 и если нужно (кнопка нажата) обнуляем значение счётчика,
    выводим данные на индикатор.
    [свернуть]


    Индикация:
    Резисторы R35-55 нужны для гашения сегментов индикатора. Т.е. если закоротить ножку сегмента индикатора на землю, то она загорится и тем более от +5В.
    Если выводить на СД-восьмёрки, то надо проверять яркость на предмет достаточности. Ток отдаваемый в ножку 595-ым регистром ограничен 20-ю мА, но при этом общий ток не может превышать 70 мА (естественно есть исключения). Тогда ток можно усилить транзисторами.

    Требования для исполнения:
    владение ЛУТ или иными средствами производста ПП,
    виртуозное жонглирование не менее чем тремя паяльниками с одновременным укрощением слона, кита и тигра,
    SPI программатор + софт для заливки "HEX" и "EPP".

    Настройка:
    Убедится в наличии +5.0В на выходе (вывод 2) Q1 (LM317L), иначе подобрать R60.
    Подобрать значения резисторов R3,5,7,9,11, для получения логической единицы (+4.9В) на входах микроконтроллера 6,7,16,15,14, при логической единице на контактах разъёма XS1@3,2,4,5,7.

    Фьюзы (если МК с заводскими настройками):
    снять делитель на 8 (Divide clock by 8 internally [CKDIV8=0]),
    выбрать внутрений генератор на 4 МГц (Int. RC Osc. 4 MHz; Start-up time: 14 CK + 65 ms; [CKSEL=0010 SUT=10]).

    Очерёдность прошивки:
    1. Orbita_108_ind_02.hex
    2. Orbita_108_ind_02.eep

    Нажмите на изображение для увеличения. 

Название:	блок_индикации_05.JPG 
Просмотров:	1322 
Размер:	507.2 Кб 
ID:	190120
    Нажмите на изображение для увеличения. 

Название:	блок_индикации_05_.JPG 
Просмотров:	999 
Размер:	1.30 Мб 
ID:	190119
    Нажмите на изображение для увеличения. 

Название:	IMG_5826_.JPG 
Просмотров:	713 
Размер:	123.3 Кб 
ID:	190092
    Нажмите на изображение для увеличения. 

Название:	IMG_5823_.JPG 
Просмотров:	801 
Размер:	102.5 Кб 
ID:	190093
    Нажмите на изображение для увеличения. 

Название:	IMG_5828_.JPG 
Просмотров:	602 
Размер:	154.5 Кб 
ID:	190091
    Нажмите на изображение для увеличения. 

Название:	IMG_5831_.JPG 
Просмотров:	673 
Размер:	113.8 Кб 
ID:	190095

    бл_инд_о108.rar - в RAR-архиве v.4.11 (82963 байта): fuse.txt + Orbita_108_ind_02.hex + Orbita_108_ind_02.epp + readme.txt + блок_индикации_05.lay6 (Sprint Layout 6.0) + блок_индикации_05.spl7 (sPlan 7.0) + EEPROM&SRAM.xls + Детали.xls (Excel 97-2003 и 5.0/95)
    ---------------
    В "деталях.xls" забыл указать DD5 КР1534ПП4, с родной платы и по цене 0р. Надеюсь на амнистию, обещаю искупить и исправиться.
    Последний раз редактировалось DrLithium; 23.08.2013 в 15:46. Причина: Последствия ограничения объёма ОЗУ.

  2. #2
    Завсегдатай Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,577

    По умолчанию Re: Твик блока индикации катушечника Орбита МПК-108С.

    Цитата Сообщение от DrLithium Посмотреть сообщение
    + с сохранением значения
    счётчика в энергонезависимой памяти.
    Как часто производится запись в ЕЕ-память?
    Увидел. 3 сек простоя нормальный вариант.
    Или по снижению Uпит.?

  3. #3
    Старый знакомый
    Автор темы
    Аватар для DrLithium
    Регистрация
    24.12.2006
    Адрес
    SPb
    Сообщений
    658

    По умолчанию Re: Твик блока индикации катушечника Орбита МПК-108С.

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Как часто производится запись в ЕЕ-память?
    Увидел. 3 сек простоя нормальный вариант.
    Или по снижению Uпит.?
    Только по простою. Именно запись идет медленно, может не успеть. Сначала сделал после каждого изменения счётчика, но получил глюки на перемотке. Решил исправить, пока думал глянул в даташит и увидел 100000 циклов гарантии. А у меня только на сторону набегало 6000.
    Последний раз редактировалось DrLithium; 23.08.2013 в 15:47.

  4. #4
    Завсегдатай Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,577

    По умолчанию Re: Твик блока индикации катушечника Орбита МПК-108С.

    Цитата Сообщение от DrLithium Посмотреть сообщение
    Сначала сделал после каждого изменения счётчика
    Это, конечно, перебор.
    Цитата Сообщение от DrLithium Посмотреть сообщение
    100000 циклов гарантии
    У Пик-ов "лимон" на ЕЕ-память.
    Цитата Сообщение от DrLithium Посмотреть сообщение
    Именно запись идет медленно, может не успеть.
    Для этого для МК свой кондёр и через диод питание.

  5. #5
    Старый знакомый
    Автор темы
    Аватар для DrLithium
    Регистрация
    24.12.2006
    Адрес
    SPb
    Сообщений
    658

    По умолчанию Re: Твик блока индикации катушечника Орбита МПК-108С.

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Это, конечно, перебор.
    Просто забыл, что есть потолок и как следствие износ. Привычка в том, что обычно идёт последовательное заполнение всей памяти, далее по кругу. И на ячейку приходится довольно редкое обращение. А вот когда такое не надо, как-то с трудом приходит чувство меры.

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    У Пик-ов "лимон" на ЕЕ-память.
    Везёт! Надеюсь на мой век хватит. Хотя говорят, что реально гораздо больше. Думается, что просто подстраховка.

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Для этого для МК свой кондёр и через диод питание.
    Это конечно можно организовать, но беда в том что напряжение на выходе LM317 не может превышать на его входе. Т.ч. получится огород. Организовать событие программно - просто и не дорого. Главное дать пользователю информацию о том как это происходит. Только получается фигня, если импульсы с подкатушечника будут поступать реже чем раз в 3-и секунды. Тогда надо увеличивать значение таймера. При 4.0MHz на 16-и битах и делителе на 1024 получается 16,77 секунды. Можно было бы ввести в переменную в EEPROM. Возможно так и сделаю, если кто попросит. Хотя я не верю, что кто-то будет крутить километровые катушки на 9-й скорости.

  6. #6
    Завсегдатай Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,577

    По умолчанию Re: Твик блока индикации катушечника Орбита МПК-108С.

    Цитата Сообщение от DrLithium Посмотреть сообщение
    напряжение на выходе LM317 не может превышать на его входе.
    Она тут не причём. Я говорю про диод шоттки последовательно с питанием только самого МК. И электролит по питанию МК. Общее питание упадёт до 0, а на МК останется ещё какое-то время.

  7. #7
    Старый знакомый
    Автор темы
    Аватар для DrLithium
    Регистрация
    24.12.2006
    Адрес
    SPb
    Сообщений
    658

    По умолчанию Re: Твик блока индикации катушечника Орбита МПК-108С.

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Я говорю про диод шоттки последовательно с питанием только самого МК. И электролит по питанию МК.
    Про шоттки я как-то не сообразил. Но остаётся вопрос контроля падения. Т.е. малой кровью можно повесить за стабилизатором (или с XS1@1) делитель и вывести с него на ножку МК логическую единицу. При пропадании оной уйти в режим отключения. Итого в четыре детальки имеем мини огород на подоконнике, т.е. допустимо. Можно будет добавить новую прошивку + доп. обвеску. Ни чего не забыл?

  8. #8
    Завсегдатай Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,577

    По умолчанию Re: Твик блока индикации катушечника Орбита МПК-108С.

    Цитата Сообщение от DrLithium Посмотреть сообщение
    При пропадании оной уйти в режим отключения.
    Да, при выключении аппарата, уйти в режим записи состояния счётчиков в ЕЕ-память и последующую блокировку случайной записи.

    Так сам собираюсь делать. Хотя вариант с записью при простое тоже хорош.

  9. #9
    Старый знакомый
    Автор темы
    Аватар для DrLithium
    Регистрация
    24.12.2006
    Адрес
    SPb
    Сообщений
    658

    По умолчанию Re: Твик блока индикации катушечника Орбита МПК-108С.

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Да, при выключении аппарата, уйти в режим записи состояния счётчиков в ЕЕ-память и последующую блокировку случайной записи.
    Так организовать как разовую акцию в виде функции. После записи отключить прерывания, правда не знаю как в ПИК-ах организовано.

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Так сам собираюсь делать. Хотя вариант с записью при простое тоже хорош.
    Хорош, но по событию из-вне лучше. Гарантия срабатывания и именно тогда когда нужно.

  10. #10
    Завсегдатай Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,577

    По умолчанию Re: Твик блока индикации катушечника Орбита МПК-108С.

    Цитата Сообщение от DrLithium Посмотреть сообщение
    по событию из-вне лучше.
    Да, лучше. Но не макетировал ещё.

  11. #11
    Частый гость Аватар для Vygandas
    Регистрация
    15.09.2006
    Адрес
    Литва, Вильнюс
    Возраст
    54
    Сообщений
    376

    По умолчанию Re: Твик блока индикации катушечника Орбита МПК-108С.

    В КР1534ПП4 есть квазипики . Подумайте
    Fortuna non penis, non recipientus in manus...

  12. #12
    Старый знакомый
    Автор темы
    Аватар для DrLithium
    Регистрация
    24.12.2006
    Адрес
    SPb
    Сообщений
    658

    По умолчанию Re: Твик блока индикации катушечника Орбита МПК-108С.

    Vygandas, я не против. Но вы сказали или слишком много, или слишком мало.

  13. #13
    Частый гость Аватар для Vygandas
    Регистрация
    15.09.2006
    Адрес
    Литва, Вильнюс
    Возраст
    54
    Сообщений
    376

    По умолчанию Re: Твик блока индикации катушечника Орбита МПК-108С.

    Я сказал достаточно. Или будем за маму, за папу, за дядю ...
    Fortuna non penis, non recipientus in manus...

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •