Все, что нельзя запрограммировать на ассемблере, приходится паять.
Этот сайт посвящен моим проектам на PIC контроллерах, доступных для публичного освещения. Все приведенные схемы реализованы в железе и работают в настоящее время в быту или производстве.
Для написания программ использован пакет MPLAB/х , свободно распространяемый фирмой MICROCHIP.
Используется программатор PICKIT2/3, ICD2/3.
Любую конструкцию можно собрать самому, даже если она платная и получить бесплатно код разблокировки.
Также можно приобрести в качестве набора для сборки или готового изделия.
Принимаются заказы на разработку аналогово-цифровой или цифровой электроники, систем управления и электроники для производства с применением контроллеров.
Вопросы и предложения писать на почту Gennadiy.V@gmail.com
Если у Вас есть интересные предложения, закакзы или вопросы и форум Вам не помог - адрес тот же.
Вторая часть
ПО для станка продается, включая все прошивки и исходники.
Предназначен для установки SMD типоразмера 1206, 0805, sot23 и других из лент шириной 8мм.
Рабочее поле для п/п 170*170 мм, емкость магазина на 760 компонентов.
Габариты - 500*300*250 мм, при работе занимаемая площадь 500*460 мм.
Для начала немного фото
И видео
Смотрим
Видео полного техпроцесса нанесения пасты, расстановки, паки
Смотрим
Пример готовой платы:
Паяльная паста через трафарет, установка станком, пайка воздухом.
Станок собран из того что было в кладовке, двух принтеров, двух дисководов, обрезков ДСП и плюс немного электроники, смекалки и прямых рук.
Точность достаточна для последующей паки воздухом или в печи , при условии установки их на паяльную пасту.
Оси координат и привода.
Ось X - плита ДСП на мебельных направляющих, привод от матричного принтера EPSON, точность позиционирования 0,25 мм.
Драйвер STEP/DIR свой ,на контроллере PIC16F688, с режимом пониженного потребления при простое. Полушаг.
Дополнительно фотодатчик начального положения
Ось Y - от струйного принтера EPSON color800,точность позиционирования 0,1 мм.
Драйвер STEP/DIR свой на L297/L298 с регулировкой тока и режимом пониженного потребления при простое.
Дополнительно фотодатчик начального положения
Ось Z - рама от трехдюймового дисковода , закрепленная вместо печатающих головок с родной платой управления.
Ось A - шаговый двигатель от трехдюймового дисковода , закрепленный на месте головок оси Z. 40 шагов на оборот
Выполняет функцию поворота детали. Драйвер STEP/DIR свой ,на контроллере PIC16F688. Полушаг.
Детали берутся самодельной присоской, воздух откачивается аквариумным компрессорм - единственная покупная деталь. Все остальное было найдено в кладовке. Пневмопереключатель сделан из обычного реле.
Ну и всем этим управляет плата управления на контроллере PIC18F46К22 с клавиатурой и ЖКИ. Подключение к компьютеру - последовательный порт RS232 через USB переходник.
Станок обучаем. Обучение занимает не дольше, чем сама пайка такой же платы вручную. Достаточно "сколоть" координаты деталей на плате и все готово к работе.
Поскольку раньше работал с разным софтом для ЧПУ, понял - его мне не хватает. Принял решение писать свой.
Софт позволяет "сколоть" плату, менять координаты деталей на столе, проводить установку виртуально, реально в пошаговом режиме и в рабочем режиме.
Также доступно ручное управление и управление с клавиатуры контроллера. На экране компьютера отрисовываются номиналы деталей и места их расположения на столе и плате с учетом ориентации (сохраняется в файле). Софт позволяет использовать детали разной толщины - под каждую ленту своя настройка.
Написан на VB6.
Для удобства бобины с деталями можно расположить сзади станка , на отдельной оси, выпустив ленты на вылет стола.
После сбоки платы - просто подвинуть ленты и оторвать защитную пленку.
Итак - есть печатные платы с маской, готовим их к монтажу.
Нужен трафарет и паяльная паста. Паяльная паста - понятно , в магазине , идем и выбираем.
Я использую свинцовую для BGA, как утвкрждают в магазине.
Вот такую:
Можно и другую, но в нашем магазине нет выбора.
Теперь трафарет для нанесения пасты.
Открою большой секрет как делать трафарет.
Первое и самое главное - пойти в магазин за пивом. Выбрать хорошо лакированную , не царапаную аллюминиевую банку. Пиво выпить.
Акккуратно не помяв банку , разрезать и получить лист аллюминия.
Мой выбор пал на Львовское 1715 - прошу не счесть за рекламу.
Затем удалить лак с внутренней сторны, например мелкозернистой наждачкой.
Накатать инверсный шаблон контактных площадк - там где будет паста на плате - должно быть видно аллюминий.
Я делаю размер площадок меньше на 10-15 % по сравнению с размером их на плате.
Для маленьких плат возможно ЛУТ , для больших - фоторезист.
Травим в растворе солянки с гидроперитом, как для меди.
Достаем моем, сушим - готовый трафарет.
Получится примрно так (уже достаточно сильно поюзанный)
Дальше как обычно, нанесли пасту, в станок, в печь, и плата готова.
Для нанесения использую такой шпатель
И обычные биндеры (прищепки такие) из канцелярского магазина, что бы прижать трафарет к плате по периметру. Они бывают разного размера, желательно подобрать , чтобы весь перметр был прижат
По поводу сколки платы.
Кажется проще получить координаты из файлов проекта.
Я лично пикадом не пользуюсь, дорогой зараза. Поскольку сам пишу регулярно комерческий софт, стараюсь не юзать не лицензионное.
Простые программы не позволяют выдать координаты деталей. Даже если такое понадобится , напишу конвертер файлов. Просто пересчитать координаты на смещение.
Да и сколка автоматизирована и защищена от ошибок, программа не даст ошибиться в последовательности.
Для сколки надо промерять высоту деталей - подвести присоску ко всем лентам или вбить - стандартные предлагаются по умолчанию (обычно толщины лент написаны на самой катушке с деталями).
Мышью на экране выбрать деталь из питателя.
Дальше клавишами курсора подводим к месту на плате (динамически меняется скорость перемещения) , "ENTER", клавиши курсора - направление детали (шаг 90 град).
И потом сначала нв выбор детали. В итоге один щелчек мышью и два нажатия - на точку сколки.
Управление станком - упрощенная система команд, за основу брал G-code. Файл текстовый,правится в любом редакторе.
В одном файле сохраняется и программа и положение деталей и их номинал - для удобства заправки. Ничего помнить не надо - загрузил файл - и все нарисовало что куда разложить.
В режиме виртуальной работы - рисует какую деталь берет и куда ставит на плату. Для серьезного теста программы - можно запустить пошагово с выключенным или включенным компрессорм. В окне пишется номинал, положение на питателе, координаты установки. Графически отображается рисунок платы(места установок, включая ориентацию).
По поводу механики.
Для уменьшения подвижных масс выбран вариант с подвижным столом, в итоге можно применять привод относительно не высокой мощности. Это значительно упрощает позиционирование и управление. Одновременно сохраняется достаточно высокая точность позиционирования.
Но есть и недостатки. При размещении бобин с деталями сзади станка необходимо их располагать дальше и выматывать ленту как минимум на полметра. Иначе они создадут дополнительную нагрузку на перемещение стола.
После завершения цикла лента перемещается вручную на начальную позицию. Для центровки в текстолите просверлены отверстия, и шилом через отверстие в ленте можно точно ее установить.
Стол закреплен на мебельныных шариковых направляющих.
Примерно вот такие:
Мои немного отличались от чертежа, но принцип такой-же.
Люфтов нет вообще и мягкий ход. Работают ведь практически без нагрузки.
Новые направляющие надо разобрать полностью.
Удалить тщательно заводскую смазку.
Обрезать /спилить облой с сепараторов, он трет по металлу иногда.
Проверить параллельность широкой , особенно на краях, обычно надо рихтануть. Бывает и узкую тоже.
Собрать и смазать машинным маслом.
Даже при наклоне она должна сама легко двигаться.
Тщательно проверить параллельность двух, перекос не допустим.
Идеально прикручиваются к ДСП саморезами от компьютерных вентиляторов в предварительно засверленные отверстия меньшего диаметра.
Направляющие нужно прикрутить строго параллельно, иначе будет клинить. Я первую прикручивал по разметке , а вторую строго параллельно первой, прокладывая между ними ровные брусочки.
Сначала пробовал брать детали электромагнитом и им же двигать ленты - не получилось нормально. Даже при большой мощности электромагнита - часто берет детальки за 1 край. да и транзисторы не берет.
Поставил присоску.
А двигать их присоской не получается , слишком нежный и не жесткий узел. И настал момент выбора.
Городить отдельный привод на головку типа выдвижной иглы. Но тут тоже засада ,как выяснилось, чуть ленту заело, проскочил шаг на приводах и все расставили не туда.
Тогда всего два варианта, отдельные питатели на каждую ленту и координатный стол. Отдельные питатели для хоббийного станка - слишком круто, выбрал стол.
Средний размер перемещения каретки 220 мм, а стола 90 мм. Пока каретка туда сюда - стол успевает раньше доехать. В итоге все быстро, координаты деталей легко высчитываются программно, достаточно "сколоть" углы стола. Да и по времени движения оптимально.
Методика заправки питателя:
Ленту вставил , оторвал защитную пленку, отцентровал шилом, и все.
Детали не рассыпаются, и четко лежат в своих местах, главное не отрывать пленку дальше чем стол закачивается. Не ну можно рассыпать перевернув станок, или тряхнув его , но при его массе в пять кило - случайно не получится.
А на расставленной плате все держится на пасте. До пайки плату можно даже переворачивать, ничего не осыпается. так что можно спокойно вытягивать плату с направляющих и нести на пайку. В дальнейшем планирую сделать сменные накладные столы для печатных плат.
Конструкция питателя.
Питатель изготовлен из куска двухстороннего стеклотекстолита и разъемов PLS-40R. Их понадобится 24 шт.
Самая ответственная часть - это разметка листа текстолита.
Сначала с краю платы нарисовать /процарапать идеальный прямой угол. Не каждый школьный треугольник на это способен.
Второе - с шагом 8,8 мм прочертить параллельные прямые. Вдоль них будет идти лента
Третье - с шагом 2,54*4 мм прочертить параллельные прямые, перпендикулярно первым
Накернить центра и просверлить диаметром 0,8 мм. Ширина ленты - 8 мм, штырька 0,64 мм, в итоге имеем зазор 0,16 мм для каждой леты.
Порезать разъемы на кусочки и припаять , вытащив лишние штырьки. Использовать прокладку толщиной 1мм от платы до пластмассы разъема. Устанавливать загнутой частью вверх. Это имеет особый смысл, в дальнейшем не будет соскакивать. А если вдруг потом разболтается то можно и пружинку одеть.
Зачем разрезать разъем? Потому ,что перемещая кусочки по вертикали можно настраивать на любую толщину ленты. А длинный особо не подвигаешь, особенно новый.
Следующее - откусить часть загнутых , чтобы не мешали брать детали или перед установкой развернуть их на 90 градусов.
Не менее ответственная часть - откусить снизу на одинаковую высоту. Использовал ту же прокладку 1мм и острые бокорезы. Лист должен лечь параллельно столу , опираясь почти на все штырьки сразу.
Должно получиться примерно так
Откусывать по красным линиям.
Заправить ленту в каждую ячейку и вдоль одной из линий поперек лент просверлить отверстия , совпадающие по диаметру с отверстиями в ленте.
Они пригодятся для точной центровки лент.
Для демпфирования звона листа при работе - ставил, используя как прокладку, обычный пластилин. Лист закреплен в 5 точках, по углам и по центру.
Линия деталей должна быть строго параллельна оси X. Если стол один, то можно на саморезы, если много - то лучше в стол поставить бронзовае боночки , а стол уже прикручивать к ним.
Сейчас думаю собрать еще пару таких столов, для быстрой смены под разные платы, не заправляя все ленты по новой.
Пневмо переключатель
Для него нам понадобятся:
Реле JZC-20F на 12 вольт.
и два одноразовых шприца на 5 кубиков.
От шприцов оккуратно вырезаем соски, куда игла одевается , оставив буртик, около 1мм
Реле разбираем, отгибаем или откусываем дальний от центра контакт контактной группы.Запиливаем до получения плоскости заклепку , которой крепится подвижная часть к пружине и приклеиваем туда кусочек бинтрезины , примерно 5*5 мм. Четко напротив него сверлим отверстие в корпусе реле. Корпус хрупкий, сверлить аккуратно. Диаметр по диаметру соска шприца. Такое же отверстие сверлим сбоку корпуса реле. Собираем реле, вставляем сосок напротив бинтрезины , регулируя наклон и расстояние. Сосок с торца лучше запилить надфилем для получения плоскости, особенно если там есть облой. Резинка должна плотно прилегать по плоскости соска и при этом расстояние от якоря до подвижной части около 1,5 мм. Аккуратно приклеиваем и даем просохнуть. Сбоку просто вклеиваем сосок. Проверяем работу реле. Если все двигается , тщательно все герметизируем. Я использовал термоклей.
Боковой сосок подключается мягким резиновым шлангом диаметром 4мм (внутренний) к механизму поворота присоски, а что напротив резинки - к компрессору.
Получится примерно так:
Пневмореле готово. Для управления использую импульс 24 вольта и удержание 12 вольт.
Это реле видно на четвертой сверху фотографии - слева , внизу. К корпусу станка приклеено на двухсторониий автомобильный скотч.
Компрессор и его доработка.
Для станка был приобретен компрессор Sonic 288
Одноканальный компрессор для насыщения воздухом воды в аквариуме.
Габариты 149х66х60 (мм)
Производительность 3,0 (л/мин)
Мощность 2,5 (Вт)
Частота 50/60 (Гц)
Напряжение 220/240 (В)
Вид самого компрессора
Желтая ручка сверху- это регулировочный винт, стоит на заборе воздуха, для регулировки напора.
Патрубок снизу - выход воздуха.
Разбираем, выкрутив два самореза.
Внутри электромагнит, мембрана с прикрученным якорем на коробке с клапанами , и собственно все.
Акуратно вытягиваем на себя коробку с клапанами, мембраной и якорем. Снизу 4 отверстия забора воздуха.
Заклеиваем их скотчем. Тщательно заклеиваем.
Аккуратно собираем все назад.
Выкручиваем желтый регулировочный винт.
Компрессор готов. Туда где был винт ,вставляем шланг забора воздуха , который идет к пневмореле.
Все шланги собраны без клея и хомутов, удачно подошел везде диаметр трубки.
Для регулировки разрежения применял обрезок от системы переливания крови - игла с куском трубки и механизмом пережима трубки
Иглу просто втыкал в шланг.
Как показала практика - не требуется. Вытащил и отложил.
Поворотный узел для SMD деталей.
Это один из сложных механических узлов станка.
Чертеж узла:
Для сборки необходимо:
Одноразовый шприц 5 куб;
Одноразовый шприц 2 куб;
Игла от системы(капельницы) советского производства с круглым большим ободком. Диаметр в пластике - 2мм. Игла 2мм;
Мотор от 3-х дюймового дисковода;
Подшипник от YO-YO;
Втулка пластиковая (ножка от какой то аппаратуры);
Два винта М2,5 с гайками и шайбами.
Задача - сделать такое:
От шприца 5 куб отрезаем сосок, как обычно с буртиком 1мм.
Сам корпус торцуем.
Точных размеров нет, все примерно как на чертеже. Все плотно должно входить друг в друга , собирается без клея, для возможности разборки.
Поскольку там сосет воздух, будет пыль и грязь. В дальнейшем придется чистить.
Берем мотор от дисковода. Как известно в нем отсутствует второй опорный подшипник, поэтому делаем свой.
Зажимаем кончик вала в электродрель и протачиваем вал до диаметра 2,1 мм обычным плоским надфилем. Оставить часть вала не проточенным. В него будет упираться игла.
Обрезаем вал по длинне, как на картинке.
Сверлим 2 отверстия в пластиковой части иглы насквозь, диаметром 1,0 мм.
Торцуем иглу. Желателен абразив или алмазный надфиль.
Отрезаем кусок корпуса шприца 2куб вместе с соском. В нем внутренне отверстие соска 1,9 мм, иголка проходит плотно , аж слишком.
Круглым надфилем с внутренней стороны протачиваем немного, постоянно примеряя. Иголка должна свободно вращаться и абсолютно не иметь люфта.
Протачиваем втулку, если надо. В нее должен плотно входить сосок шприца 2 куб, и она должна плотно входить в сам шприц 5 куб.
Я ее сделал немного конусной для облегчения сборки.
Тщательно все прочищаем ,удаляем опилки и стружку.
Пробуем все собрать , проверяем подгонку всех деталей.
Если все в порядке - герметизируем клеем.
Или подпиливаем,подтачиваем , делаем новое.
Вал должен очень легко вращаться вместе с иглой и практически не иметь зазора в патрубке, иначе будет подсасывать воздух.
Схема привода оси А и прошивка контроллера оси A
В качестве мотора выбран шаговый двигатель от 3-х дюймового дисковода с четырьмя контактами.
Для поворота деталей особая сила не нужна, важен вес конструкции.
Общее питание в станке- 24 вольта, поэтому все контроллеры рассчитаны именно на это напряжение.
Блок питания станка на 24 вольт не стабилизированный , на трансформаторе мощностью примерно 50 Вт.
Схема простейшая - диодный мост на 4 ампера и емкость 6800 мкф*35V
Напряжение холостого хода порядка 28 вольт. Защищен предохранителем на 2А.
Схема
Выполнена на PIC контроллере, со стандартным управлением STEP/DIR. дополнительно есть вход Enable и выход Home.
Высокий уровень на входе Enable включает привод, а на выходе Home формируется сигнал, когда установлена фаза "0".
По включению питания контроллер проверяет привод и устанавливает в позицию HOME. Потом ждет команд на управление.
На контроллере стоит мощный блок питания на 5 вольт, поскольку от него питается также ось Z и подсветка рабочего стола.
Дополнительно на плате установленны ключи управления пневмо реле и реле управления насосом.
Разводка печатной платы:
Поскольку в процессе изготовления желания росли, на этой же плате навесным монтажом добавлена схема управления реле.
Одно реле включает / выключает питание компрессора, второе и есть собственно пневмо реле.
Схема управления реле
В итоге получилась такая плата:
Для удобства обслуживания электроники и легкости доработки все плыты подключаются на разъемах.
То есть вся электроника состоит из отдельных плат и жгутов проводов, легко разбирается и собирается.
Прошивка контроллера.
Предыдущая версия узла поворота деталей и захвата электромагнитом выглядела так:
В качестве электромагнита была использована катушка реле. Дополнительно был сделан магнитопровод для захвата детали. Нормально не заработало, детали отпадали, часто брались за один край.
В итоге этот узел был переделан под пневмозахват.
Схема контроллера оси Y
Выполнена на специализированных микросхемах L297/L298.
Они обеспечивают управление двигателем от команд STEP/DIR и стабилизацию тока двигателя во всех режимах (ШИМ).
Отличие от стандартного включения - режим удержания с пониженным энергопотреблением.
Информации по этим микросхемам достаточно , разобраться не сложно. Если собрано без ошибок - работает
Собственно схема :
И разводка платы:
Регулировка заключается в установке тока для данного двигателя.
Схема контроллера оси X
Основа - привод каретки принтера EPSON FX-800
Добавлен оптический датчик начального положения, синхронизируемый с нулевой фазой шагового двигателя.
В качестве ключевых транзисторов обмоток были применены транзисторы с платы принтера.
Собственно схема :
И разводка платы:
Прошивка контроллера.
PS.
Пока описываем то что есть , обновил основновной стол станка.
Присбособил для качественного обслуживания бобин с деталями позади станка. Позже выложу фото и возможно видео.
С новым софтом перезагрузки деталей только по окончанию в кассетнице и даже в процессе работы.
Прошивка контроллера.
Снимки экрана программы управления
Сделал печку для пайки.
Более подробное описание позже.
Пока фото самой печки с контроллером
Термопрофиль, снятый при реальной пайке
Время в скундах, темпреатура в градусах. Шум на диаграмме - наводки на термопару (К-тип).
Вылечилось блокировочным конденсатором.
Основа - советский утюг с ТЕНом, PID регулятор с симистором, софт для выдержки термопрофиля.
Вообще работает автономно, но есть COM-порт для загрузки термопрофиля и и снятия реального термопрофиля во времени.(Экспорт в CSV)
Основные параметры термопрофиля можно задать с клавиатуры (кроме коэффициентов PID).
Видео полного техпроцесса нанесения пасты, расстановки, пайки
Смотрим
Разводка всех плат приводов
Скачать в формате *.Lay
Продолжение Вторая часть.
ПО распространяется под лицензией Shareware. Вы можете скачать с сайта схемы, инструкции, прошивки бесплатно.
Обсудить на форуме
Купить