вторник, 21 февраля 2012 г.

Старый мобильник-для дистанционного управления

Способ подходит для управления не очень важными и ответственными процессами. Скажем, запустить насос ещё до того как вы приехали на дачу, пусть наливает бочки. Или открыть клапан от общей магистрали-с той же целью. Много можно придумать, а мне нужно было открыть ворота когда приехал кто-нибудь у кого нет ключей. Чуть позже я сделаю домофон, неохота тянуть зимой провода а прямой видимости нет. Таким образом, по звонку тех кто у ворот я выбираю в телефонной книге запись "Ворота" и звоню.

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

1)Разбираем телефон
2)Вытаскиваем вибромотор а туда где он был припаиваем провода. Например МГТФ-0,03 , но обычно вибромотор на задней стенке корпуса и там-то можно выполнить отверстие через которое и вытащить наружу эти провода.
3) Собираем схему питания телефона, например так:

  Можно собрать по другому, но этот блок при предельной простоте обеспечивает уверенное питание телефона и при отключении сети 220В. Это очень важно если телефон будет управлять нагрузкой питаемой от того же акумулятора. Я использовал старый аккумулятор от шуруповёрта 12В 1,2а*ч. Таким образом телефон, если на него никто не звонит потребляет в среднем десятки миллиампер, и даже что-то остаётся на зарядку батареи.
Батарея заряжается в безопасном для неё режиме очень малым током.
Собственно, если вам оно надо совсем ненадолго-можно исключить из схемы всё что левее аккумулятора.

4) Подключаем (посредством пайки)  к контактам  где была батарея телефона этот блок питания, соблюдая полярность. 

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

1)"К телефону"- это означает контакт вибромотора где появляется "+". Можно определить подключив туда вольтметр.
Само собой, общий провод этой схемы, в т.ч. исток VT2 должен быть соединён с "-" схемы питания телефона.
 2)"К источнику" -это к "+" описанной выше схемы или от чего вы будете питать, можно ведь и просто от аккумулятора.
3)"К нагрузке" -это может быть маломощная нагрузка, постоянного тока потому что питаться она должна опять-таки от "+" того же источника из верхней схемы.Но это может быть Реле. А это меняет дело.

В общем, схемка простая и обеспечивает питание чего-либо пока идёт вызов+ещё немного. Это самое "немного" зависит от номиналов C1 , R4 .
Применять эту схему без изменений можно только если вам доподлинно известно что ваш телефон не будет сигналить вибровызовом никак иначе кроме как когда на него звонят. Иначе управлять чем-то может оператор, прислав sms. Или ещё кто-нибудь. Как с этим бороться?
Можно сделать так чтобы на короткие сигналы схема не реагировала. Для этого нужно увеличить R3 и C1 и ещё можно применить транзистор с высоким пороговым напряжением, например КП737А.
Тогда короткий вибросигнал о sms не сможет зарядить до нужного уровня C1 и со временем этот запас энергии будет рассеян R4. Ну а если скажем секунд 5 вызывать то схема сработает как надо.

понедельник, 20 февраля 2012 г.

Программирование AVR из Geany

Итак,  небольшой и несуразный рассказ как настроить редактор  Geany для работы с компилятором Avra и программатором avrdude. Помимо этого используется система make
А о отладке, симуляции полноценных IDE и навороченных кодовых комбайнах и взглядах на это дело -не в этот раз.

Geany лучше сразу подложить файл с правильной подсветкой синтаксиса, если вы ещё не создали свой вариант.
Сразу отметим, существуют мелкие особенности совместимости компиляторов с компилятором от Atmel:

 Так, Avra версии 1.3.0 уже  переваривает такие штуки как #pragma  спокойно. В принципе, можно сделать/скачать правильные  заголовочные файлы и использовать более старую версию Avra. И не будет надоедливых строк типа:   tn13def.inc(54) : PRAGMA directives currently ignored


Теперь можно создать проект в Geany.
Затем в настройках выбираем: Сборка- Установить команды сборки
Выскочит вот такая штука:


Достаточно написать следующие команды (названия произвольные):

 "Скомпилировать"  make compile FILE=%eLE=%e
 "Прошить"               make program FILE=%e
 "Очистить"              make clean FILE=%e
 "Взвесить"               make size   FILE=%e

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

Файл выглядит так:

# Makefile for programming AVR in Geany
#Параметры проекта:

MK=t13
LFuse=0x7A
HFuse=0xFF

# Более глобальные переменные.
ASM=/usr/bin/avra
ISP=/usr/bin/avrdude
INCLUDEDIR=/usr/share/avra/

compile:
    $(ASM) -I $(INCLUDEDIR) -l $(FILE) $(FILE).asm
program : $(FILE).hex
    $(ISP) -c stk200 -p $(MK)  -U flash:w:$(FILE).hex:i -U lfuse:w:$(LFuse):m -U hfuse:w:$(HFuse):m
clean:
    rm -f $(FILE).cof $(FILE).eep.hex $(FILE).hex $(FILE).obj *~
size:
    avr-size  $(FILE).hex
Вот и всё, теперь кодим, затем в голове  запускаем процесс отладчика.
Выставляем свой МК и fuse.
Жмём "Компилировать" -"Взвесить" - "Прошить".
Для этого ещё есть кнопки, например F8 компилировать и F9 прошить.
То есть, если мы дальше хотим работать с другой конфигурацией и контроллером, например Atmega8  то редактируем три строчки в начале файла.
Таким образом можно настроить и работу с другими компиляторами, например gavrasm и другими программаторами и семействами МК.
Между прочим, всё вышеописанное работает в самых различных операционных системах.

суббота, 28 января 2012 г.

О программах

Для работы и для жизни я уже пять лет использую Linux , дистрибутив Debian. Мне нравиться быстрый доступ к программам через репозитарий, лёгкое управление системой возможность редактировать любые параметры, высокое быстродействие. Отсутствие необходимости держать антивирус, постоянно сталкиваться с "кряками", серийниками , прочими проблемами- это неслыханное удовольствие для человека знакомого с противоположной картиной.

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

Программы приведённые ниже имеются и в windows- версии.

Для моделирования я использую программу Qucs
Выглядит это примерно так :




Примеры и руководство помимо сайта проекта  можно найти тут

Для черчения схем и разработки плат я использую программу KiCAD
Она умеет всё что мне нужно, а также то что мне не нужно- автотрассировка, экспорт для автотрассировки в том числе и посредством FreeRouter-а.
Присутствует 3D-вид компонентов и готовой платы. Для создания и редактирования 3D-моделей используется Wings3D

  В сети есть учебники и примеры , вообще информации уже достаточно много. Проблема с библиотеками -это общая проблема всех САПР, в частности когда-то меня заставляли работать в OrCAD и точно так же- для каждого проекта создавать библиотеки самому.
Помимо KiCAD существуют Eagle и DipTrace , последняя работает в Linux посредством wine.
Только что нашёл интересную информацию по экспорту из Qucs в KiCAD

Насчёт программирования МК тут всё интереснее.

Для семейства PIC существует Piklab

(Опять утащил скриншот с сайта проекта)


Для avr есть kontrollerlab
Правда я обхожусь зачастую таким решением как редактор (Geany) + компилятор (avra/avrgcc) + avrdude. Бывало, запускал под wine монстростудию.
AVRDUDE можно рассмотреть чуть подробнее , но GUI-морд и  информации в сети предостаточно, даже тут есть пост

Aurdino я не увлекался но существует для этого полноценная IDE так и называется.
Для 8051 есть отличная mcu8051ide , я ей часто пользовался но программатора у меня нету.
Она позволяет виртуально подключить к МК семисегментные индикаторы, например.

В данный момент осваиваю MSP430 ввиду приобретения набора Launchpad и сравнительно низкой цены на неплохие в целом МК.
В связи с этим несмотря на софт от TI , основанный на Eclipse  попытаюсь использовать что-то вроде связки mspgcc+CodeBlocks думаю и для  AVR тоже перейти на подобную среду.


четверг, 26 января 2012 г.

О деталях

Сейчас я расскажу о том, почему тут будут преобладать советские детали, о сложившемся у автора блога отношении к этому и вообще...
Итак, обо всём по порядку.

Обычно в интернете есть люди заявляющие бездоказательно всякую чушь, например :
о, К140УД7 это аналог 741 вроде с коррекцией но это туфта она не работает
 У К142 защита не работает вовсе, применяйте LM317
irf 630 это транзисторы  с заоблачными для отечественной промышленности параметрами, аналогов у них нет
 Это вместо того чтобы проверить и действительно отчитаться вот видео- показания приборов, несколько наглядных экспериментов...так нет же! Можно просто ляпнуть, привести зарубежный аналог и за умного сойдёшь.

 Мне абсолютно неинтересны рассказы как копировали и с какой ИМС копировали ту или иную советскую микросхему. Китайцы до сих пор этим занимаются и все пользуются - зато у Китая есть электронная промышленность и мы её поддерживаем а у России нету и чем дальше тем хуже...Всё рушится буквально при жизни. Каких то пять-десять лет- и всё, полный бардак, никакого контроля, никакого качества, никакого производства. Погибают целые отрасли, а теперь ещё и за ВПК взялись.
Живут ещё как-то Брянск, Калуга, Зеленоград....Интегралу вообще повезло.
Ну, я всё равно уверен что всё будет хорошо - только потому что есть ещё люди которые хотят что-то производить а не чтобы сырьё-торговля-обслуга...

Таким образом я применяю импортные компоненты когда есть смысл и необходимость, когда от них действительно есть толк, когда раздобыть что-то иное труднее.
Ещё одна причина- у меня есть несколько тысяч отечественных микросхем и сотни транзисторов, сотни стабилитронов и диодов, некоторые прочие запасы. С чего бы я стал покупать их аналоги? Ну понадобиться мне МК или какой-то особый ОУ , специализированная микросхема- нет проблем.

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


1) Аналоги импортных полевых транзисторов существуют. В моих запасах они отсутствовали потому я приобрёл irf840 и получил хороший разогрев. В ходе экспериментов был сделан вывод что это скорее всего подделка, процессы открывания-закрывания затянуты.
 КП707 на их месте вели себя куда лучше.
С низковольтными (до 50в) я имел дело с десятками КП723 - полёт нормальный 0,028 Ом  в открытом состоянии. Есть и  срабатывающие по логическому уровню.

Если нужно добиться очень малых потерь а новые высоковольтные "моссфеты"  с ультранизким сопротивлением типа STY112N65M5  (650в 0,022 Ом >1000р) или IGBT  "кусаются" да и рисковать с такими ценами неохота- смело применяйте БСИТ.  КП953А ведёт себя превосходно, (0,05 Ом , 850в  50р )
 Правда ток управления не очень мал но это уже мелочи. Всё-таки 15 ампер вы получите без проблем.  А например irf462 при стоимости 200р  ещё и почти на порядок сильнее греется.


2) Защита в КР142 работает. Вообще-то серия давно устарела , если вам нужно на 100ma что-то типа 78L05 -возьмите  1157ЕН5 или там сколько вам нужно. Обозначение КФ вместо КР (К) означает что сверлить ничего не нужно, готовьтесь к поверхностному монтажу.
Таким образом помимо 142-й серии у нас давно есть 1157, 1158, 1290, и ещё много-много в том числе и импульсных стабилизаторов. Как раз 1158 c малым падением напряжения или как там по ихнему "low drop"
Только надо понимать что на самом деле всё зависит от тока и разницы напряжений, если вы из 30в  хотите получить 5в при токе 1А тут уже особой разницы не почувствуете с малым падением стабилизатор или с большим.

 Я тут возможно дополнять буду а сейчас расскажу  кто меня заставил это всё написать.
Это самый обыкновенный KBU на котором есть ещё цифра "810".
Будучи установлен на радиатор  он поработал на чисто активную нагрузку при токе 0,1 А  две минуты и затем ведущие к нему провода МГШВ мгновенно и с мощной вспышкой испарились, как раз когда я склонился над платой со щупами...
До этого бывали случаи с KBPC 204 вплоть до взрыва но чтобы так...
Да, конечно не помешает УЗО и может, разделительный трансформатор, но это когда на рабочем месте.

Тем не менее, мне нужно то было от него 100-150ma!
Теперь на такие случаи больше надежды на КЦ405, если нужно чуть больше чем 0,5 А то КЦ409. Если что то и  4*КД257  Если ещё больше то видимо 4*Д247Б.
Как выяснилось, существуют и наши сборки с напряжением до 600В и  током до 2,5 и до  10 А!  Это КЦ 417, КЦ419. Думаю, тут не
врут по допустимому току- для наших сборок такого же размеру что KBPC и подобные указан меньший номинальный ток.

А эти всякие KBPC видимо привозят не с того завода- ведь в БП ноутбуков такие как они всё-таки работают. А как купишь новый мост на 4А так он при 0,5A  уже греется до 90 градусов как будто это как раз КЦ405 на пределе. Говорят, пусть греется-так это надо корпус тугоплавкий тогда. Реально расплываются корпуса от жару. Понаделают а потом говорят "глобальное потепление" ! Я вообще подозревал что там резисторы помимо диодов.

Вообще китайцы как-бы интересные вещи делают. Все их детали следует расшифровывать так: номинальная мощность=пиковая. Поэтому следует делать запас по параметрам в 1,5 раза , не менее.

п.с. Вопреки некоторым сомневающимся насчёт подделок, нашёл некоторое подтверждение. Те кто не уверовал в сей пост - обычно  более 2-3  устройств не собрали, а о серийном производстве вообще не имеют  понятия. Собственно, опыт человека наступавшего на подобные грабли.



среда, 11 января 2012 г.

Продляем жизнь лампе

Галогенные 150 Вт лампы стали часто перегорать при включении.  И тут я вспомнил про плавный разогрев нити и заметки в "Радио" на тему  "Чтобы лампа стала вечной"
Учитывая новогодние придуманные кем-то "каникулы" в которые и больницы-то не работают в полной мере а уж радиомагазины и подавно- нужно было собрать из того что есть. Вариант с двумя переключателями я отмёл сразу, раздражает.

Исходя из наличия деталей-возможные варианты и их особенности :
1) На полевом транзисторе. Имелся irf840 и вроде бы его аналог КП707Б
Ну тут всё просто. Предполагаемая нагрузка до 200вт. Несмотря на заявления "Этому транзистору до 400Вт радиатор не нужен" irf840 требует неслабого радиатора даже при идеальных условиях.

2)Тиристорный регулятор. КУ202Н значительно лучше IRF840 в плане что радиатор на таком токе не пригодится... Но тем не менее яркость регулируется "до почти 100%" Помимо того, дополнительная схемотехника для снижения помех.

3)С реле, которое шунтирует резистор (а лучше термистор) в рабочем режиме.
Плюсы: практически 100% яркость, не нужно никаких радиаторов. Применение резистора вместо диода устраняет раздражающее мерцание.
Минусы: наличие контактной группы, в связи с этим возможная недолговечность. Ступенчатое включение, может раздражать.

Тем не менее я остановился на этом варианте. Схема нечеловеческая но я старался. Задача была не потратить день а за 15 минут собрать что-то максимально простое из того что есть в запасах.

Итак,после включения лампа оказывается включённой через резистор R4. Это 2 МЛТ-2 параллельно или резистор мощностью 5Вт.  Конденсатор C3 оказывает сопротивление переменному току, ограничивая его. Резистор R5 ограничивает бросок тока при включении, в частности обусловленный зарядом конденсатора C2. Резистор R3 применён для безопасности, если не хотите при наладке или потом разбирая испытать на себе разряд C3. Напряжение на выходе диодного моста ограничено стабилитроном VD2. После включения начинается заряд конденсатора С2 через резистор  R2. Как только оно достигает 2...4 в (порогового значения для данного экземпляра VT1) транзистор открывается и срабатывает реле K1 . Реле контактами К1.1 шунтирует резистор R4 и лампа загорается на полную мощность.

Задержка составляет 2 секунды, после выключения должно пройти некоторое время иначе ввиду сохранения заряда конденсатора C1 включение будет мгновенным или почти мгновенным. Десяти секунд на его разряд посредством R1 вполне хватает да и вряд ли кому-то нужно включать чаще.

Детали: К1-любое реле на 12в с допустимым током от 1А при 220в на контактах. VD1- диод КД510, КД522,  КД226...  VD2 стабилитрон Д814Г, можно заменить на  Д814Д. Диодный мост D1 любой подходящий, подойдут КЦ402...КЦ405  с буквами А..В. Конденсаторы C1 и C2 на напряжение не менее 16в.
Мощность лампы определяется параметрами реле и мощностью резистора R4. Если не раздражает мерцание можно заменить R4 на диод скажем, серий КД247 для лампы до 200 Вт или  КД202 при мощности лампы до 500 Вт. Собиралось это навесным монтажом, на самом блоке D1.






понедельник, 26 сентября 2011 г.

Зажигание на ИЖ-Юпитер или как всё начиналось

Всё началось с того что благодаря моему брату в гараже появился мотоцикл ИЖ-Юпитер 5. Аппарат был в весьма хорошем состоянии, требовалась лишь замена цепи главной передачи. Но работа штатного прерывателя меня и брата не устраивала, настройки опережения и зазор надолго не сохранялись, а с "подсевшей" батареей завести двигатель было трудно.
Трудно удержаться от соблазна быстро решить все проблемы- потому именно в выходные, когда не работают магазины на радиорынке подвернулись импортные полевые транзисторы irfp462, которые были использованы для разгрузки контактов прерывателя. Для управления ими были использованы микросхемы К1561ЛН2  Первые опыты показали устойчивую работу двигателя и уверенный запуск- но впоследствии ,несмотря на все принятые меры защиты один импортный "диверсант" "сработал" , хорошо не очень далеко от дома. Несмотря на малый коммутируемый ток, большой радиатор, защиту затвора от повышенного напряжения и прочие меры....Второй транзистор был впоследствии снят с системы но жизнь его тоже была коротка.
  Высокоомные катушки ИЖа при отключении выдают неслабую обратную ЭДС. Помимо того, всё-таки сопротивление irf462 велико а допустимое напряжение сток-исток мало для этой задачи.

В последующие дни был приобретён КП953А - отличный БСИТ -транзистор, который обладая в 8...10 раз меньшим сопротивлением в открытом состоянии чем irf462 практически не грелся. Единственный существенный недостаток таких транзисторов-сравнительно большой ток управления.
Кроме того, решено было перейти на оптоэлектронный датчик- эксперименты с датчиком Холла показали, что:
1) Помехи от генератора реально существуют
2) Модулятор может легко разбить датчик


Хотелось реализовать двухканальную систему по фронту и спаду или с двумя датчиками но ввиду тёплой погоды такая система была отложена на зиму, как и реализация идей по экономии энергии.
Поэтому была собрана простая схема на компараторе К554СА3 который в свою очередь управлял полевым транзистором, который и включал мощный БСИТ-транзистор КП953А. Помимо того был собран простой оптоэлектронный датчик.
Питание- через интегральный стабилизатор серии К1157. Две катушки ИЖа были заменены на катушку зажигания КЗ-1М применяемую на автомобилях "Ока".  Последовательно с катушкой был включен резистор сопротивлением 1,2 Ом.
Рисовать схему не вижу смысла, разве если кому-то вдруг интересно...

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

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




пятница, 28 января 2011 г.

Простая GSM-сигнализация на микроконтроллере

Несколько лет назад я собирал устройства исключительно на жёсткой логике - любимые серии к564, к561,к176 и к1533. На них была выполнена и GSM-сигнализация,в ту пору я не составлял схемы с помощью каких-то САПР,но это было устройство на 6-ти корпусах серии К561 и к1561 которое подключалось к мобильному телефону и осуществляло 4 попытки вызова в случае проникновения на объект.
Когда я соорудил программатор и приобрёл начальный опыт (asm,AVR) то захотелось выполнить эту работу на МК.
Однако,был  найден готовый,правда не проверенный в реальных условиях свободный проект такого устройства.Оставалось доработать под реальные условия и требования.

1. Функциональные требования:

а)Известно,что оператор связи да и кто угодно может прислать смс или позвонить.В итоге,если сделать сигнализацию по принципу "звонок по последнему набранному номеру" путём двухкратного нажатия на кнопку вызова это может не сработать,что может иметь тяжёлые последствия для разработчика сигнализации.Например вместо вызова телефон будет отображать поступившие сообщения.
 Поэтому перед вызовом была предусмотрена очистка путём двухкратного нажатия на кнопку сброса/выключения.

б) Необходимо было как можно быстрее произвести вызов а задержку на вход уменьшить до 4,5 секунд. Выключение производится отключением питания,а для этого можно применить потайной тумблер,геркон,реле с управлением от скажем, ИК-пульта.

2.Аппаратные особенности:

Применялись телефоны Motorola моделей 2298 и ещё более древние,просто потому что они были.К дорожкам соответствующих кнопок на клавиатуре были подпаяны тонкие эмалированные провода,питание телефона-от источника на плате сигнализации.Всё устройство питается от ИБП,так уж получилось.При необходимости не проблема прикрутить резервный источник питания.
Коммутация осуществляется с помощью ИМС К1561КТ3. Дело в том,что у Motorola кнопки 3-контактные и поэтому вместо одной кнопки используется два ключа.
Телефон подключается к разъёму XS2  -на него выведено питание и выводы ключей микросхемы DD2.Выбран разъём DB9 из-за широкой распространённости и доступности.

Схема:




 Доработанная прошивка
В архиве hex и asm.
Печатная плата  в виде 3D:


Модели элементов здесь не все соответствуют реальным компонентам,но примерно так.В частности,XS1 и датчик (шлейф) отображены как резисторы.
Сама печатная плата выполнена в KiCAD для одностороннего стеклотектолита.
Конструкция непрерывно изменяется и если прошивка это быстро то версий печатной платы гораздо меньше,все новые идеи на макетной плате. Если кому-то потребуется...
Идёт работа над более продвинутой сигнализацией, всё-таки удобнее настраивать через USB-интерфейс и лучше использовать GSM-модуль...