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

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


electronics

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
electronics [2015/09/15 15:49]
Ruslan Popov [Активные компоненты]
electronics [2019/03/07 13:32] (текущий)
Ruslan Popov [Шорткаты]
Строка 1: Строка 1:
 ====== Электроника ====== ====== Электроника ======
  
-===== ЛУТ ​=====+===== Eagle =====
  
-==== Изготовление двухсторонней платы ====+==== Шорткаты ==== 
 + 
 +=== Схема === 
 + 
 +  * ''​Cmd-M''​ - перемещение (''​move''​) 
 +  * ''​Cmd-C''​ - копирование (''​copy''​) 
 +  * ''​Cmd-Shift-M''​ - зеркалирование (''​mirror''​) 
 +  * ''​Cmd-Shift-R''​ - вращение (''​rotate''​) 
 +  * ''​Cmd-I''​ - провод (''​wire''​) 
 +  * ''​Cmd-J''​ - соединение (''​junction''​) 
 +  * ''​Cmd-G''​ - группировка (''​group''​) 
 +  * ''​Cmd-L''​ - метка (''​label''​) 
 +  * ''​Cmd-Shift-N''​ - назначить имя (''​name''​) 
 +  * ''​Cmd-Shift-V''​ - назначить значение (''​value''​) 
 +  * ''​Cmd-D''​ - удаление (''​delete''​) 
 + 
 +<​file>​ 
 +Sch.Key.A+F2 = "​Window fit" 
 +Sch.Key.F2 = "​Window;"​ 
 +Sch.Key.F3 = "​Window 2" 
 +Sch.Key.F4 = "​Window 0.5" 
 +Sch.Key.F5 = "​Window (@);"​ 
 +Sch.Key.F6 = "​Grid;"​ 
 +Sch.Key.M+C = "​Copy"​ 
 +Sch.Key.M+D = "​Delete"​ 
 +Sch.Key.M+I = "​Wire"​ 
 +Sch.Key.M+J = "​Junction"​ 
 +Sch.Key.M+M = "​Move"​ 
 +Sch.Key.SM+M = "​Mirror"​ 
 +Sch.Key.SM+R = "​Rotate"​ 
 +</​file>​ 
 + 
 +=== Плата === 
 + 
 +  * ''​Alt-0''​ - показать только элементы верхнего слоя 
 +  * ''​Ctrl-0''​ - показать только элементы нижнего слоя 
 +  * ''​Alt-Ctrl-0''​ - показать элементы всех слоёв 
 +  * ''​Alt-9''​ - показать размещение элементов на плате 
 +  * ''​Ctrl-9''​ - показать контуры платы 
 +  * ''​Cmd-M''​ - перемещение (''​move''​) 
 +  * ''​Cmd-C''​ - копирование (''​copy''​) 
 +  * ''​Cmd-Shift-M''​ - зеркалирование (''​mirror''​) 
 +  * ''​Cmd-Shift-R''​ - вращение (''​rotate''​) 
 +  * ''​Cmd-R''​ - соединение (''​route''​) 
 +  * ''​Cmd-U''​ - рассоединение (''​ripup''​) 
 +  * ''​Cmd-G''​ - группировка (''​group''​) 
 +  * ''​Cmd-D''​ - удаление (''​delete''​) 
 +  * ''​F2''​ - окно (''​window''​) 
 +  * ''​Alt-F2''​ - уместить в окно (''​window fit''​) 
 +  * ''​F3''​ - приблизить (''​window 2''​) 
 +  * ''​F4''​ - отдалить (''​window 0.5''​) 
 +  * ''​F5''​ - отцентровать окно по текущему положению курсора (''​window(@)''​) 
 +  * ''​F6''​ - включить и выключить сетку (''​grid''​) 
 +  * ''​Alt-F6''​ - сетка в миллиметрах 0.25 4, альтернатива 0.1 
 +  * ''​Ctrl-F6''​ - сетка в дюймах 0.01 5, альтернатива 0.005 
 + 
 +<​file>​ 
 +Brd.Key.A+0 = "​Display none; Display 1 17 18 19 20 21 23 25 27 39 45 51;" 
 +Brd.Key.A+9 = "​Display none; Display 20 21 23 25 27 31 45 51;" 
 +Brd.Key.A+F2 = "​Window fit" 
 +Brd.Key.A+F6 = "Grid mm 0.25 4 on; Grid alt mm 0.1" 
 +Brd.Key.AC+0 = "​Display none; Display 1 16 17 18 19 20 21 22 23 24 25 26 27 28 39 40 45 51 52;" 
 +Brd.Key.C+0 = "​Display none; Display 16 17 18 19 20 22 24 26 28 40 45 52;" 
 +Brd.Key.C+9 = "​Display none; Display 20 22 24 26 28 32 45 52;" 
 +Brd.Key.C+F6 = "Grid inch 0.01 5 on; Grid alt inch 0.005"​ 
 +Brd.Key.F2 = "​Window;"​ 
 +Brd.Key.F3 = "​Window 2" 
 +Brd.Key.F4 = "​Window 0.5" 
 +Brd.Key.F5 = "​Window (@);"​ 
 +Brd.Key.F6 = "​Grid;"​ 
 +Brd.Key.M+C = "​Copy"​ 
 +Brd.Key.M+D = "​Delete"​ 
 +Brd.Key.M+M = "​Move"​ 
 +Brd.Key.M+R = "​Route"​ 
 +Brd.Key.M+U = "​Ripup"​ 
 +Brd.Key.SM+M = "​Mirror"​ 
 +Brd.Key.SM+R = "​Rotate"​ 
 +</​file>​ 
 +==== ULP ==== 
 + 
 +Однажды я осознал,​ что менять свойства подписи для сотен компонентов - однозначно не задача человека. Речь идёт про надписи типа R25, R92 и аналогичные. Следовательно,​ надо заставить компьютер работать. Был быстро изучен язык ULP, он оказался похож на обычный C. Самым сложным оказалось понять,​ как именно пользоваться этим языком,​ данная тема является отдельным колдунством. После этого, стало всё просто. Быстренько накидал GUI для скрипта,​ немного повозился с конвертацией между системами измерений и в конце приправил всё это возможностью расставлять надписи по текущей сетке. Нажатие клавиши,​ несколько секунд мигания на экране и я получаю результат,​ на который бы потратил часы. 
 + 
 +{{ :​ulp-normalize-component-texts.png?​1000 |}} 
 + 
 +[[https://​gist.github.com/​RaD/​8175866|normalize-names.ulp]] на GitHub. 
 + 
 +===== Изготовление двухсторонней платы ​===== 
 + 
 +==== Подготовка отпечатков ​====
  
 Сначала печатаем заднюю сторону платы (синюю). Для этого выключаем все слои кроме ''​Bottom'',​ ''​Vias''​ и ''​Pads''​. Печатаем с параметрами:​ Сначала печатаем заднюю сторону платы (синюю). Для этого выключаем все слои кроме ''​Bottom'',​ ''​Vias''​ и ''​Pads''​. Печатаем с параметрами:​
Строка 15: Строка 103:
   * Options: Mirror, Black & Solid   * Options: Mirror, Black & Solid
  
-Травим в [[https://vk.com/wall4838181_587|лимонной кислоте]].+==== Перенос отпечатка на плату ==== 
 + 
 +Три части ацетона,​ 8 частей спирта. Спирт — изопропил,​ безводный который. С другим не пробовал. Отмерять достаточно точно, если много ацетона — поплывёт,​ если мало — может не перенестись. Я прям в шприц набирал. 1.5 и 4 кубика соответственно. 
 + 
 +А дальше ТЩАТЕЛЬНО обезжириваем текстолит и бумагу с отпечатком. 
 + 
 +Прямо шприцом льём смесь на текстолит,​ чтобы она его покрыла,​ размазываю пальцем (в латексных перчатках работал,​ чтобы жир не попал). И в эту лужу шлёпаем отпечаток. Стараемся не сдвигать. Как только он промок полностью — слегка прижимаем сверху. Слегка! :) И равномерно. Я той же перчаткой «раскатывал». 
 + 
 +И всё, ждём, пока жидкость высохнет. Там около 4-5 минут получалось. 
 + 
 +Дальше — под кран бумагу с текстолитом,​ еле-еле тёплой водой отмачиваю. Ножом предварительно бумагу слегка царапал,​ чтобы лучше проникало. 
 + 
 +И всё, бумага смывается,​ отпечаток остаётся. 
 + 
 +Бумага была Lomond 130 DS Glossy, для цветных лазерников. 
 +И да, здесь уже подложка от самоклейки не пойдёт. 
 + 
 +==== Травление платы в перекиси водорода ==== 
 + 
 +По мотивам http://radiokot.ru/lab/​hardwork/​62/​ решил освоить метод травления плат в перекиси водорода. 
 + 
 +{{ :​electronics:​limon-etching-1.jpg?​direct ​|}} 
 + 
 +На всякий случай дублирую рецепт здесь: 100 мл 3% перекиси водорода из аптеки надо смешать с 30 гр лимонной кислоты и добавить туда 5 гр (столовая ложка) поваренной солиРаствора должно хватить для травления 100 см2 меди, толщиной 35мкм. 
 + 
 +Результат травления после лужения:​ 
 + 
 +{{ :​electronics:​limon-etching-2.jpg?​direct |}} 
  
 ===== Микроконтроллёры ===== ===== Микроконтроллёры =====
Строка 52: Строка 168:
  
 [[http://​ucexperiment.wordpress.com/​2012/​02/​09/​mixing-c-and-assembly-in-avr-gcc-and-avr-studio-4/​|Подробности по передаче аргументов в ассемблерную часть кода из Си]] [[http://​ucexperiment.wordpress.com/​2012/​02/​09/​mixing-c-and-assembly-in-avr-gcc-and-avr-studio-4/​|Подробности по передаче аргументов в ассемблерную часть кода из Си]]
 +
 +=== Прошивка ===
 +
 +Для прошивки я использую программатор [[http://​pcb.ucoz.ru/​|AVRISP-MKII]] отечественного производства и команду:​
 +
 +    avrdude -p attiny13 -c avrispmkII -P usb ...
 +
 +
 ==== 8051 ==== ==== 8051 ====
  
Строка 59: Строка 183:
   * [[http://​www.keil.com/​support/​man/​docs/​is51/​is51_opcodes.htm|Опкоды]]   * [[http://​www.keil.com/​support/​man/​docs/​is51/​is51_opcodes.htm|Опкоды]]
   * [[http://​share.auditory.ru/​2013/​Oleg.Valuev/​Study/​8%20semestr/​%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D1%8B%D0%B5%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B/​%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D1%8B%20%D1%81%D0%B5%D1%80%D0%B8%D0%B8%208051.%20%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D0%BF%D0%BE%D0%B4%D1%85%D0%BE%D0%B4.pdf|Магда - Микроконтроллёры 8051: Практический подход]]   * [[http://​share.auditory.ru/​2013/​Oleg.Valuev/​Study/​8%20semestr/​%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D1%8B%D0%B5%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B/​%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D1%8B%20%D1%81%D0%B5%D1%80%D0%B8%D0%B8%208051.%20%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D0%BF%D0%BE%D0%B4%D1%85%D0%BE%D0%B4.pdf|Магда - Микроконтроллёры 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...
 +
  
 ===== Распиновка ===== ===== Распиновка =====
electronics.1442321395.txt.gz · Последние изменения: 2015/09/15 15:49 — Ruslan Popov