Alan

Проект Инфо-Панели Для Офиса Телефонии

Recommended Posts

НЕ ПОНЯЛ ?! Это как вы без трансформатора получили такие сигналы?

Нет-нет, что Вы! Я просто после того, как перематывал трансформатор, ещё не впаял его на место. Или что-то ещё делал... в общем, отключил его из схемы. ::blush

Тогда уж сразу 1:10 (если входное у осцила 1м, то 110к+910к), а чтобы не резать полосу по частоте - приделайте параллельно 910к - высоковольтную емкость около 14пф (если вы правильно указали 136pF), вообще ее желательно сделать подстроечной, или заведомо больше, а подстроечник поставить параллельно входу осцилографа, и вывести по какому-нибудь эталонному генератору меандра (простейший мультивибратор на быстрой логике 74АС - вполне подойдет).

Хотел купить себе "нормальные" щупы на него. В продаже были классические, с делителем 1:10 (хотя и с BMC-разъёмом, но таки переходники BMC->MCX я себе приобрёл) до 60MHz, да кончились. Остался 1:100. Мде.

Кроме всего прочего, у вас еще и Y5V, вместо X7R, а их способность отдавать большие токовые импульсы (внутренне сопротивление) - ОТЛИЧАЕТСЯ "В РАЗЫ" . Может немного спасать их большое количество, но вообще это - не правильно.

Хвостом чуял, что-то не так с теми конденсаторами. Ну да ладно. Ставлю B32922C3474M (EMI suppresion cap X2 0.47uFx305v) 2шт, а перед ними - 100uF электролита... пару. Теперь как бы их впихнуть в схему. Они не хотят помещаться туда. <_< Это будет проблемно. Плата разрастааааается. Х)

Обязательно посмотрите, не осталось ли коротких провалов, большой амплитуды, после того как электролит подавил основную гармонику этой пульсации.

Проверил - было достаточно ровно. Заметить пульсации менее 0.2V уже не смог.

Тут похоже что еще и количества отсчетов по времени - не хватает. Импульсы получились сильно разными. И "плоской вершинки" (открытия ключа) - не видно (причем это место сильно отличается на соседних импульсах), похоже, что его длительность соразмерима с промежутком между отсчетами. Попробуйте развернуть по времени хотябы в 2 раза.

Ок, попробую. Но от этого осциллографа бесполезно ждать чуда. 36MSps - не столь много. К тому же, замерял именно сквозь конденсатор, потому нет вершины. Попробую сделать что-нибудь другое, либо обойтись без щупов временно. Да, можно подключиться напрямую... знаю, это плохо... но теперь сделаю нормальный делитель.

Это чтоли тоже самое, только через делитель ? Если так, то действительно полоса - никакая. Надо делать резистивно-емкостный делитель.

Там 7.5кОм сопротивление. Плюс ёмкость щупа 140pF - очень хорошо срезает частоту. Сегодня попробую уменьшить ёмкость.

Тут все красиво (если не считать плохую полосу пропускания щупа), но самого интересного и не видно :( А "самое интересное" - тут находится на кончиках импульсов, которые у вас "уперлись в верхний край".

На самом деле, ещё не упёрлись. Сегодня постараюсь сделать более красиво.. если не сожгу канал ::blush

Тут хорошо бы посмотреть на амплитуду короткой "спицы", возникающей из-за индуктивности рассеяния трансформатора, и как она ограничивается демпфером. Так что просто сдвиньте картинку вниз, разверните пошире по времени, ну и делитель, как и частота квантования - должны быть "на уровне", иначе просто ничего будет не видно.

Вот это будет уже сложнее. Попробуем что-нибудь сделать.

Надо собирать свой осциллограф... "с преферансом и библиотекаршами" (с)

И, да, DSO Quad уже был перетёрли косточки в этом сообщении. Там хорошо проверена полоса пропускания приборчика.

Share this post


Link to post
Share on other sites

36MSPS - это, на самом деле, вполне достаточно для этих задач. Это 27нс на 1 отсчет. Если бы у вас осцилограмма была снята с таким разрешением - было бы замечательно. Другое дело, что большинство осцилов не всегда использует максимальную частоту квантования, (обычно только на самых кратковременных значениях развертки) ибо не хватает памяти, чтобы хранить достаточно большой кусок сигнала оцифрованный с таким разрешением. Простейший способ - растянуть по X, посильнее - частота квантования гарантировано увеличится, минус - увидите не весь период.

Иногда имеется дополнительная подстройка, что-то вроде "accuracy", которая позволяет увеличить количество точек без растяжки (обычно тоже с ограничениями, по памяти и др.).

А делитель - лучше 1 раз сделайте себе нормальнй, чтобы потом к этому вопросу не возврщаться. Спалить канал у прибора - тоже обидно.

Share this post


Link to post
Share on other sites

36MSPS - это, на самом деле, вполне достаточно для этих задач. Это 27нс на 1 отсчет. Если бы у вас осцилограмма была снята с таким разрешением - было бы замечательно. Другое дело, что большинство осцилов не всегда использует максимальную частоту квантования, (обычно только на самых кратковременных значениях развертки) ибо не хватает памяти, чтобы хранить достаточно большой кусок сигнала оцифрованный с таким разрешением. Простейший способ - растянуть по X, посильнее - частота квантования гарантировано увеличится, минус - увидите не весь период.

К сожалению, я прошивку не разбирал и не знаю, как она работает на уровне сбора данных. Разработчик - где-то на форуме kazus, но выкладывать свои исходники не торопится. Да, прошивка кастомная, купленая, но она значительно лучше "фирменной", с кучей недочётов.

Иногда имеется дополнительная подстройка, что-то вроде "accuracy", которая позволяет увеличить количество точек без растяжки (обычно тоже с ограничениями, по памяти и др.).

А делитель - лучше 1 раз сделайте себе нормальнй, чтобы потом к этому вопросу не возврщаться. Спалить канал у прибора - тоже обидно.

Спалить обидно, да.. Но можно же починить потом ;) Сильно дефицитных деталей нет.

Но уже сам давно склоняюсь к необходимости собрать самопальный осциллограф. Возможно, это будет моим следующим проектом... позже... но боюсь, что там бюджет спокойно переползёт за цену достаточно навороченного профессионального инструмента. Так что, это грустно. :(

Share this post


Link to post
Share on other sites

[offtop]Несколько не по теме, но в сторону инструментов и приборов.

Собственно, вчера, да и сегодня пол дня пускал слюни на скоростные АЦП и усилители. Что получил в итоге по прикидкам:

AD9288BSTZ-100, 8BIT ADC 100MSPS DUAL, SMD, LQFP48 - прямой аналог наличиствующго в DSO QUAD АЦП, но со скоростью работы в 100MSPS вместо 40.

AD8138ARZ - Высокоскоростной усилитель без лишнего обвеса.

STM32F407ZGT6 - Мозги... из самого жирного, что есть в наличии в магазине. Вариант корпуса pqfp208 я вряд ли осилю с набега, а про BGA - и говорить не стоит - там нужен фен.

FRPA пока не обдумываю, как вариант, ибо не умею (печально), но было бы неплохо в последствии. Так что можно задуматься над вариантом (+ 2000+ к бюджету).

Экран - скорее всего "стандартный" - 320*240, развёртка встроенным контроллером дисплея. Раз уж корпус мозгов большой - полноценная 16-ти битная шина и, скорее всего, использование FSMC в качестве доступа к памяти дисплея. Либо драйвер. Да там не так много и нужно будет.

Хотя, RAM+FPGA было бы приятнее... Или иметь возможность поставить между контроллером и дисплеем 2-х портовую память %) Но это уже сказки.

Из вариантов работы:

В режиме DMA можно делать захват сигнала... проблема только в том, что буфер захвата придётся делать достаточно большим (не проблема для контроллера со 192kB RAM, минус видеопамять, впрочем данные можно выводить только те, что меняются)

320*240*2 = 153600 байт в режиме 5:6:5 (оно нам надо?) или 76800 в режиме 8bit - жирновато. Лучше на лету считать, или генерить блоками. Например, легко можно выводить только часть экрана, где расположена осциллограмма (уже -40 к строкам). Ну и так далее.

[/offtop]

Edited by Alan

Share this post


Link to post
Share on other sites

Забыли про такую важную вещь, как входной усилитель, с програмируемым к-том усиления, и отключаемый фильтр постоянной составляющей, хотя сейчас это можно сделать относительно за недорого. АЦП - я бы поискал на 10 бит, (если приемлемо по деньгам конечно), ибо иногда возникает желание растянуть по вертикали. Компаратор запуска - не вредно предусмотреть, ибо "разбирать" сигнал, для поиска "момента запуска", в реальном времени - процессор точно не успеет.

ИМХО, "вынимать" из АЦП, посредством DMA - очень не есть гуд, ибо частота квантования - будет весьма серьезно огранична (там все равно по нескольку тактов на слово получается, сколько именно - надо очень подробно смотреть даташит на конкретный процессор).

Если не владеете FPGA, то не столь сложно "развернуть" SRAM "батареей" синхронных счетчиков (4шт 74AHC161 , 74LVC161, например) Потом, посредством тогоже счетчика (загружаешь адрес, через входы параллельной загрузки, далее он приращивается, после считывания каждого слова, если надо произвольный доступ - придется перезагружать каждый раз новый адрес) - вытаскать в проц. Благо, оцифрованный сигнал - уже можно "выгребать" из памяти достаточно медленно. Шина данных - комутируется через буфер с 3-состоянием. Вобщем, там все не настолько страшно как кажется, и микросхемы логики - нынче очень дешевы. Даже если наставите 20-30 корпусов (хотя можно и поменьше) - это всего 200-300руб.

Быстрые, микросхемы синхронной статической пмяти - можно извлечь из старинных материнок (в основном PI, но иногда попадаются и на 486, и PII, PIII - стоят рядом с процом), либо из "слотовых" процессоров PII, PIII. Там, в качестве внешнего кеша L2 - обычно стоят 32к*64bit, а если повезет - то даже 64к*64bit, бывает даже по 2 шт. (Как правило - в дорогих, серверных мамках). Причем в удобном для "самоделок" корпусе - с шагом 0.63мм, а не 0.5мм.

Но вам даже 1 микросхеы - более чем достаточно (в 64 бита - можно писать параллельно даже насколько каналов АЦП, либо раскидывать с частотой преышающей максимальную частоту памяти, перезащелкивая в промежуточный регистр). Да и памяти сразу будет 128-256к только под первичный буфер. И проц - совершенно не загружен (что впрочем не отменяет полезности мощного и быстрого проца, ибо ему еще там обрабатывать - дофига)

Если нет таких микросхем - ну тогда придется покупать, правда купить значительно проще чипы на 8 бит, коих придется ставить 2-3шт. Предпочтительнее всеже материнку распоторошить.

А самое противное во всем этом - это разводка земель и аналоговых сигналов у быстрого АЦП. Наверное обратили внимание, что прототипная плата у приведенного АЦП- 4-слойная.

Тут конечно можно "выкрутится" , но повозится придется.

Но вообщето, сейчас у вас задача гораздо проще - сделать нормальный делитель, с частотной компенсацией :wink:

Edited by dr.Nimnul

Share this post


Link to post
Share on other sites

З.Ы. К вопросу, о халявном добывании качественных АЦП, для самодельных осцилографов:

---- вертит в руках плату, с AD9883A KST-140 (8bit, 140MSPS, 3канала) ----

Если имеете доступ к дохлой оргтехнике - советую порыться в старых TFT-мониторах. Только именно старых ! С VGA-входом, и таких, где этот АЦП еще не интегрирован в большой чип, с кучей сложных функций. В некоторых попадаются даже 9-10-битные, Все "за 100MSPS", в большинстве своем трехканальные (RGB), и безвозмездно (тоесть даром), правда обычно в единственном экземпляре (что печально).

Например вышеупомянутый AD9883A - Для осцильника вполне себе пригоден, хотя есть некоторый гемор, с тем, что частоту выборки (общую,для всех 3 каналов) он сам себе синтезирует умножая внешний сигнал HSYNC (и вообще имеет довольно навороченную систему синхронизации, с управлением по I2C), но с этим - вполне можно смирится.

Share this post


Link to post
Share on other sites

Итого по преобразователю питания.

На работе печаль - все PoE инжекторы растащили... дали какой-то ни то Б/У, ни то что-то похожее... для питания камер. Выглядит как недохаб с 2 портами и гнездом питания, должен выдавать 48V 0.4A. А Фиг там! БП не может даже запуститься (хотя исправно выдаёт 5V на выходе на холостом ходу), и просаживает напряжение на БП и останавливается. При нагрузке резистором в 1Ом (как при подключении "заранее", так и при включении после запуска), напряжение падает до 0.5-1.1V и дёргается (вместе с индикатором БП). На холостом ходу замерять что-то бессмысленно, ибо даже так напряжение сильно просаживается.

А запитывать от УЭП (источник питания 48V, выдающий по-факту, 55) мне как-то... немного страшно.

Будем искать другой БП... и за одно сделаю новый вариант платы с учтёнными ошибками, типа разъёма входящего питания и индикатора напряжения на выходе.

Предохранитель добавить, что ли?..

Share this post


Link to post
Share on other sites

А запитывать от УЭП (источник питания 48V, выдающий по-факту, 55) мне как-то... немного страшно.

В самом по себе запитывании от 55в - ничего страшного для этой схемы нет, запас по ключу - там вполне достаточный (не забудьте только резистор в питании микросхемы контроллера вернуть назад).

Будет неплохая проверка от "завышенного напряжения". Беда в том, что "от заниженого" (вольт 40) - тоже надо бы проверить. Возникают дураццкие мысли, на мощном составном биполярнике, с громадным радиатором, сварганить что-то вроде линейного стабилизатора, или просто "эквивалента мощного стабилитрона", (3 элемента) на котором "уронить" требуемые 10-15в. Рассеить 10-15Вт (при токе 1А)- в принципе, не так и сложно.

Предохранитель добавить, что ли?..

Можно, только не забывайте, что силовой транзистор (если почемуто не сработало ограничение тока) таким образом не спасти. Назначение этого предохранителя - чтобы все "не горело и не плавилось" , в случае выхода схемы из строя. Следовательно и номинал этого предохранителя - выбираем с 3-4 кратным запасом, чтобы он НИКОГДА не сгорал при нормальной работе схемы (в т.ч. и от накопления "усталости", от пусковых токов схемы).

Share this post


Link to post
Share on other sites

Так. Есть у меня почти готовая процессорная плата. Всё разведено, по большей части, наверное, грамотно.

Даже вполне нормально определяется программатором. Разве что, всё в целом пока что не тестировал - прошить второй контроллер в данный момент проблематично, потому пописываю прошивальщик из основного чипа.

Столкнулся с приколами работы с SD-картами - во всех библиотеках адрес передаётся в виде 32-х битного номера. По даташиту интерфейса - с 1-цы (0й сектор нельзя, ибо он как первый"). У меня по какой-то причине SD-карта (обычная) требует адресацию с 255 (читается тот самый 0-й, соответственно, 256 = 1, 257 = 2 и т.д.), а SDHC +2048. Что бы это значило - так и не понял пока что. Но факт есть.

Зато читается!

Кстати, похоже, я оставил переходник на работе...

Вот так выглядит "вживую". Фото склеено из 2 кадров, если что ;)

03c8b4c5997242998d5b95234ab4a8cd.jpg

Синяя фиговина - дроссель.

В остальном пока занимаюсь кодом...

Недавно достал более реальный БП (выдаёт 47.7V на холостом, от него питался офисный телефонный шлюз, пока не помер от вытекших конденсаторов >_> ). Проверил на нём (успев случайно потерять конденсатор ЗА дросселем) и смог выжать только 0.3А при 5В. А потом налетели дела и пришлось всё отложить. Планирую завтра заняться более плотными проверками, раз уж спокойная неделя планируется.

Кстати, постараюсь сделать осциллограммы напряжений (замер затворного для оценки холостого хода и работы на нагрузке - вплоть до 25W (1ОМ - штука серьёзная в нагрузке), если вытянет). Так что, надеюсь, день будет плодотворным.

В самом по себе запитывании от 55в - ничего страшного для этой схемы нет, запас по ключу - там вполне достаточный (не забудьте только резистор в питании микросхемы контроллера вернуть назад).

Будет неплохая проверка от "завышенного напряжения".

В моём случае беда в том, что запаянные, на текущий момент, конденсаторы, расчитаны на 50V. Боюсь, как бы не случилось 4-5 хлопков. Хотя до 1-2 минут они должны бы выдержать. Там 4 неправильных фильтрующих. Сделаю новую плату - поменяю на X2 наконец.

Беда в том, что "от заниженого" (вольт 40) - тоже надо бы проверить.

Прямо до 40V не проверял. Вот ёмкость поставлю правильную - буду замерять. Сейчас это минимум, глупо.

Можно, только не забывайте, что силовой транзистор (если почемуто не сработало ограничение тока) таким образом не спасти. Назначение этого предохранителя - чтобы все "не горело и не плавилось" , в случае выхода схемы из строя. Следовательно и номинал этого предохранителя - выбираем с 3-4 кратным запасом, чтобы он НИКОГДА не сгорал при нормальной работе схемы (в т.ч. и от накопления "усталости", от пусковых токов схемы).

К сожалению, нормальная работа схемы - это пиковая нагрузка до 30W (вполне вероятно, что в стабильном режиме значительно меньше). По моим прикидкам - если 97% времени не будет происходить аварий (вероятно, больше), то схема должна быть в "дежурном" режиме:

- Сеть (3.3V*0.3A)

- Мозги (3.3V* ~~0.05A)

- RTC (5V*0.002A)

Итого - менее 2W. Плюс потери - максимум, 3-4W на холостом ходу.

Но, это так.. А в рабочем режиме прикидочное значение мощности не должно переваливать за 20W (это даже с учётом пищалки).

Но теперь неприятное:

20W / 48V = ~0.4A (0,417A)

Берём 3х запас - 1.25А. Допустим. Но мало какой PoE адаптер выдаст такую мощность. По паспарту, тот, что у меня на руках, выдаёт 1А. Хотя... возможно, и будет достаточно.

В общем, поставлю! Куда-нибудь в районе выноса у корпуса. Будет веселее =)

Share this post


Link to post
Share on other sites

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

Напаял ёмкость за фильтром - смог выжать порядка 2.2А при 5V. На резистор в 1Ом за проводами реагирует пофигистично (муьлтиметр показывает около 2А - сопротивление проводов, как-никак, немаленькое). При подключении сразу на точки выхода - (площадки клемм) мультиметра (1.2-1.5Ом) - имеем 3V и порядка 3А. Почти КЗ. Проверить одновременно напряжение и ток не получилось.

При "штатном" питании на резисторах датчика тока получаем пилу до ~~ 0.9V и отсечку на уровне 35% (подоже, нужно добавить ещё в паралель).

На холостом ходу видимая шпилька - порядка 3.1% (плюс-минус допуск), но идёт эдакими "пакетами", т.к. разрешающей способности недостаточно, чтобы заметить начало/конец пакетов, так что точно не смогу описать заполнение на минимуме.

ЗЫ: Похоже, никто кроме нас с Dr.Nimnul эту тему не смотрит =)

Edited by Alan

Share this post


Link to post
Share on other sites

Вы начинаете делать совершенно правильные выводы ;) поздравляю.

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

Правильно.

При "штатном" питании на резисторах датчика тока получаем пилу до ~~ 0.9V и отсечку на уровне 35% (подоже, нужно добавить ещё в паралель).

Если все так, как вы описали - то именно с этого и следует начинать.

Только потихоньку и без фанатизма (смотрите за током, чтобы не пропустить насыщение трансформатора, иначе есть риск спалить ключ).

У вас там чего сейчас стоит ? 3шт по 1 Ом параллельно (0.333... Ом) ?

Если не поможет, или увидите признаки насыщения трансформатора (нелинейное наростание тока, к концу импульса - скорость наростания увеличивается) - попробуйте убавить 1 виток от вторички.

На холостом ходу видимая шпилька - порядка 3.1% (плюс-минус допуск), но идёт эдакими "пакетами", т.к. разрешающей способности недостаточно, чтобы заметить начало/конец пакетов, так что точно не смогу описать заполнение на минимуме.

Пакетами и должно быть. На холостом ходу - следилка очень часто возбуждается.

Даже далеко не все "фирменные" источники - отрабатывают этот режим без возбуждения.

(а те которые отрабатывают - обычно имеют внутреннюю минимальную нагрузку: постоянно подключенный резистор, или динамически подключаемый при отсутствии тока, или "зашкале" ООС).

У вас на ХХ остается только TL431, с оптроном, которые потребляют крайне мало. А учитывая что коррекцию, вы еще даже не трогали - ничего удивительного тут нет. Так что не парьтесь особо пока. И высматривать какое там заполнение, при генереже - тоже совершенно никакого интереса.

Можете попробовать сварганить маленькую нагрузку, милиампер на 100-150.

По идее, должно уже затыкаться. (если нет - надо отлаживать коррекцию, но это время еще не пришло, ибо в пока не разобрались до конца с "энергетикой").

Кстати самый "тяжелый" режим, с точки зрения возбуждения, помимо малой нагрузки - еще и завышеное входное питание , так что ваш источник на 55в - будет очень кстати (это я на будущее).

ЗЫ: Похоже, никто кроме нас с Dr.Nimnul эту тему не смотрит =)

Ну, что поделать... Зато хоть вам польза :)

Share this post


Link to post
Share on other sites

Берём 3х запас - 1.25А. Допустим. Но мало какой PoE адаптер выдаст такую мощность. По паспарту, тот, что у меня на руках, выдаёт 1А. Хотя... возможно, и будет достаточно.

В общем, поставлю! Куда-нибудь в районе выноса у корпуса. Будет веселее =)

Считать что предохранитель не успеет сработать от пиковых токов - последнее дело. Проволка в предохранителе обладает паршивым свойством накапливать "усталость". Если не сработает от первого импульса - далеко не факт что не сработает от 10001-го ;)

Плавкий предохранитель - имеет смысл ставить либо с 2-3 кратным запасом относительно МАКСИМАЛЬНОГО возможного тока, либо НИКАК. В любом другом случае - это не предохранитель, а геморой :D.

То что источник не отдает такого тока НОМИНАЛЬНО (при выходном напряжении 48в) - совершенно не значит, что он не выдаст его при коротком замыкании (когда выходное напряжение будет менее 48в).

А транзистор вы не спасете даже предохранителем на 100ма. Проверено.

Единственная реальная польза от этого предохранителя - чтобы не поплавились сетевые разьемы, и витая пара, которые не шибко предназначены для таких токов.

Так что никакого смысла делать номинал предохранителя "впритык" - нету.

Менее 1.5а - лучше не ставить.

Share this post


Link to post
Share on other sites

ЗЫ: Похоже, никто кроме нас с Dr.Nimnul эту тему не смотрит =)

 

Я смотрю, только пользы от меня никакой. Я только тюльпаны паять да не доделывать детекторные приемники могу))

  • Upvote 1

Share this post


Link to post
Share on other sites

У вас там чего сейчас стоит ? 3шт по 1 Ом параллельно (0.333... Ом) ?

Если не поможет, или увидите признаки насыщения трансформатора (нелинейное наростание тока, к концу импульса - скорость наростания увеличивается) - попробуйте убавить 1 виток от вторички.

Да, именно так и осталось с начала разработки схемы.

Пакетами и должно быть. На холостом ходу - следилка очень часто возбуждается.

<...>

Можете попробовать сварганить маленькую нагрузку, милиампер на 100-150.

По идее, должно уже затыкаться. (если нет - надо отлаживать коррекцию, но это время еще не пришло, ибо в пока не разобрались до конца с "энергетикой").

Так БП и не "поёт" ни при какой нагрузке. Видимо, трансформатор намотал с приличным натяжением для него, и потому нечему шевелиться и музицировать.

В общем, сейчас хочу сделать второй вариант платы и всё на неё пернести. Уже с учётом ошибок.

Share this post


Link to post
Share on other sites

Так БП и не "поёт" ни при какой нагрузке. Видимо, трансформатор намотал с приличным натяжением для него, и потому нечему шевелиться и музицировать.

Натянуть так чтобы ничего не "пело" - невозможно в принципе (не помогает даже пропитка под вакуумом, с последующей заливкой эпоксой, "до состояния кирпича"), видимо просто диапазон оказался не звуковой, или мощность очень маленкая. Иногда так бывает.

В общем, сейчас хочу сделать второй вариант платы и всё на неё пернести. Уже с учётом ошибок.

ИМХО, рановато. Вы еще не отловили все косяки здесь. Переделывать плату - тучше потом, "начисто". Впрочем, дело хозяйское ... :wink:

Share this post


Link to post
Share on other sites

ИМХО, рановато. Вы еще не отловили все косяки здесь. Переделывать плату - тучше потом, "начисто". Впрочем, дело хозяйское ... :wink:

Использую одно нелюбимое слово, но....

Косяки, которые я сейчас не могу исправить чисто из-за размеров платы:

- Конденсаторы фильтрации "помех" от катушки - Y5U и слишком мелкие.

- Конденсатор ЗА дросселем отсутствует (и любит постоянно отваливаться с сопли)

- Рабочее напряжение всех описаных выше ДО 50V включительно. Боязно мне запускать его на более высоком (55-57V) - ещё будет 5 хлопков.

- Радиатор диода получился слишком близко к трансформатору - пришлось немного его подпилить =(

В остальном, вроди бы, нормально. А вот по номиналам - да... В среду, думаю, подпаяю ещё один резистор (кстати, не забыть взять их), максимум, два. И попробую погонять на нагрузке (ещё бы этот резистор не спалить, ага =)).

Share this post


Link to post
Share on other sites

Чтож... щупы осциллографа доломались, так что БП на время откладывается (но один резистор думаю допаять) похоже, до января-февраля, пока не побываю в столице и не прикуплю несколько новых щупов (уже с обычным BNC, а не этим их MCX-разъёмом, будь он неладен).

Процессорная плата. Побеждены:

[+] SPI-SD-Card (Кстати, продолжает работать с костылём в виде +249(SD) +2048(SDHC)

[+] FAT-FS

[>] Flasher

[p] Ethernet

[p] Commands

[w] Bootloader

* + - Готово

* > - В процессе

* p - Пауза

* w - Приостановлено

Есть у нас тут кто-нибудь, работавщий с SD-картами памяти в режиме SPI обмена? У меня вот странный баг (или фича - я не знаю) и мне бы хотелось проконсультсироваться со знающими.

И, да, пересобираю Ethernet модуль. Точнее, рисую плату пока что.

Схема

PCB

Edited by Alan

Share this post


Link to post
Share on other sites

Возник вопрос по секциям GCC (пока решил заняться программированием bootloader'а для основного чипа)... Я нашёл, как указать начало секции компилятору, но максимальный размер секции для 1284-й Меги - 4kWORD (8kB), но вот размер кода поддержки FATfs переваливает за 12kB, что проблемно. Потому вопрос:

Хочу прописать размер секции bootloader-а как 512W (самый конец Flash'а) и выбрать кусочек (относительно динамически) нужный для размещения кода загрузчика в нём где-то рядом с последней секцией памяти. То есть, чтобы код располагался подобно стэку - вот так:

[0==Init() Main() .. FS ... Eth ..... (free) ......       Bootloader_code | INIT()==0xFE00 .. 0xFFFF]
То есть, фактически, функция Init() находится по адресу 0xFE00 (0x01FC00 байт), затем до конца флеша может располагаться код, и далее не с начала памяти, а где-то с 0xF000 - остальная часть кода. Либо, чуть ниже...

Догадываюсь, что потрубется указать размер секции как минимальный (0xF000, например), и уже затем как-то указать точку "сброса". Вот в последнем загвоздка.

Есть секция .text - она явно указывает начало области кода. По идее, она должна указывать на вектор прерывания (0xFC00 *2, ибо WORD). Допустим. Но тогда получаем вообще допустимый размер секции в 512 слов. Мало.

В понимании компилятора, память будет flat (плоской, линейной), значит, заворачивать её нельзя просто так.

Можно попытаться задать начало секции ниже, но как тогда задать точку входа в "невидимом" блоке типа .vectors?

А ведь проблема в чём.. Будь это STM32 - можно грузить код в RAM и работать от туда.

Например, собирать отдельные "прошивки", заливать их в разные сегменты памяти и потом загрузчиком загружать в RAM и переключаться на неё. Довольно грубо, да, но будет работать. А тут довольно прямолинейный AVR, где таблица прерываний будет в одном явно заданом месте (причём, заданом Fuse-битом). Загвоздка.

Хотя... можно ведь, заранее зная позицию расположеная загрузчика, использовать готовый адрес и конструкцию вида:

if (fw_upd_req)
{
 asm ("jmp 0xF000"); // Адрес можно указать свой, где будет начало загрузчика.
};
Из минусов такого решения - во-первых, переинициализация системы, во-вторых, возможное смещение адреса загрузчика (что плохо). Ну, и в-третьих, собственно, сам загрузчик будет находиться чёрт знает где, и переход на него будет условным, что очень плохо. Но зато он в любом случае, сможет обновить ПО в основной памяти. Edited by Alan

Share this post


Link to post
Share on other sites

Хехе.

Ну вот меня можно и поздравить с обновками:

- Щупы HP-3100 и HP-3060 (100/10МГц 1:10/1:1 и 60/6МГц 1:10/1:1)

- Кучка рассыпухи типа LM1117 (странно, что у нас такие встречаются редко), CD4046 (он же К561ГГ1), MLX90614ESF-DAA

- Пара баночек паяльной маски (теперь двухкомпонентной, с термооотвержением) / первую тестовую плату уже запорол - либо пересветил, либо перегрел... :(

- Набор фрез для резки плат (0.8мм, 1.2мм, 1.4мм: твердосплав (0.8 и 1.4 и TiN 1.2).

Фреза 1.4мм. Текстолит держал руками. Узкие части - пробовал 0.8мм. Удобнее, но их мало.

q2YovyrV8Is.jpg

Пора доделывать БП!

По коду:

- Допилил блоки, отвечающие за работу с OneWire (остался вопрос очереди команд) - асинхронная работа, основанная на прерываниях таймера и машине состояний.

- Загрузчик будет занимать до 32кБ кода (в 16 не поместился почти сразу - библиотека FatFS очень толстая).

- Обновление ПО пока не работает для дочернего чипа (занимаюсь).

- Впихнуть чип памяти не получилось - мало свободных ног осталось (если не трогать PORTA, где должен быть DAC (в идеале)).

Edited by Alan

Share this post


Link to post
Share on other sites

Чтож. Я несколько увлёкся переделыванием платы дисплея.

Теперь получился более-менее финальный вариант (боюсь, я больше не выдержу переделываний их чисто психологически, ибо всё делается лапками и с потерями (особенно, свёрла)).

Так... фото...

"Фото принято прятать под спойлер" (с) Habrahabr.

56p2xJHz1h0.jpg

Извините за качество, делал вечером при слабом свете.

Подсвеченая точка в леом углу - вероятно, огрех индикатора/ключей.

Итого, на плате:

10 х 74HC595

72 x 2N7002 (столбцовые ключи)

8 х IRLML6401 (строчные ключи)

8 х 0805 4.7kOhm (гашение строчных ключей при Z-состоянии на выходах регистров)

9 х 0805 cap (470nF, 1uF, 330nF), размазаны по шине питания регистров.

По плате... двести двадцать три грёбаных via отверстия >_< (Мне едва хватило терпения) + 144 отверстия под индикаторы + 14 отверстий под разъёмы + 4 отверстия М3 под крепление (получились криво, но достаточно сносно).

Предыдущий вариант платы придётся переделывать... Он не совместим по индикации (по ошибке индикаторы оказались перевёрнуты).

"тяжела и неказиста жизнь простого прототипа..." ©

Share this post


Link to post
Share on other sites

Итак. Могу похвастать:

- Работает Ethernet

- Работают 2 платы дисплеев.

- Прибарахлился тонкими свёрлами (0.2 ~ 0.8мм с шагом 0.1мм), и сделал подобие станочка для сверления (биения для сверла 0.2 менее 40% диаметра, а при касании поверхности платы - пропадают совсем).

Теперь попробовал замахнуться на подходы к пределу для фоторезиста - дорожки в 5/1000 дюйма (~0.1мм). Сразу же оказалось, что принтер такое едва ли тянет (если не принтер, то виновата плёнка). T8 тоже получаются раз через раз. Т10 уже лучше, а стабильно пока только Т12 и выше.

Raymond, dr.Nimnul, может поделитесь секретом тонкой технологии? Я уже пользуюсь ламинатором, даже попробовал отполировать поверхность заготовки до зеркального(*) блеска, но пока получаю только сбои технологии. Хотя, понимаю, что предел в 200микрон - это достаточно сложно, но хочется найти свой предел технологии, который вообще смогу достичь в столь кустарных условиях..

И, да, травлю и проявляю практически по технологии - уже не "Крот"-ом, а реальными щелочами.

 

(*) - насколько смог, но себя вижу отлично в отражении. Использую наждачку с зерном 2500.

Edited by Alan

Share this post


Link to post
Share on other sites

Молодец, видно, что проект движется. :)

 

По поводу технологии писал кажись когда-то, что нужен аэрозольный фоторезист для таких дорожек, так как пленочный слишком толст и идет подтравливание с боков. Лично я все же стараюсь не делать менее 0.2 на дому, дабы повысить надежность и не ловить потом жуков.

 

В качестве шаблона идет обычная офисная бумага под Transparent 21, можешь попробовать WD40 :), народ на форумах говорит, что катит, я не пробовал.

Share this post


Link to post
Share on other sites

Молодец, видно, что проект движется. :)

 

В качестве шаблона идет обычная офисная бумага под Transparent 21, можешь попробовать WD40 :), народ на форумах говорит, что катит, я не пробовал.

Благодарю =)

По поводу ЛУТа всё же... у меня не такой принтер, чтобы хорошо сыпал тонер, потому наловчился делать отменного приличного качества платы фоторезистом и струйным принтером (всё грожусь ему сделать калибровку, но всё никак лапы не доходят).

В общем, получается вот так:

N65MhK8S3Qk.jpg

HuQEBurJpLg.jpg

Перечитал инструкцию - теперь проявляю раствором карбоната натрия.. было глупо с моей стороны пытаться проявлять тем же NaOH, да ещё и в приличной концентрации (тонкие дорожки слезали).

А по поводу бокового подтрава - ничего фатального не получал пока что. Травлю на ровной поверхности, один слой за раз.

Share this post


Link to post
Share on other sites

Если это струйник, то вообще чудо, что у тебя вообще что-то получается. :) В общем, найди лазерник, это не то, где надо экономить. А по поводу проявителя - 7 грамм гидроксида на литр воды для аэрозольного, и могу сказать, что это очень критично, чтобы не перепроявить. Лучше развести и не спешить, так что каустическая сода - вполне себе вариант, гидролизирует до того же гидроксида.

Share this post


Link to post
Share on other sites

Сейчас не каустическая. Использую р-р Na2CO3, примерно 1% (с некоторым допуском), как и написано в инструкции. Теперь дорожки тоньше Т8 не отваливаются.

А по поводу принтера - недавно сделал новую калибровку. Стало лучше.

Как-то так:

1heu08QSHls.jpg

8cBI-PpG04I.jpg

Так и подмывает написать "Снято на кусочек мыла", но обидно за смарт =) Он просто не может понять фокусировку. Да и держать не слишком удобно.

И, нет, в целом получается отлично. Во всяком случае, с зазорами более 0.2мм - качество близкое к 100%. Боковой подтрав? Да там такие мелочи получаются, что мне это не мешает. Да, дорожки от этого ровнее не становятся, но рваться не успевают. Вообще, травление занимает от силы минут 10. Делаю всё лапками, ибо по одному слою.

Пробую металлизацию... но пока не получается.

А по поводу Positiv 20 - видимо, у нас с ним взаимная нелюбовь =( Ну, не получается, хоть ты тресни.

Варианты:

- Слой не вышел, ибо стёк.

- Слой неровный (утёк на одну сторону)

- Недосвет

- Пересвет

- Налипла пыль (и такое случалось)

- Засветился во время сушки (самое обидное).

- Я не вижу этого слоя >_< (попытался напылить совсем чуть-чуть, ибо жаба душит)

- При проявке половина слезла. (это вообше было класикой).

А с Ordyl Alpha не знаю проблем вообще. Разве что, из-за корявых лап при нанесении порой получаю пузырьки (но ламинатор это не пугает и он хорошо разглаживает их, порой умудряясь вспенить). В итоге - даже не заметно проблем после проявки.

PS: Пытаюсь перейти на отверстия V40 (0.4мм - сверлятся отлично, сводятся на ура). Опять же, нет геометрических искажений.

А с ЛУТ... ну тут сложнее. Бумага хорошая нужна... химия.. принтер другой. А с финансами пока напряг (да и скакнувший на +100% курс буржуйских енотов сильно печалит). Не имею ничего против других стран, но наш ЦБ творит какую-то фигню... И эти из (на)ссанкции. Пф..

------------------------

А, точно!

Что умеет инфо-панель в разобранном виде.... по отдельности:

- Читать MicroSD (теоретически, и писать тоже). FAT12/16/32.

- Щебетать в консоль (делает это очень уж активно на скорости 115200).

- Измерять температуру (раз в 2 секунды, DS18B20), шина OneWire реализована частично объектно (ибо лапки хоть и прямые, но не настолько), приоритет имеют первые устройства, синхронизированный обмен данными по тику таймера - не отнимает на тайминги процессорное время (кроме коротких интервалов).

- Работает в сети Ethernet! Да! Даже принимает пакеты и получает время по NTP!

- Получает по UDP команды и сообщения. Пока выводит в консоль для отладки. Консоль иногда выкидывает "лишние" символы. Мне кажется, это шум.

- Умеет часы на DS1307.

- Ведущий чип научился прошивать ведомый (при псевдопаралельном обращении к карте памяти - они на одной SPI шине, но разные nCS входы, один из которых является nRST).

- Ведомый (теоретически) умеет показывать сообщение на "экране". Пока не смог проверить - они несколько громоздкие и лежат дома.

А вот общаться они пока не умеют.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now