Скан профиля поверхности

 Arduino  Комментарии к записи Скан профиля поверхности отключены
Сен 032017
 

Для обрезки платы используется фреза «кукуруза» диаметром 2…3мм, лучше 2. Не так много опилок и нагрузка на станок меньше.

Плата просто приклеивается к жертвенному столу скотчем. Кстати, стол можно сфрезеровать под ноль, тогда все огрехи геометрии станка по крайней мере будут повторять форму подложки, что позволит повысить точность. Но я этого делать не стал, хотя у меня расхождение между углами составляет около миллиметра. Просто к гладкой ламинированной МДФ панели лучше клеится текстолит и при удалении скотч отрывается сразу полностью, не размазываясь по волокнистой структуре МДФ. Разница как… отрывать скотч от лакированного стола или от картонной коробки. Коробка срывается с мясом. Тут так же почти. Потому не фрезерую.

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

Вообще в Mach3 есть свой визард для этой цели. Искать в меню Wizard-Pick Wizard…-Digitize Wizard, откроется вот такая хреновина:

Где можно указать размер общупываемой поверхности (Width и Height of area), безопасную высоту перемещения щупа (Z travel), глубину до которой щуп будет искать поверхность (Z Axis Probe Depth). Stepover это шаг по осям, а FeedRateскорость с которой щуп пойдет до поверхности. Чем быстрей тем быстрей сканирование, но по инерции он может попасть чуть глубже чем надо. Поэтому тут надо ловить баланс. Потом жмете Create and Load Gcode и у вас в мач сразу же будет загружен готовый код сканирования. Я не пользуюсь этим визардом потому, что он не очень удобный. Куда проще сгенерировать код в той же проге которая будет править код плана резки. Это G-code Ripper.

Брать его с официального сайта Не забыв передать привет мудилам из Роскомнадзора, которые его заблокировали как экстремистский. Так что применяйте прокси-плагины (Opera Turbo вполне подойдет или FriGate плагин для Chrome, только там надо будет вручную вписать адрес этого сайта).

Итак, запускаете G-code Ripper. Эта штука, как и flatcam тоже написана на питоне и тоже имеет консольный интерфейс (впрочем я в нем пока сам не разбирался, а так, думаю, можно вписать ее в наш злой батник). А пока же втыкайте в его GUI.

И что же мы видим:

Вот такое главное окно программы. Нам надо выбрать в левом нижнем углу Auto Probе и через меню File загрузить гкод нашей гравировки. Сначала давайте сторону которую будем резать.

Получили наш план резки и белые крестики поверх. Крестики это точки ощупывания. Обратите внимание на расположение осей координат, туда вы должны будете потом пригнать щуп. А пока займемся пересчетом и вводом параметров программы:

Probe Offset — это смещение щупа относительно инструмента. У меня щупом является сам инструмент, поэтому тут нули. Probe Z Safe — безопасная высота сканирования. Зависит от кривизны вашей системы. У меня разброс под миллиметр и потому я поставил 2. А вообще при ровном столе достаточно и 0.8 мм. Чем ниже тем быстрей сканирование. Опускаться то меньше! Probe Depth — предельная глубина на которую пойдет щуп. У меня 0, т.к. в данном случае начало координат стоит в самом низком углу моего стола. А вообще можно и в минус немного загнать, скажем на -0.5. Хуже не будет. Probe Feed — скорость опускания. Меньше — точнее, но дольше скан и шуму больше. У меня 100мм/мин. Х/У Points это сколько точек по вертикали и горизонтали снять. Вон те самые белые крестики. Габариты платы он сам выберет. Pre и Post коды я оставляю пустыми, т.к. никаких дополнительных кодов перед и после программы мне не надо. А вот счастливые обладатели ченейджера могут, например, автоматом специальный щупательный инструмент вытащить, а потом убрать обратно. Controller у меня MACH3 и, собственно, все.

Жмем Save G-code File Probe Only, получаем файл с гкодом, шлем его в станок и идем щупать плату.

Как же станок будет сканировать поверхность? Для этого у станка есть щуп. Когда щупа касается масса, то станок это чувствует. За массу у меня принят шпиндель. Вот та пластиковая приблуда, что окружает его крыльчатку это держатель щетки. Которая сделана из старой фрезы и втыкается в центр вала, на подпружиненном крепеже. Почему я просто не подал массу на корпус шпинделя? А потому, что через его подшипники довольно хреновый контакт. Он может пропадать в зависимости от угла поворота. А так он прям по валу дойдет до цанги, а внутри цанги еще маленькая пружинка подведет контакт прямо к инструменту. А сам щуп представляет собой пластину известной толщины (где то 0.5мм) на проводке. Если мне надо выставить инструмент точно на 0 я кладу в нужное место пластину, прижимаю ее пальцем к поверхности и даю команду на поиск нуля. Станок тычется в пластину инструментом, потом учитывает толщину и осознает текущую высоту кончика инструмента. Подняв при этом инструмент на 2.5мм.

В случае же с текстолитом мне нужно просто положить контакт щупа на медь, закрепить изолентой, чтобы не убежал и сделать поиск поверхности. Координата, конечно, выставится не верно. Т.к. в этом случае нет толщины самого щупа. Но это не важно. Главное теперь можно вручную, вводя команду G1 Z-2 (почему -2? А потому, что по моему скрипту после нахождения у меня инструмент подпрыгнет на 2.5мм, а 0.5 толщина пластины щупа, т.е. фактически его координата станет 2мм), опустить инструмент почти до уровня текстолита. Почему почти? А для больше точности не помешает поймать самый нежный контакт, а автопоиск довольно груб, т.к. у станка есть некоторая инерция и он немного промахивается. А вот если завести инструмент почти на ноль, а потом вручную, командами G1 Z## сдвигая на сотку-другую вверх или вниз добиться того, что кнопка индикатора начнет мерцать (а она у меня меняет цвет когда происходит касание щупа) от малейшей вибрации в помещении. Скажем когда кто-то мимо прошелся. Да, само собой при этом мы выставляем координаты Х и У в будущий ноль координат исходя из нашей платы. Не путать с нулем станка (машинные координаты).

Дальше, когда ноль найден, то надо обнулить координаты по XYZ и запустить программу сканирования, указать в какой файл записать данные и получить текстовый файл примерно вот такого вида:

0.00000,0.00000,0.00500
7.05500,0.00000,0.03000
14.11500,0.00000,0.03000
21.17000,0.00000,0.06500
28.22500,0.00000,0.07000
35.28500,0.00000,0.11500
42.34000,0.00000,0.12000
49.39500,0.00000,0.16000
56.45500,0.00000,0.14000
63.51000,0.00000,0.14000
0.00000,8.65500,0.00000
7.05500,8.65500,0.00000

Тут все и так ясно — это просто координаты по осям где инструмент коснулся поверхности. Что нам, собственно, и нужно.

Возвращаемся в наш Gcode-Ripper и делаем там Read Probe Data File и наши крестики становятся черными:

Готово. Осталось теперь нажать для верности кнопочку Recalculate и сохранить скорректированный файл. Save G-code File Adjusted. Если теперь их сравнить в каком-нибудь NC-Corrector’e то на виде сбоку будет видно, что у нового файла появился рельеф дна 🙂

старый:

новый:

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


Ободрали изоляцию. Получилось хреново, потому что фреза 0.2 да еще и тупая. А тут бы 0.1 и поострей. Лохмы образуются потому, что контур надо бы обходить в двух направлениях, т.к. фреза когда идет по фольге с одной стороны пропила режет чисто, с другой махратит. И надо обратный проход сделать, снять заусенки. А флаткам не делает его или я не научился еще. Поэтому я их обычно сношу мелкой шкурочкой в пару движений. Еще можно снизить подачу реза, будет намного чище. Или, если шпиндель позволяет, обороты повысить. Вон LPKF Protomat жарит на 100 000 оборотах и там гладенько все.


А это вот уже практически готовая плата. Четыре огромные дырки на месте кнопки это я хорошо факапнулся на эпизоде смены инструмента при сверлении. Когда выложу видео там увидите сами. Надо было поставить после 0.8мм сверла 1мм сверло (или просто нажать «далее», чтобы тем же 0.8мм просверлить), а я не прочитал что мне предложил поставить станок, забыл, что там еще миллиметровые отверстия есть и воткнул сразу 3мм и он мне их весело засверлил 🙂 ЧПУ не прощает ошибок.

Вот как то так. Да, на двусторонке, после переворота текстолита, надо еще раз его простучать щупом.

Электронные весы на базе HX711

 Arduino  Комментарии к записи Электронные весы на базе HX711 отключены
Сен 012017
 

Взято со sxem.net
Электронные весы на базе HX711

На сегодняшний день в продаже имеются необходимые инструменты, чтобы буквально «на коленке» собрать свои электронные весы: микросхема АЦП HX711 (продается на AliExpress), специально предназначенная для применения в весах разрядностью 24 бита и датчик массы, представляющий собой мостовой или полумостовой измеритель на базе тензорезисторов в качестве чувствительного элемента.

Если при подборе элементной базы микросхемы HX711 представлены практически одними и теми же модулями, то датчики массы можно подобрать различной конфигурации. Главный параметр таких датчиков – это измеряемая масса (1 кг, 3 кг, 5 кг, 50 кг и так далее), в зависимости от этого параметра датчики могут иметь так же различную форму и исполнение. По сути, датчики массы измеряют приложенное усилие относительно плоскости датчика – вес тела, но при помощи несложных физических формул можно вычислить массу тела. А раз мы измеряем силу, с которой тело давит на датчик, то и сфера применения подобных схем резко увеличивается. В самом простом случае – это обычные весы, для которых масса тела будет пропорциональна данным, получаемым от АЦП. В более сложных случаях при помощи схем на основе данной элементной базы можно измерять, например, скорость ветра (сила, с которой ветер давит на опору датчика, будет пропорциональна размеру опоры и скорости ветра) или регулировать прикладываемую силу к какому-либо предмету относительно получаемых данных.

При измерении массы тела данным методом стоит учитывать при разработке некоторые нюансы. Как уже отмечалось, датчик регистрирует вес тела, а вес тела это масса, умноженная на ускорение свободно падения или силу тяжести (~9,8 м/c2). Таким образом, видим, что измеренная масса тела будет зависеть от значения силы тяжести планеты, что значит, что в разных точках Земли, а также с увеличением высоты (расстояния от поверхности земли) сила тяжести будет изменяться, что повлияет на то, что масса тела в различных условиях может быть в небольшой степени различна. Хотя масса тела неизменна, но способ измерения связан этими физическими явлениями, поэтому это может являться причинами погрешности измерений кроме основных причин.

Как же мы все-таки измеряем массу (вес) тела этим датчиком, с виду напоминающим железную болванку?

Для начала необходимо иметь понятие о чувствительном элементе этого датчика – тензорезисторе.

Тензорезистор – это резистор, сопротивление которого изменяется в зависимости от его деформации.

С этим понятно – есть некий резистор (обычно это гибкая пластинка – пленочный тензорезистор, на который напылены проводящие элементы), который при изгибе, растяжении и прочих деформациях изменяет свое сопротивление. На датчике массы тензорезистор располагается под слоем белого защитного полимера. Основание датчика – алюминиевый брусок с отверстиями для крепления и большим отверстием для задания модуля упругости бруска таким образом, чтобы тензорезистор улавливал упругую деформацию этого бруска в заданном диапазоне измерения массы. Итак, собирая воедино способность тензорезистора изменять свое сопротивление при его деформации и способность металла бруска при упругой деформации растягиваться или сжиматься (деформироваться) при воздействии силы, получаем датчик, который измеряет деформацию при приложенной силе к этому датчику. А так как модуль упругости в самом распространенном варианте имеет линейный характер (закон Гука), получаем вполне точный датчик, с помощью которого можно измерять усилие, приложенное к датчику в заданной плоскости, и, следовательно, вес тела (и массу), прикладывая груз перпендикулярно датчика.

Направление усилия (приложения груза) указывается на самом датчике, там же указывается и вес, на который рассчитан этот датчик. Схема измерителя на этом датчике является полумостовой – один тензорезистор сверху, второй снизу, при приложении усилия один тензорезистор растягивается, второй сжимается. Схема способна регистрировать вес до сотой грамма, но в этом диапазоне очень много шумов, поэтому схема вполне стабильно способна регистрировать вес до десятых долей грамма. Однако, это применительно к датчику FZ0967 на 5 кг, если взять датчик на 1 кг, то теоретически минимально стабильный порог будет меньше. И аналогично при применении датчиков на больший вес минимально стабильный порог увеличится. Таким образом, при выборе датчика стоит учитывать сферу применения для получения максимально точного результата.

Для измерения массы различных тел был сделан измерительный столик из подручных материалов, а именно старой коробки DVD дисков и самих дисков (или подкладных болванок).

Одной стороной датчик прикручивается к центру коробки от дисков, ко второму конце датчика прикручивается диск, на которой будут ставиться грузы (диски хотя и гибкие, но при приложении чрезмерной силы хрупкие, это стоит учитывать при сверлении отверстий в них, чтобы не расколоть). Таким образом, один конец датчика зафиксирован, а вес прикладывается к другому концу – приложенный груз как бы действует на изгиб датчика, хотя этого вы не заметите.

Для работы с такими датчиками была специально разработана микросхема АЦП HX711.

На базе этой микросхемы в поднебесной делается несколько видов модулей: копеечные модули без экрана и чуть дороже с экранированием элементов. Модуль с экранированием теоретически должен давать более стабильный результат измерений.

Основные параметры микросхемы АЦП HX711:

  • Два входных канала для измерения
  • Регулируемый коэффициент усиления 32, 64, 128
  • Простой цифровой интерфейс, не требующий программирования (так гласит даташит, хотя по большому счету программирование параметров присутствует)
  • Регулируемое количество выборок 10 или 80
  • Разрядность АЦП 24 бита
  • Фильтр на 50 и 60 Гц питания
  • Потребление тока до 1,5 мА
  • Напряжение питания от 2,7 до 5,5 вольт
  • Диапазон рабочих температур от минус 40 до плюс 85 градусов Цельсия
  • Знаковые выходные данные от 800000h до 7FFFFFh

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

После того, как получим данные от АЦП необходимо учесть два нюанса. Первое, значение представляет собой чистые данные АЦП, то есть количество отсчетов относительно приложенного веса. Что бы не забивать себе голову пересчетами количества отсчетов в значение веса или массы, вспоминаем, что все зависимости у нас линейные, а значит пропорциональные, поэтому нам нужен всего один общий коэффициент для этого пересчета. Для моего экземпляра коэффициент равен 430 при пересчете в единицы грамм. Как это узнать? Есть два способа – строгий математический, с поиском различных справочных данных по материалу из которого изготовлен датчик, поиска параметров тензорезисторов для выведения зависимости модуля упругости материала в данной геометрической конфигурации к сопротивлению тензорезисторов при упругой деформации датчика. Второй способ не самый точный, но крайне быстрый и простой. Необходимо просто замерить сколько отсчетов АЦП приходится на единицу приложенной массы. Для этого необходимо учесть второй нюанс – сама конструкция имеет некоторый вес и перед измерениями его нужно просто убрать – вычесть и получить «ноль» на весах. Далее поставить на весы гирьку определенной известной массы и получить некоторое значение АЦП. Это количество отсчетов будет приходится на единицу массы на весах:

К=(количество отсчетов с массой гирьки – количество отсчетов без приложенной массы) / масса гирьки

Далее этот коэффициент используется после каждого измерения АЦП для перевода в значение единиц массы и выводится на дисплей. Для моего экземпляра этот коэффициент равен 430.

Для сборки весов используем микроконтроллер STM32.

Исходный код для микроконтроллера находится в конце статьи. Схему удобно собирать на минимальной отладочной плате, потому что в этом случае необходимо минимум деталей для сборки — соединяем между собой плату с микроконтроллером, дисплей и модуль АЦП с датчиком, подключаем к питанию.

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

Как видим, схема показывает весьма неплохие результаты точности измерения (небольшое видео находится в конце статьи). Стоит помнить также о том, что датчик рассчитанный на измерение массы до 200 кг не даст такой точности до сотых долей грамма как датчик, рассчитанный на измерение массы до 100 г. Поэтому при выборе датчика обязательно нужно учитывать сферу применения весов для получения наиболее оптимальных результатов.

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин
IC1 МК STM32 STM32F103C8 1 Поиск в Fivel
HG1 LCD-дисплей ILI9341 1 Поиск в Fivel
MOD1 Модуль АЦП HX711 1 Поиск в Fivel
MOD2 Тензодатчик FZ0967 1 5 кг Поиск в Fivel
VR1 Линейный регулятор AMS1117-3.3 1 Поиск в Fivel
Z1 Кварц 8 МГц 1 Поиск в Fivel
S1, S2 Кнопка тактовая 2 Поиск в Fivel
HL1 Светодиод 1 Поиск в Fivel
R1 Резистор 100 Ом 1 Поиск в Fivel
R2-R4 Резистор 10 кОм 3 Поиск в Fivel
R5 Резистор 390 Ом 1 Поиск в Fivel
C1, C2 Конденсатор 22 пФ 2 Поиск в Fivel
C3-C7, C9 Конденсатор 100 нФ 6 Поиск в Fivel
C8 Электролитический конденсатор 220 мкФ 1 Поиск в Fivel
C10 Электролитический конденсатор 100 мкФ 1 Поиск в Fivel

Скачать список элементов (PDF)

Прикрепленные файлы:

Экономичные бюджетные светодиодные драйверы

 Arduino  Комментарии к записи Экономичные бюджетные светодиодные драйверы отключены
Авг 292017
 

Экономичные бюджетные светодиодные драйверы

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

Итак, первое и главное положение: «Светодиоды — не лампочки и питаются не напряжением, а током!». Падение напряжения на светодиоде(-ах, включенных последовательно цепочкой) является параметром вторичным, зависит от тока через светодиод(ы) и учитывается исключительно для выбора драйвера, способного обеспечить нужный ток при напряжении, не меньше, чем падение напряжения на нем (них). Поэтому главной функцией светодиодного драйвера является формирование достаточно стабильного тока, питающего светодиоды. Идеальной стабилизации силы тока добиваться нет смысла, т.к. глазом небольшие колебания яркости в зависимости от колебаний силы тока практически незаметны, а схему могут серьезно усложнить. Сказанное выше частично относится и к светодиодным лентам, в которых «драйверами» являются токоограничительные резисторы, соединенные последовательно с цепочками светодиодов, состоящими, как правило, из трех штук.

Ради справедливости, следует отметить, что для питания светодиодов не оставляются попытки применения стабилизаторов напряжения (и даже работающих) [1].

Светодиодный драйвер, выполненный на стабилизаторе напряжения

Рис. 1 Светодиодный драйвер, выполненный на стабилизаторе напряжения [1]

Если для относительно маломощных светодиодов такие схемы еще допустимы, то для мощных светодиодов, к сожалению, не учитывается положительная зависимость ВАХ от температуры, что приводит к лавинообразному повышению протекающего через них тока по мере их разогрева.

Токостабилизирующие драйверы существуют двух видов:

  1. линейные;
  2. импульсные.

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

Ныне существует множество драйверных микросхем (например, MAX4080, MAX4081, LT494, LT1637, LT1672, LT1784, LTC2053, LTC6800, INA337 и т.п.) [2]) Все они хороши, если бы не два «НО»! а) Сто́ят они не так, чтобы дешево и б) достаточно дефицитны. А некоторые — так и вообще экзотика.

Важным параметром для применимости этих микросхем в качестве стабилизаторов тока, является опорное напряжение для компаратора обратной связи (ОС), от которого зависит падение напряжения на токоизмерительном шунте и, в конечном итоге, влияющее (в числе прочих факторов) на экономичность и КПД преобразователя. Для микросхем, позиционируемых, как стабилизаторы напряжения, этот параметр составляет порядка 1,25…1,5 В. Для специализированных токостабилизирующих микросхем как, например, NCP3065/NCP3066 — намного меньше, порядка 0,235 В. К сожалению, цены на вторые «кусаются». Поэтому основной задачей данной разработки было применение распространенных бюджетных микросхем стабилизаторов напряжения в качестве токостабилизирующих, с экономичностью, приближенной к специализированным микросхемам токовых стабилизаторов (а в идеале — даже превысить ее).

Из наиболее распространенных микросхем импульсных стабилизаторов напряжения можно назвать MC34063, найти которую можно чуть ли не в любой лавке, а сто́ит она в корпусе DIP-8 меньше $0,20 (в корпусе SO-8 — еще меньше). В конце концов, ее можно просто выпаять из старой аппаратуры (например, модемов, свичей, даже некоторых старых материнских плат). И все бы с ней было хорошо, если бы не довольно высокое значение опорного напряжения — 1,25 В (Рис. 2). Принцип стабилизации напряжения в данной микросхеме заключается в подержании потенциала на входе компаратора ОС (5-м выводе) на 1,25 В плюсовее, чем на входе «земли» (4-м выводе). Именно такое напряжение должно упасть на токоизмерительном резистивном шунте (R2), что вызывает его нагрев и существенно снижает КПД драйвера при достаточно высоких значениях тока питания светодиодов (порядка 0,7 А для 3-ваттных двухкристальных светодиодов, либо 1 А для 10-ваттных матриц).

Схема простого токостабилизирующего драйвера на MC34063

Рис. 2 Схема простого токостабилизирующего драйвера на MC34063

Есть, конечно, методы обхода этой проблемы с использованием дополнительных ОУ (Рис. 3), усиливающих падение напряжения на токоизмерительном шунте (R1). Но это усложняет драйвер, а мы рассматриваем именно простые бюджетные схемы.

Пример схемы светодиодного драйвера с токоизмерительным шунтом

Рис. 3 Пример схемы светодиодного драйвера с токоизмерительным шунтом в минусовой шине питания и ОУ в качестве усилителя напряжения токового шунта [3]

Падение напряжения на токоизмерительном шунте R1, пропорциональное току через светодиоды, «разгоняется» ОУ до +1,25 В относительно 4-го вывода, подключенного к нулевой шине. Возникает вопрос: нельзя ли добиться этого иным, более простым способом? И этих песен у нас-таки есть! Для этого нужно искусственно суммировать выходное напряжение с токоизмерительного шунта с дополнительным напряжением, подаваемым на вход компаратора ОС. Скажем, +1 В. Тогда на R1 должно падать всего 0,25 В, что по эффективности уже сопоставимо с NCP3065/NCP3066. Откуда же взять это напряжение? Да с плюсовой шины питания, подключенной к 4-му выводу! Подобная схема была предложена одним из соавторов данной статьи несколько лет назад [4] для питания светодиода велофары.

Сущность данного технического решения заключается в замене резистивного делителя между выходом и общей шиной, подключенного ко входу компаратора ОС, делителем, образованным токоизмерительным шунтом (R2) и резистором подтяжки (R1) ко входному напряжению питания, причем, между токоизмерительным шунтом и входом компаратора ОС в включен низковольтный «стабилитрон» (Рис. 4), за счет которого из порогового напряжения срабатывания компаратора ОС вычитается напряжение, падающее на «стабилитроне». Оставшееся напряжение падает на токоизмерительном шунте.

Принципиальная схема простого понижающего токостабилизирующего драйвера

Рис. 4 Принципиальная схема простого понижающего токостабилизирующего драйвера [4]

В случае применения в качестве «стабилитрона» кремниевого диода, на нем упадет всего около 0,65 В. При увеличении тока через светодиод падение напряжения на R2 возрастает, что приводит к снижению выходного напряжения, а значит, и тока (и наоборот). Следовательно, на токоизмерительном шунте должно упасть 1,25 — 0,65 = 0,6 В, что все-таки слишком много. На цепочке, составленной из диодов кремниевого и германиевого (или Шоттки), упадет около 1 В, что уже вполне приемлемо.

Как вариант, в качестве одного из диодов, можно использовать падение на базо-эмиттерном переходе транзистора (VT1) p-n-p структуры, включенного в виде эмиттерного повторителя (Рис. 5).

Принципиальная схема варианта простого понижающего токостабилизирующего драйвера

Рис. 5 Принципиальная схема варианта простого понижающего токостабилизирующего драйвера [4]

Работает данная схема аналогично приведенной на Рис. 4. На вход компаратора ОС (5-й вывод) микросхемы поступает положительное напряжение через резистор R1. Одновременно оно ограничивается падением напряжения на базо-эмиттерном переходе VT1. В принципе, этого было бы достаточно, чтобы «срезать» 0,65 В, если транзистор кремниевый, тогда на токоизмерительном шунте R2 должно упасть всего 0,6 В вместо 1,25 В. Неплохо, но хотелось бы еще меньше. Учитывая, что транзистор — p-n-p проводимости, а такая была у большинства старых германиевых транзисторов, можно какой-то из них и использовать, дополнив кремниевым диодом VD2. Суммарное падение на двух p-n переходах из разных материалов составит при этом около 1 В. Либо же возможен другой вариант: кремниевый транзистор и германиевый диод (Д2, Д9, ГДххх и т.п.). К сожалению, в настоящее время германиевые полупроводниковые приборы стали дефицитом.

Измерительная часть повышающего токостабилизирующего драйвера принципиально не отличается от понижающего (Рис. 6).

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

Рис. 6 Принципиальная схема простого повышающего токостабилизирующего драйвера

В этой схеме, аналогично Рис. 5, также возможно применение p-n-p транзистора вместо одного из диодов. С инвертирующим драйвером (Рис. 7) ситуация еще проще:

Принципиальная схема простого инвертирующего токостабилизирующего драйвера

Рис. 7 Принципиальная схема простого инвертирующего токостабилизирующего драйвера

Напряжение на входе компаратора ОС просто стабилизируется относительно обшей шины параметрическим стабилизатором, образованным резистором R1 и «стабилитроном» VD2VD3, подключенным анодом не к токоизмерительному шунту, а непосредственно к общей шине, обеспечивая на нем потенциал +1 В относительно нулевой шины, тогда как на 4-й вывод поступает отрицательное напряжение с токоизмерительного шунта. Алгебраическое суммирование этих двух потенциалов дает ту же величину +1,25 В на входе компаратора ОС (5-м выводе) относительно «земляного» (4-го вывода).

При всей простоте описанного решения, оно обладает существенными недостатками, главные из которых следующие:

  1. «Стабилитрон» из диодов либо транзистора и диода является нерегулируемым, что существенно ограничивает возможности выбора компонентов;
  2. На напряжение, падающее на «стабилитроне» большое влияние оказывает температура.

Поэтому дальнейшее усовершенствование схемы пошло по пути использования более температурно-стабильного «стабилитрона» (миль пардон за тавтологию), в качестве которого применен шунтовый регулятор напряжения TL431. Решение было предложено соавтором данной статьи Hepo (Рис. 8). Похожее решение, но отличающееся по принципу работы, было описано в статьях [5, 6].

Принцип построения токостабилизирующей цепи с использованием стабилизации шунтовым регулятором

Рис. 8 Принцип построения токостабилизирующей цепи с использованием стабилизации шунтовым регулятором TL431

Принцип работы данной токостабилизирующей цепи заключается в следующем. Напряжение на делителе R1/R2+RS стабилизируется параметрическим стабилизатором RBDA1 на уровне, превышающем входное напряжение компаратора ОС. В данном случае — 2,5 В. Использование в качестве «стабилитрона» шунтового регулятора TL431 обусловлено исключительно его термостабильностью. Если таковая не важна — можно применить любой низковольтный стабилитрон (Рис. 9).

Варианты стабилитронов для токостабилизирующей цепи

Рис. 9 Варианты стабилитронов для токостабилизирующей цепи

В отсутствие выходного напряжения, а следовательно, и тока, протекающего через светодиод(ы) HL1, напряжение в точке соединения R1R2 (а следовательно, и на входе компаратора ОС) ниже, чем требуемое для него пороговое, поскольку номинал RS составляет доли Ома (на Рис. 9 указано значение 1,15 В). Микросхема запускается в работу, на выходе появляется рабочее напряжение, а ток, протекающий через светодиод HL1, создает на токоизмерительном шунте RS определенное падение напряжения, пропорциональное протекающему через него току, за счет чего потенциал в точке соединения R1R2 (а следовательно, и на входе компаратора ОС) становится равным пороговому напряжению срабатывания компаратора, останавливающему работу микросхемы и вновь запускающему ее при падении тока через светодиод и, соответственно, через RS. Резистор R2 составлен из двух: основного R2.1 и подстроечного R2.2.

На основе описанного принципа спроектирован и изготовлен токостабилизирующий драйвер третьего стоп-сигнала для спорткара, выполненного на двух последовательно включенных светодиодных матрицах по 30 Вт (суммарно 60 Вт при суммарном падении напряжения на них порядка 60…66 В при токе 1 А и питании от бортовой сети легкового автомобиля напряжением 12 В). Для такого тока номинал токоизмерительного шунта составляет 0,1 Ома, что обеспечивает падение напряжения на нем всего 0,1 В и, следовательно, рассеиваемую мощность всего 0,1 Вт. Принципиальная схема собственно драйвера приведена на Рис. 10.

Принципиальная схема токостабилизирующего драйвера для мощных светодиодных матриц

Рис. 10 Принципиальная схема токостабилизирующего драйвера для мощных светодиодных матриц

Режим работы данного стоп-сигнала заказчиком выбран мигающим. Управление драйвером выполнено на таймере NE555 (Рис. 11).

Принципиальная схема управления светодиодным драйвером стоп-сигнала

Рис. 11 Принципиальная схема управления светодиодным драйвером стоп-сигнала

Отличительной особенностью самого драйвера является цепь VT1R7R8R9, защищающая ключевой транзистор VT3 от пробоя высоким напряжением при обрыве контакта со светодиодами. Делитель R8R9 с коэффициентом деления 1:120. При выходном напряжении более 80 на базе транзистора VT1 появляется напряжение, превышающее 0,7 В, он открывается и шунтирует на общую шину первый каскад выходного ключа. Такой принцип защиты описан в [7], но опять же, сама его схемотехническая реализация была другой.

К этому же выводу по схеме «проводного ИЛИ» подключен и 7-й вывод таймера (с открытым коллектором), разрешающий работу драйвера при единичном состоянии на 3-м выводе (состояние формирования выходного импульса). Аналогов подобного метода управления не найдено. Это не значит, что их нет вообще, но авторам статьи в открытом доступе они не встречались.

Фото готовых драйверов показано на Рис. 12, а сам стоп-сигнал (в разобранном виде) — на рис. 13. Светодиодные матрицы прикреплены к алюминиевому радиатору. За счет кратковременности работы стоп-сигнала тепловой режим рассеивания мощности матрицами в закрытом корпусе не критичен.

Фото драйверов стоп-сигнала

Рис. 12 Фото драйверов стоп-сигнала

Фото стоп-сигнала

Рис. 13 Фото стоп-сигнала

Следует отметить, что для таких токов весьма существенной является топология печатной платы. Первый вариант ее разводки не позволил поднять ток через светодиоды более 0,7 А при любом соотношении номиналов делителя R3R4R5R6. После ее переразводки с оптимизацией дорожек (Рис. 14) максимальное значение удалось поднять до 1,2 А, что свидетельствует о неоптимальности и этого варианта. Поэтому файл с печатной платой и не прикладывается. Но заказчика работа стоп-сигнала полностью удовлетворила и дальнейшей оптимизации разводки не производилось.

Печатная плата мощного светодиодного драйвера

Рис. 14 Печатная плата мощного светодиодного драйвера

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

В качестве «подопытного кролика» был выбран повышающий стабилизатор на микросхеме SDB6826 китайского производства. Его исходная схема приведена на Рис. 15, а переделанная под токостабилизацию — на Рис. 16. Платы импульсных преобразователей до и после переделки показаны на Рис. 17.

Принципиальная схема повышающего стабилизатора напряжения на SDB6826

Рис. 15 Принципиальная схема повышающего стабилизатора напряжения на SDB6826 [8]

Принципиальная схема переделки импульсного стабилизатора напряжения на SDB6826 под стабилизацию тока

Рис. 16 Принципиальная схема переделки импульсного стабилизатора напряжения на SDB6826 под стабилизацию тока

Платы повышающих импульсных преобразователей на основе микросхемы SDB6826

Рис. 17 Платы повышающих импульсных преобразователей на основе микросхемы SDB6826
Слева вверху — до переделки; справа внизу — после переделки.

Переделанная плата была использована для питания трех последовательно включенных белых светодиодов мощностью по 3 Вт током 300 мА от одного литиевого аккумулятора 18650 в ручном фонарике (Рис. 18). КПД составил 91%.

Повышающий драйвер для ручного светодиодного фонарика

Рис. 18 Повышающий драйвер для ручного светодиодного фонарика

Вторым «подопытным кроликом» стала опять же готовая плата понижающего стабилизатора напряжения на микросхеме LM2596S [9] для питания 10-ваттной белой светодиодной матрицы от гелевого 12-вольтового аккумулятора током 1 А. Стабилизация тока сохранялась при питании от свежезаряженного аккумулятора (13,4 В) и прекращалась при снижении питающего напряжения ниже 12,2 В, что можно объяснить значительным напряжением насыщения биполярного ключевого транзистора данной микросхемы, работающего по схеме включения с общим коллектором. К сожалению, фото, иллюстрирующие этот экспериент, не сохранились. По его результатам стала очевидной необходимость применения внешнего ключевого транзистора, как на схеме по Рис. 8.

Экспериментов с инвертирующим драйвером не производилось.

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

Литература

  1. Баширов, А. Карманный фонарь на мощном светодиоде / А. Баширов, С. Баширов.– Радио, 2009, № 6.– С. 51-52.
  2. Микросхемы для измерения тока http://www.kit-e.ru/articles/chip/2006_10_116.php
  3. Подключение светодиодов: практика http://we.easyelectronics.ru/Theory/podklyuchenie-svetodiodov-praktika.html
  4. http://radiokot.ru/forum/viewtopic.php?p=334232#p334232
  5. варп Блок питания (инвертор) с адаптивным ограничением тока / варп.– http://cxem.net/pitanie/5-292.php;
  6. варп Блок питания (инвертор) с адаптивным ограничением тока (часть 2) / варп.– http://cxem.net/pitanie/5-293.php
  7. Горбатых, В. Освещение салона сверхъяркими светодиодами / В. Горбатых.– Радио, 2009, № 10.– С. 43-44.
  8. SDB628 High Efficiency 1.2 MHz 2 A Step Up Converter (Datasheet).– http://hfdx.at.ua/_fr/7/SDB628.pdf
  9. LM2596 SIMPLE SWITCHER Power Converter 150-kHz 3-A Step-Down Voltage Regulator (Datasheet).– http://www.ti.com/lit/ds/symlink/lm2596.pdf

Wget

 Arduino  Комментарии к записи Wget отключены
Авг 282017
 

Wget для Windows. Установка и использование.

От @techlist
15.05.2017

wget windows

Доброго времени суток читатели и гости моего блога. В данной статье я хочу поговорить о установке и использовании консольной утилиты GNU Wget в операционной системе Windows. Мы частенько сталкивались с данной программой на страницах моего блога и использовали ее для загрузки архивов с исходниками при установке тех или иных программ.

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

Wget может работать по протоколам HTTP, HTTPS, FTP, а также поддерживает работу через HTTP-прокси сервера. Утилита разрабатывалась для медленных соединений, точнее в те времена соединения были медленными и нестабильными, поэтому она поддерживает докачку файлов при обрыве соединения. Если сервер с которого загружался файл тоже поддерживает докачку, то Wget продолжит загружать файл именно с того места, где оборвалась загрузка.

Для того чтобы установить Wget, перейдите по ссылке и скачайте установочный exe-файл. Запустите exe-файл и установите Wget как обычную программу, по умолчанию утилита устанавливается C:\Program Files (x86)\GnuWin32.

Для запуска утилиты нужна командная строка Windows, запускаем ее через меню пуск или сочетанием клавиш Win+R, в открывшемся окне ввести «cmd» и нажать Enter. После запуска командной строки сразу пользоваться Wget, как это происходит в ОС Linux, не получится, сначала нужно указать местоположение файла wget.exe.

Файл wget.exe находится в каталоге bin, внутри установочной директории. Для указания файла используется команда path.

1 pathC:\Program Files(x86)\GnuWin32\bin

Теперь можно запустить Wget, для начала можно просмотреть вывод команды help со списком дополнительных опций.

1 wget-h

Список дополнительных опций утилиты Wget под спойлером.Вывод wget -h

Обычные копирование и вставка (Ctrl+C, Ctrl+V) в командной строке Windows не работают. Чтобы скопировать текст из командной строки Windows, нужно просто выделить нужный фрагмент текста и нажать Enter. Для вставки текста в командную строку, нужно кликнуть правой кнопкой мыши по окну командной строки, выбрать подменю «Изменить» и дальше выполнить требуемую команду. Копирование и вставка существенно облегчают работу с командной строкой Windows.

Давайте рассмотрим несколько примеров использования утилиты Wget.

Допустим что нам нужно скачать какой нибудь файл, пусть это будет титульное изображение для этой статьи. Для этого нужно просто указать URL (ссылку) нужного файла, например так.

1 wget https://techlist.top/wp-content/uploads/2017/05/wget.jpg

Иногда Wget может ругаться на «самоподписанные сертификаты» при использовании HTTPS-ссылок, хотя с самими сертификатами все в порядке, в таком случае нужно использовать дополнительную опцию «—no-check-certificate».

1 wget https://techlist.top/wp-content/uploads/2017/05/wget.jpg —no-check-certificate

При обычном вызове командной строки Windows сохранение файла будет происходить в пользовательский каталог C:\Users\Username. Если файл требуется сохранить в какой-либо определенный каталог, то его необходимо указать при помощи дополнительного ключа «-P», пусть это будет каталог test на диске C (C:\test).

1 wget-PC:\test https://techlist.top/wp-content/uploads/2017/05/wget.jpg —no-check-certificate

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

Открывшаяся командная строка станет выглядеть следующим образом.

windows wget

Выполните команду path, для указания местоположения wget.exe.

1 pathC:\Program Files(x86)\GnuWin32\bin

Теперь все будет сохраняться именно в эту папку.

Давайте представим что у нас есть некий файл со списком ссылок, которые необходимо скачать. Пусть это будет файл test.txt расположенный в пользовательском каталоге C:\Users\Username, со следующим содержанием.

1
2
3
4
5
https://techlist.top/wp-content/uploads/2017/03/nginx_.jpg
https://techlist.top/wp-content/uploads/2017/04/wp.jpg
https://techlist.top/wp-content/uploads/2017/01/php7.jpg
https://techlist.top/wp-content/uploads/2017/03/MariaDB.jpg
https://techlist.top/wp-content/uploads/2016/09/netfilter-logo.jpg

Дополнительный ключ «-i» будет указывать на расположение файла — C:\Users\Username\test.txt и все файлы из списка будут сохранены.

1 wget-iC:\Users\Username\test.txt—no-check-certificate

Чтобы скачать сайт целиком достаточно просто указать его адрес c минимально необходимым набором опций, например.

1
2
3
4
5
6
7
8
wget-r-l10-k-p-t5https://techlist.top —no-check-certificate

-r, —recursive включениерекурсивнойзагрузки.
-l, —level=ЧИСЛО глубинарекурсии(infи0-бесконечность).
-k, —convert-links делатьссылкилокальнымивзагруженномHTML.
-p, —page-requisitesзагрузитьвсеизображенияипроч.,
необходимыедляотображенияHTML-страницы.
-t, —tries=ЧИСЛО установитьЧИСЛОповторныхпопыток(0безограничения).

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

Но допустим что нам не нужен весь сайт, а только вот эта статья https://techlist.top/install-wordpress/. В таком случае команда для загрузки станет выглядеть так.

1
2
3
4
5
6
wget-r-l10-t5-k-p-np https://techlist.top/install-wordpress/ —no-check-certificate

Добавляемкпредыдущейкомандедоп.опцию-np

-np,—no-parent неподниматьсявродительскийкаталог
внашемслучаевышеуказаннойдиректорииhttps://techlist.top/install-wordpress/ скачивание не пойдет.

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

FacebookTwitter

HMI дисплейные модули

 Arduino  Комментарии к записи HMI дисплейные модули отключены
Авг 272017
 

Nextion Instruction Set

Содержание

[убрать]

Note:

1. The instruction is end with three bytes «0xff 0xff 0xff»

2. All the instrucitons and parametners are in ASCII

3. All the instrucitons are in lowercase letters

Classification I: Operation Commands of Component and System

page: Refresh page

page pageid

pageid: Page ID or Page Name

  • Example 1:
page 0 //Refresh page 0
  • Example 2:
page main //Refresh the page main 

Remarks:

The device automatically refresh page 0 when power on.

Питание процессорных схем в машине

 Технологии  Комментарии к записи Питание процессорных схем в машине отключены
Июл 102017
 

нашел статейку с которой согласен на 200%.
собирался сам изложить, т.к. использую такое же питание и для камеры заднего вида и для монитора в зеркале.
для светодиодов чуть проще, но суть та же.
Итак «Питание чувствительной электроники от бортовой сети легкового автомобиля» :

прошу учесть, что пост не про конкретный регулятор (7805), а про борьбу с выбросами ДО него.
более новые DC-DC преобразователи экономичнее простых линейных.

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


простая схема из даташита

Continue reading »

Моддинг ПК. Включение и пароли по RFID картам

 Моддинг ПК. Включение и пароли по RFID картам  Технологии, Электронные прибамбасы  Комментарии к записи Моддинг ПК. Включение и пароли по RFID картам отключены
Июл 102017
 

Моддинг ПК. Включение и пароли по RFID картам

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

Таким образом, вслед за идеей родилась схема устройства.

Continue reading »

Sonoff

 Arduino, ESP8266  Комментарии к записи Sonoff отключены
Июн 162017
 

Отличные железки на SoC ESP8266 от Itead Studio

Введение

Во всех устройствах стоит микросхема FLASH памяти 25Q80DVSIG

Continue reading »

Reverse Engineering ESP8266 — часть 1

 ESP8266  Комментарии к записи Reverse Engineering ESP8266 — часть 1 отключены
мая 192017
 

Reverse Engineering ESP8266 — часть 1 из песочницы tutorial

Реверс-инжиниринг*

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

Continue reading »

Простой кардиомонитор своими руками

 Электронные прибамбасы  Комментарии к записи Простой кардиомонитор своими руками отключены
мая 062017
 

Простой кардиомонитор своими руками

Еще одним методом получения информации о работе сердца является электрокардиография, который представляет собой недорогой метод инструментальной диагностики сердца, позволяющий проверить его работу и определить нарушения в ней. Для этой цели компанией Analog Devices разработана микросхема AD8232. AD8232 представляет собой интегрированный блок обработки сигнала для ЭКГ и других биопотенциальных задач. Микросхема предназначена для получения, усиления и фильтрации слабых биопотенциальных сигналов в условиях сильных помех.

Continue reading »