AVR toolchain своими руками

Автор Nikita Nazarenko
Опубликовано 13 Янв 2010 
Рубрики: AVR. Учебный курс
Метки: ,

DI HALT:
В догонку к прошлому посту про AVR Studio в Linux досылаю и про сборку avr-libc там же. Вынесено из комментов к предыдущему посту. Спасибо Dark SavanT

Если есть возможность поставить готовый тулчейн из пакета, лучше воспользоваться ей.
преимущество самосборного в том, что все что надо, лежит там где сказано и не засоряет /usr/*. Но тут мы теряем автоматические обновления из пакетов. Короче, думайте сами, решайте сами.

Поехали!
В минимальной комплектации нам понадобятся:

для того, чтобы это все безобразие собралось, нужен установленный в системе gcc, bash, awk, binutils, libc, может что-то еще забыл.
Читать полностью

Комментариев (20)

Ключ от всех дверей. Эмулятор ключей от домофона.

Автор Dlinyj
Опубликовано 10 Янв 2010 
Рубрики: Начинающим
Метки: , ,

Ты потерял ключи от домофона и не можешь сделать дубликат. Хочешь ходить в гости к подруге, но у тебя нет ключей от её подъезда. Либо просто тебе нужно подосрать твоему недругу, но ты не можешь попасть к нему в дом, тогда эта статья для тебя.

Пара слов о принципе работы…
Бытует мнение, что в таблетках от домофона находится магнит, и он открывает дверь. Нет, это не так. Таблетка представляет собой ПЗУ, с жёстко зашитым в ней ключом. Называется это ПЗУ - Touch Memory, марки DS1990A. DS1990A - это и есть марка домофонных ключей. Общается с домофоном по шине one-wire (однопроводной интерфейс). Эта шина разработана фирмой Dallas и позволяет общаться двум устройствам всего по одному проводу. Если устройство пассивное (как в нашем случае), то оно ещё и передаёт ему питание по этому проводу. Надо ещё заметить, что необходим ещё общий провод (чтобы цепь замыкалась), но, как правило, все земли устройств подключённых к этой шине соединены воедино. В ключе находится конденсатор на 60 пикофарад, который обеспечивает кратковременное питание ключа на момент ответа. Но ведущее устройство должно постоянно (не реже чем в раз 120 микросекунд) генерировать сигнал единицы, для зарядки этого конденсатора, чтобы ПЗУ в таблетке продолжало питаться.

Потроха таблетки. Как видно, никаких магнитов там нет!
Читать полностью

Комментариев (141)

AVR. Учебный Курс. Программирование на Си. Работа с памятью, адреса и указатели

Автор DI HALT
Опубликовано 09 Янв 2010 
Рубрики: AVR. Учебный курс
Метки: , , ,

Указатель. Один из самых мутных для понимания и в то же время совершенно необходимый инструмент любого языка программирования. Вызывает массу вопросов и непонимания на начальном этапе обучения.

Итак, начну по порядку.
Инфа, любая инфа (команды, данные) лежит в памяти по ячейкам. У каждой ячейки есть порядковый номер — адрес.

Мы можем напрямую сказать процессору — возьми данные из ячейки с адресом 0xA0 и положи его в ячейку с адресом 0×11. Это будет прямая адресация. Здесь адреса 0xA0 и 0×11 содержатся напрямую в машинном коде. Это очень быстро, просто и не требует никаких дополнительных телодвижений. Один минус — адреса 0xA0 и 0×11 нельзя изменить, как мы их впишем в код, так они там и останутся.

Но может быть и другой способ. Когда у нас есть еще две ячейки памяти. Например, А и Б в которые мы предварительно положим числа 0xA0 и 0×11 соответственно. И тогда предыдущая операция будет выглядеть так.

Возьми число из ячейки адрес который лежит в А и положи в ячейку адрес которой узнаешь из Б.

Результат тот же, но возникло множество дополнительных телодвижений. Во первых положить первоначальные адреса 0xA0 и 0×11 в ячейки А и Б. Потом, при совершеннии операции, используая данные ячеек А и Б как адреса, взять уже оттуда нужные нам данные и совершить обмен.

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

А один и тот же кусок кода становится универсальным. Он может работать с любыми данными адреса которых нам укажут переменные А и Б.

А сами эти переменные и будут указателями.
Читать полностью

Комментариев (105)

3D LED глобус

Автор _riko_
Опубликовано 24 Дек 2009 
Рубрики: Готовые устройства
Метки: ,

12 years ago….
Давным давно… в далёкой галактике….. ))) Ну… в общем не так уж и давно, всего-то лет 12 назад, жил был мальчик, в небольшом БАМовском посёлке :) Все нормальные мальчишки в его возрасте, интересовались девченками и сигаретами :) но он напротив - целыми днями просиживал дома, за куренем журнала ЮТ или “Техника Молодежи”…. Рос не особым батаном, но и разгильдяем уж таким тоже не был.. в общем так… нормальный, поселковый сорванец :)

И его всегда интересовали всякие там игрушки (механические, с электроприводом естественно ), руки так и чесались у него что-нить раскурочить - авось что-нить вкусненького найду? Так вот…. Попалось ему на глаза, в одной передаче (по моему “спокойной ночи малыши”) одна интересная весч…Там был показан концепт типа - “планета с бегущей строкой вокруг неё”

Мальчик был потрясён до глубины души! Ещё бы! Это же почти голограмма!!! Живое воплощение любимых фантастических фильмов в стиле Звёздных войн!

Итак, была поставлена цель — сотворить такую же штуку любыми, доступными уму и телу, способами :) И вот что в итоге вышло Читать полностью

Комментариев (228)

AVR. Учебный Курс. Программирование на Си. Атомарные операции.

Автор DI HALT
Опубликовано 20 Дек 2009 
Рубрики: AVR. Учебный курс
Метки: , , ,

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

Сейчас я одним маленьким примерчиком это утверждение зарою в землю, а сверху накрою могильной плитой.

Итак, есть у нас такой код (не ищите в нем практического смысла, я его просто как пример работы с разными операндами написал):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
volatile char flag_byte; 	
/*Просто флаговая переменная, на разные случаи жизни. Разные события там 
выставляют флажки, опираясь на которые потом работает логика программы. 
Один из способов организации псевдомногозадачности. Когда у нас главный цикл 
анализирует флажки и делает переходы на подпрограммы, а вызов подпрограмм 
осуществляется не напрямую, а установкой соответствющих флажков. Своего 
рода диспетчер переходов. О такой архитектуре я скоро расскажу)*/
 
ISR (USART_RXC_vect)	// Обработчик прерывания, самый обычный.
{
flag_byte|=1<<rcv_buff;
...
...
}
 
int main (void)		// Главная программа
{
INIT_ALL();
SEI();
...
...
...
TCCR0A  	|=1<<WGM01;
...
flag_byte 	|=1<<options;
...
PORTB 	&=~(2<<1);
...
}

Читать полностью

Комментариев (70)

Использование осциллографа. Видео урок.

Автор DI HALT
Опубликовано 11 Дек 2009 
Рубрики: Начинающим
Метки: ,

В нагрузку к статье про использование осциллографа снял видео урок.


И часть вторая, про использование Читать полностью

Комментариев (122)

Мистер ремонт

Автор DI HALT
Опубликовано 06 Дек 2009 
Рубрики: Новости
Метки: ,

Сдохла тут у меня стиральная машина. Вятка Автомат 16, если кто еще помнит этот гроб. Лет 16 проработала отлично, а тут ее переклинило. Судя по симптомам накрылся командоаппарат.

Если кто не в курсе, то командоаппарат это пра-пра-дедушка микроконтроллеров. Маленький моторчик через редуктор крутит вал с выступами, а он замыкает или размыкает контакты. Электромеханическая шарманка.

Система надежная, дубовая, но не вечная — сдохли контактные группы в шарманке, мелодия стирки прервалась. Погуглил и нарыл циклограмму программы стирки для Вятки-16 где буквально посекундно было расписано когда и какой контакт замыкается. Чтож, где наша не пропадала!

Все просто, мега8, несколько буфферов ULN2003 и десяток релюшек, а также пультик с индикатором и парой кнопок. За вечер, под пиво, была собрана вот такая конструкция:

Читать полностью

Комментариев (140)

Скоростной AVR USB программатор на FT232RL без вспомогательного контроллера

Автор DI HALT
Опубликовано 02 Дек 2009 
Рубрики: Готовые устройства
Метки: , ,

При работе с микроконтроллерами важнейшим девайсом являетя программатор, именно он может залить в МК нашу программу. Он же часто становится камнем преткновения на пути освоения AVR.

Дело в том, что для работы простейшего программатора, не требующего в своем составе микроконтроллера, нужен компьютер с COM или LPT портом, причем желательно с частотой процессора не выше гигагерца-двух. Да операционную систему подревней - WinXP или Win2K. А это ныне редкость.

С другой стороны, для USB программаторов нужно предварительно прошить контроллер. А чем его прошить? Вот тут и возникает проблема курицы и яйца — как прошить контроллер программатора не имея программатора.

Не так давно появилось решение позволяющее сделать надежный и быстрый USB программатор AVR на базе тупой, непрограммируемой, логики.

Bitbang, что это такое и с чем его едят
Это не что иное как прямое управление выводами какого либо порта. В COM порт можно отправить байт через какой либо высокоупровневый API и он просто выйдет через линию TX потоком стандартого RS232 сигнала.
А можно достучаться напрямую до регистров отвечающих за состоянием каждого пина порта и дрыгая их как нам угодно сэмулировать через тот же COM порт не только RS232, но и SPI, I2C или Dallas 1-wire, HD44780 протокол, применив простейший тупой обвяз. Это и будет битбанг.

В старых программаторах вроде SiProg (PonyProg) или в схеме Громова так и было сделано с COM портом. И работало надежно и стабильно. Но, увы, СОМ порт ушел в небытье, а при попытке сделать то же самое с виртуальным COM портом на конвертере USB-RS232 ничего не получалось. Т.к. заточен он был все же на работу нормального COM порта, а для битбанга приходилось извращаться. В результате такие схемы либо не работали вовсе, либо работали ОЧЕНЬ медленно, прошивая контроллер за час-полтора, что ни в какие ворота не лезет.

Все изменилось с появлением микросхемы конвертера USB-UART FT232R у которой стал доступен битбанг режим не через виртуальный COM порт, а напрямую через драйвер FTDI. И вот тут наступила нирвана.

В результате, из одной только FTDI получается первоклассный скоростной программатор, прошивающий 16кб прошивки за 10-12 секунд и это вместе с верификацией!!!

А из деталей надо ТОЛЬКО микросхему FT232RL, два конденсатора на 0.1uF и гнездо USB. ВСЕ! Ну и проводочки естественно.

Схема включения получается следующей:

Читать полностью

Комментариев (730)

Самодельный USB микроскоп

Автор Elementus
Опубликовано 25 Ноя 2009 
Рубрики: Инструмент
Метки: , ,

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

Комментариев (42)

Партнерство с магазином инструмента Masteram

Автор DI HALT
Опубликовано 24 Ноя 2009 
Рубрики: Новости
Метки:

После поста про паяльную станцию, видимо увидев поток посетителей, магазин Masteram предложил партнерство.

Контора приличная, тем более я там лично затаривался и все всегда было нормально, да и мне дополнительная копейка с сайта лишней не будет :) В общем, теперь если я буду приводить примеры какого либо оборудования, то буду ссылаться на их каталог, благо там есть что повыбирать. Также на сайте в комментариях и форуме теперь будут обитать их техники-консультанты, так что вопросы можно будет им задавать.

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

Да, чуть не забыл. Работают они по России и Украине без проблем. Насчет Беларуси и стран прибалтики не в курсе, ну, а Казахстану, ИМХО, Китая под боком более чем достаточно :)))))

UPD:
О скидках. Пока мы еще не подняли автоматическую авторизацию пользователя с моего сайта, поэтому при заказае сами сообщайте менеджеру в письме о том, что пришли с easyelectronics.ru. Думаю через неделю-две все доведем до автоматики. Размер скидки около 5%, в зависимости от товара (на дешевый стафф, вроде ручного инструмента, скидка побольше, на дорогой, вроде осциллографов, поменьше, но примерно где то так)

Комментариев (123)

Звуковая карта в качестве генератора

Автор Dlinyj
Опубликовано 22 Ноя 2009 
Рубрики: Радиолюбительские Технологии
Метки: , ,

DI HALT:
Метод извратский, честно говоря, я бы быстрей собрал на R2R генератор сигнала нужной формы. Но бывает, что то одного нет, то другого, а вот завалявшееся комповое барахло есть почти всегда.

Disclaimer:
Сразу хочу предупредить, что варварские манипуляции с компом сразу же накрывают меховым органом гарантию на железо, а при малом радиусе кривизны рук — комп целиком или важными частями. Если сомневаетесь в твердости руки и своих возможностях, то лучше соберите франкенштейна из хлама чисто для опытов.

Мне нужно было отладить одно устройство на AVR микроконтроллере. Точнее сказать приём данных с АЦП. При сигнал этих данных должен быть ультранизкой частоты, порядка 1 Гц. Как ни странно, получить сигнал такой частоты штатными средствами достаточно сложно. Звуковая карта по выходу имеет фильтры, которые не позволяет пробиться столь низкочастотному сигналу. По сему было предпринято решение модернизировать звуковую карту.

Чтобы не рисковать, было решено реализовать это на внешней звуковой карте. Но данный опыт справедлив и для встроенных звуковых карт, но он достоин джедаев.

На молотке была куплена звуковая карта Sound Blaster Live. После беглого просмотра, стало понятно, что разобраться в схемотехнике 4-х слойной платы без хорошей травы нельзя. Но достаточно очевидно, что все выходные и входные аналоговые сигналы сначала идут на ОУ, а потом уже в ЦАП/АЦП. Ну ОУ нагуглиcь быстро. Затем я обратил внимание на микросхему, в которую ориентировочно приходят все сигналы. Она была вторая по величине. Я вбил маркировку в гугл, и о чудо! Нашёлся даташит!
Читать полностью

Комментариев (84)

Паяльная станция Pro’sKit SS-217

Автор DI HALT
Опубликовано 18 Ноя 2009 
Рубрики: Инструмент
Метки: , , ,

Решил сменить станцию. Критерии были такие:

Вначале ориенитировался на продукцию фирмы GOOT — довелось мне их щупать, отличные японские агрегаты за вменяемые деньги. Например 80ти ваттная GOOT PX-501 стоит где то 2.5тысячи, обалденный агрегат.

Определился, но тут же уперся в сроки. В наличии в России их не было, а ждать месяца другого мне не хотелось. Поэтому подумал, прикинул и решил взять Pro’sKit SS-217. В принципе, можно было и аналоговую 216ю модель взять, она дешевле, но чет мне захотелось фтыкать в красивые циферки на морде :)

Заказал, дождался… вот оно! Итак что же за радость на меня свалилась:
Читать полностью

Комментариев (180)

AVR. Учебный Курс. Программирование на Си. Часть 4

Автор DI HALT
Опубликовано 14 Ноя 2009 
Рубрики: AVR. Учебный курс
Метки: , , ,

Теперь глянем на нашу программу, скомпилим, прошьем, поглядим как выполняется.

Зашиваю все через AVR Prog в Pinboard и смотрю на поведение LED1 и LED2.

LED1 мигает как и задумано, но стоит мне попытаться зажечь LED2 отправкой с терминала “1″, как первый диод гаснет. И наоборот - зажженый диод LED2 гаснет вместе с первым. Бага! Причем жирная такая. Рассмотрим откуда она взялась.

Вот код мигания первым диодом:

1
2
3
4
LED_PORT=1<<LED1;
_delay_ms(1000);
LED_PORT=0<<LED1; 
_delay_ms(1000);

А вот код работы с вторым диодом:

1
2
3
4
5
6
switch(UDR)
	{
	case '1': LED_PORT = 1<<LED2; break;
	case '0': LED_PORT = 0<<LED2; break;
	default: break;
	}

Как видишь, тут мы пишем в один и тот же порт, но вот только биты разные. Но нельзя вот так просто через операцию “=” изменить один бит! (только если мы используем битовые поля, о них я расскажу позже). Так что операция идет с целым байтом, и в LED_PORT поочередно записывается число 00100000 (1<<LED2) и 00010000 (1<<LED1), перезаписывая друг друга. Поэтому когда происходит запись одного значения мы теряем прердыдущее. А 0<<LED2 это по факту просто 0, потому что как ноль по байту не двигай нулем он и останется .

Особенно часто эта ошибка всплывает у начинающих когда они пытаются инициализировать периферию не всю сразу, а по мере надобности. Включил, например, прерывания от таймера 1, а когда активизировал таймер 2, то затер биты таймера1. Как итог — результат не соответствует ожиданиям.

Как быть? Тут нам помогут битовые маски. Помнишь логические операции AND/OR/NOT/XOR?
Читать полностью

Комментариев (74)

AVR. Учебный Курс. Программирование на Си. Часть 3

Автор DI HALT
Опубликовано 12 Ноя 2009 
Рубрики: AVR. Учебный курс
Метки: , ,

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

Что такое прерывание?
Прерывание это аппаратное событие, например, байт пришел в порт, на выводе изменился логический уровень, АЦП обсчитала напряжение или таймер дотикал до переполнения. В общем, любой аппаратный сигнал. Когда сигнал приходит, то периферийный блок в своем регистре поднимет флаг прерывания.

Когда приходит прерывание то контроллер завершит текущую команду (машинную инструкцию!) сразу же кинется выполнять процедуру обработки прерывания, а как выполнит, то вернется к прерваной фоновой программе.

Прерывания можно, а часто необходимо запрещать, чтобы посреди критичного участка не ускакать выполнять невесть что. Запрещать их можно глобально, флагом I в регистре SREG, а можно локально — запрещая источник каждого прерывания индивидуально. По дефолту, при сбросе, все прерывания от устройств запрещены, глобальный флаг тоже сброшен. Включем мы их по мере надобности.

Поскольку прерывание приходит ВНЕЗАПНО, а у нас могут быть несохраненные данные, то обработчик их должен сохранить и при выходе в фоновую программу вернуть все как было.

Впрочем, если бездумно подходить к этому делу, то можно огрести адские хаотичные глюки. Особенно при использовании высокоуровневых языков вроде Си, где вся эта процедура скрыта от глаз программиста и если он не волокет в асме и не понимает работу контроллера на уровне машинных инструкций, то ошибку найти не сможет. Но об этом чуть позже, когда буду расписывать отладку и ошибки.
Читать полностью

Комментариев (73)

AVR. Учебный Курс. Программирование на Си. Часть 2.

Автор DI HALT
Опубликовано 04 Ноя 2009 
Рубрики: AVR. Учебный курс
Метки: , , ,

Вторая часть марлезонского балета, точнее введения в программирование на Си под микроконтроллеры.

Структура программы
Ну вот, МК у тебя уже кое что сделал. И хоть внешне ничего не видно, но внутри у него произошли изменения - передатчик стал готов к работе! Пора выдавать очередную порцию информации. Касательно того как вообще пишется программа для МК, не обязательно на Си. На чем угодно.

Компоновка любой программы такая:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Фунцкции 
 {
 }
 
Прерывания
 {
 }
 
main()
{
инициализация;
 
 Главный БЕСКОНЕЧНЫЙ цикл.
   {
    собственно программа 
   }
}

Читать полностью

Комментариев (150)

AVR. Учебный Курс. Программирование на Си. Часть 1

Автор DI HALT
Опубликовано 03 Ноя 2009 
Рубрики: AVR. Учебный курс
Метки: , ,

Я не раз и не два говорил, что изучение МК надо начинать с ассемблера. Этому был посвящен целый курс на сайте (правда он не очень последовательный, но постепенно я его причесываю до адекватного вида) . Да, это сложно, результат будет не в первый день, но зато ты научишься понимать что происходит у тебя в контроллере. Будешь знать как это работает, а не по обезьяньий копировать чужие исходники и пытаться понять почему оно вдруг перестало работать. Кроме того, Си намного проще натворить быдлокода, который вылезет вилами в самый неподходящий момент.

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

С другой стороны у Си сильная сторона это переносимость кода. Если, конечно, писать все правильно. Разделяя алгоритмы работы и их железные реализации в разные части проекта. Тогда для переноса алгоритма в другой МК достаточно будет переписать только интерфейсный слой, где прописано все обращение к железу, а весь рабочий код оставить как есть. И, конечно же, читаемость. Сишный исходник проще понять с первого взгляда (хотя.. мне, например, уже пофигу на что фтыкать - хоть си, хоть асм :) ), но, опять же, если правильно все написать. Этим моментам я тоже буду уделять внимание.

В качестве подопытной железки на которой будет ставиться львинная доля всех примеров будет моя отладочная плата PinBoard.

Дальше все будет разжевано буквально по шагам для старта с полного нуля. Читать полностью

Комментариев (143)

Робоконструктор POP-BOT

Автор DI HALT
Опубликовано 01 Ноя 2009 
Рубрики: Робототехника
Метки: , ,

Снова Элемент порадовал новым робоконструктором. Опять от Innovative Experiments. На этот раз это POP-BOT.

Выглядит почти точно также как и MICROCAMP и шасси сходное, а вот начинка несколько иная. Читать полностью

Комментариев (100)

Конденсаторное питание

Автор DI HALT
Опубликовано 25 Окт 2009 
Рубрики: Готовые устройства, Начинающим
Метки: ,

Что то часто меня стали спрашивать как подключить микроконтроллер или какую низковольтную схему напрямую в 220 не используя трансформатор. Желание вполне очевидное — трансформатор, пусть даже и импульсный, весьма громоздок. И запихать его, например, в схему управления люстрой размещенной прям в выключателе не получится при всем желании. Разве что нишу в стене выдолбить, но это же не наш метод!

Тем не менее простое и очень компактное решение есть — это делитель на конденсаторе.

Правда конденсаторные блоки питания не имеют развязки от сети, поэтому если вдруг в нем что нибудь перегорит, или пойдет не так, то он запросто может долбануть тебя током, или сжечь твою квартиру, ну а комп угробить это вообще за милое дело, в общем технику безопасности тут надо чтить как никогда - она расписана в конце статьи. В общем, если я тебя не убедил что бестрансформаторные блоки питания это зло — то сам себе злой Буратино, я тут не причем. Ну ладно, ближе к теме.

Помните обычный резистивный делитель?

Казалось бы, в чем проблема, выбрал нужные номиналы и получил искомое напряжение. Потом выпрямил и Profit. Но не все так просто — такой делитель может и сможет дать нужное напряжение, но вот совершенно не даст нужный ток. Т.к. сопротивления сильно велики. А если сопротивления пропорционально уменьшать, то через них насквозь пойдет большой ток, что при напряжении в 220 вольт даст очень большие тепловые потери — резисторы будут греть как печка и в итоге либо выйдут из строя, либо пожар устроят.

Все меняется если один из резисторов заменить на конденсатор. Суть в чем — как вы помните из статьи про конденсаторы, напряжение и ток на конденсаторе не совпадают по фазе. Т.е. когда напряжение в максимуме — ток минимален, и наоборот.

Так как у нас напряжение переменное, то конденсатор будет постоянно разряжаться и заряжаться, а особенность разряда-заряда конденсатора в том, что когда у него максимальный ток (в момент заряда), то минимальное напряжение и наборот. Когда он уже зарядился и напруга на нем максимальная, то ток равен нулю. Соответственно, при таком раскладе, мощность тепловых потерь, выделяемая на конденсаторе (P=U*I) будет минимальной. Т.е. он даже не вспотеет. Читать полностью

Комментариев (148)

Пайка планарных микросхем самодельной микроволной

Автор DI HALT
Опубликовано 21 Окт 2009 
Рубрики: Инструмент, Радиолюбительские Технологии
Метки: , , , , ,

Есть такой промышленный метод пайки — волновой. В двух словах это выглядит примерно так: Плата с воткнутыми в нее деталями стоит над баком с расплавленным припоем. Близко от поверхности, но не касаясь ее. По поверхности расплава проходит волна и омывает выводы, одновременно их запаивая. Получается очень красиво и технологично. Причем на выводах остается ровно столько припоя сколько надо.

Весь фокус в силе поверхностного натяжения и смачиваемости. Припой смачивает контакты, но не смачивает паяльную маску (спец лак такой которым покрыто все кроме участков пайки - та самая “зеленка”). В местах контакта выводов и дорожек зазоры и радиусы малы и силы поверхностного натяжения захыватывают и не отпускают припой, а излишки уходят вместе с волной.

Тот же принцип, но локально используется в жале типа “Микроволна”. Идея в том, что запас припоя удерживается в канале жала силами поверхностного натяжения и так просто жало его не отдаст. Но между ножкой и площадкой зазор в десятые доли миллиметра, а значит сила поверхностного натяжения там гораздо выше и припой буквально засасывает туда. Излишки же припоя, которым не за что держаться, втягиваются обратно в жало теми же силами натяжения. Просто как все гениальное.

Красными кружочками я отметил участки где остается припой.

Жало микроволна это одна из козырных фишек навороченных паяльных станций вроде Ersa Digital 2000. Стоит такое жало около 2тыр, а сама станция тянет на все 10 если не больше.

Я решил поступить хитрей — взял стандартное жало типа “усеченный цилиндр” для станции ZD-929C которая стоит недорого и довольно популярна.
Читать полностью

Комментариев (61)

Мотор-редукторы IE-BO2-120M и IE-BO2-48M

Автор DI HALT
Опубликовано 19 Окт 2009 
Рубрики: Робототехника
Метки: , ,

Фирма Inex Global кроме робоконструкторов барыжит еще и прикольными мотор-редукторами. Теми самыми, что стоят в Robopica и Microcamp. В Челябинск их периодически таскает Элемент. Я прикупил парочку на пробу, есть у меня одна задумка на их счет, но об этом несколько позже ;)

Пока же расскажу о самом движке. Бывают они двух моделей IE-BO2-120M и IE-BO2-48M, отличаются друг от друга передаточным отношением редуктора 1:120 и 1:48.

Больше ничем, отличить 120 от 48 визуально можно только по цвету кожуха. У 120 кожух черного цвета, у 48го белый. У меня сейчас в наличии только два 48ых.
Читать полностью

Комментариев (77)

← ПозжеРаньше →


Материалы сайта являются авторскими. Копирование и публикация материалов без активной ссылки на первоисточник запрещено.

Реклама: