Pull to refresh
75
Karma
0
Rating
Владимир @vladimir_open-dev

Инженер

Конвертер из HDMI/DP++ в MIPI DSI

Reading time 5 min
Views 8.4K
Manufacture and development of electronics *Electronics for beginners
Доброго времени суток, Хабр!



Неоднократно мне тут задавали вопросы по конвертеру из HDMI в MIPI DSI. Так сказать, по просьбам трудящихся, выкладываю что у меня получилось. В статье затрону аппаратную сторону реализации устройства и изложу основные проблемы, с которыми столкнулся. Приятного прочтения.
Читать дальше →
Total votes 37: ↑37 and ↓0 +37
Comments 16

Изучаем миниатюрный шаговый двигатель

Reading time 16 min
Views 41K
Programming *Circuit design *Robotics DIY Electronics for beginners
Sandbox
Шаговые двигатели нашли широкое применение в современной промышленности и самоделках. Их используют там, где необходимо обеспечить точность позиционирования механических узлов, не прибегая к помощи обратной связи и точным измерениям.

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


Total votes 44: ↑44 and ↓0 +44
Comments 37

Разработка электроники. Субъективный обзор наиболее полезных интегральных датчиков

Reading time 9 min
Views 14K
Start-up development Manufacture and development of electronics *Electronics for beginners Telemedicine


Того датчика, что слева я уже касался на страницах Хабра, поэтому сегодня поговорим о его младших собратьях.

Когда задумываешь новый стартап, порой кажется, что в области электронных приборов всё уже придумали до нас и рамки простора для творчества сегодня сильно сузились. На самом деле, это далеко не так. За последние несколько лет в мире электронных компонентов произошли революционные изменения, которые продолжаются и по сей день. Изображённые на фоне монеты чипы, немыслимы были ещё 5 лет назад, но в течение только этого года их семейство получило несколько пополнений.

Современные электронные компоненты позволяют не только создавать новые, но и расширять функциональность давно существующих устройств. Разработанные с их применением приборы становятся меньше, дешевле, функциональнее и проще в использовании, чем их предшественники. Но главное — они проще интегрируются в наш цифровой мир, а значит хорошо масштабируются. Это одна из основных причин, по которой технологичные стартапы набирают сегодня популярность у инвесторов.

О современных микроконтроллерах и методиках, упрощающих процесс «изобретения» новых продуктов, можно прочитать в моих предыдущих статьях. Сегодня же очередь дошла до датчиков. Невозможно объять необъятное, поэтому я сделал краткий и чисто субъективный обзор интегральных датчиков, которые, по моему личному опыту, могут быть наиболее полезны, как при проектировании совершенно новых приборов, так и в ходе модификаций, с целью придать новые качества давно выпускаемым устройствам, чтобы выделить их из ряда конкурентов. Преимущества отдавал тем, достоинства которых успел оценить в своих проектах.
Пара фраз о датчиках
Total votes 45: ↑45 and ↓0 +45
Comments 63

Улучшение работы батарей через химию

Reading time 6 min
Views 9.8K
Energy and batteries
Translation
[* Название статьи является аллюзией на название первого студийного альбома Fatboy Slim, «Better Living Through Chemistry» / прим. перев.]



Свинцово-кислотный аккумулятор нельзя назвать чудом современной инженерной мысли. Он очень надёжен и прост в использовании, а для его зарядки нужно просто подать на него фиксированное напряжение и немного подождать; в итоге аккумулятор заряжается и остаётся полностью заряженным – вот и всё. На другой стороне этой простоты находятся их размер, вес, плотность энергии и токсичность материалов.

Литиевый аккумулятор – современный хит, однако его большая энергетическая плотность приводит к тому, что его корпус небольшого размера может разозлиться и стать весьма опасным при неправильном обращении. Учёные ищут более безопасные варианты аккумуляторов, улучшенные системы заряда, формулы для увеличения срока работы батарей, которые можно было бы перезаряжать тысячи раз, и одна недавняя публикация вызвала множество восторженных откликов.
Читать дальше →
Total votes 27: ↑23 and ↓4 +19
Comments 12

На какой диапазон эта антенна? Измеряем характеристики антенн с помощью OSA103 Mini

Reading time 7 min
Views 75K
Wireless technologies *


— На какой диапазон эта антенна?
— Не знаю, проверь.
— КАААК?!?!

Как определить, что за антенна у вас в руках, если на ней нет маркировки? Как понять, какая антенна лучше или хуже? Эта проблема меня мучила давно.
В статье простым языком описывается методика измерения характеристик антенн, и способ определения частотного диапазона антенны.

Опытным радиоинженерам эта информация может показаться банальной, а методика измерения — недостаточно точной. Статья рассчитана на тех, кто вообще ничего не понимает в радиоэлектронике, как я.

TL;DR Мы будем измерять КСВ антенн на различных частотах с помощью прибора OSA 103 Mini и направленного ответвителя, строить график зависимости КСВ от частоты.
Читать дальше →
Total votes 91: ↑90 and ↓1 +89
Comments 70

Превращаем DSLogic Basic в DSLogic Plus

Reading time 3 min
Views 23K
DIY Lifehacks for geeks Electronics for beginners
Tutorial
Привет, Хабр!

В данной статье расскажу как модифицировать DSLogic Basic до DSLogic Plus.

Возможно для кого-то это не будет новостью.

Во всяком случае — собрал инфу с зарубежного форума, убрал все лишнее и рассказываю вам.

Кому интересно — прошу под кат.
Читать дальше →
Total votes 42: ↑42 and ↓0 +42
Comments 52

Простейшее профилирование памяти на STM32 и других микроконтроллерах

Reading time 7 min
Views 39K
Manufacture and development of electronics *Electronics for beginners
«С опытом приходит стандартный, научный подход к вычислению правильного размера стека: взять случайное число и надеяться на лучшее»
— Jack Ganssle, «The Art of Designing Embedded Systems»


Привет, Хабр!

Как ни странно, но в абсолютном большинстве виденных мной «учебников для начинающих» по STM32 в частности и микроконтроллерам вообще нет, как правило, вообще ничего про такую вещь, как распределение памяти, размещение стека и, главное, недопущение переполнения памяти — в результате которого одна область перетирает другую и всё рушится, обычно с феерическими эффектами.

Отчасти это объясняется простотой учебных проектов, выполняемых при этом на отладочных платах с относительно жирными микроконтроллерами, на которых влететь в нехватку памяти, мигая светодиодом, довольно сложно — однако в последнее время даже у начинающих любителей мне всё чаще встречаются упоминания, например, контроллеров типа STM32F030F4P6, простых в монтаже, стоящих копейки, но и памяти имеющих единицы килобайт.

Такие контроллеры позволяют делать вполне себе серьёзные штуки (ну вот у нас, например, такая вполне себе годная измериловка сделана на STM32F042K6T6 с 6 КБ ОЗУ, от которых свободными остаются чуть больше 100 байт), но при обращении с памятью при работе с ними нужна определённая аккуратность.

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

Читать дальше →
Total votes 58: ↑57 and ↓1 +56
Comments 230

Как не промахнуться с бюджетом на серийное производство корпусов: 20 примеров из практики бюро по инженерному дизайну

Reading time 4 min
Views 29K
Project management *Manufacture and development of electronics *Electronics for beginners
Публикация всего двух статей о том, как самостоятельно оценить стоимость производства корпуса для прибора (первая и вторая) подняла просто волну запросов из серии «А вот сколько будет стоить наш корпус при тираже 5-100-1000- ∞ штук?»

image

Как выясняется в ходе общения, большинство запрашивающих ошибается в оценке затрат на производство на порядок. Не шучу.

Однако написать простую инструкцию (или ещё проще — сделать калькулятор) по оценке этих затрат я не смог: для этого придётся учесть слишком много параметров. Поэтому просто покажу на примерах тираж и цену. Да, вы не сможете точно оценить свой проект, но уже будет ясно, сколько вам потребуется денег — 100 000 рублей, миллион или больше.

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

I. Производство пластиковых деталей


Cтоимость производства мелких, небольших и крупных деталей
Читать дальше →
Total votes 47: ↑46 and ↓1 +45
Comments 53

5 заповедей успешного переговорщика и партнера

Reading time 4 min
Views 20K
Sales management *Lifehacks for geeks
Sandbox
Каждый день мы ведем переговоры: с боссом о повышении, с деловыми партнерами о закупках, с администратором спортивного зала об индивидуальном пакете посещения.

Кажется, будто эти переговоры не похожие, но принципы заключения успешных сделок и стратегии поведения в критических ситуациях одни. В книге “Договориться можно обо всем!” Гэвин Кеннеди рассказывает о том, как любую сделку и ситуацию сделать выгодной для себя.

Публикую ценные советы и мои выводы из книги:

Правило 1. Никогда не отдавай что-то просто так – обменивай


Если партнер просит о скидке – подумай, как цена ниже повлияет на комплектность продукта. Например, при продаже по цене ниже ты можешь исключить проверку на брак или сделать гарантийный срок короче.

Каждая уступка с твоей стороны должна быть “оплачена” партнером или клиентом.

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

Как можно поступить?

1. Отвергаешь предложение. “Никаких скидок! У нас лучший товар на рынке и нет причин снижать стоимость.”

Этот вариант сработает если действительно соотношение цена/качество вашего продукта на рынке не имеет равных. Если партнер не честен и на самом деле конкуренты не предлагают низких цен, он отметит, что Вы не отреагировали на провокацию.
Читать дальше →
Total votes 42: ↑29 and ↓13 +16
Comments 37

Интернет вещей по-русски. Спектральные параметры радио-сигнала

Reading time 4 min
Views 13K
Wireless technologies *Development of communication systems *Development for IOT *Manufacture and development of electronics *IOT
image

Полгода назад один заказчик заинтересовал меня передачей данных по радио для интернета вещей в нашей отечественной версии — NB-FI. Очевидно, что идеологически это система низкоскоростной передачи данных (Ultra-Narrow Band, UNB) SigFox. В деталях есть отличия, которые несомненно можно назвать улучшениями. Например, в NB-FI введено помехоустойчивое кодирование, которое позволяет значительно повысить вероятность доставки сообщения. Более узкая полоса частот также положительно сказывается на сложности оборудования базовой станции. Все это подробно описано в черновике стандарта, который готовится к принятию в РФ в этом, 2019 году. Но в проекте стандарта есть один, как мне кажется существенный, пробел.
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 136

Основы электробезопасности при проектировании электронных устройств

Reading time 12 min
Views 63K
Manufacture and development of electronics *Electronics for beginners
Привет, Хабр!

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


Тема это большая и сложная, но я постараюсь выделить основные моменты — не в последнюю очередь на основании ошибок, которые я видел во всевозможных реальных устройствах и проектах, в том числе публиковавшихся на Хабре. Я не буду долго и нудно перечислять ГОСТы, но перечислю совсем базовые вещи, которые необходимо понимать и соблюдать, чтобы не убить хотя бы себя (если вы планируете не убивать также и окружающих, то после завершения этой статьи не поленитесь пролистать и релевантные ГОСТы).

Итак, вы собрались делать устройство, которое как минимум одним своим концом включается в розетку.
Читать дальше →
Total votes 172: ↑167 and ↓5 +162
Comments 281

Заряжаем ноутбук Dell XPS от любого адаптера питания

Reading time 8 min
Views 109K
Laptops DIY
image

Не так давно я решил произвести обновление своего ноутбука и приобрёл на Ebay Dell XPS 13 9350. Цена вышла очень приятная (в 2 раза дешевле, чем в отечественных магазинах, отлично проходило в лимит 1000 евро, при этом комплектация максимальная, а состояние «New»). Ноутбук мне очень понравился (стоит ли говорить — туда отлично встал Linux без каких-либо танцев с бубном кроме перевода SSD из режима RAID в режим AHCI одной галкой в UEFI). И я даже отлично попользовался им 2 недели, а потом… а потом блок питания ноутбука перестал работать.

Конечно, я немного огорчился, но блок питания вещь не такая уж дорогая (как относительно стоимости ноутбука, так и относительно выгоды от заказа на ebay), а пытаться что-то выяснять с продавцом из-за такого пустяка — лишняя трата времени, так что я отправился в местный компьютерный магазин. Тут меня ждало первое разочарование — с подходящим штекером БП не нашлось. Я отправился в следующий магазин, но и там меня постигла неудача. В таком случае я рассудил, что можно позаимствовать штекер и кусочек провода от неисправного БП и сделать переходник, поэтому приобрёл произвольный БП с подходящей мощностью и выходным напряжением, а также совместимый с ним штекер (не резать же провод у нового БП).

Однако всё было не так просто…
Читать дальше →
Total votes 101: ↑101 and ↓0 +101
Comments 205

Реализация аппаратной защиты по току

Reading time 13 min
Views 95K
Circuit design *Manufacture and development of electronics *Electronics for beginners
Сегодня моя статья будет носить исключительно теоретический характер, вернее в ней не будет «железа» как в предыдущих статьях, но не расстраивайтесь — менее полезной она не стала. Дело в том, что проблема защиты электронных узлов напрямую влияет на надежность устройств, их ресурс, а значит и на ваше важное конкурентное преимущество — возможность давать длительную гарантию на продукцию. Реализация защиты касается не только моей излюбленной силовой электроники, но и любого устройства в принципе, поэтому даже если вы проектируете IoT-поделки и у вас скромные 100 мА — вам все равно нужно понимать как обеспечить безотказную работу своего устройства.

Защита по току или защита от короткого замыкания (КЗ) — наверное самый распространенный вид защиты потому, что пренебрежение в данном вопросе вызывает разрушительные последствия в прямом смысле. Для примера предлагаю посмотреть на стабилизатор напряжения, которому стало грустно от возникшего КЗ:



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

Что касается самой нагрузки… Если у вас электронное устройство размером со спичечный коробок, нет таких токов, то не думайте, что вам не может стать так же грустно, как стабилизатору. Наверняка вам не хочется сжигать пачками микросхемы по 10-1000$? Если так, то приглашаю к ознакомлению с принципами и методами борьбы с короткими замыканиями!
Читать дальше →
Total votes 61: ↑60 and ↓1 +59
Comments 151

Altium Designer: что делать если проект стал сложным?

Reading time 13 min
Views 105K
Circuit design *Developing for Arduino *Manufacture and development of electronics *DIY Electronics for beginners
Tutorial
Приветствую! Думаю, любой инженер или просто радиолюбитель/DIYщик/мейкер, занимающийся разработкой электроники, старается развивать свои навыки, которые растут вместе со сложностью выполняемых проектов. В какой-то момент человек достигает уровня, когда ему кажется, что проекты стали очень сложными, займут много времени на разработку и надо что-то с этим делать — нужно оптимизировать свою работу. Сегодня я расскажу как в Altium Designer 18 (далее AD или AD18) повысить производительность своего интеллектуального труда и сэкономить время, нервы и деньги.


Читать дальше →
Total votes 60: ↑55 and ↓5 +50
Comments 118

Как делают печатные платы: экскурсия на завод Технотех

Reading time 13 min
Views 192K
Madrobots corporate blog
Сегодня мы выступим в немного непривычном для себя амплуа, будем рассказывать не о гаджетах, а о технологиях, которые стоят за ними. Месяц назад мы были в Казани, где познакомились с ребятами из Навигатор-кампуса. Заодно побывали на расположенном близко (ну, относительно близко) заводе по производству печатных плат — Технотех. Этот пост — попытка разобраться в том, как же все-таки производят те самые печатные платы.
image
Итак, как же все-таки делают печатные платы для наших любимых гаджетов?
Читать дальше →
Total votes 193: ↑186 and ↓7 +179
Comments 107

Щелкаем реле правильно: коммутация мощных нагрузок

Reading time 3 min
Views 218K
Unwired Devices LLC corporate blog Electronics for beginners
Привет, Geektimes!

Управление мощными нагрузками — достаточно популярная тема среди людей, так или иначе касающихся автоматизации дома, причём в общем-то независимо от платформы: будь то Arduino, Rapsberry Pi, Unwired One или иная платформа, включать-выключать ей какой-нибудь обогреватель, котёл или канальный вентилятор рано или поздно приходится.

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

Вместо реле можно поставить симистор или твердотельное реле (по сути, тот же тиристор или полевик со схемой управления логическим сигналом и опторазвязкой в одном корпусе), но у них другой минус — они греются. Соответственно, нужен радиатор, что увеличивает габариты конструкции.



Я же хочу рассказать про простую и довольно очевидную, но при этом редко встречающуюся схему, умеющую вот такое:

  • Гальваническая развязка входа и нагрузки
  • Коммутация индуктивных нагрузок без выбросов тока и напряжения
  • Отсутствие значимого тепловыделения даже на максимальной мощности


Но сначала — чуть-чуть иллюстраций. Во всех случаях использовались реле TTI серий TRJ и TRIL, а в качестве нагрузки — пылесос мощностью 650 Вт.

Читать дальше →
Total votes 72: ↑72 and ↓0 +72
Comments 150

Планарный трансформатор: технология, расчеты, стоимость

Reading time 13 min
Views 80K
Circuit design *Manufacture and development of electronics *Electronics for beginners
Не так давно ко мне обратилась одна компания, которой необходимо было разработать линейку LED-драйверов. Название компании и ТТХ драйверов называть не буду, NDA не подписывал, но этика есть этика. Вроде бы обычный заказ на драйвер, каких десяток за год набирается, но было два взаимоисключающих требования: стоимость и габариты.

Задача с точки зрения схемотехники простая, но вот с точки зрения производства и конструирования оказалась очень интересной. И так — требовалось изготовить сетевой драйвер для LED с корректором коэффициента мощности (мощность около 100 Вт), который стоил был в пределах 3$ на серии и имел габариты по высоте не более 11 мм! Многие скажут: «А в чем проблема сделать дешманский драйвер?», вот только дешманский не прокатит, т.к. еще одно требование — возможно давать без опасений 5 лет гарантии. И вот тут начинается самое интересное.

Был сделан выбор топологии, схемотехника, все влезало в габариты и стоимость, но столь замечательную картину портил «классический» трансформатор. Он огромный, он дорогой, он технологически сложный в изготовление. Оставалось решить последнюю задачу и после двух дней в раздумьях и расчетах оно было найдено — планарный трансформатор.

Если вам интересно между чем и чем делался выбор, на каких аргументах он основывался и как удалось получить стоимость трансформатора меньше 0.5$, то приглашаю вас в подкат. Ну и для улучшения «аппетита» прилагаю вам фото готового трансформатора:


Читать дальше →
Total votes 142: ↑141 and ↓1 +140
Comments 231

100 ватт по USB или как работает Power Delivery

Reading time 9 min
Views 151K
Computer hardware Energy and batteries
Sandbox
Почитав вот этот пост и сопутствующую ему дискуссию, я решил попробовать внести ясность в то, что такое USB Power Delivery и как это работает на самом деле. К сожалению у меня сложилось впечатление, что большинство участников дискуссии воспринимают 100 ватт по USB слишком буквально, и не до конца понимают что за этим стоит на уровне схематики и протоколов.

Итак, кратко – основные пункты:

  • USB PD определяет 5 стандартных профилей по электропитанию – до 5V@2А, до 12V@1.5А, до 12V@3А, до 12-20V@3А и до 12-20V@4.75-5А
  • Кабели и порты для Power Delivery сертифицируются и имеют дополнительные пины в разьеме
  • Тип кабеля и его соответствие профилю определяются автоматически через дополнительные пины и определение типа USB коннектора (микро, стандарт, A, B и т.д.)
  • Обычные USB кабели (не Power Delivery) сертифицируются только по первому профилю до 5V@2A
  • При подключении распределяются роли, между тем кто дает ток (Source / Источник ) и кто потребляет (Sink / Приемник)
  • Источник и Приемник обмениваются сообщениями по специальному протоколу, который работает параллельно традиционному USB
  • В качестве физического носителя протокол использует пару – VBus / GND. Именно поэтому Power Delivery не зависит от основного USB протокола и обратно совместим с USB 2.0 и 3.0
  • Используя сообщения, источник и приемник могут в любой момент времени меняться ролями, изменять силу тока и/или напряжение, уходить в спячку или просыпаться, и т.д.
  • По желанию устройства могут поддерживать управление PD через традиционные USB запросы, дескрипторы и т.д.

Под катом — детали.
Читать дальше →
Total votes 77: ↑76 and ↓1 +75
Comments 36

Проектирование импульсного источника питания с активным ККМ. Эпизод I

Reading time 28 min
Views 166K
DIY Electronics for beginners
Tutorial

Предисловие


В своей предыдущей статье я говорил, что продолжу рассказ о работе с датчиками тока на эффекте Холла. С того момента прошло не мало времени, выход продолжения затянулся, да и писать «скучную теорию» я не любитель, поэтому ждал практической задачи.

Еще одной причиной отсутствия статей была моя работа в одной «современной успешной IT-hardware-компании», сейчас наконец-то я ее покинул и окончательно пересел на фриланс, так что время для статьи появилось))

Недавно ко мне обратился мой старый наставник и просто очень хороший человек. Естественно я не мог отказать в помощи, а оказалось все достаточно просто — меня попросили сделать блок питания для КВ трансивера FT-450, который будет более стабильный в работе, особенно при пониженном входном напряжении, чем уже имеющийся Mean Well. Прошу заметить, я не говорю о том, что Mean Well плохая фирма, просто в данном случае нагрузка достаточно специфическая, а так продукция у них вполне себе хорошая.

Диагноз примерно такой:


— Заявлен выходной ток в 40А, на деле при потреблением в 30-35А (на передаче) блок уходит в защиту;
— Наблюдается сильный нагрев при длительной нагрузке;
— Совсем становится плохо, когда использует его на даче, где напряжение в сети 160-180В;
— Напряжение максимальное 13,2-13,4В, а хотелось бы 13,8-14В с возможностью подкрутить +-20%.

Особенностью данной статьи будет то, что проект продвигается вместе с ней. Я за него только засел и поэтому смогу рассказать обо всех этапах разработки: от ТЗ до готового прототипа. В таком формате статей с наскоку на гике я не нашел, обычно люди пишут уже проделав всю работу и забыв половину мелочей, которые часто несут в себе главный интерес. Так же эту статью я хочу написать доступным для новичков языком, поэтому местным гуру стоит чуточку проще относиться к «неакадемичности» моего слога.
Читать дальше →
Total votes 52: ↑52 and ↓0 +52
Comments 289

Маленькие секреты трассировки плат с операционными и инструментальными усилителями

Reading time 4 min
Views 40K
IOT Sound Electronics for beginners
Tutorial
При проектировании плат
Ничто не обходится так дёшево,
И не ценится так высоко,
Как правильная трассировка.



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

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

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

Рекомендации очень просты и многим известны, тем не менее, как показала моя практика, далеко не всегда даже специалисты с опытом их придерживаются.
Бесплатные советы живут под катом
Total votes 38: ↑36 and ↓2 +34
Comments 88
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity