15:31

домовой
Когда заказывал  отладочные платы на esp8266 не посмотрел что там всего один ацп.  А хотелось странного: сделать  wifi пульт с пропорциональным управлением двумя каналами.
Вариантов было два:  либо использовать энкодеры, либо придумывать способ измерить  напряжение по очереди на двух переменных резисторах одним ацп. 

Вариант  с энкодером  выглядит  неудобным, потому как  имеющийся в наличии ec11  имеет всего  40 шагов на  оборот.

Неожиданно в голову пришла мысль, что можно по очереди включать питание  переменного резистора. Для верности  с обеих сторон. Например полумостом.  А если вспомнить стоимость l293 на али ... то не остается причин почему бы благородному дону не пожертвовать аж 15 рублей во благо удобству.

(линии питания на ноги vss и gnd не показаны  чтобы не усложнять схему)

В итоге получилась немного бредовая, но вполне работоспособная идея.  
просто пишется что то типа  

//в начале прижать обе ноги к земле

digitalWrite(pin1,LOW);
digitalWrite(pin2,LOW); 
//поднять ногу1, чтобы включить  питание на резистор;  измерить напряжение; опустить ногу;
digitalWrite(pin1,HIGH);
 int left=analogRead(A0) ;
digitalWrite(pin1,LOW); 
//повторить  все то же самое  с другой ногой.
digitalWrite(pin2,HIGH);
int right=analogRead(A0) ;
digitalWrite(pin2,LOW);  

11:19

домовой

Люди почему то не верят, что на arduino uno можно собрать мозги принтера (а точнее засунуть туда управляемую часть прошивки клиппер).


основа:


  1. arduino uno
  2. cnc shield v3
  3. драйверы шаговых двигателей (4 шт)
  4. горсть джамперов ( 12-14 шт)

Далее все собирается примерно так же как описано во всех руководствах предлагающих собрать grbl чпу гравер на cnc shield


  1. согласно датащита на ваши драйвера шаговых двигателей поставить микрошаг 1/16
  2. поставить джампера на штыри подписаные D12 и D13(необходимо для подключения экструдера)
  3. поставить драйвера моторов так, чтобы вывод enable модуля совпал с меткой enable разьема на плате.
  4. собственно подключить моторы, подключить концевики
  5. Выставить ток моторов



получается примерно вот такой бутерброд
(картинка взята с 3dtoday)


Далее начинается творчество и извращения. Необходимо как-то подключить термистор и нагреватель.


С термистором все просто:
Всего лишь необходимо сделать резисторный делитель и подключить к ацп микроконтроллера. Номинал резистора в 4.7 кОм честно подсмотрен на схемах разных плат. И в комментариях прошивки марлин.



С нагревателем все чуть сложнее. Его включают по примерно такой схеме.



подключать термистор и мосфет можно любым выводам порта PC (ANALOG A0 -A5) .


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



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


Настройки прошивки.


cd klipper
make menuconfig
в появившемся меню выбрать
Micro-controller Architecture : Atmega AVR
Processor model : atmega328p
processor speed : 16MHZ
сохранить конфиг.
собрать и загрузить прошивку
make
make flash FLASH_DEVICE=/dev/ttyUSB0



Примерный конфиг клиппера для ардуины с чпу шилдом.



[stepper_x]
step_pin: PD2
dir_pin: PD5
enable_pin: !PB0

step_distance:0.00125
endstop_pin: ^!PB1
position_endstop: 0
position_max: 200




[stepper_y]
step_pin: PD3
dir_pin: !PD6
enable_pin: !PB0
step_distance:0.00125
endstop_pin: ^!PB2
position_endstop: 0
position_max: 200




[stepper_z]
step_pin: PD4
dir_pin: PD7
enable_pin: !PB0
step_distance:0.0003906
endstop_pin: ^!PB3
position_endstop: 0.5
position_max: 200




[extruder]
step_pin: PB4
dir_pin: PB5
enable_pin: !PB0
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.500
filament_diameter: 3.500
heater_pin: PC1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC2
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 210




[mcu]
serial: /dev/ttyUSB0

[printer]
kinematics: cartesian
max_velocity: 350
max_accel: 5000
max_z_velocity: 1
max_z_accel: 30



15:54

домовой
Городской суд Севастополя приговорил к 12 годам лишения свободы в колонии общего режима гражданку России 1955 года рождения, которую признали виновной в шпионаже.

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

Мы в восхищении. Королева в восхищении.

 Вот честно не понимаю как-такое может произойти. 
ненаучно-фантастические варианты:


  1. бабушка изнасиловала журналиста (по мотивам фолклора)

  2.  Авиационный полк долбодятлы и физический доступ к секретным данным может получить доступ вообще кто угодно

  3.  Бабушка радиолюбитель со стажем что маловероятно. ( на фамилию указанную в новостях нет позывного). Но тогда авиационный полк все равно долбодятлы  и эти данные может получить кто-угодно.  Достаточно поставить  sdr приемник с конвертером частот и расшарить его в сеть. И тогда можно почти легко и предельно безопасно перехватывать радиоэфир. 

  4.  бабушка виновата лишь в том что кто-то хотел кушать



22:34

домовой
дошли руки проверить прошивку осциллограф github.com/gsimon75-stm32/scope
из достоинств
сборка прошивки относительно простая
оно даже работает
фич автор засунул по самое не балуйся.
из недостатков - все остальное
логический анализатор несовместим с sigrok. а значит все фичи придуманые разработчиками за добрых 5 лет идут лесом.
самобытный юзер интерфейс ... слишком самобытен.
нет правила для предоставления прав к usb устройству. мелочь но неприятно.


сборка

13:45

домовой
учу людей нехорошему.
Как заставить субд написать за тебя 100500 запросов на update, чтобы вернуть все как было на резервной копии.

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

select
   col_1,
   col_2,
   col_3 ,
   col_unique_id
from
   table1
where
   col_unique_id in (1,2,3,4,5);

нужно дописать слова
'update имя_таблицы set', 'where ' имена полей , запятые
в результате получается что то типа
select
    'update table1 set'
   'col_1=',col_1,','
   'col_2=',col_2,','
   'col_3=',col_3 ,
   ' where',
   ' col_unique_id= ',
col_unique_id,
';'
from
table1
where
col_unique_id in (1,2,3,4,5);

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

@темы: рабочее, postgresql

09:30

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

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

19:00

домовой
Мды. неожиданно. В интернете никто не знает что ты кот.
и я не знал что дядько который написал приму а дар блок управления от 101hero Еще каких нибудь 10 лет назад вполне мог не задумываясь сделать замену уничтоженой плате. ему лишь нужно было имя платы и ее гербер файлы. Сейчас вероятно тоже может но радости ему это не доставит. Ибо зрение не то и руки не те.

11:54

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

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

неожиданно китайцы стали предлагать экраны для dexp p180. и я не удержался.
Проверю свое везение. Если все придет и заведется то квест будет: придется делать корпус

upd
везение под вопросом. либо мне достался некорректный трек номер, либо моя посылка ушла куда то во Владимирскую область.

@темы: мог(б)ильные технологии

12:24

домовой
узрел интересное.
человече взял генератор от камаза прикрутил к двс от мотоблока и сказав "да будет свет" раскрутил генератор с помощью bldc контроллера. Тараканы шепчут про то что таким образом можно попытаться превратить любое отечественное корыто в гибрид.

требуется:
0. что то на тему электронной педали
1. знать скорость вращения коленвала
2. определить диапазон оборотов на котором генератор выполняет роль мотора.

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

@темы: схемотехника

14:58

домовой
освоен новый фокус: Полнотекстовый поиск в postgresql по части слова. фактически как Like но порядок слов может быть любой.

классический полнотекстовый поиск записывается так
SELECT * FROM table1 WHERE to_tsvector('russian',name_column) @@ plainto_tsquery('russian','красное курткой')

plainto_tsquery('russian',:searchtext) уберет из :searchtext все предлоги, местоимения, спецсимволы, окончания и превратит в выражение вида 'word1' & 'word2'.....& 'wordn'. т.е. выражение 'красное курткой' станет 'красн' & 'куртк'

to_tsvector('russian',name_column) приведет некий текст к списку слово без окончания - места где встретились.
т.е. 'красное курткой совсем красный' станет чем-то вроде 'красн':1,4 'куртк':2 'совсем':3

и далее поиск идет по совпадающим словам.
т.е. результатом запроса

SELECT
to_tsvector('russian','красное мороженным') ,
plainto_tsquery('russian','краса'),
to_tsvector('russian','красное мороженным') @@ plainto_tsquery('russian','краса')

даст строку вида
'красн':1 'морожен':2 | 'крас'| false



но вот мало где написано что если в tsquery записать 'word1':* то результат поиска по ts_vector будет похож на результат поиска по выражению like '% word1% %'

SELECT
to_tsvector('russian','красное мороженным') ,
to_tsquery('russian','краса:*'),
to_tsvector('russian','красное мороженным') @@ to_tsquery('russian','краса:*')

'красн':1 'морожен':2 | 'крас:*'| true

т.е. остается привести выражение 'word1' & 'word2'.....& 'wordn' к виду 'word1':* & 'word2':*.....& 'wordn':* и поиск будет выглядеть как like но с любым порядком слов. И тут я не придумал ничего лучше чем слишком сильно навороченное выражение вида

cast(replace(cast(plainto_tsquery('russian',:search) as text),' & ',':*&') || ':*' as tsquery)

update
вылезла неприятность если запрос не содержит букв алфавита то plainto_tsquery возвращает "". а выражение "'':*" является недопустимым

обход
case when
plainto_tsquery('russian',:search) !=''
then
cast(replace(cast(plainto_tsquery('russian',:search) as text),' & ',':*&') || ':*' as tsquery)
else
true
end

@темы: postgresql

09:30

домовой
два дня просидел за электроникой машинки.
вердикт: все печально.
я могу создать точку доступа на esp8266. могу подключиться к ней. могу читать состояние энкодеров.
Но не могу управлять мощными моторами. маломощными мотор-редукторами рулить могу. На большее l293 не хватает. И почему-то дико проседает питание. причины не ясны. я совершил глупость и забыл померять ток моторов включенных без драйвера.

Заказал горсточку ta6586. Вроде утверждают, что творение китайского сумрачного гения на порядок лучше чем старый l293.
думаю а не заказать ли платы под это дело.

@темы: схемотехника

02:01

домовой
когда в следующий раз будут говорить про то что для связи stlink и stm32 хватает четырех проводов я буду точно знать что тот кто это говорит скрытый мазохист. Как иначе назвать извращенца который вместо того чтобы соединить reset программатора с reset платы занимается спортивным нажиманием на кнопку reset. Через боль унижения и тяжелые программы

Рецепт под linux
Поставить stlink-gui
соединить
swdio->dio
Swck->clk
Reset->reset
Gnd ->gnd
+3.3 -> +3.3/vcc
Запустить программу stlink-gui
Нажать подключиться
выбрать файл
Прошить

upd иногда ресета не хватает

@темы: 3d, stm32

домовой
Хотите прокачать навыки моделирования и печати всяческой мелочевки? А научиться ремонтировать и программировать электронные устройства?

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

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

@темы: гик?!

09:19

домовой
Мды. То отрезвляющее чувство когда перед тобой лежат модные игрушки но ты им не можешь дать ума.

Cпросили как настроить на домашней машине впн от фирмы киска. На просьбу проковырять порт для ssh человек на пол часа закопался в потроха приложения mi router. (не смог)

спросили есть ли чё, чтобы пошариться по ноутбуку выключенному при обновлении десятки. Дал подопытный телефон с q4os в drivedroid .

попытка скопировать файлы... на запароленый wd passport... который хочет под форточкаой права администратора и пару тройку версий .net framework..
под никсами дела чуть лучше. но опять же не в случае live cd без возможности подключиться к сети (1. смартфон не имеет сим карты 2. выполняет роль флешки и не может одновременно работать кем либо еще).

@темы: гик?!

21:37

домовой
Очередной опыт и очередное достижение. Когда эйфория от того что Я собрал своими руками принтер утихла выяснилось что он искажает детали. Попытка заменить деревянные детали на пластиковые ничего не дала. Более того искажения стали больше. Была перебрана рама. Не помогло. После того как я купил штангенциркуль с цифровой индикацией я выяснил что магниты стоят не на тех местах где должны быть на чертеже. Следствие кривых рук и ошибки сверления деталей. Ошибок набегало до 0.3 мм на каждой детали.
Итак встала задача: на принтере выдающем кривые детали получить равносторонний треугольник.
Вариантов виделось два:
1.исказить деталь масштабированием.
2. Сделать деталь разборной

Баловаться с масштабированием я не стал. Ибо единственное что я запомнил за пять лет высшей математики это
1. Я не знаю математику
2. Законы Мерфи всегда против

Решил сделать эффектор из трех одинаковых деталей.
Контрольные фокусы
0. Все три детали одинаковые
1.детали должны влезть в щель между нижними ребрами радиатора e3d v6 (расстояние между ребрами 1.5 ммб глубина чуть меньше 5мм)
2. Детали должны упереться в радиатор e3d v6 (диаметр радиатора 22 мм)

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

выдавить фигуру.

Из вершины где угол 120° вычесть два круга.:
а. Диаметром 17 мм. на всю высоту фигуры
б. Диаметром 22 мм. оставить 1.5 мм

3. сделать дырки под сердечники магнитов.
4. сделать технологические отверстия чтобы потом винтами стянуть детали.

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

upd
не обошлось без ложки дегтя. Я при рисовании деталей эффектора забыл посмотреть влезет ли кулер. И не посмотрел влезет ли bmg так чтобы не мешать диагональным тягам принтера.

upd2
установил подогрев стола. Смешал "3д клей" из повидона (энтеродеза) и водки. отпечатал тестовый кубик. результат очень похож на то что описывают . деталь отлипла при 40 градусах.

@темы: 3d

09:55

домовой
не удержался, полез ставить клиппер на смартфон без otg.
текущий результат : не получилось.

дебиан в чруте сказал что его python-serial не знает про слово exclusive .
после удаления упоминаний слова exclusive, клиппер перестал выдавать матерные ошибки и сообщил что не найден файл порта принтера.

Попробовал создать файл виртуального tty через socat. Но увы клипперу что-то не понравилось и он сказал что не может работать с такой шелесякой.

простые фокусы кончились.
дальше наверное проще переписать файл с функциями обмена с последовательным портом на сокеты. ибо ничего лучше чем serial mirror все равно под руками нет.

@темы: 3d

23:43

домовой
фейл. забрал платы с почты, запаял разьемы и компоненты... и тут выяснилось что несколько лет назад я брал не bluepill под которую разводилась плата, а клон maple mini. И у них распиновка разная.
upd: совпадает все кроме разьемов притания. так что по идее все решается парой-тройкой перерезаных дорожек и перемычками.

фейл №2.
1. даже если вы уверены в том что развели все, что нужно, не поленитесь развести дополнительные разьемы. Ибо аппетит приходит во время еды.

2. То что никто такого не делает еще не значит что так не надо. Сильно жалею о том что не заложил в схему шим преобразователь напряжения.

фейл №3
принтер внезапно встал.
один мотор не шевелится. пробовал разные моторы, пробовал разные драйверы.
не менял только плату контроллера.

думаю как диагностировать контроллер.

напрашивается вариант вида:
1. снять синюю таблетку с платы
2. поменять конфиг так чтобы была кинематика none

[printer]
kinematics: none
max_velocity: 1
max_accel: 1

3. по очереди проверить все ноги как входы тупо и банально подставив в probe нужный пин. и нажимать
[probe]
pin: P9_41
....



4. проверить работу шима на каждой ноге (подставив ножку в секцию fan)
[fan]
pin: P9_41

5. проверить работу в режиме выход
[output_pin test_pin ]
pin: P9_23
value: 1
shutdown_value: 0


@темы: 3d

11:42

домовой
Странные впечатления от просмотра видео с самолетом dragonfly.
Тряпколан без каких либо приборов контроля и больше похожий на метлу с крыльями ... крутит высший пилотаж. На скорости меньше 150 км/ч. И весит 230 кг пустым.
230 кг алюминия и композитов Карл. это как два e12нк.

@темы: первым делом мы испортим самолеты

09:35

домовой
Только сегодня и только в нашем торгово выставочном комплексе!
Увлекательные конкурсы
1. Найди продавана который не пошлет в деревеньку nahui
2. Пробегись с охапкой товара по складам, потому что там лежат коробки и инструкции к тому китайскому хламу который вы выбрали в нашем ТВК. Пакеты для слабаков.

@темы: на злобу дня

00:06

домовой
смотрю на картинки и габариты принтеров zav mini, FLYING BEAR P902, delta go 3d принтер

Отбиваюсь от тараканов предлагающих запустить очередной долгострой по мотивам. Ибо все же наверное круто когда принтер занимает на столе чуть больше чем atx блок питания(рама габаритами примерно 190*190*190мм из профиля 20*20....) если делать hbot кинематику на роликах... то это может быть интересно. Или дельту... маленькую и уютную...

Из необходимых деталей...


Да когда же меня отпустит то... Моя прелессть..

@темы: 3d