Технический форум по робототехнике.
setar » 25 июл 2012, 11:34
Коротко опишу о своем опыте подключения локального управления в виде LCD текстового дисплея к электронике RAMPS
Которая в свою очередь часто используется в качестве контроллера в 3D принтерах
Поддерживается прошивкой Marlin
Исходные линки :
http://reprap.org/wiki/RAMPS_LCD - подключение LCD
http://www.thingiverse.com/thing:15081 - исходный проект ultipanel
https://github.com/mk90/LiquidCrystalRus - библиотека руссификации LCD для arduino
https://github.com/ErikZalm/Marlin - исходная прошивка Marlin
https://github.com/setar/Marlin_rf - мой форк прошивки Marlin (с моими фиксами руссификации LCD и кастомизацией
http://reprap.org/wiki/Sjfw - тут про аналогичную панель управления но под другую прошивку (Sjfw)
анализ вариантов подключения (стандарта нет, выбирал наибольшее пересечение для себя) :
клавиши пока не интегрировал в поддержку прошивкой
модуль SDCard стандартный, просто вынес его сюда же для удобства
ну и немного фоток (пока собрано на прототипной плате)
Aseris » 25 июл 2012, 15:44
Что уж заморачиватся, сразу кластер вычислительный прицепить, чтоб сразу модельки грузить
![Crazy :crazy:](http://roboforum.ru/images/smilies/crazy.gif)
, все от собестоимости зависит...
setar » 25 июл 2012, 15:50
я так и сделаю, не кластер а просто внешний сервис на web для слайсинга.
а коннект с консоли управления на mini2440
это не шутка, это желание, если времени хватит на реализацию
hudbrog » 25 июл 2012, 16:11
setar, я на самом деле думал о чем-то похожем, но почему-то пришел к выводу что какой-нить распберри пи (35$)+ жк монитор бу(10-15$ на молотке, бесплатно с работы) смогут прекрасно крутить внутри себя полноценный пронтерфейс. А если докупить еще и тач-панельку резистивную туда, то вообще можно конфетку сделать. По идее оно даже слайсить сможет, хотя это извращение, веб-сервис в этом плане удобнее конечно.
setar » 25 июл 2012, 16:24
тут у кого как с ресурсами и наличием/ценой интернета.
у меня много серверных мощностей и постоянный неограниченный по трафику интернет, поэтому web сервис удобен и логичен.
но безусловно локальный обсчёт тоже возможен.
Кстати будет удобно сделать клиент-серверную архитектуру и ее использовать о обоих случаях (никто не мешает обработчик повесить на 127.0.0.1)
setar » 11 окт 2012, 19:02
в первом сообщении обновил ссылку на мой форк прошивки марлин, залил обновления на github
karabas2011 » 11 окт 2012, 19:15
А вариант с крутилкой не понравился?
setar » 11 окт 2012, 21:41
если я правильно понял твой вопрос это и есть вариант с крутилкой (которая кодируется по двум линиям, без сдвигового регистра).
Клавиатуру я пока не прикрутил
FireFly » 11 окт 2012, 22:00
У мну ultipanel уже пару месяцев юзается, оч удобная штука, клавиатура ИМХО нафиг не нужна - энкодера вполне хватает.
setar » 11 окт 2012, 22:02
согласен, потому пока и не прикрутил
хотя может было бы удобно для перемещения с ускорениями
а то иногда голову поднять нужно на пару сантиметров, и как дурак крутишь этот энкодер пару сотен оборотов
![Smile :)](http://roboforum.ru/images/smilies/smile.gif)
karabas2011 » 11 окт 2012, 22:42
setar писал(а):если я правильно понял твой вопрос это и есть вариант с крутилкой (которая кодируется по двум линиям, без сдвигового регистра).
Клавиатуру я пока не прикрутил
вот такие
http://www.thingiverse.com/search?q=panelmax&sa=Search
setar » 11 окт 2012, 22:50
оно и есть, только форма ручки другая
boez » 12 окт 2012, 11:15
setar писал(а):хотя может было бы удобно для перемещения с ускорениями
а то иногда голову поднять нужно на пару сантиметров, и как дурак крутишь этот энкодер пару сотен оборотов
![Smile :)](http://roboforum.ru/images/smilies/smile.gif)
А для этого динамическое масштабирование можно сделать, как в мышах. До какого-то предела скорость перемещения пропорциональна скорости энкодера с фикс. коэффициентом. А потом - коэффициент начинает расти, т.е. условно говоря медленный оборот энкодера = 5 мм перемещения, а быстрый - 25. Чисто программная штука, ничего аппаратно не надо делать и интерфейс не меняется.
setar » 12 окт 2012, 11:47
хорошая мысль
![Smile :)](http://roboforum.ru/images/smilies/smile.gif)
только нужно подумать как в энкодере ее реализовать, он все же шагами сигнал дает...
видимо период между сигналами подбирать, для определения непрерывного вращения и пошагового с задержкой
boez » 12 окт 2012, 14:57
- Код: Выделить всё • Развернуть
enc_delta = enc_pos - old_enc_pos;
old_enc_pos = enc_pos;
if (enc_delta<ENC_DELTA_THRESH1)
real_delta = enc_delta;
else if (enc_delta<ENC_DELTA_THRESH2)
real_delta = enc_delta*3;
else
real_delta = enc_delta*10;
real_pos += real_delta;
Выполнять раз в N миллисекунд. enc_pos брать из таймера энкодера, real_pos выдавать туда, куда до этого выдавался enc_pos. Хотя если тиков на оборот у энкодера мало - будет малоэффективно при малом N и тормозить при большом. Тогда наверное с периодом тика надо работать, там чуть сложнее.