Инструменты пользователя

Инструменты сайта


electronics

Электроника

Eagle

ULP

Однажды я осознал, что менять свойства подписи для сотен компонентов - однозначно не задача человека. Речь идёт про надписи типа R25, R92 и аналогичные. Следовательно, надо заставить компьютер работать. Был быстро изучен язык ULP, он оказался похож на обычный C. Самым сложным оказалось понять, как именно пользоваться этим языком, данная тема является отдельным колдунством. После этого, стало всё просто. Быстренько накидал GUI для скрипта, немного повозился с конвертацией между системами измерений и в конце приправил всё это возможностью расставлять надписи по текущей сетке. Нажатие клавиши, несколько секунд мигания на экране и я получаю результат, на который бы потратил часы.

normalize-names.ulp на GitHub.

Изготовление двухсторонней платы

Подготовка отпечатков

Сначала печатаем заднюю сторону платы (синюю). Для этого выключаем все слои кроме Bottom, Vias и Pads. Печатаем с параметрами:

  • Scale factor: 1
  • Options: Black & Solid

Затем печатаем переднюю сторону платы (красную). Для этого выключаем все слои кроме Top, Vias и Pads. Печатаем с параметрами:

  • Scale factor: 1
  • Options: Mirror, Black & Solid

Перенос отпечатка на плату

Три части ацетона, 8 частей спирта. Спирт — изопропил, безводный который. С другим не пробовал. Отмерять достаточно точно, если много ацетона — поплывёт, если мало — может не перенестись. Я прям в шприц набирал. 1.5 и 4 кубика соответственно.

А дальше ТЩАТЕЛЬНО обезжириваем текстолит и бумагу с отпечатком.

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

И всё, ждём, пока жидкость высохнет. Там около 4-5 минут получалось.

Дальше — под кран бумагу с текстолитом, еле-еле тёплой водой отмачиваю. Ножом предварительно бумагу слегка царапал, чтобы лучше проникало.

И всё, бумага смывается, отпечаток остаётся.

Бумага была Lomond 130 DS Glossy, для цветных лазерников. И да, здесь уже подложка от самоклейки не пойдёт.

Травление платы в перекиси водорода

По мотивам http://radiokot.ru/lab/hardwork/62/ решил освоить метод травления плат в перекиси водорода.

На всякий случай дублирую рецепт здесь: 100 мл 3% перекиси водорода из аптеки надо смешать с 30 гр лимонной кислоты и добавить туда 5 гр (столовая ложка) поваренной соли. Раствора должно хватить для травления 100 см2 меди, толщиной 35мкм.

Результат травления после лужения:

Микроконтроллёры

AVR

Генератор фьюзов, Полезный FAQ

Программирование на Си:

Примеры:

  • Расчёт таймера. Допустим, через фьюзы мы выставили частоту 4.8МГц и CLDIV8, получается F_CPU равна 600кГц. Подбираем делитель таймера, например 64, и таймер будет тикать с частотой 9375Гц. Чтобы заставить срабатывать таймер 50 раз в секунду надо разделить частоту таймера на частоту срабатывания таймера: 9375/50 = 187. Помним, что таймер считает своё значение вверх. Поэтому в таймер надо будет загружать разницу 255-187 = 68.
    def timer(f_cpu, prescaler, hz): return f_cpu / (2.0 * prescaler * hz) - 1

Ассемблер

Ассемблерные вставки
Передача аргументов

Аргументы выделяются слева направо, т.е. по очереди, начиная с регистра R25 до регистра R8. Все аргументы выравниваются так, чтобы начинаться с чётного регистра (все аргументы подобные char, выравниваются с помощью пустого регистра перед ними). Например, 8-ми и 16-ти битные значения будут переданы через регистры R25:R24 и R23:R22, причём R25 будет содержать нуль. 32-х битное значение будет передано через регистры R25:R24:R23:R22.

Если требуется передать такое количество аргументов, которое не влезает в диапазон регистров R25-R8, то остаток передаётся через стек.

Возвращаемые значения передаются аналогичным способом. 8-ми битное значение передаётся через R24, 16-ти битное значение через R25:R24, 32-х битное значение через R25:R24:R23:R22. 8-ми битное значение будет расширено до 16 битного.

Подробности по передаче аргументов в ассемблерную часть кода из Си

Прошивка

Для прошивки я использую программатор AVRISP-MKII отечественного производства и команду:

  avrdude -p attiny13 -c avrispmkII -P usb ...

8051

STM32

Отладка

После сборки платы на процессорах STM32F10x корректность работы чипа можно проверить с помощью SWD. Для его работы требуется наличие питание на ногах питания процессора, наличие контакта с выводах SWDIO/SWCLK и наличие питания на выводе VDDA. После этого запускаем stlink и получаем такой вывод:

  alias stlink='st-util -v1 -1 -p 3333'
  
  $ stlink
  Chip ID is 20036410, Core ID is  1ba01477.
  KARL - should read back as 0x03, not 60 02 00 00
  init watchpoints
  Listening at *:3333...

Распиновка

Модули

Активные компоненты

NPN и N-тип открываются высоким уровнем на базе и затворе, соответственно.

PNP и P-тип открываются низким уровнем на базе и затворе, соответственно.

Полевые транзисторы

Базовые знания:

Пример управления нагрузкой с помощью полевика с ноги микроконтроллёра:

Пример H-моста с применением N- и P- полевиков:

Пассивные компоненты

Резисторы

  • Номинальная мощность, Вт: 0.05 Вт (0201), 0.062 Вт (0402), 0.1 Вт (0603), 0.125 Вт (0805), 0.25 Вт (1206), 0.75 Вт (2010), 1,0 Вт (2512);
  • Рабочее напряжение, В: 12 В (0201), 50 В (0402, 0603), 150 В (0805), 200 В (1206, 2010, 2512);
  • Максимально допустимое напряжение, В: 50 В (0201), 100 В (0402, 0603), 200 В (0805), 400 В (1206, 2010, 2512).

Полезное

electronics.txt · Последние изменения: 2017/02/15 09:23 — Ruslan Popov