Jump to content

Alexeyslav

Members
  • Content Count

    10941
  • Joined

  • Last visited

Community Reputation

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

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

31828 profile views
  1. Схема защиты неверна в принципе. Вас ждут неприятные открытия по поводу стабилитрона. Он начинает открываться и шунтирует цепь на половине напряжения своего номинала, внося нелинейность в измерительный тракт. Через стабилитрон надо пустить ток номинальный или хотябы 2мА, вход на него замкнуть через диод. Теперь диод будет проводить не раньше чем напряжение поднимется выше напряжения стабилизации стабилитрона. Выбираю 3.6 вольт, при 4 на входе диод откроется полностью и дальнейшее увеличение напряжения будет приводить только к росту тока до физического разрушения стабилитрона или диода. Это можно предотвратить резистором на входе, ограничив ток максимальным для стабилитрона на предполагаемом максимальном входном... который и так есть частью делителя. В таком случае опорное напряжение для АЦП надо выбирать 2.5В - TL431 и тому подобное. это в принципе неверное понимание сути. Откуда берется 0.5 вольт? защитные диоды. это падение на них при максимальном допустимом токе, который еще не приводит к тиристорному защелкиванию. Первично не напряжение, а ТОК через защитный диод! напряжение выше шин питания лучше вообще не допускать. Оно ведь зависит от температуры, от экземпляра чипа и может варьироваться. Стабилитроны, я уже говорил, тоже забавные зверьки - начинают проводить ток задолго до напряжения стабилизации, нарушая работу делителя.
  2. По одному выходу из каждого моста смотреть не вариант?
  3. Во первых, через диод шоттки аккумулятор будет меньше но всё же разряжаться. Низкое падение на таких диодах даётся не просто так, а за счет утечки в обратном включении. Они хороши в силовой технике, где обратным током можно пренебречь. Во-вторых 0.135 вольта для аккумулятора это приличная часть ёмкости, не просто так производители отвоёвывают за счет многочисленных ухищрений лишние десятки милливольт, и имеем в смартах аккумуляторы с напряжением уже 4.35В. 0.135В особенно последних в литиевых аккумуляторах это по меньшей мере 20-30% их ёмкости. Только есть один мааааленький ньюанс... у большинства полевиков есть технологический(дешёвый техпроцесс по технологии MOS/МОП) обратный диод... так вот он, зараза, портит всю малину в вашем случае. Транзистор закроется, а ток с батареи потечёт в зарядку по этому диоду.... поэтому нужны полевики БЕЗ ЭТОГО ДИОДА, или ставить пару последовательно во встречном включении, как на платах защиты(а думали зачем там их ставят парами?). Смотрим в техпаспорт на резистор и там... черным по белому написано напряжение не более 200В(а для СМД-шных размером менее 1206 и того меньше) в розетке таки больше. Пробивается он не напрямую, не разрушая резистивный слой - а ПО ПОВЕРХНОСТИ. Конструкция у него такая что может пробить по поверхности, там возникнет дуга и уже потом затронет резистивный слой, если источник этого тока окажется достаточно мощным. Так что величина сопротивления не является гарантией от пробоя, увы.
  4. Только вот аккумулятор не досчитается 0.5В а это приличная часть ёмкости. да и с биполярным транзистором тоже. нужен полевой транзистор.
  5. Может немного позновато.... но это всё решается при помощи одной ардуины и кучи регистров. Основная проблема - ЗАПИТАТЬ это всё чтобы небыло спецэффектов. Для светодиодов есть даже регистры сразу с драйверами тока, по 16 бит на один корпус - stp16cp05 например, или STP1612PW05 со встроенным 16-битным 16 канальным ШИМ-ом. 150 светодиодов, это прежде всего ТОК в 1.5А если каждый по 10мА. Всего жалких 10 корпусов, и у вас запитано 160 светодиодов в СТАТИКЕ. С динамической индикацией можно обойтись двумя микросхемами и 5 линиями сканирования - на каждую по транзисторному ключу минимум по пол ампера, программно их переключать с частотой 5КГц, ну и далее как в примерах ардуиновских с динамической индикацией только вместо выставления сегментов загружать кждый раз 32 бита в регистры. Можно прицепить паравозиком регистр HC595 и вывести линии сканирования с него, тогда за один раз выводить и 32 очередных бита состояния светодиодов, и выбирать одну из 5 линий(групп) светодиодов. На чтение состояния переключателей использовать другие регистры, аналогичные только с обратной функцией - параллельный код преобразующие в последовательный, отечественная кажется 561ИР9(аналог CD4053) ардуинкой выдал сигнал защелкивания(записи состояния входов в регистр), и потом побитно щелк-щелк-щелк занёс всё в ардуинку и передал программе по UART. Ну, много надо будет чипов... а что делать? И про подтяжку каждой кнопки не забыть. И общий ток подтяжек посчитать, если вдруг кому придёт в голову нажать все кнопки разом, чтобы суммарный ток не стал сюрпризом.
  6. Разница в стоимости микросхем может быть объяснена технологией производства и технологических норм. Нужно смотреть полную маркировку позиций в магазине, очень часто такое бывает даже в ОДНОМ магазине - огромные разбросы цен, а когда у вас производство с конкретными технологическими требованиями(например нужна партия в 10000 штук) смотришь полные маркировки этих позиций и понимаешь что дешёвая не будет удовлетворять требованиям предъявляемым к изделию в которое она устанавливается(по рабочему температурному диапазону, радстойкости, надёжности, вибростойкости). Иначе те дорогие варианты микросхем просто исчезли бы с рынка, но дьявол он в деталях - если такие цены существуют, значит есть спрос.
  7. А теперь очень внимательно и подробно распишите чем таким плата ардуино отличается от других подобных? Привязка к среде? Только через загрузчик, который УПРОЩАЕТ процесс прошивки - не нужен отдельный программатор. В любой момент, можно подключить настоящий программатор(выводы на плате разведены, только разъём часто не ставят) и снести загрузчик - останется голая плата с контроллером и выводами со всех портов. Но неудобство - нужен будет внешний программатор и та же самая утилита AVRDUDE которая используется в ардуине-среде. Вся уникальность ардуины - только в её IDE, а кроме этого - простая голая плата с контроллером, не более.
  8. Емкость конденсатора определяется элементарно. 1Фарад - это когда током 1А за 1 секунду напряжение на конденсаторе изменяется на 1 вольт. Допустим, для открытия достаточно чтобы к концу выдержки напряжение на конденсаторе было не меньше 8 вольт. Падение на 4 вольта за секунду током в 2А это соответствует ёмкости в 0.5Ф... да, всего лишь. Но есть отличная новость - конденсаторы ёмкостью в 100Ф не такая редкость, есть только один недостаток - они всего лишь на 2.5В. Другой вопрос - держать на конденсаторе постоянно напряжение и терпеть затраты энергии на утечку(а она хоть и маленькая, но действует круглосуточно) или зарядить его непосредственно перед применением. Во втором случае на заряд уйдёт время, и довольно ощутимое - настолько будет отложено открытие замка. Не проще ли.... использовать сразу три элемента 18650 и напряжение для замка будет доступно сразу без заморочек.
  9. Это называется зеркальный канал. Похоже, сигнал соседней станции настолько силён что фильтрация зеркального канала не помогает. Это проблема в основном приемников с низкочастотной ПЧ(около 500кГц) - те, у которых ПЧ на 10.5Мгц ведут себя гораздо лучше. Зеркальный канал обычно на расстоянии двойной ПЧ.
  10. Вот только не 8-10 каналов одновременно. Аппаратные таймеры - ресурс ограниченный, может и есть такие камни где их 8-10 штук свободных валяется, так что и на другие задачи хватит но такие камушки не будут оправданы для данной задачи. Из пушки по воробьям. И я не сомневаюсь что можно заставить считать с большей частотой, у меня сомнения по поводу способности зарегистрировать короткие импульсы в случае программных счетчиков. Длительностью 100нс, например. Да и у аппаратных могут быть ограничения, если входы их синхронные и стробируются частотой ядра/периферии.
  11. ПЛИС + небольшой контроллер больше для реализации нужного интерфейса. У вас не задан очень важный параметр входящих импульсов - минимальная длительность. У вас они могут быть и до 5кГц, даже 1Гц к примеру, но сам импульс будет шириной в 10нс... и лови его программным счетчиком! А так, если задаться скромными параметрами вроде минимальной длительности импульса в 20-50мкс то можно что-то выжать с контроллера программно. Но если ModBus-RTU потребует жесткие тайминги... то понадобится ещё один контроллер.
  12. Секрет - если давить кромкой давление на поверхность будет во много раз больше, и не надо всю силу использовать. А ущё лучше утюг-ролик... аааа блин, кажется я переизобрёл ламинатор! :-D
  13. Может, проще реализовать алгоритм DDS, там задаётся сразу ччастота линейо в коде и шаг по частоте постоянный, в отличие от подхода в лоб через регистр OCR. Но алгоритм придется реализовать программно что наложит ограничение на максимальную частоту(впрочем, если тактовая будет порядка 20Мгц, написав критическую часть на ассемблере наверно можно будет обеспечить до 100кГц...). Если взять платку DDS китайского производства, контроллеру останется только залить туда значение частоты и фазы(актуально для многоканального генератора) а дальше всё аппаратно о милигерц вплоть до десятков мегагерц. Суть DDS такова: Берём значение частоты и накапливаем его в сумматоре со скоростью максимальной частоты - т.е. в вашем случае с частотой 200 кГц. Переполнение суммматора будет являться сигналом для переключения сигнала на выходе. Максимальный код частоты(например значение 0xFFFF) будет сразу же переводить к переполнению сумматора переключать выход и выдавать 100кГц меандр, значение кода 0x0001 - с частотой 100К/65536(в случае 16-битного сумматора) = 1.5Гц... Основная проблема - уместить код сумматора и переключения выхода в интервал между прерываниями... при такте 20Мгц и прерываниям 200кГц у нас на всё про всё будет всего 100 тактов, которые надо потратить на вход/выход с прерывания, сохранение контекста, сам алгоритм сумматора и чтобы ещё вашему коду вывода на индикатор и опроса клавиатуры досталось. Это в принципе реально, но надо вспомнить ассемблер и выделить пару регистров под код частоты и пару на сумматор, которые будут использоваться эксклюзивно в прерывании. и да, поскольку заметную долю времени контролер будет исполнять код прерывания, необходимо будет откорректировать значение константы тактовой частоты контроллера, чтобы DELAY работали правильно. Если к примеру прерывание займет 50% времени, тогда надо сказать компилятору что у нас контроллер дескать 10Мгц-овый, а не 20-ти и тогда все задержки на подсчете тактов станут правильными. И ещё один ньюанс - если в коде будет встречаться запрет прерывания или используются другие прерывания то в выходном сигнале может появиться значительный фазовый шум... Это может оказаться критичным для некоторых применений такого генератора.
  14. Контроллер не управляет светодиодами напрямую, ищите транзисторы которые управляют светодиодами. Возможно они приказали долго жить, или что хуже - погорели соответствующие порты контроллера. Хотя это странновато, что именно только они и погорели(хотя может из-за большой емкости затворов при КЗ питания пошел обратный ток через защитные диоды, выпалив их?). Судя по всему, групп светодиодов индивидуально управляемых много, значит должно быть и много транзисторов...
  15. UART это вообще по старнке, ардуино-подход. Многие мощные контроллеры прошиваются специальными утилитами универсальным JTAG-программатором. На самом деле это универсальное технологическое устройство, которое даёт доступ ко всем внутренностям контроллера напрямую на аппаратном уровне, и в том числе "дергать" ножками иммитируя любой внешний программатор или напрямую заливая прошивку на встроенный FLASH-чип(и что самое интересное - на лету изменять содержимое RAM, если это доступно и разрешено security на данном чипе), в том числе проводить отладку. Но поскольку архитектура и протоколы индивидуальны для каждого такого контроллера, то к ним идут только свой софт, чего-то универсального нет. В виде редкого исключения прошивку можно залить через UART, если там есть загрузчик и скорее всего тоже каким-то уникальным софтом. Это что касается прошивки. Когда она есть уже готовая. Но разработка.... Для разработки нужен компилятор, заголовочный файл под конкретный контроллер и скорей всего какой-то SDK под чип, где есть множество уже реализованных интерфейсов и HAL с реализацией всех низкоуровневых функций для работы с периферией, тот же интерфейс на GPS модуль, работа с GSM модулем и т.д. Не писать же на ассемблере с нуля? И более того части кода могут поставляться производителем периферии в виде так называемых обфусцированых BLOB-ов, внутрь которых нельзя заглянуть и увидеть человекочитаемый код, и уж темболее изменить его. Без этих модулей шансов работы с периферией практически нет.
×
×
  • Create New...