In vino veritas

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Несколько слов о примененном в вышеприведенных постах предобработчике электромеханического энкодера (проект p508enk) алгоритме.
В связи с возможными изменениями угловой скорости ротора, замыкающего контактные группы от типовой программной обработки антидребезга с фиксированной длительностью задержки опроса линии датчика решено было отказаться.
Вместо этого применен позиционно-привязанный вычисляемый условный переход на ячейку, содержащую вектор перехода на последующий участок программы.
Занудно...
Может графическая картинка пояснее будет...
http://img.radiokot.ru/files/20529/10olmil01x.GIF
Сама программа состоит из стартовой точки и двух ветвей согласно возможному направлению перемещения ротора. В каждой из ветвей последовательно обрабатываются несколько позиций таким образом, чтобы в каждой точке обработки из возможных 4-х состояний входных линий корректными являлись только три. Четвертое состояние при нормально работающих контактных группах является логически невозможным (аварийный статус).
Таким образом предусматривается возможность движения вала как в прямом , так и в обратном направлении из любой позиции в любой из двух ветвей программы. Причем при многократном "ерзании" от стартового для текущего направления (01 или 10 но не до 11!) в рабочее 00 тактовый импульс генерируется только один раз.
Для увеличения быстродействия решено отказаться от применения флагов кроме флажка запрета повторной генерации тактового импульса. Хотя такой подход и породил две независимые ветви для каждого из направлений перемещения вала.
Дополнительно используется участок ожидания нейтрально-исходного положения вала (оба контакта пассивны) для обработки в момент подачи питания и в случае обнаружения сбоя контактной группы (с возможным пропуском одного и/или нескольких позиций перемещения вала). Необходимость такого дополнения вызвана результатом макетных испытаний первого варианта программы ( с блокировкой по обнаружении ошибки) — при некоторых «стечениях обстоятельств» пакеты от индуктивного выброса в соединительных проводах в момент коммутации контактов имеют весьма значительную длительность. При дополнении защитного фрагмента сбои исключаются... НО... автоматически могут быть пропущены от одного до нескольких последовательно идущих импульсов положения ротора.
В принципе... для «рукояток — крутилок» такой пропуск не есть проблема.
На выходе будем наблюдать пульсирующий сигнал направления с присутствующим внутри него счетным импульсом. Ежли чисто теоретически — без учета антидребезга - диаграммы сигналов на выводах предобработчика будут вышлядеть таким образом:
http://img.radiokot.ru/files/20529/10olkrmhx0.GIF
Наиболее удачным для вышеприведенного алгоритма представляется система команд МК семейства PIC. Однако «с оглядкой» - по причине отсутствия переноса из PCL в PCH (можно правда макросом подправить — но «командов много» будет). В других семействах возможна табличная организация с доступом через DPTR(mcs51) и/или Z(AVR). Одначе... такая «пересадка» требует проверки не только по написанию кода, но и по экономической целесообразности (ежли часть ПО устройства — пригодится, ежли автономный преобразователь — даже тинька 13-я «жирновата» будет...).
:tea:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

И про возможные доработки.
Самый оптимум по быстродействию (минимальный код) получается ежли энкодер подключать ко входам GP1:GP0.
От сонного режима в данной версии пока решено отказаться - ибо потребуется ставить контроль времени "зависания" в каждом из возможных стационарных состояний. А это уже значительное увеличение размера кода (потеря возможного быстродействия).
Касательно 6-лапки PIC10F200 - пока "в планах на проверку" - нет приемлемой раскладки выводов - GP3 работает только на ввод, т.е. или два входа с одним выходом или предобработка позиционного статуса в виде двух команд сдвига при ПЗУ в 256 байт... Можеть и "не влезть"...
:roll:

Таки в pic10f200 прожка влезла...
Правда с некоторым отличием - вместо сигналов направления выведены два тактовых сигнала - отдельно для R и для L приращений.
http://img.radiokot.ru/files/20529/10ta62hpig.GIF
p200_enk.rar
(36.33 КБ) 338 скачиваний

собственно макетку для проверки не делал - посикоку вывод сброса в прожке переназначается - а мои железяки потом назад ту "козявку" не возвернут...
В то же время интерес вида "а будет ли работать?" в железе привел к соответствующей модификации схемки и прожки для pic12f508 (или для разового баловства pic12c508)
http://img.radiokot.ru/files/20529/10taa7cs05.GIF
при соответствующей переделке прожки
p508_enki.rar
(54.45 КБ) 308 скачиваний

тут для выбора выходных лапок раздолье.
И "оно ж таки работает".
8)
Теперь еще и сигнал системного сброса прилепить можно, ежли данная восьмилапка будет с логикой на "рассыпухе" компоноваться (для древних схемок).
Надоть как-нибудь для сравнения на тиньку (хотя бы 13-ю) прожку "пересадить"...
:roll:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Вариант для attiny13a (аналогия p508_enki)
http://img.radiokot.ru/files/20529/10u7kcdsc1.GIF
tn13_enc.zip
(51.98 КБ) 769 скачиваний

правда проверено только на симуляторе АВРстудии.
:(
"Векторный" подход из-за громоздкости пришлось заменить на "сравнение с маской + переход при совпадении с продолжением при несовпадении".
Кроме прочего из "неудобств" - переход по условию в диапазоне +63/-64 ячейки то текущей команды (вместо "обыденных"+127/-128) - пришлось таки немного поизмываться над взаимным размещением участков программы и поставить пару "удлиннителей" для переходов.
Длина прожки чуток поболее, чем у ПИКушки, но по количеству команд почти "на равных":
238 байт у AVR (119 команд)
112 ячеек ПЗУ у PIC (ячейки 12-битные)
Быстродействие у АВРки конечно можно весьма выше, чем у ПИКа выставить.
:write:
В принципе надо б еще одну модификацию слепить - с выходным набором сигналов из
тактового;
признак приращения/направления;
и строба завершения текущего пакета.
Собственно о том стробе - прием тактовых импульсов начинается от первого поступившего, "прикрытого" несколько ранее установленным сигналом направления. При превышении времени "простоя" между соседними тактовыми импульсами более 0,1 секунды должен быть отработан сигнал "окончание текущего пакета".
Вот как-то такое мыслится...
:roll:
Аватара пользователя
asvhmao
Друг Кота
Сообщения: 3716
Зарегистрирован: Чт мар 07, 2013 20:39:17
Откуда: Краснодар

Re: In vino veritas

Сообщение asvhmao »

Не знаю, в тему будет, аль нет. Бегая по глобальной паутине, в поисках информации про индукционные нагревалки, наткнулся как один радиолюбитель из юэсэй (штат не помню) долго бился с различными неустойчивыми помехами на управлении ключами, в своём 20 кВт-ном агрегате. Проблема решилась после того, как он проволочки идущие до затворов ключей скрутил в витую пару (на каждом ключе по паре). После этого пишет, что всё пошло как по маслу. И много чего, из железа, у себя в гараже переплавил 8)

Ну и про синтезатор частоты. Спасибо огромное за подсказки и объяснения. На макетках поигрался, в пределах 0.5% частоту держит. Единственное не знаю как фильтр НЧ делать между компаратором и транзистором управляющим генерацией. :dont_know:

viewtopic.php?p=2822199#p2822199
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Там в большей части не "скручены проволочки", а воть такое чудасико устанавливается:
Изображение
8)
Касательно ВЧ/СВЧ плавилок... попадались таковые - но там деталюшки аналогично нашим ВП - усё "в металле" от IXYS...
Хрен замену подберешшш... :evil:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Связалси с загрузчиком данных для WS2812B...
МНДЯааа...
:facepalm:
еще тот подарочек...
вроде как наброски получились - ушло на тестирование.
:roll:
Проблема в том, что у мня в наличии той ленты в "физическом виде" нетуть - проработка "дистанционной черепахой" написал-отослал-пришел ответ -отредактировал... и по новой... Пока не получится чегось путнего...
:(
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

С той лентой на WS2812B судя по инет-ресурсам общаться предпочитают по перепорченному изврату на основе модуля SPI.
Только воть... данные перед отсылкой все равно "делить/выворачивать" надо...
Предлагается более "универсальный" алгоритм (правда пока только максимум до 85 пикселей в ленте), основанный на условных переходах в АВРкиных МК...
Зато... судя по результатам отладки/трассировки в дебаггере весьма стабильно работающий.
Вобчемссшшсс... чегось на подобие программной фазовой манипуляции с весьма жесткими требованиями к результату:
trd2812_m.zip
(2.31 КБ) 406 скачиваний

Базовая частота МК 16МГц.
:roll:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Даавненько по проектам не лазил... Малость материал "отлежался" - глянул... НЕ ОЧЕНЬ в отношении читаемости там где исходник "дробленый" на много подключаемых файлов.
:(
Дабы подправить положение решено немножко поменять структуру организации материада в проекте, благо все три используемых компилятора (для mcs51, avr и pic) такую возможность предоставляют.
Пока речь идет о вложенных в основной файл текстовых субфайлов, а не о компоновке из полноценных библиотек и/или совместной обработке нескольких *.asm файлов в пределах одного проекта (высшая степень работ на ассемблере).
Итак декларация к форме подачи исходников и прочих материалов в проектах, которые далее публиковаться будут:
ДЕКЛАРАЦИЯ проектописания.pdf
(64.8 КБ) 305 скачиваний

воть...
:roll:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Навеяно попыткой заменить кусман схемы из
viewtopic.php?p=2970048#p2970048
на самопалку на основе МК...
Основная часть предварительных размышлений осталась в viewtopic.php?f=2&t=140285 , здесь только конечный результат замысла для тестов желающими.
Вобщем...
Имитируется генератор ряда частот для одной из семи нот.
У того имитатора кодирующие перемычки для выбора соответствующей ноты.
Выборка проводится один раз при подаче питания на устройство, обеспечивая тем самым возможность применения однотипной прошивки для ряда генераторов разных нот.
Ну и "закладка возможных модификаций функционала"...
Насчет прецизионности - вряд-ли более примитив-бытовых требований сможет обеспечить (проверять особо нечем). Основное преимущество - тиражируемость.
Изображение
Остальное в избытке в самой папке с исходником проекта.
nota.zip
(57.27 КБ) 361 скачивание

Можеть кто и поиграется...
:roll:
СО СТАРОНОВОГОДОМ!!!
:beer:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Решил поосмотреться в отношении "расширенной mcs51" - изделий от силабса и STC MCU Limited...
Силабсы весьма дорогенькие...
Одна бэушная в лапы попалась
http://img.radiokot.ru/files/20529/16qsft1o0y.jpg
ежли не угробил при монтаже вроде после сборки программатора можно попытать будет...
:solder:
Одначе вроде есть софт и схемки самодельных программаторов...
Вот тут
http://www.silabs.org.ua
...
МММ... при беглом взгляде на схемки... малость вспомнился СУСАНИН...(или диверсант заменивший цоколевку 6N137)...
:evil:
Так что пока те исходные схемки " в обработке".
Замаячила также вкусность типа STC15F204... НО... пока только в виртуальных планах - по получении "подопытных кролей" будет чего проясняться...
:write:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Заглянул сегодня на сайт STM... посмотреть нет ли чего обновленного для IDE...
Похоже пошел процесс по МК типа STM8/STM32 аналогичный былому для ПИКов...
Как и предполагалось - "когда народ плотно подсядет - воть тогды и затянем петельку!"...
Первая "питичка" такого процесса - разработка средств разработки программ передана сторонним фирмам. По данному скрину можно порадоваться будущей "платности" этого продукта (пока еще иногда кое у кого и фри, но обычно это не более пары годков)...
Изображение
МНДЯ...
:roll:
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: In vino veritas

Сообщение oleg110592 »

Вроде и раньше так и было. Только Cosmic наоборот стал Free для STM8, надо зарегистрироваться http://cosmicsoftware.com/download_stm8_free.php
лицензию любезно присылают, уже пару раз получал.

IAR STM8 до 8Кб тоже пожалуйста на шару. Попереводил практически все поделочные проекты заказчиков с меги8/48 на STM8S003 из-за крайней дешевизны последних - куда там, до 4Кб не добрался. 8Кб для радиогубительских целей "должно хватить каждому(c)". Все что выше 8Кб, это уже серьезно :) , тут удобнее применять STM32 - там бесплатного хватает выше крыши.
Ну и не будем занудами - для дома, для семьи, втихаря под одеялом, коммерческие продукты можем и подлечить. Большинство и виндовс не лицензионную пользует и ничего. На производстве, если оно не нищебродское, можно и прикупить.
Изображение
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Раньше была собственная IDE бесплатно и без регистраций (та же STVD MainFrame Version 3.6.5.2 - Build Feb 25 2013 к примеру).
С учетом того, что "сторонние" в любой подходящий момент могут изменить условия и необходимости заново изучать нюансы работы как с компиляторами, так и с самой IDE это уже весьма настораживающий показатель.
Насчет размера кода - АВР проигрывает на необходимости операций обращения к памяти и то... как программу составлять...
:roll:
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: In vino veritas

Сообщение oleg110592 »

STVD никуда не делась. Уже 4.0
http://www.st.com/en/development-tools/stvd-stm8.html
Вроде еще говорят бесплатный SDCC для STM8 более адекватным стал.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

ГЫММ...
Спасибки за ссыль!
:beer:
С основной страницы путь не указан...
похоже также как и у атмеля/микрочипа ""простейшее"перекочевывает в архивы" для слишком настырных.
:(
... вроде пока только прожки инетные малость подпортили настроение...
:(
Последний раз редактировалось BOB51 Пн фев 13, 2017 11:30:24, всего редактировалось 1 раз.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: In vino veritas

Сообщение oleg110592 »

Давно залогинился на сайте, потому что постоянно там приходится... Никаких писем. Так может каждый, вообще залогиниться очень легко.
Изображение
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Добавился отчет об очередном образце "дисплейчика с утилизации" (вариант бэушного от кассовых аппаратов на NJU6432).
viewtopic.php?p=3018553#p3018553
Имеются особенности в соответствии бит ОЗУ сегментам дисплея...
В коллекции пригодятся.
:hunger:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Продолжение семейства "кубиков"
http://img.radiokot.ru/files/20529/17ffamnvek.GIF
пока только схемка базового блока.
Монтажку выложу по завершении сборки.
:solder:
В принципе как обработчик данных от ПК можно и АВРку с блоком ОЗУ/ПЗУ поставить.
Но вот с непосредственным исполнением загруженного фрагмента преимущество за 51-й.
А поскольку внешняя периферия изначально "лишь определена как некое...", то и прикладные прожки в резидентном ПЗУ будут иметь вид биос/бутлоадера...
:roll:
Вобщемсс... пока собрать базовы платки надо... а заодно и плановы задачки готовить...
:write:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Для "стыковки" с ПК предполагается использовать gwbasic, который вместе с документацией и прочим скачивается отсюда:
http://www.gw-basic.com/downloads.html
:hunger:
В дополнение комплекта еще одна дока:
gw-man.pdf
(838.73 КБ) 581 скачивание

воть...
Или "на первых временах" примитив в виде прожки:
Terminal.zip
(320.94 КБ) 382 скачивания

:roll:
Завтрыть начнемс "паутинку плести" согласно первичной схемке
:solder:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15549
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Вот и первая версия "паутины" сплелась...
Для удобства разделил платку на два автономных кусочка - собственно МК и память с буфером адреса.
Начальная идея запаять шлейф с позиции ЖАБЫ ЗЕЛЕНОЙ перешла в разъём...
http://img.radiokot.ru/files/20529/17kiakfs6n.jpg
http://img.radiokot.ru/files/20529/17kiakxghg.jpg
http://img.radiokot.ru/files/20529/17kialgk7v.jpg
http://img.radiokot.ru/files/20529/17kiam1fk2.jpg
Изображение
http://img.radiokot.ru/files/20529/17kian8crd.jpg
разводка платки с ОЗУ сделана для совмещения с установкой ПЗУ с прошивками без изменения позиций данных/адресов (самая неоптимальная).
До первичного тестирования остались следующие гложущие вопросы:
1. разъёмное соединение ВПП/ВПД с процессором (в отношении долговременной надежности);
2. необходимость установки блоков подтягивающих резисторов на Р0 и Р2 (для случая с подключением ULN2803 обязательны);
3. будет ли ВПД стабильно работать при частоте тактирования в 12МГц (реальный кварц в 11,0592 тоже "не подарочек");
Ответы на это должен дать тест на сборке из следующих кубиков:
http://img.radiokot.ru/files/20529/17kigllxlm.GIF
Удаляюсь для сочинительства прожек теста...
:write:
Закрыто

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