Jump to content

Alexeyslav

Members
  • Content Count

    10932
  • Joined

  • Last visited

Community Reputation

668 Очень хороший

3 Followers

About Alexeyslav

  • Rank
    Старожил

Контакты

  • ICQ
    156858425

Информация

  • Пол
    Мужчина
  • Город
    Украина, Славутич

Электроника

  • Стаж в электронике
    10-20 лет
  • Сфера радиоэлектроники
    микроконтроллеры
  • Оборудование
    осциллограф OWON SDS7102,
    генератор SIGLENT SDG1025,
    мультиметр UNI-T UTM1139С,
    стационарный мультиметр UNI-T UTM1804,
    измеритель RLC CHY FIREMATE 41-R,
    Паяльная станция UIHUA 995D+

Recent Profile Visitors

31580 profile views
  1. Вот только не 8-10 каналов одновременно. Аппаратные таймеры - ресурс ограниченный, может и есть такие камни где их 8-10 штук свободных валяется, так что и на другие задачи хватит но такие камушки не будут оправданы для данной задачи. Из пушки по воробьям. И я не сомневаюсь что можно заставить считать с большей частотой, у меня сомнения по поводу способности зарегистрировать короткие импульсы в случае программных счетчиков. Длительностью 100нс, например. Да и у аппаратных могут быть ограничения, если входы их синхронные и стробируются частотой ядра/периферии.
  2. ПЛИС + небольшой контроллер больше для реализации нужного интерфейса. У вас не задан очень важный параметр входящих импульсов - минимальная длительность. У вас они могут быть и до 5кГц, даже 1Гц к примеру, но сам импульс будет шириной в 10нс... и лови его программным счетчиком! А так, если задаться скромными параметрами вроде минимальной длительности импульса в 20-50мкс то можно что-то выжать с контроллера программно. Но если ModBus-RTU потребует жесткие тайминги... то понадобится ещё один контроллер.
  3. Секрет - если давить кромкой давление на поверхность будет во много раз больше, и не надо всю силу использовать. А ущё лучше утюг-ролик... аааа блин, кажется я переизобрёл ламинатор! :-D
  4. Может, проще реализовать алгоритм DDS, там задаётся сразу ччастота линейо в коде и шаг по частоте постоянный, в отличие от подхода в лоб через регистр OCR. Но алгоритм придется реализовать программно что наложит ограничение на максимальную частоту(впрочем, если тактовая будет порядка 20Мгц, написав критическую часть на ассемблере наверно можно будет обеспечить до 100кГц...). Если взять платку DDS китайского производства, контроллеру останется только залить туда значение частоты и фазы(актуально для многоканального генератора) а дальше всё аппаратно о милигерц вплоть до десятков мегагерц. Суть DDS такова: Берём значение частоты и накапливаем его в сумматоре со скоростью максимальной частоты - т.е. в вашем случае с частотой 200 кГц. Переполнение суммматора будет являться сигналом для переключения сигнала на выходе. Максимальный код частоты(например значение 0xFFFF) будет сразу же переводить к переполнению сумматора переключать выход и выдавать 100кГц меандр, значение кода 0x0001 - с частотой 100К/65536(в случае 16-битного сумматора) = 1.5Гц... Основная проблема - уместить код сумматора и переключения выхода в интервал между прерываниями... при такте 20Мгц и прерываниям 200кГц у нас на всё про всё будет всего 100 тактов, которые надо потратить на вход/выход с прерывания, сохранение контекста, сам алгоритм сумматора и чтобы ещё вашему коду вывода на индикатор и опроса клавиатуры досталось. Это в принципе реально, но надо вспомнить ассемблер и выделить пару регистров под код частоты и пару на сумматор, которые будут использоваться эксклюзивно в прерывании. и да, поскольку заметную долю времени контролер будет исполнять код прерывания, необходимо будет откорректировать значение константы тактовой частоты контроллера, чтобы DELAY работали правильно. Если к примеру прерывание займет 50% времени, тогда надо сказать компилятору что у нас контроллер дескать 10Мгц-овый, а не 20-ти и тогда все задержки на подсчете тактов станут правильными. И ещё один ньюанс - если в коде будет встречаться запрет прерывания или используются другие прерывания то в выходном сигнале может появиться значительный фазовый шум... Это может оказаться критичным для некоторых применений такого генератора.
  5. Контроллер не управляет светодиодами напрямую, ищите транзисторы которые управляют светодиодами. Возможно они приказали долго жить, или что хуже - погорели соответствующие порты контроллера. Хотя это странновато, что именно только они и погорели(хотя может из-за большой емкости затворов при КЗ питания пошел обратный ток через защитные диоды, выпалив их?). Судя по всему, групп светодиодов индивидуально управляемых много, значит должно быть и много транзисторов...
  6. UART это вообще по старнке, ардуино-подход. Многие мощные контроллеры прошиваются специальными утилитами универсальным JTAG-программатором. На самом деле это универсальное технологическое устройство, которое даёт доступ ко всем внутренностям контроллера напрямую на аппаратном уровне, и в том числе "дергать" ножками иммитируя любой внешний программатор или напрямую заливая прошивку на встроенный FLASH-чип(и что самое интересное - на лету изменять содержимое RAM, если это доступно и разрешено security на данном чипе), в том числе проводить отладку. Но поскольку архитектура и протоколы индивидуальны для каждого такого контроллера, то к ним идут только свой софт, чего-то универсального нет. В виде редкого исключения прошивку можно залить через UART, если там есть загрузчик и скорее всего тоже каким-то уникальным софтом. Это что касается прошивки. Когда она есть уже готовая. Но разработка.... Для разработки нужен компилятор, заголовочный файл под конкретный контроллер и скорей всего какой-то SDK под чип, где есть множество уже реализованных интерфейсов и HAL с реализацией всех низкоуровневых функций для работы с периферией, тот же интерфейс на GPS модуль, работа с GSM модулем и т.д. Не писать же на ассемблере с нуля? И более того части кода могут поставляться производителем периферии в виде так называемых обфусцированых BLOB-ов, внутрь которых нельзя заглянуть и увидеть человекочитаемый код, и уж темболее изменить его. Без этих модулей шансов работы с периферией практически нет.
  7. Нет смысла в данном случае в таймерах, задача решается и на задержках, хоть ььэто и неправильно но для такой задачи важнее ВРЕМЯ РЕШЕНИЯ, начнёшь зарываться в таймеры не зная как они работают конечно научишься но потратишь неделю на отладку и метод научного тыка. У задачи нет перспектив роста и усложнения, а значит метод уяк-уяк и в продакшн вполне допустим. Вобщем, убрать большие задержки заменить их на циклы, которые считают по 100мс, и внутри них считывать значения потенциометров, сравниват с прошедшей с последнего обнуления задержкой(накапливать переменную в этом же цикле, обнулять при превышении значения с потенциометра и выполнять необходимое действие).
  8. Современная химия аккумуляторов отодвигает сульфатацию пластин до самой смерти аккумулятора. К тому времени когда они засульфатируются, реанимировать аккумулятор будет уже бесполезно - он практически труп по ресурсу. Поэтому данное устройство не актуально в современных реалиях. Разве что у кого-то остался каким-то чудом уцелевший аккумулятор советских времён....
  9. напряжение гуляет. Либо то что на входе, либо опорное. Чтобы цифры быстро не мелькали среднее арифметическое к отдельной выборке применять бесполезно - нужно применять алгоритм "скользящего окна" при котором среднее считается на каждую выборку для N последних измеренных значений. Для этого нужно завести буффер где будут хранится эти N последних выборок... памяти в контроллере мало, но можете экспериментировать со значением N. Рекомендую кратное степени двойки - 8, 16, 32.... потом результат суммы делить проще будет. Если учесть что весь мир состоит из химии то это заурядное дело. Кремний там, частично легированный другими веществами, образуя полупроводниковые переходы. И потом это все соединено алюминиевыми шинами в многослойном исполнении. Причем полупроводники могут находится тоько в одном слое, а "этажерку" проводов можно довольно много слоёв сделать, это ограничение связано с технологией изготовления. Правда, последние 5 лет уже начали делать многослойные кристаллы - у современной FLASH-памяти может быть до 32 активных слоёв полупроводниковых матриц. Таким образом, на одном "чипе" уже помещается 256Гб ячеек...Но изготовление их довольно сложно и связано срядом физических ограничений, поэтому применение нашло сейчас только при производстве FLASH-памяти.
  10. МОжет и без них заработает. Схема на это чудо тебе мало чем поможет. Приложи отодраные детали и примерь как оно было...
  11. Просто у вас раньше небыло импульсов столь большой амплитуды и высокой скорости переключения. Вы ещё столкнётесь с тем что сигналы по ардуиновским проводам у вас будут ходить со сбоями - собака зарыта в индуктивности самого провода и трансформаторной связи между соседними. Пока скорости переключения небольшие, эффект не проявляется... ещё раз обращу внимание на важный ньюанс - СКОРОСТЬ переключения, а не частота. Частота может быть и 1Гц, а глюки будут. Индикатор работает за счет паразитных защитных диодов на входе микросхемы. Но такие диоды нагружать током более 2мА чревато эффектом тиристорного защелкивания - когда два защитных диода, сформированных в технологическом процессе производства кристалла по сути реализуют тиристорную структуру между шинами питания, и одному богу известно при каком токе открывается этот тиристор - минимальный безопасный порог указан в даташите, и как правило это не более 2мА. Представьте что будет если он откроется...
  12. Обычно, это нихромовая проволока в виде спирали которая прикручивается прямо к клеммам измерительной головки, или специальный дюралевая пластина с вырезами в виде "змейки". Как вариант проверки - закоротить выводы амперметра проволокой и включить девайс - он должен подать признаки жизни - искры, нагрев, гудение... может даже дымок... Иногда, бывают заводские шунты... Но для самоделки это как-то черезчур(обычно такие шунты от 50А и выше), обычно обходятся пластиной с прорезями аккурат по размерам измерительной головки - её проще достать, проще изготовить, легче подогнать под стрелку.
  13. Я бы первым делом проверил бы шунт амперметра... стрелка бъётся, тока нет - верный признак отсутствия шунта... Кстати, на амперметрах шунт обычно внешний ставится, его могли снять и пролюбить а в цепь у вас включен обычный МИКРОАМПЕРМЕТР, который становится амперметром только с шунтом.
  14. Что-то мне подсказывает, что это обыкновенные маячки на предмет открывали ли код вообще и вникали в него хоть чуть чуть.
  15. Действительно, в чём отличие индикаторов, в которых светодиоды разной полярностью распаяны? Что по вашему значит аббревиатуры CC и CA применительно к светодиодным индикаторам?
×
×
  • Create New...