вторник, 22 ноября 2016 г.

Интерактивный стоп-сигнал и поворотный сигнал на светодиодной ленте ws2812.

Представляю вниманию "интерактивные" стоп-сигнал и поворотники на светодиодной ленте ws2812.
Светодиодная лента ws2812 представляет собой ленту управляемых RGB светодиодов. Каждая ячейка WS2812B имеется 3 излучающих светодиода и ШИМ-драйвера управляющие их яркостью. ШИМ-драйвера 8-ми битные, то есть для каждого из цветов возможны 256 градаций яркости и, соответственно, для того чтобы установить яркости для каждого из 3-х светодиодов нужно передать пикселю 8х3=24 бит (3 байта) информации.

Теперь обсудим схему устройства:
Основа - микроконтроллер atmega8. Управление идет через вывод и через токоограничивающий резистор R11. Микроконтроллер определяет события поворота или нажатия стоп сигнала по сигналам +12В на соответствующие входы. Эти сигналы подключены к базам транзисторов (работающих в ключевом режиме). Управляющие сигналы удобно подключать к лампам поворота и стоп-сигнала авто. Пока на управляющем сигнале 0 ничего не происходит. При подачи питания на лампу схема "улавливает" событие и происходит индикация на ленте.

Так же в схеме используется стабилизатор напряжения - готовая схема на основе LM2596.

Для подключение устройства необходимо подключить ленту: 5В,GNG,сигнал. Питания схемы: 12В и "массу". Сигнальные провода: левый, правый поворотник, стоп-сигнал.

Как будет происходить индикация - смотрите на видео.

Для скетча в arduino я использовал библиотеку с GitHub-а.

Фото готового устройства:
Прошивка тут. (работа микроконтроллера рассчитана на 8МГц).

Проба пера на моем авто:

понедельник, 21 ноября 2016 г.

Паяльная станция своими руками.

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

Схема устройства:

воскресенье, 20 ноября 2016 г.

Драйвер для электромотора.

Как то раз нужно было мне сделать драйвер на элеткромотор. Для этих целей есть готовые микросхемы, но необходимо было "подняться" по току до 3-ех ампер. Было решено сделать драйвер на транзисторах (недорого  и не очень сложно!)
 Схема драйвера:

Схему я взял от сюда. Работает схема следующим образом. Когда на Input подан ноль, транзистор Q1 закрыт и его переход коллектор база представляет из себя очень высокое сопротивление и падение напряжение на нем открывает Q2, следовательно на Output имеем тоже ноль.

Когда на Input подано напряжение для открытия Q1, например от микроконтроллера, то Q1 открывается и в этом случае падение напряжения уже на R2 открывает транзистор Q3 и на Output имеем напряжение Power. Диоды служат для защиты транзисторов от "обратного" напряжения от двигателя. Очень удобная схема, с ее помощью можно сделать драйвер и для шагового мотора, например. В моем случае я управлял двигателем постоянного тока в двух направлениях (соответственно собирая две выше указанные схемы).

Программа управления на CodeVisionAVR (случай когда Input1 и Input2 подключены к порту B, пинам 0 и 1) проста до неприличия!:

while (1)
{
// Place your code here
PORTB.1 = 0;
PORTB.0 = 1;

delay_ms(2000);

PORTB.0 = 0;
PORTB.1 = 1;

delay_ms(2000);

}


Видео работы схемы:
 

Заказ печатной платы на производстве [на примере itead studio].

Рано или поздно - но тому, кто занимается электроникой, все равно захочется заказать для своего проекта печатную плату. На самом деле это не так уж и сложно. Для этого потребуется "подбить" свою плату под технологические возможности той фирмы, в которой будете заказывать плату и перевести проект в формат gerber, а формат сверловки в excellon. Пример заказанной платы одного из моих проектов:
Можно заказать плату в России, но дешевле будет в Китае. Я заказывал себе платы в ITEAD Studio. Проверенная фирма многими радиолюбителями. Технологические возможности:

Layers 1 - 4
Material FR-4
Board Dimension (max) 380mm X380mm
Board Dimension (min) 10mm X10mm
Outline Dimension Accuracy ± 0.2mm
Board Thickness 0.40mm--2.0mm
Board Thickness Tolerance ± 10%
Dielectric Separation thickness 0.075mm--5.00mm
Conductor Width (min) 0.15mm( Recommend>8mil )
Conductor Space (min) 0.15mm( Recommend>8mil)
Outer Conductor thickness 35um
Inner Conductor thickness 17um--100um
Copper to Edge >0.3mm
Plated Component,Plated via Diameter(Mechanical) 0.3mm--6.30mm
Plated Hole Diameter Tolerance(Mechanical) 0.08mm
Unplated Hole Diameter Tolerance 0.05mm
Hole Space(min) 0.25mm
Hole to Edge 0.4mm
Annular Ring(min) 0.15mm
Aspect Ratio 8:01
Solder Resist Type Photosensitive ink
Solder Resist Color Black ,Green, White, Blue ,Yellow
Solder Resist Clearance 0.1mm
Solder Resist Coverage 0.1mm
Plug Hole Diameter 0.3mm--0.65mm
Selective Finish HASL, ENIG
Silkscreen line width (mim) 6mil

Думаю, что перевести для себя никому труда не составит! Соответственно, я сразу исправил DRC параметры в eagle на требуемые itead studio. Проверил плату и исправил ошибки. 
Экспорт в gerber и excellon форматы в программе eagle можно осуществить одним нажатием кнопки, но для этого нужно создать параметры. 

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

Bottom/Top layer: pcbname.GBL/GTL
Solder Stop Mask Bottom/top: pcbname.GBS/GTS
Silk Bottom/Top: pcbname.GBO/GTO
NC Drill: pcbname.TXT

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

Далее регистрируемся на сайте itead studio выбираем размер и партию плат по вкусу, оплачиваем через PayPal и загружаем файлы единым архивом. Ждем, если что то будет не правильно в статусе заказа в личном кабинете Вам сообщат)))
Я использую для производства плат eagle. Для создания файлов необходимо перейти в режиме платы:

CAM Процессор > Файл > Открыть > Задание > my_pcb.cam
Но перед этим не забудьте скинуть конфигурационный файл в папку cam находящуюся в корневой папке программы eagle. Ссылка на конфиг. После этого в папке проекта создадутся файлы с названием Вашего проекта и расширениями gbl,gtl,gbs,gts,gbo,gto,txt - которые необходимо скинуть в архив и можно отправлять на производство.

Если у Вас есть вопросы, можете писать в комментариях, обязательно помогу советом!

пятница, 18 ноября 2016 г.

Плата управления для стенда чистки форсунок.

Небольшое сообщение по поводу управления для чистки форсунок. Схема основана на таймере NE555 имеет возможность регулировки частоты и скважности.

 
Регулировка скважности – регулировка времени открытого состояния форсунок. При данных значениях R1,R3 и С4 время будет лежать в рабочем диапазоне форсунок и  будет примерно 1,5-20 мс.  При изменении скважности частота будет оставаться неизменной.

Регулировка частоты при данных значениях С4,R4,R2,R3 будет примерно 1-50Гц, что соответствует 120-6000 об/мин двигателя. Форсунка срабатывает 1 раз/сек (1Гц),  если коленвал вращается со скоростью 2об/сек, что соответствует 120об/мин. При изменении частоты время открытого состояния форсунок будет оставаться неизменным.

Получилась такая плата:
 

Видео работы:

Подключение шагового двигателя к микроконтроллеру.

Итак, шаговым двигателем называют электромеханическое устройство, преобразующее электрические сигналы в дискретные угловые перемещения вала. Т.е. перемещение происходит шагом на определенный угол, а скорость и количеством шагов мы уже управляем сами! Для управлением таких двигателей необходим контроллер и драйвер.
Шаговые двигатели находят применение у радиолюбителей в основном в такой сфере,как робототехника. Так же они вам непременно понадобятся, если вы хотите собрать ЧПУ станок или 3D принтер, почему нет!
В середине шагового двигателя находится зубчатое колесо - ротор, по краям - несколько электромагнитов с такими же зубцами. На рисунке видно, что когда зубцы колеса находятся в точности напротив верхнего электромагнита, зубцы правого и левого электромагнитов смещены на четверть расстояния между зубцами, а нижнего - на половину этого расстояния. Для поворота штока такого двигателя необходимо подключать питание к катушкам последовательно, при этом в одном направлении будет происходить вращение штока мотора по часовой стрелки, в другом против.
Шаговые двигатели можно разделить на две группы - биполярные и униполярные. Внешне они отличаются количеством подключаемых проводов - биполярные - 4 вывода, униполярные - 6 (иногда 5).

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

Драйвер управления таким двигателем имеет 4 транзисторных ключа. Средние выводы обмоток могут быть объединены внутри двигателя, поэтому такой двигатель может иметь и 5 выводов.
Для приведения такого двигателя в движение необходимо последовательно выводить на порты логическую единицу в такой последовательности 1a,2a,1b,2b (для движения по часовой стрелки!). Диоды служат для защиты транзистора от выбросов обратного напряжения с мотора. 
Вместо транзисторных ключей удобно использовать микросхему ULN2003A.
Биполярный шаговый двигатель двигатель отличается от униполярного шагового двигателя тем, что полярность обмоток изменяется во время работы. Разом активируется половина обмоток, что обеспечивает в сравнении с униполярными шаговыми двигателями большую эффективность. При коммутации полумосты прикладывают к концам обмоток положительное или отрицательное напряжение.
Драйвер для такого удобно делать на микросхеме L293D.
int i;
for(i=1;i<=100;i++) // 100 шагов двигателя
{
PORTB.0 = 1;
PORTB.1 = 0;
PORTB.2 = 0;
PORTB.3 = 0;

delay_ms(20); // Задает скорость движения

PORTB.0 = 0;
PORTB.1 = 1;
PORTB.2 = 0;
PORTB.3 = 0;

delay_ms(20);

PORTB.1 = 0;
PORTB.2 = 0;
PORTB.3 = 1;
PORTB.4 = 0;

delay_ms(20);

PORTB.0 = 0;
PORTB.1 = 0;
PORTB.2 = 0;
PORTB.3 = 1;

delay_ms(20);
};

Видео работы:

среда, 16 ноября 2016 г.

Сверлильный станок - эволюция.

Всем привет!


Расскажу о «станочке» для печатных плат, который сделал недавно. Основа проекта – это уже готовые детали, которые я нашел на YouTube.

Очень хорошая идея. Я ее подхватил, добавил парочку своих доработок, а именно переделал крепление под свой мотор – 27мм, оригинальные файлы на 40мм, начертил корпус (оргстекло – 5мм). Изменил еще крепление и колпачок рычага и нарисовал другие опоры направляющих.





Из дефицитных составляющих станка необходимо два удлиненных линейных подшипника (как для 3d принтера) и направляющие 8мм (в моем случае 120 мм). Детали печатаются на 3d принтере, корпус режется на лазере.


Видео работы:

 

P.S. Ремарка по видео. Патрон для зажатия сверла внутри имеет диаметр 4 мм, а у мотора шток 2,3мм – отцентрировать по вращению – та еще задачка! Поэтому видно, что сверло немного бьет. Жду новый патрон. Сверление шло по глянцевой поверхности одностороннего стеклотекстолита – центрирование сверла в отверстии протравленной платы не было!

Проект в SketchUp и файл для резки выкладываю тут.
Надеюсь вам понравилось!