понедельник, 18 января 2016 г.

Мой первый ЛУТ

Одно дело смотреть ролики и думать, что ты тоже так можешь, а другое делать самому.
Решил впервые попробовать ЛУТ.

Плата зарядки для LiOn аккумулятора, для апгрейда электро отвертки.
В ней стояло 3 аккумулятора по 1.2 В 800мА. Заряжалось это дело от блока питания 6в 300ма
Ни о каком контроле заряда речи и не было. Просто питания подавалось на них и все.

Выкинул это убожество из ручки отвертки.

Нарисовал 2 платы.
Первая - для индикации состояния зарядки, решено было вынести ее отдельно так как предусмотрено место под нее, зачем игнорировать.
Вторая - для микросхемы TP4056 в корпусе SOP-8. На ней 2 конденсатора по питанию, резистор, задающий тока заряда.

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

Протравилось, запаял - РАБОТАЕТ!!!

воскресенье, 10 января 2016 г.

Ремонт фрезера Marathon Champion.

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

- Что случилось ?
- Обороты не регулируются. Можно что-то сделать? Мне надо работать!


На скорую руку смастерил ей новый БП из подручных средств. Трансформаторный блок на 24в 6А от бормашины "ПРОФИЛЬ" (шикарная вещь, отличный сервис)

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

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



Удачи.

Как я с WiFi воевал.

На днях купил новый роутер в замен канувшему в лету Dlink DIR-330. Выбор пал на Asus RT-n18u.
У меня частный дом и WiFi сетей в округе не много. На диапазон 5 Ггц не смотрел. Зато смотрел на USB 3 - хотелось использовать возможности домашнего медиацентра.
Сначало хотел Zyxel, но тяга к китайскому перевесила.

Купил карман USB3 - "положил" в него WD Caviar Black 500 Gb

Завелось все с пол пинка: гигабитный LAN, медиацентр, ppoe с провайдером и все заявленные плюшки.

Оставалось подружить ноутбук жены с новым зверем. Ноутбук Lenovo G580. На борту WiFi адаптер от Broadcom 802.11 b/g/n. Судя по названию должен держать 150 мб/с, но, как говорил мой бывший начальник: "а включаешь - не работает".

Шаманский бубен тоже не помог, в итоге спросил у всемогущего. Гугл ответил что выше 72 мб/с не ждите и точка.

Зашел в местный компьютерный магазин. Спросил нет ли в наличии WiFi не настолько ущербных как мой. Благо знакомые хорошие работают. Дали коробку с модулями от умерших по той или иной причине ноутов - ВЫБИРАЙ.

Названий куча, заранее не гуглил. Одно в голове крутилось точно:  "Бери Intel елси найдешь".

Нашлось. Взял. И на всякий случай еще 1 про запас, названия не помню но маркером написано ThinkPad.

Пришел домой, воткнул, потирая руки и увидел "104-Unsupported wireless network device detected". Вот незадача... Снова в гугл. Тот говорит, что Lenovo зло и в биосе проишит список возможных адаптеров а все остальное лесом. Долго курил маны и уже было собрался патчить биос самостоятельно, методом дизасемблирования свежего биоса с сайта, поиском там блокировки. Задумался о мере наказания, в случае неудачи и превращения ноутбука жены в кирпич. Благо наткнулся на пост человека который уже это делал и выложил патченный биос под данную модель ноута. Трясущимися руками выполнил инструкции и ноут завелся и увидел новый интеловский WiFi.

Дальше были еще эксперименты со скоростью, неудачи, чертыхания, мысли о том чтобы вернуть старый бродком - все дело в том что новый модуль работал крайне не стабильно.
То он заводился на 300мб/с, то на 150. То качал файл с ftp роутера с заявленной скоростью, то фризил на простом видео с youtube.

Не буду затягивать, у меня все заработало и вот мои рекомендации.

1) В роутере включить диапазон "Только 40 МГц"

2) Включить только диапазон N
3) Отключить режим "Совместимости с USB 3.0" иначе роутер будет видеть его как USB2.0
4) Самое важное - ОТКЛЮЧИТЬ BLUETOUTH. Пока я не отключил его (плата WiFi совмещена сним), я получал то отличную скорость на копировании файла с ftp, то жуткие лаги на потоковом видео с роутера. Даже казалось что бродкомовская поделка рабоает лучше интеловской.

В итоге все заработало и я доволен. Смотрю по WiFi с роутера кино размером в 50 Гб без тормозов и лагов.

Удачи Вам.

воскресенье, 7 июня 2015 г.

Муфельная печь для обжига керамики на микроконтроллере Arduino

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

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

Дано: Самодельный муфель, выполненный в корпусе старой газовой плиты. Обложен внутри легковесным, тугоплавким кирпичом. В кирпиче прорези для укладки спирали. Спиралей две. Нихром 1.8мм. Диаметр спирали приблизительно 10мм. Сопротивлений спиралей 10 Ом. Длину не знаю, считайте сами. На стене висит блок "УПРАВЛЕНИЯ".
Блок состоит из советского пускателя, маломощного реле управления этим пускателем. Прибора для измерения и контроля температуры. Обе спирали подключены через мощные диоды (1 на каждую).

Термопара в печи рассчитана всего на 600 градусов и как она меряет температуру выше допустимой одному богу известно......

Почему спирали две и почему через диоды: Со слов "заказчика", тот кто это все делал, что-то там городил, крутил, вертел, хотел сделать регулятор но потом забил и осталось как-то так и работает и ладно. Еще в процессе обжига отец иногда отключал 1 из спиралей для каких то своих шаманских целей. Также на блоке управления присутствовал мощный тиристор на 80А 1200В но он не подключен и видимо предназначался для той самой "не рожденной" плавной регулировки.


За дело:

Под рукой много микроконтроллеров Arduino, поэтому делать будем на нем. В последствии перейдем на младшего брата ATtiny и его вполне хватит для такой плевой задачи.
Термопару берем хромель-алюмелиевую, по буржуйски она называется тип "К".
Усилитель термопары на микросхеме MX31855. Есть готовые модули для Arduino. В будущем соберу усилитель термопары на операционном усилителе, этот модуль слишком точный и "жирный" для такой задачи. Точность 0.25 градуса. Корекция температуры холодного спая и прочие плюшки- будем удешевлять :)
Силовая часть - твердотельное реле Fotek SSR-40 da.
Твердотельное реле представляет собой симистор с обвязкой, которая включает и выключает его в момент перехода через 0. Таким образом мы не допускаем помех в сети при подключении и отключении нагрузки. По закону за помехи вроде как даже наказывают, но на практике всем ...... отчасти поэтому у нас мигают в доме лампочки и горит холодильник :)

Любой симистор греется, даже если вы заложите десятикратный запас по мощности. Дело в том что на его переходе падает порядка 1.5 вольт. Умножаем это на силу тока, проходящего через него и получаем ТЕПЛО. Это тепло необходимо как то отвести от твердотельного реле. Для этого я использовал компьютерный куллер с радиатором от какого-то старого 4 пентиума.

UPDATE:С твердотельным реле ничего не вышло. Проблема здесь заключается как раз в том, что спирали подключены через диоды. Твердотельное реле содержит в себе симистор и контроль перехода через ноль, и не способно отключиться из-за того что перехода через 0 не наступает (напряжение выпрямлено диодом). Купил в замен советского пускателя более современный и менее габаритный (КМЭ2510)  и буду собирать все на нем. Диоды выкинуть из схемы нельзя, потому что заказчик упертый и не хочет ничего перематывать и менять. Весь в меня, отец как никак :)
Если у вас диодов нет, то все вышеописанное вполне применимо.

Кому нужна печатка и код - пишите в комментарии.
P.S. PID регулятор решил исключить из кода, потому что инертность печки не высокая, и при отключении спиралей температура начинает падать сразу. А для "грязного" обжига выдерживать температуру в единицы градусов нет смысла. Если в наличии нет модуля MX31855, то можно переделать на операционном усилителе, пишите может мне будет не облом...

вторник, 28 апреля 2015 г.

ЛАБОРАТОРНЫЙ БЛОК ПИТАНИЯ. (часть 2. Паяльная станция.)


Начнем с паяльника. В первой части был описан паяльник, купленный для разработки блока.
Пришло вдохновение и я занялся его тестами. Во-первых, через ардуино был подключен паяльник к блоку питания через MOSFET тразистор IRFZ44n. За основу я взял эту статью. Схему прикладывать не буду, так-как никаких изменений в схеме подключения самого паяльнике нет.

Отладка проводится следующим образом: с компьютера приходит значение в диапазоне от 0 до 255 (в ардуино 8 битный PWM), задающее время открытия транзистора. Тестер с термопарой отображает температуру. Надо сказать, что данный полевой транзистор не совсем подходит для этого, так как полное его открытие происходит где-то при 12в. и теоретически 5в ардуино может и не хватить, тогда транзистор будет греться. Однако в даташите указано, что при 4.5в транзистор открывается и способен пропускать токи до 10А (всего по даташиту 44А).
Наш паяльник имеет мощность 50W при 24В, что в среднем дает максимальное потребление всего в 2А. Для уверенности я "потыкал" осциллографом на сток и затвор и увидел четкий квадрат без завалов. Частота на PWM всего 500Гц.
Итак - данный транзистор вполне подходит для наших задач, не требует драйвера и греться не должен. В результате тестов он теплый. Единственное, что при начальном включении "на холодную" транзистор греется, так-как сопротивление холодного паяльника всего около 50 Ом.

Далее нужно откалибровать установку. Примотав термопару замеряем и записываем соотношение температуры паяльника и скважность ШИМ. Это долго, неудобно и нужно постоянно усреднять значения... В итоге решил автоматизировать процесс.

В наличии имеется модуль усилителя термопары на микросхеме MX31855. Модуль имеет SPI интерфейс, библиотеку для программирования, встроенный термодатчик окружающей среды для компенсации температуры холодного спая.
Термопару подключаем через него к ардуино. К ней же подключаем паяльник и через резистивный делитель - терморезистор встроенный в паяльник. (у меня резистор на 290кОм). Значение с делителя заводим на аналоговый вход ардуино.

Далее следует говнокод упрощенный скетч вывода значений со всей этой конструкции:

#include "SPI.h"
#include "Wire.h"
#include "Adafruit_MAX31855.h"


// Инициализация контроллера термопары
// DO=3 , CS=4, CLK  5
Adafruit_MAX31855 thermocouple(5, 4, 3);
double tS = thermocouple.readInternal();
String myString;

const int SolderPin = 9;      // затвор MOSFET
int sensorPin = A0;           // резистивный делитель терморезистора
int _PWM_ = 0;
double sensorValue  = 0;
double all_sens = 0;
double all_tT = 0;
double tT = 0;
int iteration = 1000;        // количество итераций
int badit=0;


void setup()
{
  Serial.begin(9600);
  pinMode(SolderPin, OUTPUT);
}

void loop()
{
  all_sens = 0;
  all_tT = 0;
  badit=0;

  analogWrite(SolderPin, _PWM_);

  // проверяем подключен ли контроллер термопары
  if(thermocouple.readInternal() == 0)
  {
    Serial.print("no termosensor\n");
  }
    // проверяем подключена ли термопара
  if(thermocouple.readCelsius() == 0)
  {
    Serial.print("no thermocouple\n");
  }


/*
  if (Serial.available())
  {
    _PWM_ = Serial.parseInt();

  }
*/
  // считываем в цикле значения температуры паяльника и сопротивления терморезистора
  for(int i=0;i<iteration;i++)
  {
      sensorValue = analogRead(sensorPin);
      all_sens += sensorValue;
      tT = thermocouple.readCelsius();
      // Библиотека работы с термопарой возвращает NAN при ошибке
      myString = String(tT);
      if(myString != " NAN")
      {
        all_tT += tT;
      }
      else
      {
        // Увеличим счетчик ошибок измерения температуры
        badit++;
      }
  }
  // Выводим значение на экран
  Serial.print("TT: ");
// Делим сумму замеров на количество итераций минус ошибки для получений среднего
  Serial.print(all_tT / (iteration-badit));         
  double house_temp = thermocouple.readInternal();
  Serial.print("  TH: ");
  Serial.print(house_temp);
  Serial.print("  TR: ");
// Делим сумму замеров на количество итераций для получений среднего
  Serial.print(all_sens / iteration);       
  Serial.print("  PWM:");
  Serial.print(_PWM_);
  Serial.print("  IT:");
  Serial.print(iteration-badit);
  Serial.print("\n");

  // Ограничим значение PWM для того чтобы не сжечь паяльник
  // В моем случае 80 вполне хватило для разогрева паяльника до 400 градусов
  if(_PWM_ > 80)
  {
    while(true)
    {
    }
  }

  _PWM_++;
}

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

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

Всем удачи в экспериментах....


Дополнение: В качестве силового транзистора, решено использовать транзистор от компьютерного блока питания, снят с дежурки. Во-первых он Logic Level, то-есть полностью открывается при логической единице, во-вторых у меня куча убитых блоков, почему бы не брать его оттуда. Я использую 45N03LT (30 В 45А)

среда, 15 апреля 2015 г.

Ремонт УФ лампы




Поймал странный глюк на ультрафиолетовой лампе. Все началось с того, что она перестала включаться по таймеру. Разобрал, и обнаружил короткое замыкание на питании таймера. Причиной тому был пробитый стабилитрон. Не мудрено, потому-что конденсаторный блок питания, коим она оборудована, нельзя включать без нагрузки, а когда тумблер установлен в положение "ТАЙМЕР" но сама кнопка таймера не нажата - нагрузка отсутствует и стабилитрон вынужден рассеивать всю мощность БП на себе.

Стабилитрона под рукой не было и пришлось его просто выкинуть. Когда он вновь был установлен начались "чудеса на виражах". Лампа то включалась по таймеру, то нет. Нужно было переключить тумблер в нейтральное положение или в положение "всегда включена". потом вернуть на таймер и запустить его снова.

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









(рис. 1)


Детали на рисунке несколько отличаются по номиналам но в целом все один в один.

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

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

Удачи в ремонте!

UPDATE:
Лампа отложена в запас, а взамен куплена LED+CCFL - жена довольна и к старой возвращаться не хочет. Для тех кто будет смотреть в сторону такой новомодной лампы, не ведитесь на рекламные слоганы. Лампа типа ТАКОЙ не соответствует надписи 36w - это лишь ее название, призванное вводить в заблуждение девочек.  Реальная ее мощность 24 Ватт. Спираль CCFL 12 Ватт и 12 светодиодов по 1 Ватт. Аналогичная ситуация и в подобных лампах с надписью 48W - тоже рекламный ход. К слову сказать в моей лампе блок питания 3А 12В и очень легкий и хлипкий, не разбирал еще но уверен что долго он не проживет.
Может кому то будет полезно, хорошее видео по ремонту аналогичной: ССЫЛКА