Category: техника

Category was added automatically. Read all entries about "техника".

Стиблиц сделал на кухне складывалку чисел на реле

на батарейках на двоичной логике. Показал коллегам. Коллеги не впечатлились: на двоичной логике понадобится дохрена релюшек.
Collapse )

Ардуина с ПЛИСом и Верилогом: предварительно

Предварительно по гибриду Ардуины и ПЛИСа (Arduino MKR Vidor 4000), репост из фейсбука

1. Самое интересное: прошивка для ПЛИС создается в обычном квартусе (Intel Quartus, бесплатная версия Lite), на обычном Верилоге, к среде Ардуино эта процедура никакого отношения не имеет. Из кода на верилоге Квартус генерирует файл ttf (так называемый битстрим), он дальше пойдет на ПЛИС несколькими возможными путями.

шаблон пустого проекта с топ-левел модулем, настройками и кое-какими ip-блоками (открывается, собирается, генерирует файл ttf в последнем Квартусе, проверил) здесь:
https://github.com/vidor-libraries/VidorFPGA

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









доб1: пост в фб 6 сентябня, сейчас 12 октября, вериложный тулчейн еще не открыт
доб2: когда (и если) все-таки откроют, будет повод вернуться к Верилогу
доб3: Альтера уже Интел
доб4: (из коментов) еще один производитель ПЛИС (не Xilinx и не Интел-Альтера) - Lattice: http://www.latticesemi.com/en/Products.aspx#_58F82ED81585418A93A8EE6349B10899
доб5: (из коментов) проект IceStorm - открытые утилиты для работы с ПЛИС Lattice (реверс-инжиниринг): http://www.clifford.at/icestorm/


АПДЕЙТ: 24 ноября, тулчейн открыли
https://forum.arduino.cc/index.php?PHPSESSID=a5hp71v7ioivdcl67hno0nurc2&topic=581316.0
https://github.com/vidor-libraries/VidorBitstream

Collapse )

Сидят Макфол с Трампом,

обсуждают новые санкции против России. Вдруг открывается дверь, входит Панчул в майке Уралвагонзавода, включает компьютер и начинает перекачивать на флешку чертежи и рендеры последнего (еще не вышедшего) айфона. Трамп:
- Майкл, это кто? o_O
- Дональд, не обращай внимания, это русский агент влияния, русский тролль и русский хакер, полковник ГРУ Юрий Панчул panchul
- А почему вы его не забаните на фейсбуке, не добавите в список санкций и не отправите в Гуантанамо?
- Уже пробовали, все равно выкрутится, скажет, что нужны картинки для статьи на Хабре, чтобы русские купили больше ip-лицензий МИПС

Модульные тесты для проектов Ардуино

Запилил руководство к побочному проекту (порт библиотеки для модульных тестов на Си/С++ на API Ардуино): https://github.com/sadr0b0t/sput-ino

Модульные тесты для проектов Ардуино: https://habr.com/post/419445/

По результату получился эталонный срач на 170 коментов (для меня, кажется, это рекорд, на хабре точно) СТМ vs Ардуина (про тесты почти ничего не говорили), спасибо Олегу Артамонову, без него бы ничего не получилось.

На следующий день товарищ Артамонов запилил свою статью про СТМ-ардуину (mbed) с более лучшим текстовым редактором (IDE!), более лучшим HAL, таймерами (в официальной поставке!) и без бесконечного цикла (пожалуй, за это можно правда зацепиться): Быстрый старт с ARM Mbed: разработка на современных микроконтроллерах для начинающих

Весь срач переехал туда (и быстро переплюнул мой по количеству коментов), по результату топик-стартера забанили на несколько дней.

автапати раз, автапати два

еще
https://www.facebook.com/yuri.panchul/posts/10156861305488392
еще
https://www.facebook.com/olartam/posts/2018738911509522
еще
https://mbr.livejournal.com/540016.html

«Серьезные» разработчики встраиваемых систем (читай: стмщики) время от времени любят шпынять голозадых «ардуинщиков», у которых среда разработки, помимо всего прочего, не поддерживает даже аппаратные отладчики с точками останова и просмотром значений переменных под курсором мышки или в специальной табличке в реальном времени. Что ж, обвинение вполне справедливо, окошко Монитора последовательного порта (Serial Monitor) плюс Serial.println — не самый лучший инструмент отладки. Однако грамотный ардуинщик сможет с легкостью парировать атаку и поставить зарвавшегося стмщика на место в том случае, если он (ардуинщик) использует модульные тесты.

Кому лень идти на Хабру, традиционно, все под катом (все равно все не умещается, поэтому режу где придется). Но за форматирование не ручаюсь, подсветку тоже восстанавливать лень.

Collapse )

Спонтанный рефлекс на короткое замыкание

Урм не стал слушать. Он вышел в фойе и там остановился как вкопанный, усиленно двигая черными рогами локаторов. На противоположной стене висело что-то большое, блестящее и холодное. Оно казалось серым непроницаемым квадратом в инфрасвете и сверкало и серебрилось в обыкновенных лучах, но не это смутило Урма. В странном квадрате стояло черное чудовище с шевелящимися рогами на голове, круглой, как школьный глобус, и Урм не мог понять, где оно. Визуальный дальномер мгновенно сообщил ему, что до незнакомого предмета двенадцать метров восемь сантиметров, но локатор опроверг это сообщение. «Никакого предмета нет. Есть гладкая, почти вертикальная поверхность на расстоянии… шесть метров четыре сантиметра». Урму до сих пор никогда не приходилось видеть ничего подобного, и никогда еще локатор и зрительные рецепторы не давали ему столь противоречивых показаний. В его организме с самого начала была заложена потребность делать ясным и понятным все, с чем приходится соприкасаться, и он решительно пошел вперед, мимоходом отмечая и запоминая выяснившуюся закономерность: «Расстояние по зрительному дальномеру равно расстоянию по локатору, умноженному на два»… Он вошел в зеркало. Стекло разлетелось звенящим дождем осколков, и Урм, упершись в стену, остановился. Очевидно, делать здесь было больше нечего. Урм поцарапал штукатурку, понюхал, повернулся и, не обращая внимание на белого, как бумага, дежурного милиционера, повисшего на сигнале тревоги, хрустя по битому стеклу, шагнул к выходной двери. Снег и метель обступили его.
[...]
Пискунов присел рядом с ним на корточки. Что же все-таки произошло? Он знал Урма, как никто в институте. Через его руки прошел каждый винтик, каждый электрод, каждая линза этого великолепного механизма. Он полагал, что может рассчитать и предсказать каждое его движение в любых обстоятельствах. И вот пожалуйста. Урм «самовольно» вышел из своего подвала и гуляет по электростанции. Почему?
Поведение Урма определяется его «мозгом», необычайно сложным и тонким аппаратом из германиево-платиновой пены и феррита. Если у обычной цифровой машины десятки тысяч триггеров – элементарных органов, получающих, хранящих и отдающих сигналы, то в «мозгу» Урма задействовано уже около восемнадцати миллионов логических ячеек. На них запрограммированы реакции на множество положений, на различные варианты изменения обстоятельств, предусмотрено выполнение огромного числа разнообразных операций. Что могло повлиять на «мозг», на программу? Излучение атомного двигателя? Нет, двигатель окружен мощной защитой из циркония, гадолиния и бористой стали. Практически через эту защиту не может прорваться ни один нейтрон, ни один гамма-квант. Тогда рецепторы? Нет, рецепторы еще сегодня вечером были в идеальном порядке. Значит, все дело в самом «мозге». Программа. Сложная новая программа. Пискунов сам руководил программированием и… Программирование… Так вот в чем дело!
[...]
По-видимому, тревога началась. Теперь уже не один, а три прожекторных луча шарили вдоль стены института. Было видно, как снежные смерчи танцуют в голубом свете. Сквозь шум и вой ветра доносились крики, кто-то сердито ругался. Наконец взревели моторы, послышался лязг гусениц. Гигантские тракторы-бульдозеры выходили из автопарка.
[...]
Пискунов шагнул вперед и положил руку в перчатке на грудь Урма. Его пальцы торопливо поползли по броне, нащупывая главное – замыкатель, соединяющий счетно-анализаторскую часть мозга Урма с системой силы и движения. И тут случилось неожиданное – неожиданное для всех, кроме Пискунова, боявшегося этого больше всего. По-видимому, в памяти Урма сохранились ассоциации, связывающие этот жест Хозяина с внезапно возникающей неспособностью двигаться. Едва пальцы Пискунова коснулись ключа, как Урм резко повернулся. Бронированная рука стремительно прошла над головой успевшего пригнуться Пискунова, и Урм, не торопясь, двинулся обратно по шоссе. Николай Петрович первым пришел в себя.
[...]
Тем временем бульдозеры развернулись в полукольцо и стали стягиваться вокруг Урма, неторопливо шлепавшего по шоссе. Один из бульдозеров выполз на шоссе впереди него, кормой к воротам, другой нагонял его сзади, остальные три приближались с боков – два слева, один справа. Конечно, Урм давно заметил, что его окружают, но, вероятно, не придал этому значения. Он продолжал двигаться по шоссе, пока не уперся грудью в бульдозер. Он надавил, трактор чуть качнулся, водитель с напряженным лицом схватился за рычаги. Урм отошел и ударил с разбегу. Железо лязгнуло о железо, и было видно, как снежную мглу под прямым лучом фары прорезали яркие искры. В то же мгновение щит заднего бульдозера уперся в спину Урма. Урм застыл неподвижно, только голова его медленно поворачивалась вокруг оси, точно школьный глобус. Справа и слева подошли еще два бульдозера и плотно закрыли последние пути к отступлению. Урм оказался в плену.
– Товарищи инженеры! Товарищ Пискунов! Что дальше делать? – закричал водитель первой машины.
– Товарищ Пискунов вышел. Что ему передать? – сказал Урм.
Он размахнулся и ударил по щиту. Затем еще и еще. Он бил равномерно, словно боксер на тренировке, слегка отклоняясь при каждом ударе, и из-под его палицеобразных рук с лязгом сыпались снопы искр.
[...]
– Видишь ли, Урм конструировался по заказу Управления межпланетных сообщений. Тем он и отличается от других самых сложных кибернетических машин, что предназначен для работы в условиях, которые не в состоянии предсказать точно даже самый гениальный программист. Например, на Венере. Кто знает, каковы там условия? Может быть, она покрыта океанами. А может быть, пустынями. Или джунглями. Послать туда людей пока невозможно – слишком опасно. Будут посланы Урмы, десятки Урмов. Но как их программировать? Все горе в том, что при нынешнем уровне кибернетики нельзя еще научить машину «мыслить» абстрактно…
– То есть?
– Для машины нет собаки вообще. Для нее есть только та, другая, третья собака. Встретив четвертую, не похожую на первых трех, машина уже не будет знать, что делать. Грубо говоря, если Урм запрограммирован на определенную реакцию только в отношении дворняги, он не сможет реагировать так же в отношении мопса. Простой пример, конечно, но полагаю, ты меня понимаешь. В этом и есть одно из основных отличий самой умной машины от самого глупого человека – неспособность оперировать абстрактными категориями. Так вот, Пискунов попытался возместить этот недостаток путем создания самопрограммирующейся машины. «Мозгу» Урма была задана рефлекторная цепь, сущность которой сводится к тому, чтобы заполнять самостоятельно пустующие ячейки памяти. Пискунов рассчитывал, что, «набравшись впечатлений», Урм будет способен без помощи человека подбирать наиболее выгодные линии поведения для каждого нового случая. Это самая совершенная в мире модель сознания. Но результат получился неожиданный. То есть теоретически Пискунов допускал такое явление, однако практически… Короче говоря, новая рефлекторная дуга породила десятки вторичных, не предусмотренных программистами рефлексов. Пискунов окрестил их спонтанными рефлексами. С их появлением Урм перестал действовать по своей основной программе и начал «вести себя».


А. и Б. Стругацкие, «Спонтанный рефлекс», 1958
https://www.e-reading.club/bookreader.php/55068/Strugackiii_-_Spontannyii_refleks.html



Ну вы понели

Аллегорический символизм осциллографа в произведениях русских писателей второй половины XX столетия

Оказывается, Латынина не первая использовала осциллограф в качестве художественного образа:

Они пошли к двери. Хунта пропустил Фёдора Симеоновича вперёд и, прежде чем выйти, косо глянул на меня и стремительно вывел пальцем на стене Соломонову звезду. Звезда вспыхнула и стала медленно тускнеть, как след пучка электронов на экране осциллографа. Я трижды плюнул через левое плечо.

А. и Б. Стругацкие, «Понедельник начинается в субботу», 1964
https://www.e-reading.club/chapter.php/55060/14/Strugackiii_1_Ponedel%27nik_nachinaetsya_v_subbotu.html

Хотя произведение Стругацких (1964) написано на 40 лет раньше «Земли войны» (2007), обвинить в заимствовании образа Юлию Леонидовну довольно сложно. Совершенно очевидно, что каждый из образов самобытен и оригинален, является характерным продуктом и отражением своего времени и культурной среды.



Collapse )

РВП (работа в процессе): Почти напечатанный станок с ЧПУ (MPCNC)

Ламинированная фанера-14.jpg

Запуск - есть!-05.jpg

Толстая фанера-16.jpg


Толстая фанера-20.jpg


Еще один станочек уже из осенне-зимней текучки. На этот раз - воспроизведение почти-напечатанного-станка-с-ЧПУ (Mostly Printed CNC - MPCNC, исходники на сынживерсе, вики репрап).

Исполнение Игоря Герасимова (INKUBS) при эпизодическом содействии Михаила Белова.

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

Можно поисправлять еще кое-какие косячки, но уже видно, что получилась очень полезная в хозяйстве вещь - недорогая, мобильная, большое рабочее поле, большой потенциал для модификаций.










Collapse )

Многозадачная Ардуина: таймеры без боли

Многозадачная Ардуина: таймеры без боли (как я провёл этим августом)

Не каждый ардуинщик знает о том, что помимо стартового кода в setup и бесконечного цикла в loop, в прошивку робота можно добавлять такие кусочки кода, которые будут останавливать ход основного цикла в строго определенное заранее запланированное время, выполнять свои дела, затем аккуратно передавать управление в основную программу так, что она вообще ничего не заметит. Такая возможность обеспечена механизмом прерываний по таймеру (обычное дело для любого микроконтроллера), с её помощью в прошивку можно вносить элементы реального времени и многозадачности.

Еще меньше используют такую возможность на практике, т.к. в стандартном не слишком богатом API Arduino она не предусмотрена. И, хотя, доступ ко всем богатствам внутренних возможностей микроконтроллера лежит на расстоянии вытянутой руки через подключение одного-двух системных заголовочных файлов, не каждый пожелает добавить в свой аккуратный маленький скетч пару-тройку экранов довольно специфического настроечного кода (попутно потеряв с ним остатки переносимости между разными платами). Совсем единицы (тем более, среди аудитории Ардуино) решатся и смогут в нем разобраться.

Сегодня я избавлю вас от страданий
Collapse )

подсветка синтаксиса

My_Craft: фломастерный плоттер

Про лазерный гравер, который до прибытия лазерного модуля 15 Ватт был вынужден притворяться фломастерным плоттером, отдельным постом.

Корпус из фанеры, некоторые детали вырезаны на Ррапторе. Вспомогательные блоки, крепления и механизмы - 3д-печать. Две полноценные оси X и Y. Ось Z - дискретная с двумя состояниями: «рисуем», «не рисуем», на сервомоторе.

Софт - Benbox (так и не смог найти его домашний сайт, кое-какую информацию навскидку можно найти, например, здесь).

Блок ЧПУ - на Ардуино (как на 3д-притере, только другая прошивка), очень удобно и прогрессивно по сравнению с громоздким LinuxCNC и прочими Мач3'хами.

Автор, инженер, конструктор - Игорь Герасимов.




ДОСААФ-90лет-16.jpg

ДОСААФ-90лет-107.jpg

Collapse )