Меня давно не покидала идея собрать солнечную панель на основе батарей с солнечных садовых фонариков. Для этого с целью ознакомления с компонентами мной был куплен самый дешевый садовый фонарик с солнечной батареей.
Я решил принести его в жертву реверс-инженерингу и посмотреть из чего же он собран. Открутив три винтика и вскрыв корпус, я был просто поражен тем, насколько всё печально. Давайте посмотрим, что же внутри у этого фонарика.
Видим одну плату, на которой установлен светодиод и контроллер YX8016. Так же батарея, емкость которой всего 40 mA. Давайте обо всем по порядку, но начнем, пожалуй, с главного потребителя тока - со светодиода.
Светодиод
Самый обычный сверхяркий белый светодиод. Я выпаял его, дабы замерить сколько он потребляет и был приятно удивлен - всего 2.1 mA. Конечно, это через повышающий преобразователь, КПД которого оставляет желать лучшего, тем не менее это все же не 20 mA.
Перейдем к этому самому преобразователю, а точнее к контроллеру, который рулит всем фонариком.
Контроллер
Видим четырехногое чудо азиатской промышленности с маркировкой yx8016. Мне удалось найти даташиты на yx8018 и yx8019, да и те на японском языке. Тем не менее с помощью переводчика можно понять что и к чему, а общий принцип будет тем же, что и у нашего 8016. Вот схема из datasheet на yx8019, вернее целых четыре примера применения.
Сопоставив свой фонарик с даташитом, я понял что собран он по варианту 1-2 из данного даташита. Ради интереса решил померить, сколько это чудо потребляет тока.
Так вот, со включенным светодиодом, который потребляет всего 2 миллиампера, эта схема жрет 5.7 mA. КПД поптросту никудышний. Может это китайский аналог нормального японского компонента, но все же проще собрать все на паре-тройке транзисторов - батареи на дольше хватит.
Я на этом не успокоился и пошел дальше. Мне стало интересно, что будет, если физически отключить потребитель, тоесть светодиод. Думаете потребленее тока полностью упало? Не тут то было. Без светодиода схема жрет целых 4,3 mA. Вот такой "экономный" расход запасенной солнечной энергии.
Давайте теперь глянем, где эта энергия храниться.
Батарея
Никель-магниевая батарея емкостью всего 40 mAh. Напомню, что схема со светодиодом потребляет 5.7 mA. В идеальном случае батареи хватит на целых 7 часов. Давайте снимем розовые очки и посмотрим, что будет не в идеальном случае, а в реальном.
Батарея никель-магниевая, которая имеет память на заряд-разряд. Это первая причина падения емкости батареи. Вторая - мне очень не вериться в правдивость того, что она имеет емкость 40 mAh. В общем, в лучшем случае это будут 5 часов свечения. Почему это мало? Давайте глянем на то, сколько всего энергии солнца мы получим.
Солнечная батарея
При прямых лучах солнца на батарее 2.57 v напряжения. При этом ток короткого замыкания целых 20.0 mA при идеально прямом солнечном луче (я постарался отюстировать батарею так, чтоб солнечные лучи падали строго перпендикулярно плоскости батареи). При относительно прямом солнечном свете (около 60-ти градусов) - 19 mA.
При пасмурной облачной погоде напряжение 2.3 v и ток короткого замыкания 4 mA. Это как раз тот случай, когда батарея не сможет зарядится полностью.
Заключение
В принципе для своей цены неплохой фонарик. В нем вполне приличная солнечная панель, которая может обеспечить в солнечную погоду немало энергии. Хранить эту энергию особо негде, так как батарея не качественная, но если заменить преобразователь и батарею - то за 10-ти часовой световой день можно заряжать батарею емкостью до 100-150 миллиампер.
Само качество сборки фонарика способствует проникновению внутрь влаги, перегреву никель-магниевой батареи на солнце и вообще способствует тому, чтоб человек таки выбросил сие чудо и купил новое.
В общем, в качестве источника солнечных батарей этот фонарик вполне подходит.
воскресенье, 2 июня 2019 г.
понедельник, 27 мая 2019 г.
Управляем RGB-светодиодом с помощью Arduino nano
Недавно я написал о том, как подключить rgb-светодиод к Arduino nano. Теперь же, немного с ним поигравшись, я решил поделиться алгоритмом управления светодиодом.
В предыдущей статье я привел пример кода со статическими цветами из палитры RGB, в этой хочу показать, как управлять светодиодом, чтоб цвета динамически плавно переливались и при этом не менялась яркость свечения. Как и раньше мы будем использовать аппаратный ШИМ, да и схема подключения не поменялась.
Итак, у нас есть три основных монохромных цвета: красный, зеленый, синий. Их комбинации в различный пропорциях дают остальные цвета и оттенки. Для упрощения алгоритма одновременно будем использовать только два цвета.
Давайте глянем на пример кода.
Это скрин Arduino IDE с готовым скетчем. Как видите, есть три цикла по 255 итераций каждый. Каждая итерация разделена задержкой в 50 миллисекунд. Дайте подробно разберем один цикл.
for (int i0 = 0; i0 <= 255; i0++){
analogWrite(red1, 255);
analogWrite(green1, 0+i0);
analogWrite(blue1, 255-i0);
delay(50);
}
Поскольку наш светодиод с общим анодом, то для того, чтоб он светился, нужно подать минус на катод, тоесть шиму передаем значение 0. Красный у нас полностью выключен, так как ШИМ на него 255. Так же выключен синий, ибо шим туда тоже 255. Зеленый с параметром шима 0 светится на максимальной мощности.
При следующей итерации переменная i0 принимает значение 1, это значение добавляется к параметру шима для зеленого и он принимает значение 1, тоесть светит чуть тусклее. При этом в следующей строке эта же переменная отнимается от параметра шима синего светодиода, он начинает светится. При каждом прохождении цикла переменная i0 увеличивается на единицу, тоесть зеленый светится всё тусклее, а синий всё ярче. И так пока i0 не достигнет значения 255 - тогда зеленый будет полностью выключен, а синий будет гореть в полную мощность.
Поскольку частота микроконтроллера 16 мегагерц, то прохождение цикла будет очень быстрым. Дабы его замедлить в конце каждой итерации добавлена задержка на 50 миллисекунд в виде стандартного ардуиновского delay.
Из цикла мы выходим с выключенными красным и зеленым светодиодами и включенным синим.
В следующем цикле учтено состояние выхода из предыдущего цикла, тоесть красный и зеленый потушены, горит синий. Только теперь мы будем зажигать вместе с синим красный, а зеленый оставим в покое. Я сделал переменную i для каждого цикла отдельной, хоть она и локальная.
В следующем цикле мы тушим красный и зажигаем зеленый. За счет того, что красный и зеленый при равных пропорциях дают желтый - его мы и будем наблюдать в средине цикла.
После прохождения третьего цикла возвращаемся к первому циклу, в который войдем с горящим зеленым.
Этот код для RGB-светодиода не учитывает всю палитру цветов, ибо используются одновременно только два из них. Зато в нем реализована постоянная яркость светодиода за счет одинаковой суммы всех напряжений на светодиоде. Например, чтобы зажечь белый с той же яркостью, что и в этом коде, параметр шима для трех цветов должен быть 85, дабы в сумме получилось 255.
Для комнаты этого алгоритма вполне достаточно и с его помощью можно управлять не только одним светодиодом, но и использовать RGB-ленту, например. В дальнейшем я покажу, как можно управлять rgb светодиодом с помощью других микроконтроллеров, у которых есть ШИМ.
В предыдущей статье я привел пример кода со статическими цветами из палитры RGB, в этой хочу показать, как управлять светодиодом, чтоб цвета динамически плавно переливались и при этом не менялась яркость свечения. Как и раньше мы будем использовать аппаратный ШИМ, да и схема подключения не поменялась.
Итак, у нас есть три основных монохромных цвета: красный, зеленый, синий. Их комбинации в различный пропорциях дают остальные цвета и оттенки. Для упрощения алгоритма одновременно будем использовать только два цвета.
Давайте глянем на пример кода.
Это скрин Arduino IDE с готовым скетчем. Как видите, есть три цикла по 255 итераций каждый. Каждая итерация разделена задержкой в 50 миллисекунд. Дайте подробно разберем один цикл.
for (int i0 = 0; i0 <= 255; i0++){
analogWrite(red1, 255);
analogWrite(green1, 0+i0);
analogWrite(blue1, 255-i0);
delay(50);
}
Поскольку наш светодиод с общим анодом, то для того, чтоб он светился, нужно подать минус на катод, тоесть шиму передаем значение 0. Красный у нас полностью выключен, так как ШИМ на него 255. Так же выключен синий, ибо шим туда тоже 255. Зеленый с параметром шима 0 светится на максимальной мощности.
При следующей итерации переменная i0 принимает значение 1, это значение добавляется к параметру шима для зеленого и он принимает значение 1, тоесть светит чуть тусклее. При этом в следующей строке эта же переменная отнимается от параметра шима синего светодиода, он начинает светится. При каждом прохождении цикла переменная i0 увеличивается на единицу, тоесть зеленый светится всё тусклее, а синий всё ярче. И так пока i0 не достигнет значения 255 - тогда зеленый будет полностью выключен, а синий будет гореть в полную мощность.
Поскольку частота микроконтроллера 16 мегагерц, то прохождение цикла будет очень быстрым. Дабы его замедлить в конце каждой итерации добавлена задержка на 50 миллисекунд в виде стандартного ардуиновского delay.
Из цикла мы выходим с выключенными красным и зеленым светодиодами и включенным синим.
В следующем цикле учтено состояние выхода из предыдущего цикла, тоесть красный и зеленый потушены, горит синий. Только теперь мы будем зажигать вместе с синим красный, а зеленый оставим в покое. Я сделал переменную i для каждого цикла отдельной, хоть она и локальная.
В следующем цикле мы тушим красный и зажигаем зеленый. За счет того, что красный и зеленый при равных пропорциях дают желтый - его мы и будем наблюдать в средине цикла.
После прохождения третьего цикла возвращаемся к первому циклу, в который войдем с горящим зеленым.
Этот код для RGB-светодиода не учитывает всю палитру цветов, ибо используются одновременно только два из них. Зато в нем реализована постоянная яркость светодиода за счет одинаковой суммы всех напряжений на светодиоде. Например, чтобы зажечь белый с той же яркостью, что и в этом коде, параметр шима для трех цветов должен быть 85, дабы в сумме получилось 255.
Для комнаты этого алгоритма вполне достаточно и с его помощью можно управлять не только одним светодиодом, но и использовать RGB-ленту, например. В дальнейшем я покажу, как можно управлять rgb светодиодом с помощью других микроконтроллеров, у которых есть ШИМ.
среда, 15 мая 2019 г.
Arduino nano и RGB-светодиод с общим анодом
Пришли с Китая RGB-светодиоды, я ожидал партию с общим катодом, но пришли с общим анодом. Заказывал для самодельного ночника, так что особой разницы что там у них общего нет никакой. Итак, давайте разберемся для начала, что такое ргб-светодиод, как устроен и как работает.
На фото выше представлены два светодиода, один обычный, второй rgb. Как видим, у ргб 4 ноги, это обусловлено тем, что, по сути, RGB-светодиод - это три светодиода в одном корпусе: красный, зеленый и синий (Red, Gren, Blue). Общий анод и по одному катоду на три цвета. Давайте подключим наш светодиод к ардуино нано и для начала мигнем по очереди тремя цветами. Посмотрим как подключить RGB светодиод с общим анодом к ардуино.
На схеме я изобразил наш RGB-светодиод в виде трех отдельных светодиодов, соединенных вместе анодами. Этот совместный анод подсоединяем на плюс питания, через катоды будем управлять свечением, их подключаем к выводам ардуино.
На схеме я не указал резисторы, их можно подключить как на каждый анод отдельно, так и один резистор на катод. Я подключил три резистора по 240 Ом между каждым катодом и выводом ардуины. Собрал все на макетной плате, получилось как-то вот так.
Электрическая часть схемы закончилась, переходим к программной. Вся суть нашей электрической части в общем аноде - на катоды нам нужно подавать минус. То есть, конфигурируем вывод ардуины в качестве выхода, устанавливаем на нем низкое состояние (логический ноль) - светодиод светится. При высоком состоянии (логическая единица) светодиод не светится. Поскольку мы управляем яркостью свечения с помощью ШИМа, то все расчеты для высчитывания яркости придется оборачивать обратно пропорционально. ШИМ может принять одно из 256 значений - от 0 до 255 (потому как регистр восьмибитный). Для того, чтоб зажечь светодиод - нужен 0. Для того, чтоб потушить - 255. Напишем скетч для поочередного мигания тремя цветами нашего RGB-светодиода.
Заливаем скетч, наслаждаемся миганием. Для того, чтоб светодиод светил каким-то уникальным цветом, достаточно смешать три основных цвета в определенных пропорциях. Например, для получения желтого цвета смешиваем зеленый и красный, при этом синий выключен. Если смешать все три - получится белый.
Итак, у нас теперь есть схема подключения RGB-светодиода к Arduino nano, понимание как это всё устроено и как работает. Аналогичным образом можно управлять и RGB лентой. В дальнейшем рассмотрим алгоритм переливания всеми цветами радуги.
На фото выше представлены два светодиода, один обычный, второй rgb. Как видим, у ргб 4 ноги, это обусловлено тем, что, по сути, RGB-светодиод - это три светодиода в одном корпусе: красный, зеленый и синий (Red, Gren, Blue). Общий анод и по одному катоду на три цвета. Давайте подключим наш светодиод к ардуино нано и для начала мигнем по очереди тремя цветами. Посмотрим как подключить RGB светодиод с общим анодом к ардуино.
На схеме я изобразил наш RGB-светодиод в виде трех отдельных светодиодов, соединенных вместе анодами. Этот совместный анод подсоединяем на плюс питания, через катоды будем управлять свечением, их подключаем к выводам ардуино.
На схеме я не указал резисторы, их можно подключить как на каждый анод отдельно, так и один резистор на катод. Я подключил три резистора по 240 Ом между каждым катодом и выводом ардуины. Собрал все на макетной плате, получилось как-то вот так.
Электрическая часть схемы закончилась, переходим к программной. Вся суть нашей электрической части в общем аноде - на катоды нам нужно подавать минус. То есть, конфигурируем вывод ардуины в качестве выхода, устанавливаем на нем низкое состояние (логический ноль) - светодиод светится. При высоком состоянии (логическая единица) светодиод не светится. Поскольку мы управляем яркостью свечения с помощью ШИМа, то все расчеты для высчитывания яркости придется оборачивать обратно пропорционально. ШИМ может принять одно из 256 значений - от 0 до 255 (потому как регистр восьмибитный). Для того, чтоб зажечь светодиод - нужен 0. Для того, чтоб потушить - 255. Напишем скетч для поочередного мигания тремя цветами нашего RGB-светодиода.
Заливаем скетч, наслаждаемся миганием. Для того, чтоб светодиод светил каким-то уникальным цветом, достаточно смешать три основных цвета в определенных пропорциях. Например, для получения желтого цвета смешиваем зеленый и красный, при этом синий выключен. Если смешать все три - получится белый.
Итак, у нас теперь есть схема подключения RGB-светодиода к Arduino nano, понимание как это всё устроено и как работает. Аналогичным образом можно управлять и RGB лентой. В дальнейшем рассмотрим алгоритм переливания всеми цветами радуги.
пятница, 19 апреля 2019 г.
Прошивка Cisco AIR-lAP1131AG-E-K9
Поговорим о том, как прошить точку доступа cisco AIR-lAP1131AG-E-K9 в режим Stand-alone.
Итак, имеем WiFi точку с прошивкой для работы с контроллером. Задача - перепрошить для работы без контроллера. Прошивку буду использовать c1130-k9w7-tar.124-25d.JA1, скачанную с официального сайта.
Нам понадобиться пк с com-портом и консольный цисковский кабель. Точки доступа пришли без блоков питания, так что буду использовать PoE инжектор. Из программного обеспечения Putty и tftpd32.
Открываем крышку нашей циски, подключаем консольный кабель.
Запускаем Putty, скорость ком-порта стандартная, 9600. При подаче питания если используете PoE инжектор - кабель со второго порта инжектора вытаскиваем. Если блок питания - Ethernet-кабель в циску не вставляем, иначе в режим загрузчика не попадете.
Внимание! Все последующие действия стоит выполнять используя источник бесперебойного питания. Есть риск окирпичить циску если пропадет электропитание во время прошивки и вырубиться комп и/или циска.
Зажимаем кнопку reset и подаем питание на циску. В консоли видим следующее:
Xmodem file system is available.
flashfs[0]: 47 files, 15 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 15998976
flashfs[0]: Bytes used: 12185600
flashfs[0]: Bytes available: 3813376
flashfs[0]: flashfs fsck took 42 seconds.
Base ethernet MAC Address: XX:XX:XX:XX:XX:XX
Initializing ethernet port 0...
Reset ethernet port 0...
Reset done!
link auto-negotiating....
auto-negotiation takes 10000 milli-seconds to complete
ERROR: timeout waiting for auto-negotiation to complete
ERROR: fail to bring ethernet link up
The system has been encountered an error initializing
ethernet port. You may need to check hardware
The system is ignoring the error and continuing boot.
If you interrupt the system boot process, the following
commands will reinitialize ethernet, tftp, and finish
loading the operating system software:
ether_init
tftp_init
boot
button is pressed, wait for button to be released...
Отпускаем кнопку, точка продолжит загрузку, ждем появления букв ap и двоеточия.
button pressed for 46 seconds
process_config_recovery: set IP address and config to default 10.0.0.1
process_config_recovery: image recovery
ap:
Теперь назначим нашей точке IP, маску и шлюз, после чего инициализируем tftp-клиент. Я сконфигурировал на своем ПК на сетевом интерфейс статический адрес 192.168.0.10 c 24-той маской, на циске с этой же маской будет 192.168.0.11. А поскольку подключение будет напрямую к ПК, то шлюзом на циске будет адрес ПК. Делается все это следующими командами (для удобства то, что пишет в консоль циска, я помечу зеленым цветом, то, что пишем в консоль мы, то есть команды, красным).
ap: set IP_ADDR 192.168.0.11
ap: set NETMASK 255.255.255.0
ap: set DEFAULT_ROUTER 192.168.0.10
ap: tftp_init
tftp_init success: You can now use tftp file system!
Соединяем наш PoE инжектор и ПК патчкордом, если шьете с использованием цисковского блока питания - то соединяйте патчкордом циску и ПК. Инициализация интерфейса выполняется следующей командой
ap: ether_init
Initializing ethernet port 0...
Reset ethernet port 0...
Reset done!
ethernet link up, 100 mbps, full-duplex
Ethernet port 0 initialized: link is up
Точка готова к перепрошивке. Давайте подготовим саму прошивку и tftp-сервер.
Для удобства я создал на диске D папку с коротким цифровым названием и положил туда файл c1130-k9w7-tar.124-25d.JA1. Запускаем tftpd32.exe, отключаем в нем dhcp, если таковой включен. Указываем папку в которой лежит прошивка и прикрепляем наш tftp сервер к интерфейсу. После чего на самой циске даем команду на скачивание прошивки
ap: tar -xtract tftp://192.168.0.10/c1130-k9w7-tar.124-25d.JA1.tar flash:
extracting info (286 bytes)
c1130-k9w7-mx.124-25d.JA1/ (directory) 0 (bytes)
c1130-k9w7-mx.124-25d.JA1/html/ (directory) 0 (bytes)
c1130-k9w7-mx.124-25d.JA1/html/level/ (directory) 0 (bytes)
c1130-k9w7-mx.124-25d.JA1/html/level/1/ (directory) 0 (bytes)
Пока наша прошивка загружается и распаковывается, cisco будет писать нам в консоль лог выполнения этого процесса. Так же лог скачивания мы можем смотреть и на стороне нашего сервера. Если все будет хорошо, то в конце будет следующее
extracting c1130-k9w7-mx.124-25d.JA1/6701.img (131328 bytes)............................
extracting c1130-k9w7-mx.124-25d.JA1/info (286 bytes)
extracting info.ver (286 bytes)
ap:
У меня с первого раза прошить не получилось, банально не хватило места для новой прошивки. В таком случае циска может выдать что-то наподобие этого
extracting c1130-k9w7-mx.124-25d.JA1/html/level/15/ap_contextmgr_scm_summary.shtml.gz (5559 bytes).
extracting c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1 (4758352 bytes)Error writing flash:/c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1 (Not enough space on device)
ap:
Если видим ошибку записи Not enough space on device - просто удаляем ненужные файлы с флеш-памяти циски. Как это делать я опишу в конце статьи. После удаления просто заново запускаем команду на скачивание и распаковку прошивки.
После того, как наша точка скачает и распакует прошивку, нам нужно с этой прошивки загрузиться. Для этого есть команда boot, параметром параметром в которой будет файл, с которого мы хотим грузится.
ap: boot flash:c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1
Loading "flash:c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1"...################
File "flash:c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1" uncompressed and installed, entry point: 0x3000
executing...
Дальше пойдет стандартная загрузка. По окончанию увидим следующее
Product/Model Number : AIR-LAP1131AG-E-K9
Press RETURN to get started!
CESS: RADIO crypto FIPS self test passed on interface Dot11Radio 1
*Mar 1 00:00:12.939: %LINK-3-UPDOWN: Interface FastEthernet0, changed state to up
*Mar 1 00:00:13.162: %LINK-5-CHANGED: Interface Dot11Radio0, changed state to administratively down
*Mar 1 00:00:13.162: %LINK-5-CHANGED: Interface Dot11Radio1, changed state to administratively down
*Mar 1 00:00:13.231: %SYS-5-CONFIG_I: Configured from memory by console
*Mar 1 00:00:13.235: %SYS-5-RESTART: System restarted --
Cisco IOS Software, C1130 Software (C1130-K9W7-M), Version 12.4(25d)JA1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2011 by Cisco Systems, Inc.
Compiled Thu 11-Aug-11 02:44 by prod_rel_team
*Mar 1 00:00:13.235: %SNMP-5-COLDSTART: SNMP agent on host ap is undergoing a cold start
*Mar 1 00:02:07.689: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0, changed state to up
*Mar 1 00:02:07.912: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio0, changed state to down
*Mar 1 00:02:07.912: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio1, changed state to down
*Mar 1 00:02:07.917: %LINEPROTO-5-UPDOWN: Line protocol on Interface BVI1, changed state to up
ap>
Вот мы и загрузились в режиме standalone. Осталось только закрепить успех, то есть указать нашей циске, что теперь ей следует всегда грузиться именно с этой прошивкой. Для этого заходим в режим enable (пароль Cisco с большой буквы), дальше в режим конфигурации и говорим ей с какого файла ей начинать загрузку.
ap>enable
Password:
ap#conf t
ap(config)#boot system flash:c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1
ap(config)#exit
ap#write
Building configuration...
[OK]
ap#
Ну вот мы и прошили нашу Cisco Aironet 1130AG Series Access Point для самостоятельной работы без контроллера. Теперь можно присвоить ей адрес (на bridge, vlan или на физический интерфейс) и зайти на web интерфейс
Настройку я уже рассматривать не буду, тут на ваше усмотрение. Инструкция подойдет от любой циски, если работали с ними - то сложного ничего нет.
Давайте теперь вернемся к той ситуации, когда шиться циска не хочет из-за недостатка свободного места на флешке. В таком случае она пишет ошибку Not enough space on device. Для начала нужно посмотреть, что же занимает место и удалить лишнее.
Как посмотреть память на Cisco.
Для просмотра дисков и файловой системы в cisco есть команда dir. Пример
ap: dir
List of filesystems currently registered:
flash[0]: (read-write)
xmodem[1]: (read-only)
null[2]: (read-write)
tftp[5]: (read-only)
Тут мы видим все файловые системы, но нам нужна только flash. Для того чтоб посмотреть flash указываем после dir нашу флешку.
ap: dir flash:
Directory of flash:/
2 -rwx 286 <date> info
9 drwx 320 <date> c1130-k9w8-mx.124-23c.JA6
4 drwx 128 <date> c1130-rcvk9w8-mx
3 -rwx 5144 <date> private-multiple-fs
7 -rwx 201 <date> env_vars
8 -rwx 92018 <date> event.log
16 drwx 320 <date> c1130-k9w8-mx.124-25e.JAL
63 drwx 0 <date> configs
64 drwx 64 <date> c1130-k9w7-mx.124-25d.JA1
3137536 bytes available (12861440 bytes used)
Как видим, у нас тут присутствуют папки с другими прошивками. Одна из них наша, которую мы только что пытались загрузить, еще одна - рабочая, с которой циска работала и третья лишняя.
Как посмотреть файлы в папке на cisco.
Чтоб посмотреть файлы в каталоге, нужно после dir добавить в команду файловую систему и ту папку, которая нас интересует. Например
ap: dir flash:c1130k9w8-mx.124-25e.JAL
Как удалить файл на Cisco.
Для удаления файлов есть команда del, ее нужно написать с полным путем к файлу, который хотим удалить. Пример
ap: del flash:c1130-k9w8-mx.124-25e.JAL/c1130-k9w8-mx.124-25e.JAL
Are you sure you want to delete "flash:c1130-k9w8-mx.124-25e.JAL/c1130-k9w8-mx.124-25e.JAL" (y/n)?y
File "flash:c1130-k9w8-mx.124-25e.JAL/c1130-k9w8-mx.124-25e.JAL" deleted
Как удалить каталог (папку) на cisco.
Для удаления папок на циско есть команда rmdir. Почему-то она не захотела удалять полные папки с ключом recursive, поэтому для удаления каталога сначала удаляем из него все файлы командой del, после чего удаляем пустую папку.
Итак, в статье я рассказал как прошить Cisco Aironet 1130AG Series Access Point, показал на примере модели AIR-lAP1131AG-E-K9. Так же рассказал как смотреть и удалять файлы из файловой системы. В дальнейшем может хватит времени на написание статьи про настройки данных точек доступа, в чем я очень сильно сомневаюсь, ибо времени, простите за тавтологию, последнее время катастрофически не хватает.
Итак, имеем WiFi точку с прошивкой для работы с контроллером. Задача - перепрошить для работы без контроллера. Прошивку буду использовать c1130-k9w7-tar.124-25d.JA1, скачанную с официального сайта.
Нам понадобиться пк с com-портом и консольный цисковский кабель. Точки доступа пришли без блоков питания, так что буду использовать PoE инжектор. Из программного обеспечения Putty и tftpd32.
Открываем крышку нашей циски, подключаем консольный кабель.
Запускаем Putty, скорость ком-порта стандартная, 9600. При подаче питания если используете PoE инжектор - кабель со второго порта инжектора вытаскиваем. Если блок питания - Ethernet-кабель в циску не вставляем, иначе в режим загрузчика не попадете.
Внимание! Все последующие действия стоит выполнять используя источник бесперебойного питания. Есть риск окирпичить циску если пропадет электропитание во время прошивки и вырубиться комп и/или циска.
Зажимаем кнопку reset и подаем питание на циску. В консоли видим следующее:
Xmodem file system is available.
flashfs[0]: 47 files, 15 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 15998976
flashfs[0]: Bytes used: 12185600
flashfs[0]: Bytes available: 3813376
flashfs[0]: flashfs fsck took 42 seconds.
Base ethernet MAC Address: XX:XX:XX:XX:XX:XX
Initializing ethernet port 0...
Reset ethernet port 0...
Reset done!
link auto-negotiating....
auto-negotiation takes 10000 milli-seconds to complete
ERROR: timeout waiting for auto-negotiation to complete
ERROR: fail to bring ethernet link up
The system has been encountered an error initializing
ethernet port. You may need to check hardware
The system is ignoring the error and continuing boot.
If you interrupt the system boot process, the following
commands will reinitialize ethernet, tftp, and finish
loading the operating system software:
ether_init
tftp_init
boot
button is pressed, wait for button to be released...
Отпускаем кнопку, точка продолжит загрузку, ждем появления букв ap и двоеточия.
button pressed for 46 seconds
process_config_recovery: set IP address and config to default 10.0.0.1
process_config_recovery: image recovery
ap:
Теперь назначим нашей точке IP, маску и шлюз, после чего инициализируем tftp-клиент. Я сконфигурировал на своем ПК на сетевом интерфейс статический адрес 192.168.0.10 c 24-той маской, на циске с этой же маской будет 192.168.0.11. А поскольку подключение будет напрямую к ПК, то шлюзом на циске будет адрес ПК. Делается все это следующими командами (для удобства то, что пишет в консоль циска, я помечу зеленым цветом, то, что пишем в консоль мы, то есть команды, красным).
ap: set IP_ADDR 192.168.0.11
ap: set NETMASK 255.255.255.0
ap: set DEFAULT_ROUTER 192.168.0.10
ap: tftp_init
tftp_init success: You can now use tftp file system!
Соединяем наш PoE инжектор и ПК патчкордом, если шьете с использованием цисковского блока питания - то соединяйте патчкордом циску и ПК. Инициализация интерфейса выполняется следующей командой
ap: ether_init
Initializing ethernet port 0...
Reset ethernet port 0...
Reset done!
ethernet link up, 100 mbps, full-duplex
Ethernet port 0 initialized: link is up
Точка готова к перепрошивке. Давайте подготовим саму прошивку и tftp-сервер.
Для удобства я создал на диске D папку с коротким цифровым названием и положил туда файл c1130-k9w7-tar.124-25d.JA1. Запускаем tftpd32.exe, отключаем в нем dhcp, если таковой включен. Указываем папку в которой лежит прошивка и прикрепляем наш tftp сервер к интерфейсу. После чего на самой циске даем команду на скачивание прошивки
ap: tar -xtract tftp://192.168.0.10/c1130-k9w7-tar.124-25d.JA1.tar flash:
extracting info (286 bytes)
c1130-k9w7-mx.124-25d.JA1/ (directory) 0 (bytes)
c1130-k9w7-mx.124-25d.JA1/html/ (directory) 0 (bytes)
c1130-k9w7-mx.124-25d.JA1/html/level/ (directory) 0 (bytes)
c1130-k9w7-mx.124-25d.JA1/html/level/1/ (directory) 0 (bytes)
Пока наша прошивка загружается и распаковывается, cisco будет писать нам в консоль лог выполнения этого процесса. Так же лог скачивания мы можем смотреть и на стороне нашего сервера. Если все будет хорошо, то в конце будет следующее
extracting c1130-k9w7-mx.124-25d.JA1/6701.img (131328 bytes)............................
extracting c1130-k9w7-mx.124-25d.JA1/info (286 bytes)
extracting info.ver (286 bytes)
ap:
У меня с первого раза прошить не получилось, банально не хватило места для новой прошивки. В таком случае циска может выдать что-то наподобие этого
extracting c1130-k9w7-mx.124-25d.JA1/html/level/15/ap_contextmgr_scm_summary.shtml.gz (5559 bytes).
extracting c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1 (4758352 bytes)Error writing flash:/c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1 (Not enough space on device)
ap:
Если видим ошибку записи Not enough space on device - просто удаляем ненужные файлы с флеш-памяти циски. Как это делать я опишу в конце статьи. После удаления просто заново запускаем команду на скачивание и распаковку прошивки.
После того, как наша точка скачает и распакует прошивку, нам нужно с этой прошивки загрузиться. Для этого есть команда boot, параметром параметром в которой будет файл, с которого мы хотим грузится.
ap: boot flash:c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1
Loading "flash:c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1"...################
File "flash:c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1" uncompressed and installed, entry point: 0x3000
executing...
Дальше пойдет стандартная загрузка. По окончанию увидим следующее
Product/Model Number : AIR-LAP1131AG-E-K9
Press RETURN to get started!
CESS: RADIO crypto FIPS self test passed on interface Dot11Radio 1
*Mar 1 00:00:12.939: %LINK-3-UPDOWN: Interface FastEthernet0, changed state to up
*Mar 1 00:00:13.162: %LINK-5-CHANGED: Interface Dot11Radio0, changed state to administratively down
*Mar 1 00:00:13.162: %LINK-5-CHANGED: Interface Dot11Radio1, changed state to administratively down
*Mar 1 00:00:13.231: %SYS-5-CONFIG_I: Configured from memory by console
*Mar 1 00:00:13.235: %SYS-5-RESTART: System restarted --
Cisco IOS Software, C1130 Software (C1130-K9W7-M), Version 12.4(25d)JA1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2011 by Cisco Systems, Inc.
Compiled Thu 11-Aug-11 02:44 by prod_rel_team
*Mar 1 00:00:13.235: %SNMP-5-COLDSTART: SNMP agent on host ap is undergoing a cold start
*Mar 1 00:02:07.689: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0, changed state to up
*Mar 1 00:02:07.912: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio0, changed state to down
*Mar 1 00:02:07.912: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio1, changed state to down
*Mar 1 00:02:07.917: %LINEPROTO-5-UPDOWN: Line protocol on Interface BVI1, changed state to up
ap>
Вот мы и загрузились в режиме standalone. Осталось только закрепить успех, то есть указать нашей циске, что теперь ей следует всегда грузиться именно с этой прошивкой. Для этого заходим в режим enable (пароль Cisco с большой буквы), дальше в режим конфигурации и говорим ей с какого файла ей начинать загрузку.
ap>enable
Password:
ap#conf t
ap(config)#boot system flash:c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1
ap(config)#exit
ap#write
Building configuration...
[OK]
ap#
Ну вот мы и прошили нашу Cisco Aironet 1130AG Series Access Point для самостоятельной работы без контроллера. Теперь можно присвоить ей адрес (на bridge, vlan или на физический интерфейс) и зайти на web интерфейс
Настройку я уже рассматривать не буду, тут на ваше усмотрение. Инструкция подойдет от любой циски, если работали с ними - то сложного ничего нет.
Давайте теперь вернемся к той ситуации, когда шиться циска не хочет из-за недостатка свободного места на флешке. В таком случае она пишет ошибку Not enough space on device. Для начала нужно посмотреть, что же занимает место и удалить лишнее.
Как посмотреть память на Cisco.
Для просмотра дисков и файловой системы в cisco есть команда dir. Пример
ap: dir
List of filesystems currently registered:
flash[0]: (read-write)
xmodem[1]: (read-only)
null[2]: (read-write)
tftp[5]: (read-only)
Тут мы видим все файловые системы, но нам нужна только flash. Для того чтоб посмотреть flash указываем после dir нашу флешку.
ap: dir flash:
Directory of flash:/
2 -rwx 286 <date> info
9 drwx 320 <date> c1130-k9w8-mx.124-23c.JA6
4 drwx 128 <date> c1130-rcvk9w8-mx
3 -rwx 5144 <date> private-multiple-fs
7 -rwx 201 <date> env_vars
8 -rwx 92018 <date> event.log
16 drwx 320 <date> c1130-k9w8-mx.124-25e.JAL
63 drwx 0 <date> configs
64 drwx 64 <date> c1130-k9w7-mx.124-25d.JA1
3137536 bytes available (12861440 bytes used)
Как видим, у нас тут присутствуют папки с другими прошивками. Одна из них наша, которую мы только что пытались загрузить, еще одна - рабочая, с которой циска работала и третья лишняя.
Как посмотреть файлы в папке на cisco.
Чтоб посмотреть файлы в каталоге, нужно после dir добавить в команду файловую систему и ту папку, которая нас интересует. Например
ap: dir flash:c1130k9w8-mx.124-25e.JAL
Как удалить файл на Cisco.
Для удаления файлов есть команда del, ее нужно написать с полным путем к файлу, который хотим удалить. Пример
ap: del flash:c1130-k9w8-mx.124-25e.JAL/c1130-k9w8-mx.124-25e.JAL
Are you sure you want to delete "flash:c1130-k9w8-mx.124-25e.JAL/c1130-k9w8-mx.124-25e.JAL" (y/n)?y
File "flash:c1130-k9w8-mx.124-25e.JAL/c1130-k9w8-mx.124-25e.JAL" deleted
Как удалить каталог (папку) на cisco.
Для удаления папок на циско есть команда rmdir. Почему-то она не захотела удалять полные папки с ключом recursive, поэтому для удаления каталога сначала удаляем из него все файлы командой del, после чего удаляем пустую папку.
Итак, в статье я рассказал как прошить Cisco Aironet 1130AG Series Access Point, показал на примере модели AIR-lAP1131AG-E-K9. Так же рассказал как смотреть и удалять файлы из файловой системы. В дальнейшем может хватит времени на написание статьи про настройки данных точек доступа, в чем я очень сильно сомневаюсь, ибо времени, простите за тавтологию, последнее время катастрофически не хватает.
среда, 17 апреля 2019 г.
Электрический кран-водонагреватель проточного типа
Речь пойдет о кране для ванны, который греет воду. Недавно приобрел себе такой девайс, установил и решил поделиться впечатлениями. Вот так выглядит кран-водонагреватель в собранном виде.
Описание
Проточный водонагреватель фирмы Zerix, модель не указана ни на самом электрокране, ни на коробке, ни в инструкции. Этот же кран можно найти в интернет-магазинах под маркой Delimano.
Установка крана настенная, тоесть ставиться вместо стандартного смесителя для ванны, но только на холодную воду. Горячую попросту закрываем заглушкой. Помимо стандартного гусака имеет шланг для душа с лейкой. Так же есть семисегментный двухразрядный светодиодный индикатор температуры воды. В наборе есть фактически все для установки этого крана. На самом кабеле есть узо lby-16 с током срабатывания 30мА.
Характеристики
Электрокран рассчитан на стандартную сеть 220 вольт, потребление 3 кВт. На самом кране написано 3 - 3,6 кВт. Воду греет до 60-ти градусов. Для работы требуется минимальное давление 0.04 мпа, в инструкции говориться от 0.04 до 0.6 мпа.
Установка
Как я уже и говорил, в комплекте есть все, что потребуется при установке. Поскольку корпус крана пластиковый, то очень важно не перетягивать гайки дабы не сорвать резьбу. Докупал только заглушку на горячую воду. Ну и прокладки на всякий случай.
В общем, в ванной снимаем смеситель, снимаем эксцентрики, глушим горячую воду и устанавливаем проточный водонагреватель. Шланг для душа я снял со старого смесителя, так как в комплекте с краном шланг оказался немного короче. На самом кабеле питания стоит узо, но вот защиты от замыкания нет. Специально для этого был куплен двухполюсный автомат на 16 ампер C16. Так же в ванной была установлена розетка с защитой IP54.
Вот так выглядит полностью смонтированный включенный кран.
Теперь поговорим о преимуществах и недостатках.
Я читал на кран водонагреватель отзывы перед покупкой, но все они были необъективны. Из опыта использования вижу, что не все так радужно, как пишут.
Преимущества
В отличие от бойлера меньше потребляет электричество. Обусловлено тем, что бойлер постоянно греет, даже когда не используется - немного остыл и тут же врубается тэн для поддержания температуры.
Легкость установки - монтаж проточного крана водонагревателя очень легок и занимает мало времени.
В отличие от газовых колонок можно ставить там, где газ не проведен.
Стабильность температуры воды. Для примера в том же бойлере вода имеет свойство заканчиваться и приходиться либо обходиться холодной, либо ждать, пока нагреется.
Недостатки
Очень слабо греет воду. Реально выше 55 градусов поднять температуру с сохранением силы давления воды у меня не получается. Можно принять душ, но ванну по этой причине на наберешь - вода остывает быстрее, чем набирается ванна.
Регулировка температуры воды открытием-закрытием крана. Чем больше сквозь кран протекает воды в секунду - тем ниже температура. Вода попросту не успевает нормально прогреться. При полностью открытом кране вода прогревается где-то до 38-41 градусов. Даже душ не особо комфортно принимать.
LCD дисплей некорректно отображает температуру воды, скорей всего датчик установлен слишком близко к ТЭНу.
Пластиковая резьба. Это существенный недостаток, ведь пережать и сорвать резьбу на пластике очень легко. А зажимать нужно качественно, дабы не было протечек воды.
Большая мощность ТЭНа, 3 кВт это довольно много, особенно с оглядкой на то, что вода нормально не нагревается.
Так же к недостаткам можно отнести короткий шланг для душевой лейки.
Заключение
В заключении скажу, что проточный кран водонагреватель для ванной с душем не самое лучшее решение. Если использовать его только для душа - то вполне можно привыкнуть и пользоваться, ванну принять не получиться. Технология крайне сыра и недоработана, может со временем электрический проточный водонагреватель немного улучшат. Так же мной было замечено несоответствие температуры, которую показывает индикатор на кране, с температурой вытекающей из него воды. Замеров я не проводил, но по ощущениям 50-ти градусов там явно нету, кран врет градусов на 10.
В общем, в качестве основного источника горячей воды я это изделие не советую. Особенно в ванной. Для кухни, когда 40-ка градусов достаточного для того, чтоб помыть посуду или руки, вполне сойдет. Для душа - кое-как сойдет, но только в случае отсутствия альтернативы, если встанет вопрос проточный водонагреватель или бойлер - то, на мой взгляд, лучше ставить бойлер.
Потому, прежде чем купить проточный кран водонагреватель с душем, посмотрите в сторону водонагревателей без душа с установкой на раковину. Все то же самое, на гусак только купить специальный переходник, который ставиться вместо аэратора и прикрутить душевой шланг с лейкой - получится вполовину дешевле, нежели покупать такой девайс, который купил я.
Описание
Проточный водонагреватель фирмы Zerix, модель не указана ни на самом электрокране, ни на коробке, ни в инструкции. Этот же кран можно найти в интернет-магазинах под маркой Delimano.
Установка крана настенная, тоесть ставиться вместо стандартного смесителя для ванны, но только на холодную воду. Горячую попросту закрываем заглушкой. Помимо стандартного гусака имеет шланг для душа с лейкой. Так же есть семисегментный двухразрядный светодиодный индикатор температуры воды. В наборе есть фактически все для установки этого крана. На самом кабеле есть узо lby-16 с током срабатывания 30мА.
Характеристики
Электрокран рассчитан на стандартную сеть 220 вольт, потребление 3 кВт. На самом кране написано 3 - 3,6 кВт. Воду греет до 60-ти градусов. Для работы требуется минимальное давление 0.04 мпа, в инструкции говориться от 0.04 до 0.6 мпа.
Установка
Как я уже и говорил, в комплекте есть все, что потребуется при установке. Поскольку корпус крана пластиковый, то очень важно не перетягивать гайки дабы не сорвать резьбу. Докупал только заглушку на горячую воду. Ну и прокладки на всякий случай.
В общем, в ванной снимаем смеситель, снимаем эксцентрики, глушим горячую воду и устанавливаем проточный водонагреватель. Шланг для душа я снял со старого смесителя, так как в комплекте с краном шланг оказался немного короче. На самом кабеле питания стоит узо, но вот защиты от замыкания нет. Специально для этого был куплен двухполюсный автомат на 16 ампер C16. Так же в ванной была установлена розетка с защитой IP54.
Вот так выглядит полностью смонтированный включенный кран.
Теперь поговорим о преимуществах и недостатках.
Я читал на кран водонагреватель отзывы перед покупкой, но все они были необъективны. Из опыта использования вижу, что не все так радужно, как пишут.
Преимущества
В отличие от бойлера меньше потребляет электричество. Обусловлено тем, что бойлер постоянно греет, даже когда не используется - немного остыл и тут же врубается тэн для поддержания температуры.
Легкость установки - монтаж проточного крана водонагревателя очень легок и занимает мало времени.
В отличие от газовых колонок можно ставить там, где газ не проведен.
Стабильность температуры воды. Для примера в том же бойлере вода имеет свойство заканчиваться и приходиться либо обходиться холодной, либо ждать, пока нагреется.
Недостатки
Очень слабо греет воду. Реально выше 55 градусов поднять температуру с сохранением силы давления воды у меня не получается. Можно принять душ, но ванну по этой причине на наберешь - вода остывает быстрее, чем набирается ванна.
Регулировка температуры воды открытием-закрытием крана. Чем больше сквозь кран протекает воды в секунду - тем ниже температура. Вода попросту не успевает нормально прогреться. При полностью открытом кране вода прогревается где-то до 38-41 градусов. Даже душ не особо комфортно принимать.
LCD дисплей некорректно отображает температуру воды, скорей всего датчик установлен слишком близко к ТЭНу.
Пластиковая резьба. Это существенный недостаток, ведь пережать и сорвать резьбу на пластике очень легко. А зажимать нужно качественно, дабы не было протечек воды.
Большая мощность ТЭНа, 3 кВт это довольно много, особенно с оглядкой на то, что вода нормально не нагревается.
Так же к недостаткам можно отнести короткий шланг для душевой лейки.
Заключение
В заключении скажу, что проточный кран водонагреватель для ванной с душем не самое лучшее решение. Если использовать его только для душа - то вполне можно привыкнуть и пользоваться, ванну принять не получиться. Технология крайне сыра и недоработана, может со временем электрический проточный водонагреватель немного улучшат. Так же мной было замечено несоответствие температуры, которую показывает индикатор на кране, с температурой вытекающей из него воды. Замеров я не проводил, но по ощущениям 50-ти градусов там явно нету, кран врет градусов на 10.
В общем, в качестве основного источника горячей воды я это изделие не советую. Особенно в ванной. Для кухни, когда 40-ка градусов достаточного для того, чтоб помыть посуду или руки, вполне сойдет. Для душа - кое-как сойдет, но только в случае отсутствия альтернативы, если встанет вопрос проточный водонагреватель или бойлер - то, на мой взгляд, лучше ставить бойлер.
Потому, прежде чем купить проточный кран водонагреватель с душем, посмотрите в сторону водонагревателей без душа с установкой на раковину. Все то же самое, на гусак только купить специальный переходник, который ставиться вместо аэратора и прикрутить душевой шланг с лейкой - получится вполовину дешевле, нежели покупать такой девайс, который купил я.
суббота, 6 апреля 2019 г.
Шаговый двигатель из CD/DVD привода
Попались в мои руки несколько приводов оптических дисков, которые я разобрал. В итоге помимо плат и прочей механики стал обладателем нескольких шаговых двигателей, которые позиционируют лазерную головку. Захотелось их как-то использовать, но информации по ним фактически никакой. После продолжительного и настойчивого гугления информацию я таки нашел и решил поделится ею с вами.
Итак, шаговый двигатель cd rom
Он имеет маркировку 0550902, чуть ниже 15RF 172KP, хотя можно прочитать и слитно, получится 15RF172KP. Так же маркировка на шлейфе 3 e232171. С обратной стороны выгравировано SM15DD - это тип винта двигателя.
После длительных поисков datasheet я нашел каталог продукции фирмы MOATECH, в котором и упоминается данный двигатель из сд привода. Это двигатель SPS-15RF-172KP, в каталоге есть небольшое упоминание SPS-15RF Type, где присутствует позиция 172FH.
Пусть последние буквы маркировки и не совпадают, но думаю, что это одно и то же. Давайте теперь посмотрим, что же это за шаговик такой.
Характеристики шагового двигателя
В табличке есть данные по сопротивлению обмоток, 10 Ом на обмотку, я проверил - мультиметр показал 10 Ом. Так же можно увидеть угол поворота - 18 градусов на шаг. И, самое важное, напряжение питания двигателя - 5 вольт. Идеально для использования с AVR микроконтроллерами или Arduino.
Этот двигатель dvd привода имеет две фазы, видим, что он биполярный (это должно быть и так ясно, исходя из количества выводов). Для таких двигателей необходимы специальные драйвера управления, в следующей статье будем собирать свой драйвер на полевых транзисторах. Это обусловлено их принципом работы. Давайте посмотрим, как управлять биполярным шаговым двигателем.
Распиновка шагового двигателя
Тут все предельно просто, имеем четыре вывода и две обмотки - по два вывода на обмотку.
Я промаркировал выводы обмоток приписав плюс и минус дабы не путаться где первая обмотка, а где вторая, хотя было бы более правильно написать первый вывод и второй.
Управление биполярным шаговым двигателем
Вот и добрались до вопроса как управлять шаговым двигателем. Это довольно сложный процесс в плане реализации, так как из-за наличия двух фаз нужно подавать напряжение на обмотку в разные стороны. Тоесть в какой-то момент мы подаем плюс на первый вывод первой обмотки, на второй вывод этой же обмотки минус, а в какой-то момент нужно подать наоборот - плюс на второй вывод первой обмотки и минус на первый вывод первой обмотки. Для того, чтоб двигатель вращался, ток на обмотки нужно подавать вот в такой последовательности
Я привел схему подачи тока на биполярный шаговый двигатель в виде четырех полных шагов двигателя. Чтоб двигатель вращался, достаточно после четвертого шага выполнить первый шаг и продолжить дальше. Чтоб двигатель вращался в обратную сторону, то шаги нужно выполнять с обратной последовательности, например 4-3-2-1-4-3... и так далее.
Эта схема управления не такая уж сложная, но в плане подачи тока могут возникнуть затруднения. Но об этом мы поговорим в следующей статье, а сейчас давайте вернемся к нашим двигателям. Я описал только один, а у меня их два.
Второй двигатель выглядит точно так же, как и первый, но имеет другую маркировку - 172F p10816H1. Тем не менее это тот же самый SPS-15RF, который с этой же буквой F после 172 есть в первой позиции таблички из каталога. Так что идентификация обоих двигателей успешно произведена, технические характеристики определены и можно приступать к повторному использованию этих шаговиков.
Итак, шаговый двигатель cd rom
Он имеет маркировку 0550902, чуть ниже 15RF 172KP, хотя можно прочитать и слитно, получится 15RF172KP. Так же маркировка на шлейфе 3 e232171. С обратной стороны выгравировано SM15DD - это тип винта двигателя.
После длительных поисков datasheet я нашел каталог продукции фирмы MOATECH, в котором и упоминается данный двигатель из сд привода. Это двигатель SPS-15RF-172KP, в каталоге есть небольшое упоминание SPS-15RF Type, где присутствует позиция 172FH.
Пусть последние буквы маркировки и не совпадают, но думаю, что это одно и то же. Давайте теперь посмотрим, что же это за шаговик такой.
Характеристики шагового двигателя
В табличке есть данные по сопротивлению обмоток, 10 Ом на обмотку, я проверил - мультиметр показал 10 Ом. Так же можно увидеть угол поворота - 18 градусов на шаг. И, самое важное, напряжение питания двигателя - 5 вольт. Идеально для использования с AVR микроконтроллерами или Arduino.
Этот двигатель dvd привода имеет две фазы, видим, что он биполярный (это должно быть и так ясно, исходя из количества выводов). Для таких двигателей необходимы специальные драйвера управления, в следующей статье будем собирать свой драйвер на полевых транзисторах. Это обусловлено их принципом работы. Давайте посмотрим, как управлять биполярным шаговым двигателем.
Распиновка шагового двигателя
Тут все предельно просто, имеем четыре вывода и две обмотки - по два вывода на обмотку.
Я промаркировал выводы обмоток приписав плюс и минус дабы не путаться где первая обмотка, а где вторая, хотя было бы более правильно написать первый вывод и второй.
Управление биполярным шаговым двигателем
Вот и добрались до вопроса как управлять шаговым двигателем. Это довольно сложный процесс в плане реализации, так как из-за наличия двух фаз нужно подавать напряжение на обмотку в разные стороны. Тоесть в какой-то момент мы подаем плюс на первый вывод первой обмотки, на второй вывод этой же обмотки минус, а в какой-то момент нужно подать наоборот - плюс на второй вывод первой обмотки и минус на первый вывод первой обмотки. Для того, чтоб двигатель вращался, ток на обмотки нужно подавать вот в такой последовательности
Я привел схему подачи тока на биполярный шаговый двигатель в виде четырех полных шагов двигателя. Чтоб двигатель вращался, достаточно после четвертого шага выполнить первый шаг и продолжить дальше. Чтоб двигатель вращался в обратную сторону, то шаги нужно выполнять с обратной последовательности, например 4-3-2-1-4-3... и так далее.
Эта схема управления не такая уж сложная, но в плане подачи тока могут возникнуть затруднения. Но об этом мы поговорим в следующей статье, а сейчас давайте вернемся к нашим двигателям. Я описал только один, а у меня их два.
Второй двигатель выглядит точно так же, как и первый, но имеет другую маркировку - 172F p10816H1. Тем не менее это тот же самый SPS-15RF, который с этой же буквой F после 172 есть в первой позиции таблички из каталога. Так что идентификация обоих двигателей успешно произведена, технические характеристики определены и можно приступать к повторному использованию этих шаговиков.
понедельник, 1 апреля 2019 г.
Как сделать макет электронного устройства
Поговорим немного о макетировании устройств. В разработке это один из главных этапов, когда от идеи переходишь к прототипу. Очень важно чтоб этот этап был быстрым и безболезненным. Это в первую очередь зависит от технологий, которые используешь для прототипирования схем. О них и поговорим.
Одним из важных критериев при изготовлении макета является скорость его переделывания. Когда разработчик ошибся или меняются требования к устройству - это устройство нужно переделывать и чем скорее это будет сделано - тем скорее можно будет двигаться дальше.
Технологии макетирования электронных устройств
Условно можно разделить на паечный метод макетирования и безпаечный. В первом стыковка компонентов исполняеться методом пайки, во втором либо монтаж накруткой, либо стыковкой. Для паечного метода есть куча готовых макетных плат, некоторые люди делают макеты даже на картонке. Недостаток такого метода в том, что при переделывании макета приходится довольно много паять, особенно если уже пропаяны дорожки на плате.
Монтаж накруткой столь редкий, что я не буду на нем останавливаться и скажу лишь, что он мало чем отличается от паечного метода.
А вот монтаж стыковкой, когда соединяются либо отдельные модули (ардуиновские шилды, например) либо детали на макетных платах - технология довольно интересная и я последнее время макетирую именно таким способом. Вот пример макета собранного мной устройства.
Про сами платы для макетирования вы можете почитать в моей статье "Паечные и беспаечные макетные платы"
Собирая макет на брэдбоард (так называется беспаечная макетная плата), экономится время на соединении деталей, на пайке и отчасти на трассировке дорожек. Ведь тут все просто - вставил деталь в отверстие и готово. В качестве дорожек зачастую выступают сами детали, например резисторы с длинными ножками. Если же нужно прокинуть дорожку и невозможно сделать это резистором, можно сделать обычным проводом. Для этих плат есть и специальные соединительные провода, но я пользуюсь кусочками обычной витой пары - её диаметр идеален для подобного использования, плюс доступность и дешевизна.
Проблемы макетирования с использованием SMD компонентов
Одной из проблем при изготовлении макета является использование планарных микросхем для поверхностного монтажа. Если SMD резистор с успехом заменяется резистором для сквозного монтажа, то некоторые микросхемы не выпускаются в DIP корпусах. Как же тогда использовать SOP SOIC микросхемы с макетными платами?
Я нашел выход и использую либо переходники с нулевым усилием, либо паечные переходники sop-dip или soic-dip. Фактически это изготовление модуля, шилд для Arduino своими руками на коленке. Вот пример такого модуля с микросхемой mx25l3206e.
Как видите, использовать smd в макетировании вполне реально. На фото представлена микросхема в корпусе sop8, тем не менее с таким же успехом можно распаять TQFP, например Atmega328. С микросхемами BGA я пока еще не сталкивался в макетировании, но думаю вполне можно и под них разработать или купить некий переходник под DIP.
Использование готовых модулей
Использование готовых ардуиновских шилдов зачастую еще сильнее упрощает процесс. Модуль, в основе которого лежит микросхема или датчик, который сложно распаять на плате самому, убирает само понятие пайки. Конечно, при изготовлении прототипа это уже не самый подходящий вариант, но макет собрать и отладить можно намного быстрее. Например, использование гироскопа и акселерометра MPU-6050 в корпусе QFN создаст некие трудности в плане монтажа, но вот готовый модуль паять не надо, достаточно вставить в макетную плату - это громадная экономия времени и сил.
Такими модулями не стоит пренебрегать, я стараюсь использовать их там, где это можно. В том числе и аппаратную платформу Arduino, микроконтроллер Atmega328 можно прошить и без ардуновского загрузчика, используя прошивку, написанную в Atmel Studio, например.
Заключение
В статье я поделился своим опытом, и в заключении хочу сказать, что для создания и отладки устройства изначально использовал самые разные технологии. Самым тяжелым путем было изготовление печатной платы под конкретное устройство и отладка этого устройства на готовой плате. Зачастую в процессе разработки я что-то мог не учесть или где-то ошибиться. Либо же в конце выяснялось, что нужно добавить в устройство новый функционал. В итоге это выливалось в лишние ночи корпения с паяльником над платой, перерезанием существующих дорожек и прокидкой новых дорожек проводами. С переходом на макетные платы я позабыл, что такое запоротая печатка. После отладки, когда схема полностью доработана, можно спокойно разрабатывать печатную плату, распаивать компоненты и наслаждаться сразу же заработавшим прибором.
Если вы используете иные технологии - делитесь ими в комментариях, с удовольствием буду перенимать ваш опыт.
Одним из важных критериев при изготовлении макета является скорость его переделывания. Когда разработчик ошибся или меняются требования к устройству - это устройство нужно переделывать и чем скорее это будет сделано - тем скорее можно будет двигаться дальше.
Технологии макетирования электронных устройств
Условно можно разделить на паечный метод макетирования и безпаечный. В первом стыковка компонентов исполняеться методом пайки, во втором либо монтаж накруткой, либо стыковкой. Для паечного метода есть куча готовых макетных плат, некоторые люди делают макеты даже на картонке. Недостаток такого метода в том, что при переделывании макета приходится довольно много паять, особенно если уже пропаяны дорожки на плате.
Монтаж накруткой столь редкий, что я не буду на нем останавливаться и скажу лишь, что он мало чем отличается от паечного метода.
А вот монтаж стыковкой, когда соединяются либо отдельные модули (ардуиновские шилды, например) либо детали на макетных платах - технология довольно интересная и я последнее время макетирую именно таким способом. Вот пример макета собранного мной устройства.
Про сами платы для макетирования вы можете почитать в моей статье "Паечные и беспаечные макетные платы"
Собирая макет на брэдбоард (так называется беспаечная макетная плата), экономится время на соединении деталей, на пайке и отчасти на трассировке дорожек. Ведь тут все просто - вставил деталь в отверстие и готово. В качестве дорожек зачастую выступают сами детали, например резисторы с длинными ножками. Если же нужно прокинуть дорожку и невозможно сделать это резистором, можно сделать обычным проводом. Для этих плат есть и специальные соединительные провода, но я пользуюсь кусочками обычной витой пары - её диаметр идеален для подобного использования, плюс доступность и дешевизна.
Проблемы макетирования с использованием SMD компонентов
Одной из проблем при изготовлении макета является использование планарных микросхем для поверхностного монтажа. Если SMD резистор с успехом заменяется резистором для сквозного монтажа, то некоторые микросхемы не выпускаются в DIP корпусах. Как же тогда использовать SOP SOIC микросхемы с макетными платами?
Я нашел выход и использую либо переходники с нулевым усилием, либо паечные переходники sop-dip или soic-dip. Фактически это изготовление модуля, шилд для Arduino своими руками на коленке. Вот пример такого модуля с микросхемой mx25l3206e.
Как видите, использовать smd в макетировании вполне реально. На фото представлена микросхема в корпусе sop8, тем не менее с таким же успехом можно распаять TQFP, например Atmega328. С микросхемами BGA я пока еще не сталкивался в макетировании, но думаю вполне можно и под них разработать или купить некий переходник под DIP.
Использование готовых модулей
Использование готовых ардуиновских шилдов зачастую еще сильнее упрощает процесс. Модуль, в основе которого лежит микросхема или датчик, который сложно распаять на плате самому, убирает само понятие пайки. Конечно, при изготовлении прототипа это уже не самый подходящий вариант, но макет собрать и отладить можно намного быстрее. Например, использование гироскопа и акселерометра MPU-6050 в корпусе QFN создаст некие трудности в плане монтажа, но вот готовый модуль паять не надо, достаточно вставить в макетную плату - это громадная экономия времени и сил.
Такими модулями не стоит пренебрегать, я стараюсь использовать их там, где это можно. В том числе и аппаратную платформу Arduino, микроконтроллер Atmega328 можно прошить и без ардуновского загрузчика, используя прошивку, написанную в Atmel Studio, например.
Заключение
В статье я поделился своим опытом, и в заключении хочу сказать, что для создания и отладки устройства изначально использовал самые разные технологии. Самым тяжелым путем было изготовление печатной платы под конкретное устройство и отладка этого устройства на готовой плате. Зачастую в процессе разработки я что-то мог не учесть или где-то ошибиться. Либо же в конце выяснялось, что нужно добавить в устройство новый функционал. В итоге это выливалось в лишние ночи корпения с паяльником над платой, перерезанием существующих дорожек и прокидкой новых дорожек проводами. С переходом на макетные платы я позабыл, что такое запоротая печатка. После отладки, когда схема полностью доработана, можно спокойно разрабатывать печатную плату, распаивать компоненты и наслаждаться сразу же заработавшим прибором.
Если вы используете иные технологии - делитесь ими в комментариях, с удовольствием буду перенимать ваш опыт.
воскресенье, 17 марта 2019 г.
Как паять микросхемы в SOP и SOIC корпусах
Не так давно я опубликовал материал о том, как без паяльной станции выпаять с платы микросхему в SOP корпусе. Теперь хочу дополнить материал и показать как можно одним лишь паяльником припаять микросхему на плату.
Для примера будем использовать всё ту же многострадальную микросхему FLASH-памяти mx25l3206e, которую выпаивали в статье "Как выпаять микросхему в SOP или SOIC корпусе паяльником".
Впаивать её мы будем в переходник SOP-DIP для дальнейшего использования с беспаечными макетными платами. Паять будем обычным "советским" 30-ти ваттным паяльником с плоским обгоревшим медным жалом. Почему такой хардкор? Да у многих начинающих электиронщиков-радиолюбителей другого попросту может и не быть. Конечно, тонким острым жалом с необгораемым наконечником такое паяется лекго, и уж тем более термовоздушной паяльной станцией. Я же хочу показать как с этой операцией можно справиться самым заурядным инструментом.
Итак, переходник. Перед пайкой на него микросхемы мы распаяем на нем гребенку для того, чтоб можно было ставить в макетку. SOP8-DIP8 переходника у меня не оказалось, но когда-то покупал несколько SOP14-DIP14, его и будем использовать. Выглядит он вот так.
Для того, чтоб паять было удобно, саму платку, на которую мы будем паять, нужно хорошо зафиксировать. Я распаяю на нее гребенку, зафиксировав прямо в макетной плате.
С приготовлениями вроде закончили, можно приступать непосредственно к пайке. Первое, что стоит сделать - это залудить дорожки, на которые будем паять. Так как микросхема у нас восьминогая, а переходник на 14 ног, то использовать мы будем не все посадочное место. Лудить будем только используемые дорожки. Для этого на жало паяльника наносим немного припоя и всей плоскостью проходимся по всем дорожкам. Может быть такое, что мы спаяем вместе все дорожки, тогда чистим жало от лишнего припоя, макаем в канифоль и проходимся по спаянному, убирая припой. В итоге получится должно примерно вот так.
Дальше устанавливаем нашу микросхему на подготовленное посадочное место, придерживая пинцетом или отверткой, касаемся уголком жала одной ножки. Вернее, даже не ножки, а припоя, которым мы лудили дорожку. Он должен расплавиться и припаять ножку.
После того, как мы припаяли первую ножку микросхемы, паяем вторую, противоположную по диагонали той, которую мы только что паяли. При пайке микросхема может съезжать с места, её нужно удерживать.
После того, как мы запаяли микросхему с двух сторон по диагонали - она уже никуда не съедет, можно спокойно пропаивать все выводы. Делать это надо аккуратно, стараясь не спаять докучи ноги микросхемы. Для этого на жале должно быть минимум припоя, а касания должны быть не всей плоскостью жала, а лишь уголком и только к залуженной дорожке, а не к ноге микросхемы. Мы плавим припой и он обволакивает собой ногу микросхемы. Убираем паяльник - припой застывает. Нога припаяна. Нужно следить за временем касания - слишком короткое время приведет к непропаю, а слишком длинное - к перегреву.
Проходим по всем ногам, после чего очень внимательно изучаем то, что получилось на предмет качества пайки и отсутствия замыканий. Если всё же спаяли ноги докучи - убираем лишний припой жалом паяльника. Иногда может помочь канифоль, макаем чистое, без припоя, жало паяльника в канифоль, после чего касаемся спаявшихся ног - припой распределяется по ногам-дорожкам и жалу паяльника. В итоге должно получится вот так.
Как видим. даже самым обычным паяльником можно спокойно паять SOP микросхемы. Так же само можно паять и TQFP корпуса, например. Основная сложность при пайке SMD микросхем паяльником заключается в том, чтоб не спаять все в одну кучу.
В итоге у нас получился самодельный модуль для Arduino или STM32 в виде флеш-памяти на 4 мегабайта.
Для примера будем использовать всё ту же многострадальную микросхему FLASH-памяти mx25l3206e, которую выпаивали в статье "Как выпаять микросхему в SOP или SOIC корпусе паяльником".
Впаивать её мы будем в переходник SOP-DIP для дальнейшего использования с беспаечными макетными платами. Паять будем обычным "советским" 30-ти ваттным паяльником с плоским обгоревшим медным жалом. Почему такой хардкор? Да у многих начинающих электиронщиков-радиолюбителей другого попросту может и не быть. Конечно, тонким острым жалом с необгораемым наконечником такое паяется лекго, и уж тем более термовоздушной паяльной станцией. Я же хочу показать как с этой операцией можно справиться самым заурядным инструментом.
Итак, переходник. Перед пайкой на него микросхемы мы распаяем на нем гребенку для того, чтоб можно было ставить в макетку. SOP8-DIP8 переходника у меня не оказалось, но когда-то покупал несколько SOP14-DIP14, его и будем использовать. Выглядит он вот так.
Для того, чтоб паять было удобно, саму платку, на которую мы будем паять, нужно хорошо зафиксировать. Я распаяю на нее гребенку, зафиксировав прямо в макетной плате.
С приготовлениями вроде закончили, можно приступать непосредственно к пайке. Первое, что стоит сделать - это залудить дорожки, на которые будем паять. Так как микросхема у нас восьминогая, а переходник на 14 ног, то использовать мы будем не все посадочное место. Лудить будем только используемые дорожки. Для этого на жало паяльника наносим немного припоя и всей плоскостью проходимся по всем дорожкам. Может быть такое, что мы спаяем вместе все дорожки, тогда чистим жало от лишнего припоя, макаем в канифоль и проходимся по спаянному, убирая припой. В итоге получится должно примерно вот так.
Дальше устанавливаем нашу микросхему на подготовленное посадочное место, придерживая пинцетом или отверткой, касаемся уголком жала одной ножки. Вернее, даже не ножки, а припоя, которым мы лудили дорожку. Он должен расплавиться и припаять ножку.
После того, как мы припаяли первую ножку микросхемы, паяем вторую, противоположную по диагонали той, которую мы только что паяли. При пайке микросхема может съезжать с места, её нужно удерживать.
После того, как мы запаяли микросхему с двух сторон по диагонали - она уже никуда не съедет, можно спокойно пропаивать все выводы. Делать это надо аккуратно, стараясь не спаять докучи ноги микросхемы. Для этого на жале должно быть минимум припоя, а касания должны быть не всей плоскостью жала, а лишь уголком и только к залуженной дорожке, а не к ноге микросхемы. Мы плавим припой и он обволакивает собой ногу микросхемы. Убираем паяльник - припой застывает. Нога припаяна. Нужно следить за временем касания - слишком короткое время приведет к непропаю, а слишком длинное - к перегреву.
Проходим по всем ногам, после чего очень внимательно изучаем то, что получилось на предмет качества пайки и отсутствия замыканий. Если всё же спаяли ноги докучи - убираем лишний припой жалом паяльника. Иногда может помочь канифоль, макаем чистое, без припоя, жало паяльника в канифоль, после чего касаемся спаявшихся ног - припой распределяется по ногам-дорожкам и жалу паяльника. В итоге должно получится вот так.
Как видим. даже самым обычным паяльником можно спокойно паять SOP микросхемы. Так же само можно паять и TQFP корпуса, например. Основная сложность при пайке SMD микросхем паяльником заключается в том, чтоб не спаять все в одну кучу.
В итоге у нас получился самодельный модуль для Arduino или STM32 в виде флеш-памяти на 4 мегабайта.
пятница, 15 марта 2019 г.
Программатор CH341A MinProgrammer описание, драйвера, инструкция
Этот программатор почему-то все называют Mini Programmer, несмотря на то, что надпись на нем все таки иная. Этим грешат даже поисковики.
Даайте посмотрим, что это такое, как установить и как пользоваться.
Вот так выглядит сам программатор. Исполнение довольно качественное, всё пропаяно на совесть.
Описание
В основе программатора лежит микросхема CH341A. Эта микросхема позволяет использовать программатор в качестве обычного USB-UART преобразователя.
Помимо этого, программатор поддерживает SPI, что дает дополнительные возможности, например прошивку AVR-микроконтроллеров.
Так же есть два светодиода, один выступает в роли индикатора питания, второй - индикатор активности линии данных.
На плате установлен стабилизатор питания AM31117 на 3.3 v, что дает возможность питать подключаемые микросхемы этим напряжением. Основным же удобством я считаю наличие ZIF (Zero Insertion Force) разъема для DIP-8 микросхем.
Так же есть контактные площадки для микросхем в sop8 или sop16 корпусах, к которым можно подпаять микросхему или прижать.
Функционал
С помощью MinProgrammer можно считывать, стирать и записывать (прошивать) микросхемы Flash-памяти 25-той серии и EEPROM 24-той серии, 93-тей серии, используя стандартное программное обеспечение. И в вопросе какую память поддерживает программатор уместнее будет делать ставку на программное обеспечение к программатору, а не к железу. Сам программатор - это всего лишь конвертер шин данных.
Стоит помнить о том, что программатор предназначен для работы с микросхемами с питанием 3.3 вольта, если сунуть в него микросхему рассчитанную для работы от 1.8 вольт - она сгорит. Прошить микросхему 1.8 вольт можно с помощью специального адаптера, который покупается отдельно от программатора.
MinProgrammer умеет SPI, I2C и UART. С помощью SPI можно прошивать микроконтроллеры AVR, например, а с помощью UART подключаться к роутерам и прочим девайсам с линией UART на борту. То и другое выведено на гребенки по обеим сторонам ZIF панели. I2C при необходимости придется брать с панельки.
ZIF панелька рассчитана на работу с микросхемами в DIP корпусе, но используя переходник DIP-SOP можно работать с микросхемами в SOP корпусе. Контактные площадки, которые находятся на нижней части программатора, и предназначены для припаивания либо прижимания микросхем, я использовать не рекомендую. В случае прижимания есть риск плохого контакта, в результате которого память может быть прошита или считана неправильно. В случае пайки, если это единичный случай, то в принципе ничего страшного быть не должно кроме риска перегреть и сжечь микросхему, если же паять часто и много - площадки быстро износятся.
Давайте посмотрим зачем нужен джампер возле ZIF панели. Он служит для переключения режима работы программатора, в положении, когда замкнуты контакты 1-2, MinProgrammer работает в режиме программатора SPI и I2C, когда замкнуты контакты 2-3 - в режиме USB TTL UART переходника. Положения джампера можно посмотреть на фото ниже.
Программное обеспечение. Установка и настройка
Первым делом нужно скачать драйвер для CH341A, подключить программатор в USB порт и, дождавшись когда устройство определится системой, установить скачанный драйвер. В Windows сделать это можно через диспетчер устройств, найдя в нем "неизвестное устройство" после подключения программатора. Сам driver CH341A можно легко найти в интернете, но можно скачать и тут, помимо драйвера в архиве так же программа на русском языке.
Драйвер для CH341A и программа для программатора.
Программа для программатора работает без установки, в режиме Portable, может работать и с флешки. На этом установка и основная настройка будет закончена, можно приступать к прошивке.
В операционных системах Linux поддержка микросхемы заложена на уровне ядра, так что ничего устанавливать не надо. Проверял на Debian.
Прошивка микросхем памяти
Аппаратная часть
С микросхемами в дип корпусе все просто - вставляем микросхему в ZIF панельку, следим, чтоб вставили правильной стороной и в нужную часть, на программаторе все нарисовано. Но используются DIP8 микросхемы памяти довольно редко, в основном это планарные микросхемы в корпусах SOP8 или SOIC8. И с ними все не так просто, они есть разной ширины. Стандартные 150mil SOP8 и более широкие 200mil (если быть точным и брать информацию из даташитов - то 208mil).
Давайте разберемся какая разница между 150mil и 200mil. На фото ниже показаны оба вида размеров микросхем, можно наглядно увидеть разницу.
Если брать точные размеры SOP8 корпусов обеих типов в миллиметрах, для 150mil (это размер в дюймах) ширина корпуса без выводов составит 3.9 мм, с выводами - 6 мм. Для 200mil ширина корпуса будет 5.2 мм без выводов и 7.9 мм с выводами. В обоих случаях шаг между выводами 1.27 мм.
Как я уже и говорил, программатор предусматривает прошивку микросхем в корпусах SOP и SOIC, для этого есть площадки к которым можно припаять или прижать микросхему, такое пройдет и для 150 и для 200 mil, но лучше так не делать.
Для обеих типов есть переходники, или адаптеры, с помощью которых можно прошивать микросхемы в sop8 корпусах. Ниже на фото представлены два таких переходника, DIP8-SOP8 150mil и DIP8-SOP8 200mil.
Фото сбоку, видно что одна панелька не очень качественно выполнена и гребенка немного не до конца посажена. Тем не менее, на работоспособности это не сказывается.
Вот так выглядит программатор с переходником DIP8-SOP8 200mil и установленной в него микросхемой mx25l3206e. Джампер в этом случае должен быть установлен в первое положение и замыкать контакты 1-2 на гребенке.
Программная часть
Давайте теперь перейдем к программной части и посмотрим как прошить микросхему на примере вышеупомянутой mx25l3206e. В архиве с драйверами есть файл CH341A_130.exe, в установке он не нуждается, просто запускаем его. Слева вверху выбираем "Поиск Чипа", откроется вот такое окно.
В него пишем название нужной нам микросхемы, в данном случае 25l32, программа предложит нам несколько вариантов, из них выбираем наш mx25l3206e, после чего нажимаем "Выбрать". Слева вверху заполняться поля "Тип", "Имя", а так же объем памяти.
Сверху ищем кнопку "Читать", жмем. Содержимое памяти будет считано и показано в виде HEX-кода. Если память до этого была чистая, то будут только символы F. На считывание микросхемы потребуется некоторое время, около 30-ти секунд в моем случае. Я считывал микросхему с прошивкой роутера, так что память там была заполнена.
Для того, чтоб сохранить считанный дамп памяти, просто жмем кнопку "Сохранить" вверху. Программа предложит выбрать куда сохранить и как подписать файл
Для прошивки микросхемы нужен сам файл прошивки. Слева вверху жмем "Открыть", выбираем нужный файл. После чего либо жмем "Авто", либо сначала жмем "Стирание", ждем окончания процедуры стирания, после чего жмем "Записать чип". Это важно, перед записью прошивки микросхему памяти нужно сначала очистить от старой прошивки. И даже в случае, если она новая, только купленная, лучше перестраховаться и сначала очистить её память.
По такому же алгоритму можно прошивать и другие микросхемы. Например 93с46, только нужно использовать переходник DIP8-SOP8 150mil, я шил микросхему AT93с46 с маркировкой на корпусе atmel552. Стоит только обращать внимание на шину данных, которую использует память. Так же нужно следить за тем, чтоб не вставить микросхему в панельку не той стороной, всегда обращать внимание на ключ.
Полный список поддерживаемых программатором микросхем приводить не буду, так как он очень длинный. На этом с прошивкой микросхем пока закончим и перейдем к микроконтроллерам. Я хотел было описать, как с помощью MinProgrammer прошить Attiny13, но статья и так получилась немаленькая, потому решил вынести эту информацию в отдельную статью, а тут сделать на нее ссылку.
Статья пока пишется, как закончу - на этом месте размещу ссылку.
Даайте посмотрим, что это такое, как установить и как пользоваться.
Вот так выглядит сам программатор. Исполнение довольно качественное, всё пропаяно на совесть.
Помимо этого, программатор поддерживает SPI, что дает дополнительные возможности, например прошивку AVR-микроконтроллеров.
Так же есть два светодиода, один выступает в роли индикатора питания, второй - индикатор активности линии данных.
На плате установлен стабилизатор питания AM31117 на 3.3 v, что дает возможность питать подключаемые микросхемы этим напряжением. Основным же удобством я считаю наличие ZIF (Zero Insertion Force) разъема для DIP-8 микросхем.
Так же есть контактные площадки для микросхем в sop8 или sop16 корпусах, к которым можно подпаять микросхему или прижать.
Стоит помнить о том, что программатор предназначен для работы с микросхемами с питанием 3.3 вольта, если сунуть в него микросхему рассчитанную для работы от 1.8 вольт - она сгорит. Прошить микросхему 1.8 вольт можно с помощью специального адаптера, который покупается отдельно от программатора.
MinProgrammer умеет SPI, I2C и UART. С помощью SPI можно прошивать микроконтроллеры AVR, например, а с помощью UART подключаться к роутерам и прочим девайсам с линией UART на борту. То и другое выведено на гребенки по обеим сторонам ZIF панели. I2C при необходимости придется брать с панельки.
ZIF панелька рассчитана на работу с микросхемами в DIP корпусе, но используя переходник DIP-SOP можно работать с микросхемами в SOP корпусе. Контактные площадки, которые находятся на нижней части программатора, и предназначены для припаивания либо прижимания микросхем, я использовать не рекомендую. В случае прижимания есть риск плохого контакта, в результате которого память может быть прошита или считана неправильно. В случае пайки, если это единичный случай, то в принципе ничего страшного быть не должно кроме риска перегреть и сжечь микросхему, если же паять часто и много - площадки быстро износятся.
Давайте посмотрим зачем нужен джампер возле ZIF панели. Он служит для переключения режима работы программатора, в положении, когда замкнуты контакты 1-2, MinProgrammer работает в режиме программатора SPI и I2C, когда замкнуты контакты 2-3 - в режиме USB TTL UART переходника. Положения джампера можно посмотреть на фото ниже.
Драйвер для CH341A и программа для программатора.
Программа для программатора работает без установки, в режиме Portable, может работать и с флешки. На этом установка и основная настройка будет закончена, можно приступать к прошивке.
В операционных системах Linux поддержка микросхемы заложена на уровне ядра, так что ничего устанавливать не надо. Проверял на Debian.
С микросхемами в дип корпусе все просто - вставляем микросхему в ZIF панельку, следим, чтоб вставили правильной стороной и в нужную часть, на программаторе все нарисовано. Но используются DIP8 микросхемы памяти довольно редко, в основном это планарные микросхемы в корпусах SOP8 или SOIC8. И с ними все не так просто, они есть разной ширины. Стандартные 150mil SOP8 и более широкие 200mil (если быть точным и брать информацию из даташитов - то 208mil).
Давайте разберемся какая разница между 150mil и 200mil. На фото ниже показаны оба вида размеров микросхем, можно наглядно увидеть разницу.
Если брать точные размеры SOP8 корпусов обеих типов в миллиметрах, для 150mil (это размер в дюймах) ширина корпуса без выводов составит 3.9 мм, с выводами - 6 мм. Для 200mil ширина корпуса будет 5.2 мм без выводов и 7.9 мм с выводами. В обоих случаях шаг между выводами 1.27 мм.
Как я уже и говорил, программатор предусматривает прошивку микросхем в корпусах SOP и SOIC, для этого есть площадки к которым можно припаять или прижать микросхему, такое пройдет и для 150 и для 200 mil, но лучше так не делать.
Для обеих типов есть переходники, или адаптеры, с помощью которых можно прошивать микросхемы в sop8 корпусах. Ниже на фото представлены два таких переходника, DIP8-SOP8 150mil и DIP8-SOP8 200mil.
Фото сбоку, видно что одна панелька не очень качественно выполнена и гребенка немного не до конца посажена. Тем не менее, на работоспособности это не сказывается.
Вот так выглядит программатор с переходником DIP8-SOP8 200mil и установленной в него микросхемой mx25l3206e. Джампер в этом случае должен быть установлен в первое положение и замыкать контакты 1-2 на гребенке.
Программная часть
Давайте теперь перейдем к программной части и посмотрим как прошить микросхему на примере вышеупомянутой mx25l3206e. В архиве с драйверами есть файл CH341A_130.exe, в установке он не нуждается, просто запускаем его. Слева вверху выбираем "Поиск Чипа", откроется вот такое окно.
В него пишем название нужной нам микросхемы, в данном случае 25l32, программа предложит нам несколько вариантов, из них выбираем наш mx25l3206e, после чего нажимаем "Выбрать". Слева вверху заполняться поля "Тип", "Имя", а так же объем памяти.
Сверху ищем кнопку "Читать", жмем. Содержимое памяти будет считано и показано в виде HEX-кода. Если память до этого была чистая, то будут только символы F. На считывание микросхемы потребуется некоторое время, около 30-ти секунд в моем случае. Я считывал микросхему с прошивкой роутера, так что память там была заполнена.
Для того, чтоб сохранить считанный дамп памяти, просто жмем кнопку "Сохранить" вверху. Программа предложит выбрать куда сохранить и как подписать файл
Для прошивки микросхемы нужен сам файл прошивки. Слева вверху жмем "Открыть", выбираем нужный файл. После чего либо жмем "Авто", либо сначала жмем "Стирание", ждем окончания процедуры стирания, после чего жмем "Записать чип". Это важно, перед записью прошивки микросхему памяти нужно сначала очистить от старой прошивки. И даже в случае, если она новая, только купленная, лучше перестраховаться и сначала очистить её память.
По такому же алгоритму можно прошивать и другие микросхемы. Например 93с46, только нужно использовать переходник DIP8-SOP8 150mil, я шил микросхему AT93с46 с маркировкой на корпусе atmel552. Стоит только обращать внимание на шину данных, которую использует память. Так же нужно следить за тем, чтоб не вставить микросхему в панельку не той стороной, всегда обращать внимание на ключ.
Полный список поддерживаемых программатором микросхем приводить не буду, так как он очень длинный. На этом с прошивкой микросхем пока закончим и перейдем к микроконтроллерам. Я хотел было описать, как с помощью MinProgrammer прошить Attiny13, но статья и так получилась немаленькая, потому решил вынести эту информацию в отдельную статью, а тут сделать на нее ссылку.
Статья пока пишется, как закончу - на этом месте размещу ссылку.
воскресенье, 10 марта 2019 г.
Как выпаять микросхему в SOP или SOIC корпусе паяльником
Выпайка SMD компонентов обычным паяльником возможна, я сейчас опишу демонтаж микросхемы в корпусе SOP8 при помощи обычного 30-ти ваттного паяльника. Более того, целью выпайки есть не просто убрать ненужный на плате компонент, а выпаять микросхему живой и невредимой.
В качестве донора - убитый грозой роутер Edimax br-6228nc, из него выпаяем Flash-память для дальнейшего использования.
Инструмент. Отдельного внимания заслуживает пинцет, которым мы будем пользоваться - он должен быть качественным. Я пользуюсь 150-ти миллиметровым анатомическим медицинским пинцетом, с поперечными насечками на рабочей части губок. Паяльник самый обычный 30-ти ваттный, температура жала - 340 градусов. Заточка жала плоская, острым жалом паять будет неудобно. Немаловажно так же наличие низкотемпературного припоя. Сплав Розе - это конечно будет уже слишком, но ПОС-40 с температурой плавления 240 градусов будет лучше, чем ПОС-10 с температурой 300 градусов.
Принцип.Технология выпайки заключается в одновременном прогреве ног с одной стороны микросхемы и легким поднятием прогретой стороны. Как я и говорил, флешка с роутера нам нужна рабочая, это немного усложняет демонтаж. Выпаять надо так, чтоб не перегреть микросхему и не погнуть ей ноги. Ситуацию немного упрощает то, что в данном случае я не буду обращать внимание на состояние донора, так как он уже труп.
Процесс. Для начала накладываем припой поочередно на обе стороны микросхемы. Припой не жалеем, но и перебарщивать не стоит. должно получится как-то вот так.
Наша задача прогреть одну сторону микросхемы, быстро перенести паяльник на вторую сторону и, прогревая, немножко приподнять пинцетом ту сторону, которую греем. Пока мы переносим паяльник и прогреваем вторую сторону - первая не должна успеть затвердеть. Так же стоит постоянно контролировать усилие, с которым тянем вверх пинцетом микросхему - надо тянуть так, чтоб не погнуть ей ножки. В итоге должно получится вот так.
Как видим, сторона справа немножко приподнята над платой. Пока припой не застыл, очень быстро переносим паяльник на вторую сторону, прогревая, тянем микросхему вверх, контролируя усилие и стараясь не погнуть и не поломать ей ноги.
За счет того, что припой с обратной стороны еще мягкий, микросхема должна легко подняться над платой.
Как видим, осталось только отпаять вторую сторону и микросхема выпаяна. Делается это одним легким касанием паяльника одновременно с оттяжкой микросхемы вверх.
Фото получилось некачественным за счет того, сто сделано в движении - припой расплавился и микросхему уже ничего не удерживало.
Как видим, таким образом можно легко выпаивать SMD микросхемы без паяльной станции одним лишь паяльником.
После того, как выпаяем, на ногах микросхемы может остаться припой. Как правило остается его немого.
Но может быть такое, что припоем будут спаяны все ноги, это тоже не проблема. При такой технологии выпайки это норма. Припой уберем легким касанием жала паяльника. Перед этим жало следует очистить от излишков припоя.
После очистки ног от остатков припоя микросхему нужно проверить на работоспособность. Я выпаял флеш-память mx25l3206e с роутера, который пострадал от удара грозы, тем не менее, микросхема полностью рабочая, данные читаются и пишутся.
Заключение. Мы узнали как выпаять микросхему без паяльной станции, обычным паяльником. Хоть выпаивали мы sop-8 - таким же методом можно выпаивать и микросхемы с большим количеством ног. Как видим, для того, чтоб выпаять, нам не понадобилась ни паяльная станция, ни термофен.
Полезные советы. Хочу подчеркнуть несколько нюансов. Когда выпаиваешь компонент, вокруг которого куча резисторов и конденсаторов в SMD исполнении - скорей всего зацепишь их паяльником. Я всегда стараюсь выпаивать нужные детали из того, что не жалко выбросить. Если дело обстоит наоборот и надо просто убрать сгоревшую микросхему - то демонтаж следует проводить немного по другому.
При отсутствии нормального пинцета можно воспользоваться отверткой, слегка подковыривая микросхему снизу. Недостаток такого способа в том, что отвертка не отводит от микросхемы лишнее тепло, как то делает пинцет.
Припой, как я и говорил, должен быть низкотемпературным. За счет этого мы уменьшаем время прогрева, что снижает риск сжечь микросхему перегревом при пайке.
И еще одно, для того чтоб выпаять smd-микросхему паяльником, жало паяльника должно прогревать одновременно все ноги на одной из сторон микросхемы.
Время прогрева не должно быть большим, в идеале это одна-две секунды на одну сторону микросхемы. Для этого жало паяльника должно быть плоским, чтоб греть всю нужную зону одновременно, и иметь достаточную температуру для быстрого плавления припоя.
Сама рабочая зона должна быть удобной и позволять быстро переложить паяльник из одной руки во вторую, а это значит, что кабель питания паяльника должен располагаться не справа, а спереди, дабы не мешался при пайке.
На этом, пожалуй, я закончу свой урок пайки микросхем. Как и для любого другого дела, тут важны не только знания, но и опыт. Чем больше вы будете паять, тем легче вам будет даваться пайка. Так что если с первого раза ничего не вышло, не отчаивайтесь и пробуйте еще.
В качестве донора - убитый грозой роутер Edimax br-6228nc, из него выпаяем Flash-память для дальнейшего использования.
Инструмент. Отдельного внимания заслуживает пинцет, которым мы будем пользоваться - он должен быть качественным. Я пользуюсь 150-ти миллиметровым анатомическим медицинским пинцетом, с поперечными насечками на рабочей части губок. Паяльник самый обычный 30-ти ваттный, температура жала - 340 градусов. Заточка жала плоская, острым жалом паять будет неудобно. Немаловажно так же наличие низкотемпературного припоя. Сплав Розе - это конечно будет уже слишком, но ПОС-40 с температурой плавления 240 градусов будет лучше, чем ПОС-10 с температурой 300 градусов.
Принцип.Технология выпайки заключается в одновременном прогреве ног с одной стороны микросхемы и легким поднятием прогретой стороны. Как я и говорил, флешка с роутера нам нужна рабочая, это немного усложняет демонтаж. Выпаять надо так, чтоб не перегреть микросхему и не погнуть ей ноги. Ситуацию немного упрощает то, что в данном случае я не буду обращать внимание на состояние донора, так как он уже труп.
Процесс. Для начала накладываем припой поочередно на обе стороны микросхемы. Припой не жалеем, но и перебарщивать не стоит. должно получится как-то вот так.
Наша задача прогреть одну сторону микросхемы, быстро перенести паяльник на вторую сторону и, прогревая, немножко приподнять пинцетом ту сторону, которую греем. Пока мы переносим паяльник и прогреваем вторую сторону - первая не должна успеть затвердеть. Так же стоит постоянно контролировать усилие, с которым тянем вверх пинцетом микросхему - надо тянуть так, чтоб не погнуть ей ножки. В итоге должно получится вот так.
Как видим, сторона справа немножко приподнята над платой. Пока припой не застыл, очень быстро переносим паяльник на вторую сторону, прогревая, тянем микросхему вверх, контролируя усилие и стараясь не погнуть и не поломать ей ноги.
За счет того, что припой с обратной стороны еще мягкий, микросхема должна легко подняться над платой.
Как видим, осталось только отпаять вторую сторону и микросхема выпаяна. Делается это одним легким касанием паяльника одновременно с оттяжкой микросхемы вверх.
Фото получилось некачественным за счет того, сто сделано в движении - припой расплавился и микросхему уже ничего не удерживало.
Как видим, таким образом можно легко выпаивать SMD микросхемы без паяльной станции одним лишь паяльником.
После того, как выпаяем, на ногах микросхемы может остаться припой. Как правило остается его немого.
Но может быть такое, что припоем будут спаяны все ноги, это тоже не проблема. При такой технологии выпайки это норма. Припой уберем легким касанием жала паяльника. Перед этим жало следует очистить от излишков припоя.
После очистки ног от остатков припоя микросхему нужно проверить на работоспособность. Я выпаял флеш-память mx25l3206e с роутера, который пострадал от удара грозы, тем не менее, микросхема полностью рабочая, данные читаются и пишутся.
Заключение. Мы узнали как выпаять микросхему без паяльной станции, обычным паяльником. Хоть выпаивали мы sop-8 - таким же методом можно выпаивать и микросхемы с большим количеством ног. Как видим, для того, чтоб выпаять, нам не понадобилась ни паяльная станция, ни термофен.
Полезные советы. Хочу подчеркнуть несколько нюансов. Когда выпаиваешь компонент, вокруг которого куча резисторов и конденсаторов в SMD исполнении - скорей всего зацепишь их паяльником. Я всегда стараюсь выпаивать нужные детали из того, что не жалко выбросить. Если дело обстоит наоборот и надо просто убрать сгоревшую микросхему - то демонтаж следует проводить немного по другому.
При отсутствии нормального пинцета можно воспользоваться отверткой, слегка подковыривая микросхему снизу. Недостаток такого способа в том, что отвертка не отводит от микросхемы лишнее тепло, как то делает пинцет.
Припой, как я и говорил, должен быть низкотемпературным. За счет этого мы уменьшаем время прогрева, что снижает риск сжечь микросхему перегревом при пайке.
И еще одно, для того чтоб выпаять smd-микросхему паяльником, жало паяльника должно прогревать одновременно все ноги на одной из сторон микросхемы.
Время прогрева не должно быть большим, в идеале это одна-две секунды на одну сторону микросхемы. Для этого жало паяльника должно быть плоским, чтоб греть всю нужную зону одновременно, и иметь достаточную температуру для быстрого плавления припоя.
Сама рабочая зона должна быть удобной и позволять быстро переложить паяльник из одной руки во вторую, а это значит, что кабель питания паяльника должен располагаться не справа, а спереди, дабы не мешался при пайке.
На этом, пожалуй, я закончу свой урок пайки микросхем. Как и для любого другого дела, тут важны не только знания, но и опыт. Чем больше вы будете паять, тем легче вам будет даваться пайка. Так что если с первого раза ничего не вышло, не отчаивайтесь и пробуйте еще.
Подписаться на:
Сообщения (Atom)