COM-порт: клавиатура и другие "антикризисные" решения.

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

COM-порт: клавиатура и другие "антикризисные" решения.

Сообщение Сергей Саныч » 09 янв 2015, 10:44

Иногда появляется необходимость в небольшой клавиатуре или просто в наборе кнопок для управления станком в среде LinuxCNC.
Предлагаю простой вариант реализации такого устройства, подключающегося к COM-порту компьютера, практически не требующий материальных затрат.
Клавиатура имеет до 12 кнопок, которые могут быть подключены при помощи hal-файлов конфигурации к любым сигналам в LCNC.
COM-порт: клавиатура и другие "антикризисные" решения. comclav.PNG

Схема клавиатуры содержит 12 нормально разомкнутых кнопок, включенных в матрицу 3х4, 5-6 маломощных диодов (например КД521 или 1N4148) и 4 резистора на 3-6 кОм. Подключается семипроводным кабелем или шлейфом.
Для пробы спаял макет.
COM-порт: клавиатура и другие "антикризисные" решения. макет клавиатурки.jpg

Вот тестовый hal-файл.
Код: Выделить всёРазвернуть
loadrt threads  name1=base-thread period1=30000 fp1=0 name2=servo-thread period2=1000000

loadrt serport io=0x3f8
addf serport.0.read base-thread
addf serport.0.write base-thread

loadrt matrix_kb config=3x4s
addf matrix_kb.0 servo-thread
setp matrix_kb.0.negative-logic 0

net col0 serport.0.pin-9-in  => matrix_kb.0.col-00-in
net col1 serport.0.pin-8-in  => matrix_kb.0.col-01-in
net col2 serport.0.pin-6-in  => matrix_kb.0.col-02-in
net col3 serport.0.pin-1-in  => matrix_kb.0.col-03-in
net row0 matrix_kb.0.row-00-out => serport.0.pin-4-out
net row1 matrix_kb.0.row-01-out => serport.0.pin-3-out
net row2 matrix_kb.0.row-02-out => serport.0.pin-7-out

start

Используются компоненты serport и matrix_kb
К сожалению, драйвер serport содержит ошибки, пришлось его слегка подправить.
serport.tar.bz2
(46.32 Кб) Скачиваний: 208
Здесь исправленный исходник и скомпилированный драйвер. Его можно просто скопировать вместо имеющегося в папку rtlib.
С драйвером, который идет в системе, работа тоже возможна, но потребуются некоторые "костыли" в hal-файле .

Компонент matrix_kb выполняет сканирование клавиатуры и выдает состояние кнопок на 12 (в данном случае) выходов matrix_kb.0.key.r0c0 - matrix_kb.0.key.r2c3 (битовые), а также номер нажатой клавиши в matrix_kb.0.keycode (целое число).
Плюсы такой клавиатуры не только в простоте устройства, но и в достаточно хорошей помехоустойчивости из-за высоких уровней сигналов, используемых в COM-порте (размах от -10 до +10 вольт)

PS: Поскольку тема вызвала некоторый интерес, буду здесь выкладывать и разные другие "бюджетные" устройства с нестандартным использованием COM-порта.
В планах:
- подключение простого свитч-энкодера (сделал)
- работа с твердотельными (есть) и обычными реле.
- ручной энкодер с выходом TTL (штурвал, маховичок) (готово).
- реализация аналоговых входов (есть).
- увеличенная клавиатура (есть).
Последний раз редактировалось Сергей Саныч 08 июн 2016, 14:55, всего редактировалось 9 раз(а).
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7392
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2259
Медальки:

Re: Простенькая клавиатура для пульта

Сообщение nkp » 09 янв 2015, 11:27

Сергей Саныч писал(а):драйвер serport содержит ошибки, пришлось его слегка подправить.

может стоит сюда подправленый выложить , чтоб т.с. всё в одном месте было...
(а то потом будет трудно найти)
nkp
Мастер
 
Сообщения: 7008
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1094
Медальки:

Re: Простенькая клавиатура для пульта

Сообщение aftaev » 09 янв 2015, 11:57

и тему переименовать в Простенькая клавиатура для пульта по СОМ, LPT
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 26374
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4080
Медальки:

Re: COM-порт и простенькая клавиатура для пульта

Сообщение nERV » 09 янв 2015, 12:05

А может и медальку за это дело надо?
Аватара пользователя
nERV
Мастер
 
Сообщения: 1350
Зарегистрирован: 27 сен 2013, 19:00
Откуда: Ульяновск
Репутация: 555
Медальки:
Настоящее имя: Александр

Re: COM-порт и простенькая клавиатура для пульта

Сообщение Сергей Саныч » 09 янв 2015, 12:52

nkp писал(а):может стоит сюда подправленый выложить
выложил (в первое сообщение темы).
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7392
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2259
Медальки:

Re: COM-порт и простенькая клавиатура для пульта

Сообщение jo_key » 09 янв 2015, 14:21

И на ВИКИ закинуть
jo_key
Почётный участник
Почётный участник
 
Сообщения: 241
Зарегистрирован: 19 сен 2011, 14:49
Откуда: Украина, Харьков
Репутация: 30
Медальки:
Настоящее имя: Евгений

Re: COM-порт и простенькая клавиатура для пульта

Сообщение Сергей Саныч » 11 янв 2015, 18:10

jo_key писал(а):И на ВИКИ закинуть
Это можно :)
Продолжу. Итак, без особых затрат, с использованием реликтового COM-порта (а надо сказать, что подойдет только стандартный порт, с переходниками USB-COM работать, к сожалению, не будет) получена вполне рабочая клавиатура (или же набор разрозненных кнопок - кому как надо).
http://youtu.be/nwmI-BsS4pA
Надо, однако, сказать, что простая матричная организация не позволяет однозначно определять более двух одновременно нажатых произвольно выбранных кнопок. Чтобы не ограничивать себя в этом, можно последовательно с каждой кнопкой поставить по диоду.
COM-порт: клавиатура и другие "антикризисные" решения. COMKBD1.PNG

Это дает еще одну приятную возможность. "Пожертвовав" частью кнопок, можно поставить какие-нибудь переключатели, состояние которых будет считываться и передаваться в LCNC. Либо контактные датчики. Или же выходные транзисторы оптопар, а уже к ним прицепить любые датчики.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7392
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2259
Медальки:

Re: COM-порт и простенькая клавиатура для пульта

Сообщение РЕКЛАМА » 11 янв 2015, 18:21

А энкодер от автомагитолы к такому можно привинтить?
Аватара пользователя
РЕКЛАМА
Почётный участник
Почётный участник
 
Сообщения: 718
Зарегистрирован: 11 дек 2012, 21:46
Откуда: Брянск
Репутация: 78
Медальки:

Re: COM-порт и простенькая клавиатура для пульта

Сообщение Ворон226 » 11 янв 2015, 19:00

Однозначно в Вики и медальку! Спасибо! Нужная штука.
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
 
Сообщения: 1805
Зарегистрирован: 01 окт 2012, 18:14
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Репутация: 172
Медальки:

Re: COM-порт и простенькая клавиатура для пульта

Сообщение Сергей Саныч » 11 янв 2015, 19:39

РЕКЛАМА писал(а):А энкодер от автомагитолы к такому можно привинтить?
В смысле, чтобы что-нибудь регулировать? Вроде такого?
энкодер.jpeg
энкодер.jpeg (6.06 Кб) Просмотров: 2988

Так думаю, да. Надо только сориентироваться с необходимой частотой опроса. Обычно они имеют 10 - 30 импульсов на оборот, то есть 40 - 120 состояний. Частота опроса при сервоцикле 1 мс для этой схемы будет 333 Гц. В общем, если не сильно резко крутить, наверно пойдет. Будет время, завтра попробую. Идея хорошая :)
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7392
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2259
Медальки:

Re: COM-порт и простенькая клавиатура для пульта

Сообщение nkp » 11 янв 2015, 19:50

Сергей Саныч писал(а):В общем, если не сильно резко крутить, наверно пойдет.

имхо пропуски то тут не страшны - мы же просто задаем некоторую величину ,которую визуально и контролируем..
ставил такие (не к ком порту конечно))
nkp
Мастер
 
Сообщения: 7008
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1094
Медальки:

Re: COM-порт и простенькая клавиатура для пульта

Сообщение Сергей Саныч » 11 янв 2015, 21:08

Непосредственно подключить к COM-порту проблем никаких нет, его можно прямо от base-thread синхронизировать. Тут вообще быстродействие будет не хуже, чем у LPT.
Электрически только надо правильную подтяжку организовать.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7392
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2259
Медальки:

Re: COM-порт и простенькая клавиатура для пульта

Сообщение nERV » 11 янв 2015, 23:35

Сергей Саныч писал(а): а уже к ним прицепить любые датчики.

Тогда получается, что этим же методом можно расширить количество подключаемых датчиков к компьютеру без использования дорогих контроллеров?
Аватара пользователя
nERV
Мастер
 
Сообщения: 1350
Зарегистрирован: 27 сен 2013, 19:00
Откуда: Ульяновск
Репутация: 555
Медальки:
Настоящее имя: Александр

Re: COM-порт и простенькая клавиатура для пульта

Сообщение Сергей Саныч » 12 янв 2015, 05:06

nERV писал(а):Тогда получается, что этим же методом можно расширить количество подключаемых датчиков к компьютеру без использования дорогих контроллеров?
Да.
Конечно, если для управления станком используются аппаратные контроллеры (Mesa и т.п.), где есть куча дополнительных входов/выходов, то смысла особого "колхозить" что-то с COM-портом нет. Но если нас в принципе устраивает управление по LPT, но хочется немного расширить возможности по управлению станком, то вариант с COM-портами может оказаться оптимальным.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7392
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2259
Медальки:

Re: COM-порт и простенькая клавиатура для пульта

Сообщение S500 » 12 янв 2015, 05:20

есть у меня очень важный вопрос...
у меня на компьютере стоит 2 COM-порта.
K одному хочу подключить modbus RTU (типа PLC + частотник +++).
K другому порту если подключить эту плату.
Сергей Саныч писал(а):К сожалению, драйвер serport содержит ошибки, пришлось его слегка подправить.

если изменить этот драйвер,
тогда будет ли работать 1 порт там где находится modbus RTU (типа PLC + частотник) :thinking: .
не отразится ли на этом :thinking: .
спасибо :good: .
S500
Мастер
 
Сообщения: 301
Зарегистрирован: 22 сен 2014, 18:25
Репутация: 57

Re: COM-порт и простенькая клавиатура для пульта

Сообщение Сергей Саныч » 12 янв 2015, 05:32

S500 писал(а):будет ли работать 1 порт там где находится modbus RTU (типа PLC + частотник)
Будет. К стандартному драйверу последовательного порта Linux (/dev/ttySx) претензий нет.
Изменения внесены в драйвер serport LinuxCNC. На том порте, где он будет использоваться, стандартный драйвер нужно отключить.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7392
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2259
Медальки:

Re: COM-порт и простенькая клавиатура для пульта

Сообщение Nick » 12 янв 2015, 10:09

+медалька :good:!
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1330
Заслуга: Developer
Медальки:

Re: COM-порт и простенькая клавиатура для пульта

Сообщение solanto » 16 янв 2015, 15:28

А можно релюшки прикашачить и ими рулить или нельзя? И что на счёт энкодера? Можно подключить или нет?
Последний раз редактировалось solanto 16 янв 2015, 15:34, всего редактировалось 1 раз.
Мне пофигу, что думают обо мне люди, пока они не начинают меня бить.

Вектроник А4-12: от заказа до готовности - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5248
Токарник по дереву - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5623

Изображение
Аватара пользователя
solanto
Почётный участник
Почётный участник
 
Сообщения: 964
Зарегистрирован: 02 апр 2014, 09:10
Откуда: Карачаево-Черкесская республика, г.Черкесск
Репутация: 90
Медальки:
Настоящее имя: Александр

Re: COM-порт и простенькая клавиатура для пульта

Сообщение Сергей Саныч » 16 янв 2015, 15:33

Можно. И очень просто. Но об этом - чуть позже.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7392
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2259
Медальки:

Re: COM-порт и простенькая клавиатура для пульта

Сообщение solanto » 16 янв 2015, 15:35

Тогда сажусь на скамейку ждать. :eat: :beer_blow:
Мне пофигу, что думают обо мне люди, пока они не начинают меня бить.

Вектроник А4-12: от заказа до готовности - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5248
Токарник по дереву - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5623

Изображение
Аватара пользователя
solanto
Почётный участник
Почётный участник
 
Сообщения: 964
Зарегистрирован: 02 апр 2014, 09:10
Откуда: Карачаево-Черкесская республика, г.Черкесск
Репутация: 90
Медальки:
Настоящее имя: Александр

След.

Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: 1240, 19bvn58, a_leha, aicT, Alexxs, anthro, Bender, Bing [Bot], crusider, evgenymcp, Google [Bot], Homo_erectus, ignv, Ivan91, Majestic-12 [Bot], meruslan, mikehv, Nonstopich, nva-tuning, passer-by, VAT, Yahoo [Bot], Yandex [bot], Фрост, Дрюня

Поделиться

Reputation System ©'