21370
25
1
Всем привет, давно постов про ЧПУ у меня не было , всё просто , ушёл с работы и начал собирать свой станок . Вот сегодня как раз хочу рассказать , что у меня получилось .
Началось всё с покупки механических комплектующих , направляющие , винты ШВП , гайки , муфты , кронштейны и т.д.
Опорные подшипники BK-17 и BF-17
Кронштейны гаек ШВП , делали на заказ , так и дешевле и качественней.
Муфточки , переход с 14 на 12 мм .
Жирненькая хивиновская каретка типа HGW .
Дальше собрал всю электронику в кучу : плата управления , датчики , драйвера , моторы , блоки питания .
Шаговики нема 34 (86 кг*см)
Мозги - плата управления Kflop
Пока я собирал механику и электронику в кучу , на заводе валялся метал для будущего станка и ждал пока его обработают для нормальной сборки , выровняют базовые поверхности на станине и основаниях портала .
Первая компоновка станины и портала .Да, знаю, слишком слабый портал , смотрите дальше всё поправили ))))
Станок изначально планировался с четвертой поворотной осью , вот мой набор для неё . Докинул бы больше фоток , но лимит не позволяет .
Японский планетарный редуктор от harmonic drive
Пришло время собирать шит управления , с начала проверил как всё работает на столе )))
Шпиндель - китаец на 2,2 кВт
Собрали все оси и шкаф , также начали переделывать портал .
Шкаф управления со всеми мозгами .
Вот и поворотная ось готова
Буквально вчера закончили вакуумный стол .
Вот такое чудо получилось
Свежее видео как делали вакуумный стол
По деньгам 5 тыс $ , да можно и дешевле , а китайцы вообще даром делают ))
Ещё по теме сборки :
Обзор механики - https://youtu.be/5Zf1CKcccMg
Обзор электроники - https://youtu.be/00DJ4RhQbVU
Обзор металла - https://youtu.be/TOUXl91xYPQ
Поворотная ось - https://youtu.be/xxP3LMCmoyk
Подключение электроники - https://youtu.be/YYbDg3u4wI4
Сильно не пинайте , просто хотел поделится опытом ))
Ещё по теме сборки :
Обзор механики - https://youtu.be/5Zf1CKcccMg
Обзор электроники - https://youtu.be/00DJ4RhQbVU
Обзор металла - https://youtu.be/TOUXl91xYPQ
Поворотная ось - https://youtu.be/xxP3LMCmoyk
Подключение электроники - https://youtu.be/YYbDg3u4wI4
Сильно не пинайте , просто хотел поделится опытом ))
Ссылки по теме:
- Почему в американской школе никто не списывает
- Как и чем дышится пассажирам московского транспорта
- Выбрасываете винные пробки? А вот как с умом их используют находчивые хозяйки. Фантастика!
- Полнометражные мультфильмы по комиксам DC Comics
- Инновационные разработки, которым позавидуют даже резиденты Сколково
реклама
как игрушка -- слишком дорого.
зачем?
не "изготовители", а "инженер с завода-изготовителя", это раз, и два -- менять в промэлектронике защитный диод на "помощней" так же "умно", как менять предохранитель на "помощней". Результат тот же самый будет, вместо копеечной детальки сгорит весь блок стоимостью как пара автомобилей...
зы. Д9И держит обратку до ста вольт.
все эти САПР ужасно развращают разработчика, ага.
Раз вы программером трудитесь, очевидно, вам знакома современная парадигма "программирования-и-тестирования", когда качество кода определяется просто "нагрузочным тестированием"? Не буду о сложном, но укажу лишь, что качество такой проверки всецело зависит от качества написания теста.
дополнительно укажу на тот факт, что современное "классическое" программирование (на практически любом языке) явно тяготеет к принципам ООП, в 99% случаев без всякой нужды и во вред здравому смыслу.
Плюс ещё одна проблема современного программирования: рост числа "прокладок" и "обёрток" между железом и реальным кодом.
Всё это приводит к неразумной трате ресурсов (мс ворд для дос по функционалу ничуть не хуже мс ворд 2010, но требует для нормальной работы В ТЫСЯЧИ РАЗ меньше памяти и в сотни раз меньше тактовой частоты ЦП), чудовищному росту объёма кода и капитальнейшему падению надёжности.
Без САПР же таких проблем нет, я для микроконтроллеров пишу на Forth, и программы, внезапно, ВСЕГДА просто работают. С первого раза. Вот без шуток. Читаю ТЗ, беру бумажку и пишу прогу на форте. Через *цать часов с бумажки набираю готовый код, компилю, прошиваю и всё работает. Без проблем, без ошибок, без стресс-тестирования.
Это хорошее, грамотное и годное применение ООП.
А есть и другое ООП, тупое и бессмысленное. Например, в ПХП (грешен, говнокодил на пыхе по фрилансу когда-то) одно время была распространена такая методика создания "библиотек", в виде файла с классом, содержащим методы, являющиеся функциями библиотеки. Вот это -- куёвое, неправильное ООП, за которое все применяющие его обязательно попадут в Ад. Ибо "объекта" как такового этот класс не описывает, а библиотека может и должна быть, в реалиях ПХП, представлена совсем иначе.
Я знаю что такое "спагетти код", и я вас уверяю, ООП и спагетти никак не связаны. Я могу написать хороший, не спагетти код без ООП (особенно на ПХП, где спагетти встречается повсеместно, хотя язык изначально имеет все нужные средства борьбы с этим), а если захочу, могу и с ООП такого спагетти накрутить, что обфускатор не понадобится.
Ещё одно, внезапно: ООП часто не только не улучшает понятность и читабельность кода, но и, во многих случаях, наоборот значительно усложняет его. Особенно в сях и пыхе.
На Ассемблере я не просто писАл, я на нём до сих пор (как и любой форт-кодер) иногда пишу.
А тридцать лет назад я вообще непосредственно в машинных кодах писАл, было дело. Пишешь прогу на листочке мнемониками асма, а потом, по табличке соответствий, предварительно пересчитав абсолютные адреса в страничные, где нужно, забиваешь в память эвм нужные цифры по порядку... 1,1,0,201,194,0... примерно так.
ТСП и графика... Вы уверены, что правильно понимаете, что такое МК? девайсы с ТСП и графикой обычно содержат, по сути, не МК, а полноценные "однокристальные микроЭВМ", если использовать привычный мне термин. Разница нечёткая, но в общем случае можно делить, как раз, по признаку наличия слоя абстракций в программе. например, чип атмега -- это МК, а ардуина на таком же чипе (несмотря на схемную, в принципе, идентичность) -- это уже микроэвм, ибо кодится не асмом и не нормальными сями, а через абстракции. и атмега, на которой за каким-то хреном крутится линукс -- это тоже не МК, а микроэвм...
насчёт прокладок -- да, конечно, несколько прокладок обоснованы. Но не до такой степени, как сейчас, когда прокладками набит не только уровень железо-ось, но и уровень ось-прикладной_код.
взять тот же дотнет, или джаву: там два или три промежуточных прокладки от юзеркода к винАПИ, насколько я помню. Причём прокладки эти замедляют приложение на порядок, а то и на два.
Да чё далеко ходить: у меня смартфон на ведроиде в тысячу раз быстрее (по частоте. 20Мгц и 2ГГц) и имеет в полтысячи раз больше оперативки (2Мб и 1Гб), чем мой настольный комп четверть века назад... и при этом, сука, прикладные задачи вроде элементарного калькулятора выполняет медленее, чем та "трёшка". Именно из-за ублюдочной джявы. А ведь на той трёшке у меня 95ая винда нормально шла, йопта! Не та, конечно, что OSR2 весом в 47мегабайт, а та, что просто "95", весом в 18 мегабайт. Вот ОСР2 да, на трёшках тупила жёстко, нормально работала только на 486, причём обязательно требовала минимум двух мегабайт оперативной памяти. Первая же 95ая ругалась, но запускалась на одном метре озу.
ЗЫ. компилятор Си может и хорош, более важно, что ему скормить: нормальный код или кашу из юзеркода, стороннего кода библиотек и реализации абстракций.
Здесь вы неправы принципиально. Насколько абстрактный сишарп медленнее абстрактного сипипи, совершенно неважно. Важно, насколько велика разница в конкретных задачах.
вот для иллюстрации пример примитивного калькулятора на vba (да, макросы на vba я тоже писал, в т.ч. даже пару макровирусов, когда они ещё были способны размножаться. Плюс до сих пор несколько моих эппликейшынов эксплуатируются в разных организациях):
for i=1 to 1000000
text3.text=cstr(val(text1.text)+val(text2.text))
next i
т.е. берём текст из поля текст1, преобразуем в число, берём текст из поля текст2, преобразуем в число, складываем их, преобразуем в строку и помещаем результат в поле текст3, и так мильён раз.
Конечно, пример надуман, но он хорошо показывает типичную ошибку ООП-шников -- избыточное обращение к объектам. Если этот пример переписать вот так, он будет быстрее примерно в 100 ТЫСЯЧ раз:
a=val(text1.text)
b=val(text2.text)
for i=1 to 1000000
c=a+b
next i
text3.text=cstr(c)
Конечно, в реале такого выигрыша не получить, поскольку примеры весьма надуманы, но однажды, переделывая чужой "деловой" код (т.е. выполняющий реально полезные вычисления, а не пример или что-то подобное), я таким путём, закэшировав в переменных многократно применяемые свойства объектов, ускорил вычисления примерно в триста раз. Для прочих сред, будь то джава или сипипи, я подобных экспериментов не проводил, но из литературы знаю, что этот эффект есть в ЛЮБОЙ реализации ООП.
"Попробуйте сделать, например простейший САПР для рисования принципиальных схем."
Я сам не пробовал, но у меня в пользовании была САПР (сапр -- она, а не он!), как раз для рисования, только не принципиальных схем, а плат. Ессна, с функцией авторазводки. И написана была та САПР на бейсике, на компьютере ZX-Spectrum, где объём бейсик-программы ограничен десятью тысячами (без одной) строк, где никакого ООП не было. Там даже нормальных функций не было, только пара операторов gosub-return.
"хороший МК на АРМ может стоить 5 баксов"
один бакс или пять -- это некритично для малых партий. В реальном серийном производстве даже один против полутора -- огромная разница...
если заменить визуальный компонент просто объектом (экземпляром класса, реализованного штатными средствами vba), тормоза те же. потому что обращение к ЛЮБОМУ объекту намного медленнее, чем переменной. Более того: публичные переменные медленнее локальных, хотя здесь разница не столь драматична.
В vb.net эта тенденция сохраняется, хотя в полностью скомпилированном (в экзешник) приложении разница меньше, но она всё равно есть.
Джава -- это сама по себе мегажопа и зряшный пожиратель ресурсов... я уже говорил о "производительности" смартфонов на ведроиде...
Про спектрум вы немножко мимо. Я знаю, что для него писАли "в кодах", но не только и не столько; в основном коммерческий код для спектрума "буржуины" писАли на асме (а часто и на форте) и компилили на "больших" машинах. Конкретно упомянутая мной САПР (увы, забыл название) была написана именно на штатном бейсике и выполнялась в режиме интерпретации, внезапно ))) (про режим интерпретации не напрасное уточнение, для спектрума существует компилятор бейсика, компилирующий бейсик-программу, написанную штатным образом, во что-то типа псевдокода, выполняемое раз в двадцать-пятьдесят быстрее, чем из режима интерпретации).
Кстати о кодах. Я автор одних из трёх (сначала сам написал, потом узнал, что есть ещё две почти такие же), известных мне, "фоновых" часов для спектрума (вешаются на маскируемое прерывание поверх штатного обработчика, выводят на экран часы, не мешающие кодить и выполнять программы на бейсике, да в принципе, и некоторые usr-программы тоже. к сожалению, часы "встают" на время выполнения файловых операций и команды beep.). меньше 100 байт, так-то вот )))
Про ООП. Не надо меня агитировать за его полезность, я нифига не отрицаю полезность этого ИНСТРУМЕНТА -- но важно, что это именно инструмент, а не парадигма. По аналогии с реалом -- да, можно всё есть ножом, но разумнее использовать нож обычным образом, вместе с ложкой и вилкой.
Так и с ООП -- применять его нужно и можно там, где он нужен, и ненужно и нельзя там, где он не нужен. антипаттерн 110%. "Не нужно использовать что-то просто потому, что оно есть, или просто потому, что ты это умеешь."
да, команды там однобайтовые. Жмёшь из режима "К" кнопку Р, получается команда PRINT, режим переключается в L. Команда в память записывается одним байтом (Старшая половина ascii, кроме псевдографики, вся занята кодами команд). Сделано это не для экономии памяти (48К, из них восемь экранных, пара служебных -- под программу на бейсике остаётся овердокуя), а для облегчения программирования (операторы вводятся одним нажатием кнопки) и упрощения интерпретатора (не нужно "распознавать" слово-оператор побайтово)
Однако, к компиляции это не относится.
Бейсик-код на спектруме реально можно компилировать (программа-компилер "загружается отдельно", в штатном ROM её нет), получается программа "в кодах", запускаемая функцией USR, как и программа, изначально написанная на асме. Выполняется такая компилированная программа значительно быстрее, чем просто интерпретируемая, запускаемая командой RUN, хотя и намного медленнее, чем изначально написанная на нормальном асме.
И таки да, никакое ООП абсолютно не нужно для написания интерпретатора (и компилятора тоже). Даже если язык, интерпретируемый или компилированный им будет ООПшным. Внезапно.
Грамотный и дорогой привод
и сцуко коопеечные шаговые говномоторы
так что помолчите АБАРМОТ если не владеете инфой... оффф топ
Сам хочу 4-х осевой со столом 2х3 метра, но пока только в начале пути, изучаю вопрос.
Автор молодец, и кстати у него есть канал на ютубе, откуда я для себя много нового почерпнул!