Microsmart

Технологии => Самоделки => Тема начата: anvlamat от 23 Март, 2016, 20:10:27

Название: Микроконтроллеры как универсальный инструмент.
Отправлено: anvlamat от 23 Март, 2016, 20:10:27
    Добрый день, уважаемые форумчане! Вот и стал день длиннее ночи и значит скоро лето! А пока снег, слякоть… Но, хватит лирики, пора переходить к физике.
   Попал мне в руки прибор Mastech MS8222G. Прежний хозяин был весьма невнимательным, поэтому в режиме прозвонки полез к большому напряжению. Результат предсказуем. Диод, операционник, логическая микросхема… и пустой экран. Вне всякой системы при включении экран вдруг оживал на мгновение – было видно, что прибор начинает тест, но тут же гаснет. Внутри прибора установлен две микросхемы: АМЕ7106 по классической схеме, но урезанным функционалом (без ЖКИ драйвера) и SC3080 – читает с денинтегрирующего выхода первой микросхемы данные и выводит результат на ЖКИ дисплей. О второй микросхеме и пойдёт речь. По схеме должен был быть кварц на 32768кГц, но в реальности его нет. Работал внутренний генератор, запитываемый внешним резистором. Получалось, что не стартует генератор и при этом повышенное потребление – до 0,04А. При таком потреблении экран не стартовал, но как только потребление тока в момент включения не превышало 0,01А, то на мгновение экран оживал. Установка кварца ситуацию не изменило. Тогда пришлось отрезать дорожку питания микросхемы от основного прибора и экспериментировать только с ней. Принудительное тактирование внешним генератором и поднятие напряжения до 7,67 (почему-то при таком значении были наилучшие результаты) позволяли запустить микросхему в режиме теста. Т.е. она сама запускалась в режиме теста, но так и оставалась в нём, хотя должна была переходить в рабочий режим. Вывод напрашивался сам собой – микросхема погибла. Приобрести такую возможности нет – не продаётся…
   Казалось бы, совет простой: -да выкинь ты и не заморачивайся! Но я не из таких. Прибор хороший, внутренности целые, а самое главное, есть желание его не просто восстановить, а модернизировать, пользуясь таким случаем! И что характерно, таким способом можно не только восстанавливать погибшие безвременно измерительные приборы, оживлять метеостанции, но и использовать ЖКИ дисплеи в любительских конструкциях различного назначения. Достаточно иметь какие-либо данные на дисплей – из даташита, либо самому выяснить назначение выводов. Поскольку на имеющийся в составе прибора дисплей даташита нет, то с генератором в руках пришлось составить таблицу соответствия выводов и сегментов. Теперь переходим к постановке задачи:
1.   Реанимация прибора путём модернизации установкой микроконтроллера. Установка микроконтроллера позволяет отказаться от двух, имеющихся на борту прибора, микросхем. Измеряемый сигнал заводить на МК. Показания выводить на дисплей с МК.
2.   Написание программы для МК с подробнейшими комментариями. Поскольку я сам в программировании весьма слаб, а поставленная задача требует хорошего владения программированием, то предлагается сенсеям в великой науке единиц и нулей почувствовать себя Макаренковыми и Сухомлинскими и на примере программы для прибора помочь мне, а вместе со мной и таким как я, быстрее освоить «столь премудрую науку, о Благословенный Волька!» Подробнейший комментарий и терпеливые ответы на наши глупые или не очень вопросы будут активно продвигать неучей в изучении микроконтроллеров.
3.   Имеем прибор (схема прилагается), дисплей (таблица прилагается), Два микроконтроллера: а. PIC16F914/7; б. Atmega169. Даташиты на них прилагаются. Требуется: вход измеряемого напряжения, входы положения точек (3 положения), выходы на дисплей (20шт. - 4сом и 16 сегменты). Даташит на SC3080 тоже есть – в нём прописаны примеры работы драйвера дисплея в разных конфигурациях.
Надеюсь встретить тут всестороннюю поддержку в деле освоения микроконтроллеров как для себя, так и для всех интересующихся этими вопросами.
Вот пара ссылок на сайты с похожими материалами:
http://www.embed.com.ua/mikrokontrollernyiy-konstruktor/multipleksnyiy-rezhim-upravleniya-simvolnyim-zhki/
и ещё одна:
http://www.ccsinfo.com/forum/viewtopic.php?t=32774&postdays=0&postorder=asc&start=0
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: anvlamat от 23 Март, 2016, 20:14:20
Добавляю даташиты на микроконтроллеры и на дисплей.
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: Livemaker от 25 Март, 2016, 10:04:38
Ваш порыв и позыв понятен. Крайне сложно представить, что кто то ещё пытался бы решать подобную задачу. К сожалению, как мне думается, с учётом некого опыта, вряд ли Вам удастся найти единомышленников. Люди, как правило, хотят видеть ГОТОВЫЕ решения, но ни как участвовать в мозговом штурме. Увы.
Касаемо измерительной аппаратуры, то прямо сейчас ставится на производственную платформу массовая сборка анализатора промышленной сети, который был создан при помощи участников форума, которые не просто принимают участие, а сменили географическое положение из Украины в Латвию и влились в тесную команду. Да, да, мы работаем вместе, тут, в Риге. Такой результат и был целью этого форума.
(http://www.microsmart.eu/index.php?action=dlattach;topic=140.0;attach=2319;image)
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: anvlamat от 25 Март, 2016, 18:55:16
Работа, достойная уважения! Как говаривает молодёжь: респект и уважуха! :)
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: anvlamat от 25 Март, 2016, 19:11:07
   Тем не менее, будем надеяться, что найдутся энтузиасты. Попробую расширить тему. Есть масса ЖКИ дисплеев: в калькуляторах, счётчиках, микроволновках, метеостанциях. А ещё есть дисплеи со спалёнными контроллерами (HD4470). И все эти дисплеи потребляют микроамперы и идеальны в переносных устройствах. Устройства могут быть самыми разными: измерительными, аналитическими, статистическими. А какое поле для работы в мире игрушек для детей!
   Теперь начну, пожалуй. Задачу, на мой взгляд, можно решить двумя способами: первый, это написать просто программу под конкретный проект и на этом почить на лаврах собственной гордыни; второй - написать универсальную программу под различные задачи. Для этого надо сотворить несколько файлов. Первый - описание процессора. Второй - описание всех возможных режимов работы дисплеев. Третий - режимы работы генератора. Четвёртый - описание входов/выходов и их настройка и использование. Всё это свести в makеfile, где и выбирать нужные параметры при компиляции. Если возможно такое, то единый макфайл и для АВР, и для ПИКа. Если такое не возможно, то две программы для разных МК. Тогда каждый для себя будет волен выбрать, что для него наиболее удобно. Пока так.
   Ау!!!!!!!!! Энтузиасты...
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: anvlamat от 27 Март, 2016, 16:08:37
Начал составлять программу. Установил CodeWizardAVR. Создал проект, выбрал нужные функции. Программа сгенерировала исходный код. Осталось совсем немного - написать тело программы. Штудирую Белова.
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: Apparatchik от 28 Март, 2016, 15:37:48
Для начала нужно научится код генерировать самому, для этого штудировать даташиты и например книгу во вложении.
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: anvlamat от 28 Март, 2016, 20:31:28
Огромное спасибо за участие в моём образовании на стезе программирования. Мои познания заканчиваются на начальном уровне бейсика и фортрана. Как-то трудно мне даётся сия наука... Надеюсь, что с помощью добрых людей смогу, наконец-то, освоить хорошо и крепко науку единиц и нулей, однако... :)
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: Serj66610 от 02 Апрель, 2016, 07:09:00
Недели две как начал читать литературу по программировании....хм,что могу сказать....не так все просто как кажется....программистом нужно быть и жить этим,просто сесть и написать программу под свои нужды,лишь прочев одну две книги-не получится,программирование-это не инструкция по включению телевизора,это скорее инмтрукция по его разработке и ремонте,т.е. вам предлогается понять как вообще пришла идея телевидения,ее первоначальная реализация,первые попыхания,модернизации,улучшения,выбор оптимальной схемы,сборка,настройка,подгон номиналов,реализация готовой модели...дальнейшее участие в развитии проекта....только так и никак не иначе.
А по сему я (по доброте своей душевной) рекомендую вам разработать плату под мультиметр,и собрать его на ПВ5 или буржуйском аналоге...так как просто выбросить его вы не согласны...я просто раньше сам был таким...лепил из говна чудо....иногда получалось....но потом я нашел ''русло'' для своей деятельности...источники питания....разработка,изобретение,отладка,модернизация....результатом моей деятельности явилось разработка сверхединичного генератора(скорее генератораСЭ)....как видите свою творческую энергию я направил на то,что у меня получается лучше всего...следующий проект-перемещение в пространстве.....затем если повезет-то и во времени.
Так что мой вам совет,найдите себя.
Все эти самоделки-не более чем шаг на пути к вершине-совершенству сознания....тела меняются как рубашки у ''костюма''....сознание-остается....вещи не имеют значения,важен лишь опыт....только его можно забрать из одного рождения в другое(нить приемственности).
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: anvlamat от 02 Апрель, 2016, 10:11:50
Спасибо за Ваш совет. Но такой вариант я даже не рассматриваю: для переделки на 7106 придётся сменить дисплей, тогда весь проект лишается смысла. Для меня важнее решить эту задачу так, как я её для себя обозначил. Тем более, что решение этой задачи приведёт к результатам значительно шире, чем этот прибор. Впрочем, это я уже описывал в начале темы. Для меня очень важно разобраться самому. И тем, кто готов мне в этом помочь, будет моя огромная благодарность, а может и более того, если реализация будет столь изящна... Тогда возможно развитие в какой-либо проект.
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: Livemaker от 02 Апрель, 2016, 11:13:39
Программирование МК, как мне видится, это две составляющие. Первое - знать команды и понимать суть настроек (инициализации) контроллера. Второе - остроумие, от которого зависит качество программы. Это можно сравнить, например, с вождением автомобиля, где минимальным является знание органов управления, что позволяет переместится из точки "а" в точку "б". А можно им управлять виртуозно.
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: anvlamat от 02 Апрель, 2016, 11:50:32
Соглашусь и с Serj66610, и с Livemaker. Истинный программист перед сном ставит на прикроватную тумбочку два стакана: один полный, а другой - пустой. Полный - это если вдруг ночью захочется пить, а пустой на тот случай, если пить не захочется...  ;D Я думаю так: настоящий инженер не живёт только сопроматом, термехом и математикой. Он изучает природу, окружающий мир и прочее. Ибо гениальные изобретения или просто нетривиальные решения всегда находятся на стыке нескольких пространств существования человека. Тоже относится и к программистам, и многим другим специальностям. Дорогу осилит идущий.  ;)
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: anvlamat от 03 Апрель, 2016, 12:10:51
Отвечая Serj66610: я не две недели как читаю литературу. В 1991 году довелось учиться на отечественных ЭВМ электроника, к тому же, в те годы увлекался "Синклером" или иначе ZX Spectrum, если Вам это что-то говорит. А там Basic. А сравнительно недавно изучал Фортран, а на Яве (Java - ява, а не джава, игра слов такая :)  ) делал дипломную работу в университете (учился заочно) на автомобильном факультете. Поэтому не всё так плохо, как может показаться. Прилагаю поправленный исходник, где задействовал АЦП. Но мне хотелось бы использовать его несколько иначе - чтобы напряжение измерять не относительно общего провода. Кажется, это называется дифференциальное измерение. Это нужно для того, чтобы не следить за полярностью на щупах.
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: Livemaker от 03 Апрель, 2016, 17:35:05
Вероятно, стоило бы подчистить кодевиженовский мусор. Ну и ноги, к которым будет подключен дисплей, хорошо бы настроить как OUT.
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: anvlamat от 03 Апрель, 2016, 17:53:29
Настроить их можно и даже нужно, но вот в чём проблема... Я никак не могу понять каким образом полученные данные с АЦП привести к виду для вывода на ЖКИ! Несколько раз перечитал даташит и пока в тупике...
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: anvlamat от 03 Апрель, 2016, 18:09:10
Прикрепляю файл по 169 атмеге.
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: anvlamat от 03 Апрель, 2016, 20:11:37
Ещё один файл. В нём как раз и описана процедура вывода на ЖКИ информации, но я пока никак не соображу каким образом это применить...  ???
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: anvlamat от 07 Апрель, 2016, 22:12:11
Видимо, следует сделать следующим образом: прописываю глобальные константы, в которых указана комбинация выводов на ЖК дисплей, где DIG0 будет равна 0, DIG1=1 и т.д. А потом полученный в переменной результат раскладываем на разряды и каждому разряду выбираем нужную константу. Пример: получили число 0345. Его разложили на 0, 3, 4, 5.  И сопоставили результат с константами. На экране ЖК дисплея мы увидели число 0345 и точку в соответствии с положением переключателя. При этом ноль можно не гасить - иногда так лучше воспринимается информация.
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: Livemaker от 08 Апрель, 2016, 14:39:05
Говоря относительно простым языком, Вам нужно написать драйвер управления дисплеем. Совершенно обычная практика.
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: anvlamat от 09 Апрель, 2016, 21:47:47
Да-да! Именно драйвер! Сейчас пока не до написания - слишком много всего навалилось. Но в голове я это всё раскладываю по полочкам, а за одно пытаюсь понять, как реализовать дифференциальный вход АЦП программно.
Название: Re: Микроконтроллеры как универсальный инструмент.
Отправлено: anvlamat от 24 Август, 2016, 22:13:11
Добрый вечер, друзья! Да-да, это я! И я не забыл эту тему. Просто лето и много дел надо успеть сделать по дому, чтобы зимой голова не болела за неполадки в доме. А ещё женщины... Точнее, одна и та бывшая. Судимся по ребёнку. В общем, жизнь бьёт ключом и всё больше по голове!  ;D А помощи я так и не дождался... А ведь такая перспективная тема! И столько всего можно реализовать на МК! Надеюсь, как только наступят устойчивые холода, тему я смогу продолжить, одновременно получая уже в который раз начальное образование в рамках второго класса!  :o