Перейти к содержанию

Alan

Пользователи
  • Постов

    578
  • Зарегистрирован

  • Посещение

  • Победитель дней

    9

Весь контент Alan

  1. Итак.. Наверное, настало время хоть немного похвастаться успехами (и не очень). Из успешного - запущенный модуль экрана. Много фото... Работа над модулем притания PoE-to-5V пока зависла. Proteus не желает симулировать данную микросхему (ибо отсутствует в версии 7.2, а версия 8.1 настолько часто падает, что просто ужас). А так - боюсь спалить. И плата ещё не разведена, что так же печально. Работа над кодом на некоторое время приостановлена из-за сложностей на работе, но тут что поделать. Сейчас основная проблема - не получается собрать быстрый вариант библиотеки вывода графики и текста с переключаемым режимом работы, в которой используется единственный буфер данных, а режим вывода выбирается динамически переменной. Пока что запарка на тексте. Графику ещё не выводил.
  2. Фоторезист - злоЪ... или у меня уровень навыка слишком низкий. В качестве шутки На плёночном - или пузыри, или бокавая засветка.. На аэрозоле - пока не удалось получить толковый слой - он или растекается, или умудряется сделать дырки (видимо, пузырьки). пИчаль-бИда (с) Проект на паузе на время лечения нервов и получения нормальных заготовок...
  3. Схема в настоящий момент в голове.. её на бумаге пока что и нету.. А Proteus не соглашается, что 74HC595 вообще бывают в корпусе SO16, потому не дорисовал. Плюс, набрасывать 80 транзисторов... то ещё удовольствие, даже шиной. Принтер лазерный - не может попасть дважды в одну точку. Тем более, с точностью менее 0.1мм, иначе игра не стоит свеч. Процессор всего на 44 ноги (ATMega1284p), так что нормально будет. Сопроцессор будет на 32 ноги (ATMega48). Теперь есть струйный принтер (Epson L300, можно поздравлять ). Но в настоящий момент проблема с фоторезистом и процессом проявки На заметку: Не использовать средство "Чистотел" для проявки плат.. >_> Оно полностью снимает фоторезист. Коробит и отслаивает. Завтра буду экспериментировать с содой повареной. Каустической в наличии нет. А то, что есть - слишком грязная (пыль). ЗЫ: Схему попробую наваять чуть позже. А вот примерный вид платы - прикладываю.
  4. Застрял на банальщине - не получается сделать плату. Заказывать одну... не целесообразно. Размеры печатной платы (предполагаемой) немного превышают высоту индикаторного модуля, что плохо. Похоже, в последствии придётся отказаться от варианта со второй строкой.. И это печально. ЛУТ не удаётся - принтер всё же слишком скуп на тонер. ФВ-ВЩ не срабатывает по той же причине - негативный фотошаблон (даже два, совмещённых друг с другом) не дают результата. При печати бОльшего количества упираюсь в геометрию... искажиния 0.5мм, но уже промахиваются линии. Плохо. Нарисовать лаком... да ладно... Там слишком мелкий рисунок должен получиться.. хотя... Это будет резервная идея. Позитивный фоторезист пока не покупал. Возникла идея напечатать рисунок прямо НА фоторезисте, пропустив необходимый кусочек через принтер. Отвергнуто после обдумывания - тонер будет всё так же тонко нанесён.
  5. Таки да. Задумался поставить "рядом" чип ATMega48 (он есть в наличии, и только потому). Под задачу вывода индикации как раз должно хватить 8k Flash + 0.512k RAM. Потом зОгну лишнее в разные стороны для пущей стабильности Х) Шутка.Да, что нашлось. Но опять же, не фатально. Кстати, раз уж буду делать более "модульно", чтобы не играть с пайкой каждого нового "экранчика", сделаю модули по 9 индикаторов с личными столбцовыми драйверами. То есть, они будут модульными по 72px. Так и нагрузка на ключи будет ниже, и можно будет заменить в случае чего. Да, опять какой-то костыль. Зато чуть разгружу строчные ключи - меньше ток, меньше проблем. Это да. Но всё же, есть некое желание свести всё к 80-ти активным пинам.Пока собираюсь сделать так: 1 ряд: 8.8 8.6 8.4 8.2 7.8 <...> 1.2 c8 c6 c4 c2 2 ряд: 8.7 8.5 8.3 8.1 7.7 <...> 1.1 c7 c5 c3 c1 Немного фото: То есть, с максимальным заполнением. На плате электроники придётся так же играть с перемычками, но хотя бы половина ключей будет иметь прямой доступ к своим "площадкам". Сейчас стоит проблема изготовления платы... Особенно большая в месте сверления. Из инструмента имею мини-дрель, потому дырки будут ого-го, как метаться в пределах допусков.. да и кострукция может оказаться значительно менее жёсткой, чем хочется. Но искренне надеюсь, что будет достаточно. Это очень хорошо ! Особенно это будет полезно, когда будете подбирать немагнитный зазор. Только помните, что измерять можно только полностью отпаянный трансформатор. Чтобы никакие вторички не были не на что нагружены. Иначе намеряете фигню. И руками - ничего не лапать. Вот только жаль, что у меня до сих пор не хочет появляться... как бы так проще описать?... Некое базисное понимание, или представление... о трансформаторах.. Нет, принцип работы я понимаю... основы.. Но вот эти немагнитные зазоры в настоящий момент для меня напоминают те самые Чёрные дыры: Они есть. Как устроены - вопрос.Да, понимаю, что это для того, чтобы магнитное поле не кольцевалось в магнитопроводе и тот не входил в насыщение... вроди бы... Если я ничего не путаю... Но вот величины - для меня пока всё равно что с потолка берутся. Да и расчёт индуктивности... в НЧ трансформаторах основная проблема - отношение V/виток и сечение провода. А в ВЧ? Вот это никак не укладывается в голове. upd: Выставил нуль у мультиметра. Ранее получал показания -13uH при подключении катушки и порядка -20uH при подключении... пинцета.. Ну да, замыкал клеммы, фактически. Теперь нормально
  6. У нас они порой вообще не цветут, ибо не всё продают. Пардон, не заметил. Если не считать вывода питания (16), то все остальные можно вывести в одну сторону 15 = 0 (выводится чуть выше), 1=1, 2=2,... 7=7. Вполне ровная линия. Или я не совсем понял мысль? Бесспорно. Но опять же.. хотя, формально можно сделать вывод данных отложенным. То есть, по прерыванию таймера делать защёлкивание данных, а уже после этого генерировать новую порцию данных. Возможно так и сделаю, хотя это будет уже менее прозрачным и получит некоторую задержку "отрисовки", вместо "мгновенного" вывода новой порции данных на дисплей. Опять же... подумаю пристроить один из более маленьких чипов в качестве драйвера матрицы. Но это не гарантировано. Здесь скорее оговорка из разряда "Экономь заранее, чтобы потом не искать, где экономить". Смысл в том, что позже я могу подумать написать какой-то апгрейд прошивки... и кто знает, что из этого получится. Иногда я боюсь предположить сам. 10-й не помещается на эту плату.. Хватает только на 4 контакта, что даже для его удержания маловато. Их можно немного.... сдвинуть. Тонкими проволочками Через отверстия в плате Да, как раз занимаются все 80 контактов. Нет, параллелить не буду. Устанавливаться будет... с "чистой" стороны однослойной платы. Тогда плата становится больше. Да и надеюсь позже поставить вторую строку индикаторов сверху. Это технически реализуемо, потому старался не делать отступа на верхней части. Насчёт стабильности - можно вставить пару отдельных штырей в незанятые отверстия платы и ими зафиксировать. Либо припаять гайку о_о Теперь я могу измерять индуктивность компонент Проверил вчера то кольцо (с намоткой) - 10uH. Это на тех, что дотянулись до контактов. Нужно подумать о чём-то вроде щупов.
  7. *Отложил* Мне бы научиться оценивать это... Но вот, в голове как-то не сложилось пока концепции..Присмотрелся к готовым измерителям RLC в магазинах.. Дороговаты для своего функционала. Описание DT-9931 - Попускал слюни.... Нашёл дешевле, но опять же, у меня в городе его НЕТ Пардон, чаще всего использую именно слово "символ", хотя и понимаю, что не совсем верно. Да, заметил. Выводы очень уж разбросаны. Я уже не очень хочу так делать Идея красива, соглашусь. Единственное "Но" в данном случае (видимо, быро рождено и прижилось, когда я разворачивал экран от Nokia 1110i на ATMega8535, где было ВСЕГО 512 байт памяти, в т.ч. для стэка) - по возможности не использовать для простых, генерируемых, изображений видеобуфер. Собственно, строка генерируется на лету. Код: Здесь нет необходимости даже хранить данные строки. Фактически, запоминается только положение "Скроллинга" для первого отображаемого символа, и первый отображаемый символ. Лично мне идея кажется, хоть и странной, но достаточно шустрой. Да, памяти много, но активно использовать её тоже может быть не очень хорошо. К сожалению, пока не могу провести анализ кода по скорости выполнения, но очень похоже, что процедура не настолько толстая. Постараюсь в ближайшее время оценить количество тактов на её работу. Ещё пример строки... но это чуть позже. Процедура пока что недописана - делаю идникаторы. Новые фото:
  8. Это.... жёлто-белое кольцо..Только размеры чуть отличаются от Ваших - 23х14х10. Да, внутренний диаметр - 14. Проверил трижды. Достал транзисторы IRF640N. И это хорошо! Кстати, для трансформатора приобрёл Ш-образный магнитопровод Ш6х6 (М2000НМ1-14, хотя для меня только "М2000" говорит что-то ) и каркас на 2 секции. UC3845BD1 (SO- . Осталось выпаять оптопару.. и буду собирать после индикаторного модуля. Фу-у-у ! А плавное "бежание" текста вдоль строки ? А что ему будет-то? Бегут-то собственно, биты... там заковырка идёт только в первом и последнем знакоместе, которые необходимо выводить не полностью... как доделаю плату индикатора - сделаю дэмку с любой скоростью обновления и покажу.По коду, все решается (хотя и минус пара десятков тактов на символ, но это не настолько много, чтобы париться). Чегото я вообще не врубился. Это вы о чем ?? Боюсь, я сам не очень понял, о чём я.. Была мысль, точнее, пытался представить, как можно передать целиком байт (сразу) на всю панель... по сути, нужно взять 8 индикаторов и 8 74HC595 и соединить следующим образом:Q0(1) = 1.1 (Индикатор.Стоблец) Q1(1) = 2.1 Q2(1) = 3.1 <...> Q7(1) = 8.1 Для второй ИС - то же самое, только она будет управлять вторым столбцом на других индикаторах.. Ну и так далее. Получается вариант с идущим байтом. Кстати, идея хороша... но опять же, накладные расходы на сдвиг оного. Зато -20 тактов (примерно) на вывод. Портит моё знакоместо 6*8 (начальное 5*7, но с доведением до более удобоваримого вида). Упс.. Но это не проблема - отрежу чуть позже. Не ножницами, но дрелью. Я просто подбирал размеры.Я извращенец... <- Нет, это должен быть не спящий смайл. У меня поулчился такой вариант.. Да, не очень красиво, но экономится 1 шаг сетки как раз у штырей. И, боюсь, я не совсем понял, что Вы подразумевали под "сменить слой". *Посмотрел на плату* Хотя, кажется, понял... К штырям нужно подводить контакты "сверху", где они будут паяться, а все проводники будут, по сути, "снизу", где выводы индикатора. Хм.. Чиорт.. Но зато так я ТОЧНО не перепутаю, где столбцы, а где строки
  9. А собственно, его и нет. Это единственный "нормальый" эмалированный провод, который у меня есть. Единственного же диаметра где-то в 0.1-0.15мм. Не замерял точно. Из какого-то старого рэле. Что называется, "Что нашлось, то и применяем". Оно самое и нужно. Хотя, если откажусь от TCP-транспорта и оставлю ТОЛЬКО UDP-пакеты с самопальной проверкой синхронизации и актуальности потока (может понадобиться для того же звука, ибо задержки сети - это одно, хотя и сеть должна быть стабильной, а вероятность получить "лишний" пакет, который не поместится в буфер, но уже нужно принять следующий /или вообще, пакет потеряется/ не нулевая). Про альтернативный вариант с индикацией, конечно, порадовало, хотя у меня уже не будет меняться концепция матрицы и отображения. Понимаю, Вам привычнее сэкономить десяток тактов на вывод байтом, но у это значительно усложнит схему коммутации. Хотя, допускаю, можно, например, сделать 8 столбцов... Чтобы можно было отображать сразу целый байт... но при этом потребуется значительно больше соединений. Боюсь, это пока не моё. Разве что, можно допилить маленькой внешней схемой.. разве что, скоростной. Выводится байт на порт, даётся строб, и тот считывается каким-нибудь регистром, и генерируется 8 тактов сдвига (в итоге, байт таки уходит, но всего за 4 инструкции. Но тут упираемся в 30MHz быстродействия 74HC595... Проще оставить как есть. К тому же, у меня знакоместо получается размерами 8*6, то есть, из байта используется только 6 бит, остальные даже не отсылаются. И есть несколько процедур для работы с этими битами. Да-да, теряю процессорное время... понимаю. Нет возражений. Но вот, не получается иначе у меня. Я вообще не видел у ATMega* интерфейса внешней памяти. Имел дело (непосредственно) с 8535, 26l, 1284p, 8, 48. У них для внешней памяти слишком уж мало выводов.[offtop]Если мне не изменяет память, не на всех ARM* чипах есть интерфейс внешней SRAM. Хотя, STM32F407VGT6 имеет FSMC контроллер. И даже умеет работать с внешней памятью.... занимая почти всю переферию именно ей.. Хехе. Но хоть как-то [/offtop] На сладкое: (Начал паять плату индикаторов) Фото!
  10. Таки есть. Но сегодня уже не куплю - магазин работает до 18-ти, а мы - до 18:15 :3 Спасибо, не забуду. Вообще, совет с макетной платой очень дельный. Печально, что панелька с шагом 2.00 мм, а плата - 2.54 мм. Ну, ладно, не важно. Придумаю что-нибудь. Не успел Да. Толлько изначально мне показалось более логичным разнести управление ими на разные пины процессора, вот и... что получилось. Идея очень понравилась. Главное теперь суметь это сделать на монтажной плате... Резисторы закупил 0805, они как раз должны нормально ложиться между отверстиями (немного внахлёст, но это даже лучше - будут держаться). Мерять, к сожалению, не на чем. Разве что, могу собрать генератор либой мощности до 1-2Вт и замерить параметры на осциллографе (DSO Quad). Точность не очень большая, но обычно достаточно для большинства нужд. Прикинул цены - выходит лучше, чем у нас на заводе "Иртыш". Те загнули 4000 (кажется, с мелочью) без НДС (+18% и приближаемся к 5к). Либо у меня слишком большое терпение, либо у меня хороший провод. Ни одного прокола изоляции не наблюдал. Вообще, провод ведёт себя отменно. Лак не слезает при пайке, зачищать можно быстро кончиком канцелярсного ножа, хоть на 0,5мм (примерно на глаз, меньше - уже не получается).Таким проводом подпаивался к контактным площадкам разъёма дисплейного модуля Nokia 1110i (тот ещё гад, хоть и всего 2*5 пинов). Чего-то попахивает бредом. Сдается мне, вы немного тупите. Можно поподробнее плизз. Что мешает перевести таймер в PWM моде? где и частота и скважность задаются независимо. И почему нельзя в таком режиме генерить прерывания, и получать милисекундные тики ? Последняя догадка верна. Изначально таймер настроен на отработку милисекундных тиков для библиотеки TCP/IP (ну и UDP тоже), потому он и настраивается на режим работы CTC (хоть это и тоже PWM, но при достижении счётчиком заданного значения, генерится прерывание и счётчик сбрасывается). Это сделано, чтобы получить максимально приближённые милисекундные интервалы.Datasheet В случае с кварцем на 18.432MHz, получаем сетку значений (для делителей 64,256,1024): 288 (много) 72, 18. /Страница 107 в Datasheet'е/ Опять же, сейчас у меня заняты два таймера, и два свободны. В общем случае, можно получить ещё пару прерываний. В том числе, используя 16-ти битные таймеры, на которых можно даже сделать PWM, подходящий для работы преобразователя (sic!). Был бы у меня кварц на 12.800, или 25.600MHz... но на первом прерывания будут идти с частотой 500Hz (в случае FastPWM (256)), а во втором - вряд ли заведётся чип. Да и кварца на 25.600 не наблюдается. Есть на 12.833MHz. И, что-то я отклонился от темы... Хочу предделитель, как в ARM-ках. С кучей крутилок и свистелок. Итак, ладно. В чём сложность. Я могу выставить предделитель + счётчик на значение 144 (для 18.432MHz), при этом смогу управлять яркостью в пределах 0..143 единицы, что в принципе, довольно много. Но "нормальный" PWM режим с возможностью менять значения 0..255 получить не смогу. Хотя, думаю, 144 делений будет выше крыши. Думаю, Вы натакливали меня на данную мысль?
  11. А вот эта, как раз, есть. И даже довольно дёшевая, что хорошо. Оптопару возьму из того же БП. На схеме обозначена некая MCT6, но у меня в наличии с такой маркировкой: COSMO 1010 817 B46 B Здесь, например, такая описана. *Схоронил* Да, полевик буду ставить другой. Где-то под лапой был старый BUZ90, но какое-то ощущение, что он будет несколько медленным и слишком высоковольтным для данной схемы. Больше ничего подходящего в пределах досягаемости не обнаружено. Кстати, о звуке.. Решил разнести пищалку и ЦАП на разные "динамики", ибо нечего. >_> Да, АЧХ хочется получше. Да и подумаю о дроссельном питании пьезоизлучателя. Да, вот с навыком как раз проблема в настоящий момент. Баловался с блокинг-генератором, забыл подключить подтяжку к питанию на базу транзиатора, но тот всё равно завёлся. САМ... То есть, в схеме: Трансформатор, Транзистор, Конденсатор. Пробой последнего исключается - керамика, да ещё поменял на другой - те же симптомы. Думаю, "трюк" оказался в межвитковой ёмкости трансформатора. Но всё равно, было забавно. Да, вариант с 2N7002 подходит получше, чем бригада из IRLML6401 (получаем уже 160*0.95 = 156.80 вместо 576 рублей), что есть гуд. В матрице 16*80 смысла особого не вижу, т.к. уже закуплены 74HC595 (с приличным запасом по количеству). А вот идею экономии одного порта и полной линии в 160+8 точек - подумаю Делать матрицу более квадратной не хочется - либо больше накладные расходы на пересчёт данных при выводе, либо требования к буферу памяти, либо ещё сложности с разводкой (просто нужна одна строка - ничего такого уж масштабного там не планируется рисовать, а вот возможность поменять на бОльшие по размеру индикаторы - нужно будет обдумать). Вот когда в техподдержке с абонентом общались похожим образом, отгадывая недосказанное, говорили, что у оператора уровень прокачки навыка "Чтение мыслей" запределен... Я не сказал, что кольцо жёлтое... о_О *Боится [utl=http://drakia.com/forum/user/282-drnimnul/]dr.Nimnul'а. Надел шапочку из фольги* Кто греется ? 74HC595 как я понимаю ? Если да, то все очевидно и предсказуемо. Пардон, забыл уточнить. Прошу не сильно кидаться снежками... но это было запитано напрямую от 1284-й Меги. БЕЗ токоограничительных резисторов. Предыдущий "эксперимент" показал общую нагрузочную способность чипа до (а возможно, и более) 0.5A (дальше не позволил USB порт), но индикатор светился знатно. И, нет, он абсолютно цел!. А, кстати, идея.. Почему-то я о таком не подумал. Считал "Прерывание таймера и так работает за 1 такт". Теперь думаю, за какой 1 такт?... Да ничего страшного Видимо, я тоже не особо акцентировал внимание на этой детали. Да, защёлкивается за 1 такт процессора. Впрочем, это не меняет ничего. Можно исхитриться, поставив рещим ШИМ (PWM) с инверсией, и тогда можно не просто не гасить индикацию, но и прогонять данные сразу же. Просто в этот момент, вывод ~OE будет в запрещающем состоянии. Но вообще, подумаю как раз над возможностью регулировать яркость. Очень понравилась идея получить халявную функцию. Ну, вообще.. я просто сразу думал, что будет печатный монтаж (да, надеялся на более демократичные цены у нас на заводах за прототипирование плат, но не срослось), и что закажу ВСЁ там. Итог - я без плат, но зато с сильным удивлением. Опять же, спаять я могу и на монтажной плате всё. Главное, что красиво это не будет. Нет у меня таких плат и широких шлейфов. Это жаль, но ладно уж. Попробуем сделать проще - плата будет просто давать контактные площадки, а поверх них пущу тонкий лакированный провод. Снизу, наверное, собиру "гребёнку" из 160+8 контактов. Надо будет достать макетку. Вот эти разъёмы как раз знаю. Очень удобны, в том числе, для изготовления меньших по количеству контактов, разъёмов. Иногда сложно найти что-то на 8-12 соединителей, а на 40 - легко! Вот и приходится брать кусачки. С гнёздами, конечно, сложнее. Мой вариант, изначально был следующим: Плата ЦП + Модуль Ethernet + Источник питания + Плата индикации. Причём, плата индикации должна была быть "почти" двухярусной. На каждый индикатор делается своя плата-переходник, выравнивающая его, а далее, он устанавливается в гнездо 2*8 рядом со "своей" микросхемой. Мда. Теперь всё будет иначе... но думаю, это того стоит! Идея красивая, да, но есть одна сложность. Странно, что я её не описал.. Звук будет работать на гораздо бОльшей частоте, нежели обработчики индикатора. Формально, получаем: - Таймер регенерации "экрана" - 1kHz (125Hz суммарная частота кадров, раз уж есть 8 строк - кстати, ещё одна причина, по которой не хочется делать 16*80 - получаем уже 62.5Hz). - Таймер обработки "звука" - ~22.0 kHz (получил, конечно, приблизительное значение). Итого, если пытаться запустить обработчик "изображения" сразу после обработки звука, получим: 18432000 / 22050 (44100/2) = 835,9 такта. То есть, суммарно есть менее 1000 тактов. Звук требует порядка.... 100 тактов, а это 12-13% процессорного времени только на звук. Хотя, прерывание довольно лёгкое - его код я уже приводил. Проблема в компиляторе, который старательно упаковывает и извлекает в/из стэк(а) 19 регистров(!). Да, он это любит... Опция -O0 генерирует 23 инструкции при входе в прерывание. Опция -O1 даёт 19 инструкций - немного "быстрее". Опция -O2 дала 12 инструкций - чуть более "быстрый" результат работы. И суммарное количество инструкций в прервании - 30+18 инструкций (2 и 4 байта), это должно быть порядка 66 тактов. Опция -O3 даёт 12 инструкций... то есть, ничего не меняется. Пожалуй, перепишу Makefile на работе на опцию -O2. Так вот. Обработка изображения потребует значительно больше тактов: 160*8 + обмен с памятью + вычисление первых строк (да, работаю над скроллингом текста ), а это уже значительно больше, чем 835. Потому ЭТО будет работать в основном цикле и может прерываться звуком. Фактически, звук будет единственным обработчиком ВНУТРИ прерывания. Остальные будут за пределами очень требовательных инструкций. Кстати, там же возникает вопрос в обработчике сети - он может занять более 1мс (но это будет проверяться в отладке), что потенциально должно сбить обработку изображения.. А весовых обработчиков в Меге нет. Либо я о них не знаю. Но вызвать прерывание в прерывании, вроди бы, никто не запрещает. Иллюстрация: main() SysTick() Sound() | | |-------->| | |---------->| |<----------| |---------->| |<----------| | |<--------| | |-------------------->| |<--------------------| Ну да, можно добавить уровень "Sleep", где ЦП остановлен и ждёт прерываний, т.к. он уже всё сделал на последнюю милисекунду, и делать ему нечего. Предположительно, в этом времени он будет находиться порядка.... 18432000/1000 = 18432t - 160*10 ~ 1400~~3000t = 15000-17000t/18432 = 81~92% времени. Буду искать монтажную плату... Надо кого-то отправить в магазин в рабочее время Мда.... Подумал поискать транзисторы... угу. Смешно. То, что есть в интернете - как правило не поддаётся нормальному поиску (или подбору). Если что-то нашлось, этого нет в нашем проклятом магазине Пошло оно к чёрту, покупаю 180 штук 2n7002 и-и-и-и-и..... (5-2)/0.08 = 3/0.08 = 35 (36) Ом. И пусть светятся на максимальной яркости. Кстати, до меня только что дошло.. Я не могу реализовать регулировку яркости на том же таймере.. Он работает в режиме CTC == Clear Timer on Compare. Иначе я не могу получить милисекундные тики на частоте кварца. Потому, придётся рисовать костыль в виде второго таймера в качестве регулятора яркости. "Жаль! Очень жаль! Вот, ваш ганарар. Настоящие Гавайцы!" (с) "Приключения Капитана Врунгеля".
  12. Эксперименты с блокинг-генератором не очень удались.. Собрал нечто, что при 12В питания выдаёт пики в 60 и более В на выходе трансформатора (хотя тот изначально стоял в цепи 5VFB блока питания ATX). Не очень умеет ИИП.. В загашниках обнаружелось ферритовое кольцо.. С обмотками пока что проблема. Тонкая раскачивает вторичные, но не обеспечивает достаточную мощность... Плюс, блокинг-генератор пытается сгореть, если вообще генерит.. Надо ставить нормальный MOSFET и вообще управление нужно >_< Нужна микросхема-драйвер, которые не ищутся у нас.. Чиорт! Есть прямо в метре от меня DBL494 - ШИМ... Но в "традиционной" схеме она не имеет гальванической развязки. Схема Иииииииииииииии, таки да! У меня именно NXP 74HC595D Проверил при токе в 100mA на строку.. Не очень ярко. Придётся лепить драйверы на столбцы Выбор: Драйверы строк: IRLML2402 (закуплены). Возможна замена на IRF7301/7304 (в наличии) Драйверы столбцов: IRLML6401 (160+ штук ) Какая.... жаль. // 160*3.60 = 576 рублей / $16.5 // Угу. Дешёвая панель получается, да.... Ладно, допустим, доделаю преобразователь на том, что есть... Нашёл ферритовое кольцо.. о_о 10 (ширина) 5 (толщина) 23 (диаметр) Да-да-да, та самая катушка-фильтр из цепи питания БП. (На схеме выше, справа, после трансформатора и диодов). Итак, я наконец готов ответить на часть поста: Запустил динамическую индикацию силами одного только контроллера: "Греется, зараза" (с)Итог: Протекающий ток: ~86мА (мультиметр показывает приблизительно это значение; холостых циклов нет; скважность 1/8). Яркость приемлема для общих условий (непрямая засветка сбоку). Теперь, выбрав дополнительные драйверы, думаю добавить регулировку яркости (ШИМ 10kHz) на отдельном таймере (благо, остался). Вопрос, как проверять яркость? Фоторезистор? Где его теперь найти.. Эммм.... Или я чего-то не понял... но в моём случае, вывод Latch - общий для всех чипов. Да, я не могу загрузить в них данные параллельно (да мне и не нужно), потом я отдельно загружаю данные в строку и столбец (столбец можно вообще не трогать, как и строку), хотя линия данных - общая (идёт на входы строки и столбца), а вот линия такта разделена. Идея классная, но получается ТАКАЯ мешанина на плате.... а её ведь ещё нужно изготовить. И никакого омеднения отверстий, никаких допусков в 0.1мм, никаких сквозных соединений.... Только хардкор (с) Т_Т !!!!!! АААААААААААААААААААААА, Я КРЕТИН, Поздравьте меня! >_<Но похоже, поздно.. Уже начал делать на платы-переходники, ибо хотел модульность. Хотя, в моём случае (да, больше мороки с пайкой и ЛУТом) входить на "модуль" индикации будет только... с десяток проводов: Питание (2), Тактирование (2), Защёлкивание (1), Данные (1), Разрешение выхода (1). Итого: 7. Для варианта с макеткой было бы 168... но шлейф.... в общем, я в задумчивости, сделать ли ещё одного Франкенштейна, из мешанины проводов, или попытаться обойтись чем-то более красивым? Хочется красиво. А двусторонний ЛУТ будет только на одном месте - плата-переходник для индикаторов, которая превращает этот их рандом на выводах в два красивых ряда С1, С2, С3... С8 и R1, R2...R8. К сожалению, изготовление плат на заводе обошлось бы в 4 тыс. рублей. Заказать на Ebay? Но не находил пока таких, к сожалению. Не знал, не знал... Благодарю, возьму на заметку.
  13. Благодарствую Будем читать. upd: Почитал. Особо ничего нового, откровенно не нашёл, но и на том спасибо Опять же, относительно недавно взялся за ту же DS1307, прикупил первые попавшиеся (самые дешёвые) "часовые" кварцы (если не ошибаюсь, эти) и они завелись с первой попытки, так что... Честное слово, ничего не делал, оно само А по поводу индикации... вообще, нужно уже собрать наконец прототип платы индикации... но она будет довольно громоздкой. Да, таки повторюсь: Индикация будет 8*160 точек, то есть, 20 индикаторов 8*8. ИМХО, Идея абсолютно бесполезная.<...> Благодарю за пояснение. Жаль, что идея оказалась довольно... неподходящей. Жаль. А есть несколько старых ATX БП. Попробуем собрать. А вот идея с двойным преобразованием хороша: 48V -> 12V | 12V -> 5V | 12V -> 3.3V Самый крупный Омский магазин говорит, что у них вообще нет подобных трансформаторов (как и вообще чего-то похожего). Итак, привет, намотка, и поиски медной проволоки! [offtop]А кое-кто так надеялся этого избежать, да..[/offtop] Ответил выше: 20х1 (итого, 160*8px)По динамике индикации, конкретно для данных чипов-регистров, планирую использовать не только вывод ~OE, но так же Latch, который будет стробом пропускать данные из первого ряда регистра на выходные регистры. Фактически, эти микросхемы - гибрид сдвигового регистра и параллельного регистра-защёлки. Данные проталкиваются в последовательный порт D0, выходя через Q7S, а по стробу на Latch, они попадают на выходы Q0-Q7, то есть, заменить состояние ВСЕХ 168 минов (в том числе, вертикальной защёлки) можно за 1 такт. Это оказалось очень удобно (не то, что в предыдущем проекте часов, где приходилось для смены "изображения" гасить индикацию полностью). Datasheet, страницы 2-3 - схема микросхемы. Код функций пока не приведу - они ещё дописываются. Хотя, основа такова: Да, догадываюсь, но будем надеяться, что тока будет достаточно, чтобы они не сильно мерцали.Откровенно, у меня несколько бОльшие опасения насчёт самих дорожек. Дорожки получатся порядка 25-30см длинной, что уже не очень хорошо, т.к. строковые будут силовыми. Думаю сделать несколько параллельных "КЗ" прямо поверх дорожки несколькими отрезками провода - возможно, удастся уменьшить индукцию и сопротивление. Ставить конденсаторы категорически нельзя. А вот конденсаторы в цепях питания будут - гарантировано. Думаю о керамических SMD в настоящий момент. Конечно, 0.47uF + 10uF возле каждой 3-4 микросхемы. Задумывался.Datasheet говорит (страница 6) о допустимом токе до +- 35mA на ногу. При этом страница 9 просит ограничить суммарный ток на уровне 80mA (10mA на ногу). Пока не пытался запустить динамическую индикацию (да, даже тестовая плата индикации пока что не сделана), потому не могу судить, достаточно ли будет импульсного тока в 10mA для индикатора при скважности в 1/8. Возможно, разгоню выше. Питание логики будет на уровне 5V. Гасящие резисторы думаю поставить на 100 Ом (потом уточню на месте). Да, прекрасно понимаю. К сожалению, в моём случае, прерывания не имеют уровней - все прерывания для MCU одинаково важны, но да, таки они очень шустрые (если обработчик прерывания хорошо сделан, что у компилятора страдает - типичный вход в прерывание - это упаковка 16(!) регистров в стэк, выполнение 10-15 инструкций, распаковка регистров обратно, и наконец-то, выход из него).Писал как-то на ASM-е более шустрые версии. Думаю переписать потом часть кода вставками... если получится. С обработчиками как раз и воюю, стараясь выбрать наиболее удобное расположение кода. Допустим, обработку пакета данных от enc28J60 ещё можно приостановить и продолжить (благо, обмен синхронный), а вот индикация - динамическая, да и звук (если включен) требует для себя очень высокой точности. Его прерывания пропускать - ой, как нежелательно. Потому думаю. Кстати, по поводу этого: Крайне печально, но в моём распоряжении нет NCL30000. То есть, в принципе. Заказывать из Default City? Nope. Слишком накладно выйдет для штучного заказа. Хотя, если с намоточной медью....
  14. Возникла довольно неплохая (лично на мой взгляд) идея - использовать часть ATX блока питания (конкретно, переделанный источник дежурного напряжения 5B USB), немного его модифицировав (ну и собрав плату с нуля). По идее, должен оставаться работоспособным при пониженном напряжении (40-50V, что удовлетворяет условиям PoE), но вероятно, придётся менять транзистор, а так же, пересчитывать трансформатор. Изначально напряжение на выходе 5V с током до 2А (под потолок), что мало, потому нужно переделывать.
  15. Ох, сколько комментариев получил во время отпуска.... О____о Хорошо, постараюсь ответить по порядку. Итак: Соглашусь. Реализация будет полностью программной, и БЕЗ дополнительного сопроцессора. Как раз индикация будет выполняться с наивысшим приоритетом (за исключением звука), но тот будет отъедать (по прикидкам) не более 1-2us (мкс), а развёртка планируется в 1kHz (тактирование), 125Hz вертикальная. И выводиться будет построчно. Опять же, Вы абсолютно правы, спасибо. Но в данном случае, будет применяться тактовый генератор на 18.432MHz, что для данной задачи довольно быстро. Кстати, точное время выполнения процедуры (точнее, положение относительно других довольно "шустрых", ещё не решено). Опять же, процедура вывода звука занимает порядка 100-130 тактов. Там идёт несколько проверок, идёт ли воспроизведение, есть ли ещё данные в буфере, обработка ссылок и вывод нового байта. Да, будет ЦАП (R-2R). Насчёт того, какой у меня динамик... пока вопрос. Мне кажется, это пьезоизлучатель.. Могу ошибаться в настоящий момент. Проверю чуть позже. Никаких возражений! Кстати, из следующего поста, вижу мануал.... (у меня он открылся вообще БЕЗ пояснительных надписей, видимо нет шрифтов в Ubuntu) но по результатам домашней проверки, суммарный ток на линию для достаточной яркости индикатора - это 10-15mA на точку, что для индикации 8-ми точек доходит до 80-120mA, для 80-ти (ВСЕ точки в линии) - 800-1200mA. [datasheet] В моём случае, это индикаторы Ultra Red (тип соединения - неизвестен, т.к. одна линия соединяет аноды, а другая - катоды... вот и угадывай) 660/625 (длинна волны) 1.8/2.0 (V) 20/20 (mA) 25/30 (min) 30/35 (max) Lumen (Яркость). Примерно так. [/datasheet] Кстати, второй datasheet от KB, идёт на чуть бОльший индикатор, потому он не совсем подходит. И там рекомендуют уже 30mA средний ток и до 185mA импульсный.... многовато. Источник питания меня просто пошлёт ^_^'' Выводить, напомню, собираюсь горизонтально. Вертикальная индикация требует слишком большой скважности, или большего количества процессорного времени. В качестве драйверов строк будут выходить IRLML2402 (держат ток до 2A), а столбцами управлять будут сами 74HC595 (и ограничительные резисторы на 150 Ом). Что поделать, у нас чаще будет отображаться текст. Причём, где угодно. Но мысль использовать сегментники, была. Нет, это действительно, значительно усложнит схему. К тому же, в чипе и так 16kB памяти, а индикация не требует такого уж количества ресурсов. Ох, молю, не напоминайте.. =) И так голова кругом. В том числе, по работе в настоящий момент. Так что.. звук пока что на второй план.. Вместе с термометром, а он там будет О_о Над питанием пока тоже думаем. На самом Ethernet модуле, есть две свободных пары выводов. На них можно спокойно подпаяться и брать от туда питание. Насчёт уровня напряжения пока вопрос.. Модуль, который есть (готовый), не любит напряжений выше 35V на входе, что для POE является проблемой, ибо 48V. Придётся городить огород в начале. Но это чуть позже. В начале нужно собрать библиотеки в один проект и хотя бы доделать макетку. Насчёт развязки питания - хороший пинок.. Задумаюсь. ЗЫ: Те модули POE, что присутствуют у нас, являются довольно дубовыми (пара розеток + разъём для питания) - чуть позже выложу фото. Так что, с наличинем 48V проблем не возникнет. Придётся городить огород из развязки и понижающего преобразователя до приемлемых величин.. Вероятно, буду сбрасывать до 48->5V, а далее - 5->3.3V. Опять же, благодарю за описание возможных грабель с ФНЧ для моего варианта "стабилизатора". Сам прекрасно понимаю, что это было довольно некрасиво придумано. Опять же, на нём можно собрать довольно простой импульсник... разве что, другой MOSFET выбрать, т.к. данные не выживут при питании >=30V. Не укажете адреса разговора? Собственно, была мысль использовать ту самую FreeRTOS (опять же, познакомиться с оной и попробовать на вкус), но после прикидок требований к ресурсам.... отказался, в общем. На 22kHz не вытянет. Если включена отладка, то в некоторых местах кода можно выводить отладочные сообщения (типа вывода мини-дампа пакета, уведомлений, и прочего). Если отладка выключена (не инициализировалась), то будет проходить проверка типа: if (debug==1) { <Вывод сообщения> }; Собственно, в случае отсутствия отладки, даже не будет тратиться времени на передачу данных. Опять же, реализация обмена USART требует синхронности (отключаем прерывания и долго молотим строку символов, отправляя её через аппаратный порт наружу). 2 Raymond: Нашёл MBI5026 у себя в городе. 54.26р за 16 каналов... При этом, 74HC595 всего 7.90 р за 8 каналов. Бюджет проекта мал.. потому выбор идёт на более простой чип. Опять же, никто не запрещает мне использовать дополнительный PWM-генератор со стороны MCU (есть ещё один свободный таймер, а со стороны регистров есть вывод управления; всё вполне приемлемо). Клавиатура не требуется, управление по сети, да и настройки сети меняться не должны. Потому ничего сложного не будет. Если что - запишу конфигурацию в EEPROM и буду инициализировать всё из памяти. Yep! Именно так и собирался делать. Теперь подумаю о вариантах. Возможно, постараюсь сделать более красиво и с развязкой и более прямым POE. Да, порадовало. Так и пишу, иначе не хватает тактовой. Чтобы всё работало на RTOS, пришлось бы задирать частоту выше 60MHz... и это очень печально. А так - 1kHz прерывания (большая часть - SysTick(), остальные по необходимости) при 18.432MHz - это довольно мало. Итак, опишу кратко по питанию: Всё, конечно, под вопросом. Буду стараться найти более удачное решение с нормальной гальванической развязкой, но это для меня пока сложновато, плюс детали могут оказаться достаточно дефицитными, а намоточного медного провода в городе днём с огнём не сыскать. Уже успел оббежать ВСЕ известные мне магазины - ничего. Есть только обычный монтажный, но на нём ухи, что называется, не сваришь - трансформатор намотать будет крайне проблемно. Итак, ищу: преобразователь POE с гальванической развязкой (50+V -> 5V @3~4A), то есть, с допуском до 15~20W. Преобразовывать напряжение для модуля Ethernet буду с 5V, т.к. при этом не потребуется дополнительный "качественный" преобразователь POE->3.3V @0.25A. Звук: Будет ЦАП, и не обсуждается xD Да, хочу там воспроизвести Nyan-Cat (ну да, такая мелкая замашка). Так что, вопрос с адекватным звуком - актуален. Индикация - динамическая, строчная. Вывод синхронный, без регулировки яркости (либо с ней, но довольно простой - PWM). В текущий момент занимаюсь тем, чем могу в относительно свободное время (на работе, да) - дописываю модули. Плату пока не могу делать (даже переходники, хотя жаль). Кстати, неожиданно обнаружил в своём магазине позитивный(!) фоторезист. Разве что обозвали они его "Фотопечатный лак". Как и обесчал, нашёл картинку: Производитель PoE модуля. Да, конечно, фирма на букву "D". Но что контора закупает, тем и богаты.
  16. Заметка проекта получила на Хабре плюс, не знаю, чем именно, но инвайт получен. >'^..^'< Первый пост на Хабрахабр.
  17. Так в том-то и проблема, что не хочется городить трансформаторы. Ну, не люблю я трансформаторы собирать ^^'''' Проще бы было запитать так: +12 -----> [3..35 -> 5]----(5V)----[LDO]----(3.3V)---> ENC28J60 А 5V питать MCU+его переферию. Возникла идея засунуть до кучи ещё и RTC в проект.. и синхронизировать время из сети... но это чуть позже. Так вот, насчёт LDO 5 -> 3.3V. К сожалению, не слишком легко ориентируюсь в имеющейся элементарной базе, да и рядом со мной магазин так же не слишком радует. Есть довольно простенький вариант, который морально подходит для питания относительно малыми токами: LM358 + опорное напряжение + делитель + IRF...ну, допустим.. 7306/7316 с радиатором. Примерно получаем: (5-3.3)*0.2A = 1.7*0.2 = 0.34W (по спецификации может потреблять 0.25A, тогда 0.41W). Datasheet для IRF7306/7416 описывают максимальную мощность рассеянья в 1.4W @+70°C, так что 0.5W должно быть относительно допустимо. Грубовато.
  18. Обдумывали варианты, и пришли к мысли, что: - Компьютер может зависнуть/отключиться/глюкануть/сломаться... в моём компе, например, имеется физический порт RS-232, но он сдох.. Передавать данные не может более. Плюс, нужен сервис. Да, можно сделать что-то подобное, но решили максимально абстрагироваться. Не знаю, как остальные, но я - точно. Получился именно подобный проект. На виртуалке крутится скрипт-опросник. Где-то в сети висит устройство оповещения. На текущий момент - уже мельком упомянутый виртуальный порт RS232 (Арлан-9000). Кому интересно, вот ссылка. Raymond, спасибо Вообще, не очень хотелось делать на рассыпухе по простой причине - через него должна проходить немаленькая мощность (по прикидкам в критическом случае: Активен Ethernet + Горит вся линия (160 точек * 10mA), получаем порядка 1600mA+200mA = 1.8A*3.3V = ~6W, что довольно прилично) Плюс, обязательно потребуется два уровня напряжения питания - 4.5~5.5V для MCU (иначе не сможет запуститься на 18MHz (планирую использовать кварц на 18.432MHz), т.к. там тайминги меньше по понятным причинам, а вот на ENC28J60 требуется 3.3V, иначе утюг... Проверялось... неприятно горячая уже за пару минут. Потому думаю не использовать готовый POE модуль, а просто подать через гнездо-переходник где-нибудь 12V. И будет счастье. А уже LowDrop делать от 5V после стабилизатора.. хотя, есть варианты, опять же.
  19. Данный пост планировался давно, но всё не получалось собраться написать его. Собственно, что получилось. История создания проекта могла бы и не начаться, если бы не одно непритяное "Но" - в отделе имеется занятное оборудование, которое должно работать бесперебойно, в режиме 24/7/365 (круглосуточно, без выходных, всегда) - собственно, это аппратные станции и SIP сервера телефонии (а так же Call центр, но это не столь фатально). Оборудование находится в серверной, удалённой от кабинета и достаточно зашумлённой (50-80db внутри - это норма). За оборудованием в случае сбоя (как с нашей стороны, так и со стороны присоединённых операторов), нужно сделить и вовремя принимать соответствующие меры для восстановления работоспособности. Меры принимаются, но ранее это происходило с некоторой задержкой в виду отсутствия возможности контроля. Визуальный контроль за оборудованием возможен (индикация предупреждений и аварий предусмортена), но вот проблема с оповещением присутствует. Простейшим вариантом стал комплекс их: - Виртуального сервера (ubuntu 11.04, 512MB RAM, NoGUI). - Скриптов на оной виртуалке. - Устройства оповещения типа "Мигалка". Работает всё довольно просто - скрипт опрашивает устройства на предмет нештатных состояний (пропадание потока связи, отсутствие питания, предупреждения и прочее), и в случае нормы везде прсылает на "мигалку" команду "Отбой". В случае аварии хоть где-то - соответственно, включает предупреждение. Всё работает, но не сказать, что удобно - неизвестно, ЧТО себя плохо чувствует. В настоящий момент идёт разработка более полноценного сетевого устройства оповещений (хотя так же, будет работать совместно с виртуальным сервером и скриптами). Суть устройства: MCU: ATMega1284p (выбрал то, что имелось в наличии), кварц на 18.432MHz; Ethernet модуль: ENC28J60; Индикация: 20 модулей 8x8 LED DOT Matrix (приобретены на E-Bay); Звук: Пьезоизлучатель, DAC 8bit R-2R на резисторах, частота сэмплирования будет ~22kHz, Однотональные сигналы; Дополнительная переферия: Термомерты DS12B20; Питание: В настоящий момент под вопросом, поскольку не хочется лишних проводов к устройству, и есть желание собрать его по схеме POE, но подуль не выдержит 48V, потому, вероятно, будет использован 12V БП В качестве внутреннего источника питания, и стабилизатора, используется модуль Step-Down DC-DC Converter на LM2596 (с того же E-Bay); Отладка: UART в режиме RS232 (на скорости 115200), включается только при старте ЦП, если есть потенциал на заданном пине ЦП, иначе не включен и не потребляет системных ресурсов; Конструкция Устройство конструкционно будет представлять собой инфо-панель (напоминать таковые в автобусах), но размером поменьше (оригинальную не смог найти - не гуглится то, что представлено в наших автобусах, но напоминает оно бегущую строку). Готовое устройство будет иметь размер видимой области 20х400мм (1 строка на 20 модулей), возможно в дальнейшем станет двустрочным, или увеличит шрифт (вероятнее первое). Планируется работа в сети Ethernet (самостоятельная). В настоящее время (в первом устройстве "Мигалка" используется виртуальный COM-порт Ethernet <--> RS232). Сеть организовывается через модуль ENC28J60 (особая благодарность пользователю easyelexnronix, Lifelover за драйвер модуля, а так же примеры работы с ним). Планируется возможность звуковых оповещений (выключаемая на стороне сервера), а так же возможность воспроизведения потокового звука (декодирование будет происходить так же, на стороне сервера, проблема с воспроизведением и малой процессорной мощностью, а так же полное отстутствие DMA, решается прямым воспроизведением из кольцевого буфера), индикация - динамическая. Теперь по порядку: Ядро системы От ЦП устройства требуется многозадачность, и одновременно жёсткое реальное время (для звука), потому была попытка использовать FreeRTOS, что не увенчалось успехом. Потребность воспроизводить звук сводит на нет все достоинства ОСРВ (т.к. накладные расходы на обработку слишком частых прерываний системного таймера (22кГц) требуют высоких расходов). При стандартной частоте системных прерываний (100..1000Гц) звук PCM воспроизвести невозможно. По этой причине пришлось отказаться от FreeRTOS, и писать как и раньше. Обработка звука будет производиться в прерывании отдельного таймера. То же прерывание, при отсутствии данных в буфере звука, будет самостоятельно отключать себя. Однотональная пищалка будет подключена к выходам PWM-генератора, что не исключает возможности работы только одного пьезоизлучателя для оповещений. Прерывание таймера заставляет обработчик переместить указатель буфера на шаг вперёд, проверить, не переместился ли он при этом за конец буфера, если да - вернуть в начало, вычесть 1 из оставшихся байт в буфере, если 0 - остановить воспроизведение, отключить таймер и вывести тот же 0 на порт DAC, иначе - вывести на порт байт из буфера. Индикатор Реализация индикатора планируется на сдвиговых регистрах с защёлками 74HC595 + IRLML2402 в качестве драйвера строк (регистры используются в качестве драйвера столбцов, т.к. их токовая нагрузка позволяет запитать целую строку (8 точек) одновременно). Данные для отображения на самом табло будут заводиться в сдвиговый регистр, постепенно заполняя строку (биты будут проталкиваться справа налево, чтобы не городить огород с дополнительными буферами), и отображаться построчно (примерно, как в ТВ, за тем исключением, что данные строки будут отображаться 1мс, затем произойдёт переключение на следующую строку). Благодаря наличию защёлок в регистрах, удастся полностью избежать мерцания при переключении строк. Источник питания Как уже оговаривалось, питание будет поступать из вне на модуль ENC28J60, т.к. его конструкция позволяет, снимать напряжение с 3 и 4 пар кабеля (они не замкнуты на корпус и ни к чему не подключены). Затем это напряжение будет поступать на DC-DC преобразователь и понижаться до 5V. В настоящий момент стоит вопрос уровней напряжения: Ядро нужно питать от 4.5-5V, т.к. иначе не гарантируется работа его на частоте выше 12MHz (допустима для 3.3V), но сетевой интерфейс обязательно питать от 3.3V, иначе чип сильно греется, и есть опасность его выхода из строя. Преобразователь в наличии только один, потому необходим доволнительный Low Drop 5V -> 3.3V на ток до 250mA, опять же, желательно импульсный с высоким КПД. В наличии, к сожалению, нет. В настоящий момент имеется: - Частично собранная библиотека (сеть видится, осталось добить проверку наличия линка и обработчики данных) - Ethernet модуль ENC28J60 - Step-Down DC-DC Converter (LM2596) Фото: - Индикаторы (в разобранном виде) (20 шт) Фото: Ссылка на сами LED-модули, а так же управление ими здесь. - MCU ATMega1284p на отладочной плате (выглядит довольно неряшливо, но она делелась для себя). Фото: - Пищалка.... - Термометр DS18B20, переписанная с нуля библиотека. Базовый минимум функций: "Прочитать", "Запуск преобразования". Библиотека будет переписана для оптимизации и исключения задержек в работе ЦП при преобразовании. В настоящий момент, преобразование температуры заставляет замереть ЦП на ~750мс, что фатально для работы в сети, а так же, звука. Потому данные будут считываться таймслотами, следуя не чаще чем 1 в 1мс. В библиотеке будет реализован простейший автомат с конечными состояниями. Чего нет: - Переходников для LED модулей (цоколёвка модулей просто ужасна, а для панели удобнее будет собирать их, когда ряд с одной стороны, а столбцы - с другой. Заказывать переходники оказалось коммерчески не выгодно. Цену на заводе заломили в размере 4000 (без НЗС) за 40 штук. С НДС получаем почти 5k деревянных. Придётся оттачивать навыки работы с мини-дрелью и ЛУТа. - Законченной версии библиотеки - DMA а очень жаль. - Знакогенератор. Матрица символов планируется 6х8, без оптимизаций шрифтов. //A { 0b00000000, 0b00100000, 0b01010000, 0b01010000, 0b10001000, 0b11111000, 0b10001000, 0b00000000, } Псевдографики пока не будет. Вывода картинки из "сети" пока, вероятно, тоже. Но описать графический буфер недолго, можно сделать и анимации прямо с сервера. Была идея купить Raspberry PI и написать скрипт поверх неё.. но это не спортивно. Там система ARM-11, 512MB RAM, Linux.... да там можно поднять сам сервер мониторинга!.. но вот реальное время в любой *nix системе - мягкое, а для вывода индикации требуется жёсткое. Конечно, можно было сделать RPI + любой более простой контроллер типа ATMega48 (да, тоже есть в наличии), с обменом по SPI/UART и переферией поверх самого контроллера, но это тоже не спортивно. Цель проекта ставилась для себя "Уложиться в малый бюджет и собрать устройство оповещения", потому выполняется именно так. Почти здоровый спортивный интерес. Проект постепенно собирается, обновления будут позже. Спасибо. Кстати, нашёл самую похожую бегущую строку (что применяется в автобусах): Здесь
  20. Пф.. Нашли проблему.. У меня на рабочем компьютере установлен linux, да и на домашнем мешает его поставить только какой-то странный глюк между видеокартой и системой (определяет монитор неправильно и с меньшим разрешением). В остальном более чем доволен. Всё жду, когда мне протянут толковый интернет - тогда у меня появится неттоп, в роли выделенного сервера, а возможно, и рабочего компьютера.. а основной будет большую часть времени отключен.
  21. В принципе, хватает. Разве что всё равно было что-то видно на просвет. Будет грустно.. ::tearful Принтер жалко.. Да и пока пробую фоторезист освоить. Да вот и мя задумался над вопросом "То ли лыжи не едут, то ли...." © В общем, эта лампа скорее даёт более широкий диапазон, чем дневной свет, смещённый в сторону УФ. Диоды оказались едва ли не мощнее... Близки.. Но немного на перегрузке. Хотя, выражается только в температуре. ^^''' Лампа, так и есть, кварцевая.. Разве что особо не искал на неё справок. А вот со стеклом, видимо, ошибся мяф..
  22. Наконец-то удалось сделать плату >_< Оказалось, нужно было всего-лишь дольше (значительно) засвечивать. В итоге, от 100-Вт лампы, пришлось ждать 4-5 минут (расстояние 40см, 5 слоёв плёнки + стекло).
  23. Что-то мне по прежнему не везёт. Нашлась лампа ДРТ-100 (домашняя установка для загара). С расстояния 40см облучаю 2-3 минуты. Осыпается всё так же. Точнее, осыпаются тонкие дорожки. Последовательность действий: - Зачистить текстолит до блеска стирательной резинкой. - Нанести фоторезист (проклятый ФВ-ВЩ-50) - Прогреть утюгом с надавливанием (положение - холоднее "•"). - Облучить через фотошаблон. - Проявить (Кальцинированная сода с водой) - Выругаться и начать заново... Как-то так. ЗЫ: В некоторых местах по какой-то причине всё держится хорошо.. А в других просто сощёлкивается когтем.. Достаточно осторожно подтолкнуть дорожку и та отскакивает. Недостаточная засветка, или недостаточный прогрев?..
  24. Неее, пожалуй, воздержусь от ковыряния в принтере. К тому же, его работа на бумаге более чем устраивает. Лазером... Самым настоящим. Из привода BluRay (не опечатка, как оказалось). Мощная штука, прожигает бумагу (белую) в месте фокуса только так. Заряжает фосфор тоже очень сильно. В общем, опасная игрушка. А помешается на ладони. Более того, 1х4см цилиндрик с оптикой и блокировочными конденсаторами, гасящими внезапные скачки тока на лазерном диоде. Зато то, что было засвечено ТАК, уже не отваливается просто так...) Но опасно... Была мысль сделать подобие станочка для.. "выжигания", но нет такого количества шестерёнок и направляющих.
  25. Итак, по порядку. Да, Вы вполне правы. В данном случае, именно этажерка, т.к. принтер довольно скупо посыпает плёнку тонером. Если напечатать чёрный полигон (даже небольшой), то на просвет много чего видно. Приходится утолщать. Самое странное, что на качество не слишком сильно влияет. Вот грубый набросок схемы засветки. Прижимаю к фоторезисту плёнку той стороной, где печать. Толщина плёнки 0,1мм (фото). Я постоянно двигаю диоды над поверхностью платы, добиваясь высокого уровня засветки. К тому же, общая толщина "пакетного" фотошаблона достигает 0,8мм, так что там есть эдакий коридор, который не позволяет светить куда попало. Используется почти квадрат 3х3 из ленты. Пример ленты Взял 3 секции и собрал из них подобие кластера. Шаткое.. Пробовал в драйвере. Становится ещё более светлым. На бумаге не заметно. Пробовал облучать лазером из BD-RW. Неплохо, но горячо.. Сейчас пробую более длительное "прогревание" платы. В прошлые разы помогало. Или, это дорожки были толще? В общем, ожидаю чего-то более... чего-то более. (с)
×
×
  • Создать...