-
05.06.2013, 22:41 #31
-
05.06.2013, 22:51 #32
- Регистрация
- 12.04.2012
- Адрес
- г. Ижевск
- Возраст
- 25
- Сообщений
- 244
- Поблагодарили
- 1
- Поблагодарил
- 7
Извиняюсь, проверил, да, 2.54. Один из четырех вопросов есть!
k1-801
-
06.06.2013, 10:25 #33
- Регистрация
- 14.04.2008
- Адрес
- Dresden
- Возраст
- 36
- Сообщений
- 63
- Поблагодарили
- 15
- Поблагодарил
- 2
Оптопара тоже извлекается из старого принтера. Там есть как раз датчики бумаги на оптопаре с открытым каналом.
По электромагниту - см. Google "расчёт электромагнита"
Как управлять ШД - там же. Если вкратце, то в униполярном ШД (с 5 проводами) по очереди подаётся импульс напряжения в каждую из катушек. От одного импульса он поворачивается на один шаг. В биполярном ШД (с 4 проводами). В каждую из двух обмоток по очереди подаётся напряжение сначала прямой а затем инверсной полярности. От каждого импульса ШД поворачивается на один шаг.
По микроконтроллерам: можно взять или ATmega8 в корпусе DIP-28 или ATmega16 в корпусе DIP-40. И к нему ещё программатор.
Подключать МК к COM-порту нужно через микросхему MAX232. Есть стандартная схема её включения, где земля COM-порта (вывод 5) и земля схемы соединяются. Ещё можно поискать схему сопряжения с гальванической развязкой.
В МК за работу с COM-портом отвечает UART. В программе МК нужно или в бесконечном цикле или по прерыванию ждать, что придёт с UART и обрабатывать его. Затем выдать подтверждение об обработке в компьютер. Решение отправлять ли следующий символ принимает компьютер если получит подтверждение.73! Вадим, RA3XDH
-
07.06.2013, 21:36 #34
- Регистрация
- 12.04.2012
- Адрес
- г. Ижевск
- Возраст
- 25
- Сообщений
- 244
- Поблагодарили
- 1
- Поблагодарил
- 7
1) Я не уверен что принтер на месте, если нет то придется что-то придумать... Я позвоню, уточню на месте принтер или нет и скажу точнее.
2) Я все равно не понял как включать этот ШД. У меня их три штуки, у всех трех ось примерно 5 см, на оси нарезка (выдрал из дисководов, двигали каретку с лазером). Сейчас кину фото.
3) Про MAX232 можно поподробне?))) Как заставить контроллер понять что ему дали конкретный байт и наоборот - заставить MAX232 понять что он должен что-то выдать компу?
4) Почему все так не любят LPT и наоборот так любят COM? Я не понимаю. Покопаюсь в /dev/, может найду эти LPT1 и COM1... Никто не знает?k1-801
-
07.06.2013, 23:33 #35
- Регистрация
- 07.06.2002
- Адрес
- Каунас
- Возраст
- 74
- Сообщений
- 1,616
- Поблагодарили
- 184
- Поблагодарил
- 166
Пиши меньше, да лучше.
73! Tadas LY1CE
-
08.06.2013, 10:01 #36
- Регистрация
- 14.04.2008
- Адрес
- Dresden
- Возраст
- 36
- Сообщений
- 63
- Поблагодарили
- 15
- Поблагодарил
- 2
Именно так
COM1 соответствует устройство /dev/ttyS0, COM2 - /dev/ttyS1 и т.д. Какой байт мы запишем в это устройство - тот и передастся по последовательному порту.
Например:
echo "1">/dev/ttyS0 - передали символ 1 в порт COM1.
Также можно считать данные из COM-порта.
cat /dev/ttyS0 - выведет поток символов от устройства на COM1 на терминал.
Предварительно нужно установить скорость COM-порта : stty 9600 -F /dev/ttyS0 raw -echo - установит 9600 бод.
Подробнее по этим командам см. Google.
Для С - используются вызовы ioctl, read. write. Для Qt (C++) есть готовый класс для работы c СОM.
Для LPT1 - раньше было устройство /dev/paport0. С ним работали разные древние сканеры и т.п.73! Вадим, RA3XDH
-
08.06.2013, 12:53 #37
- Регистрация
- 12.04.2012
- Адрес
- г. Ижевск
- Возраст
- 25
- Сообщений
- 244
- Поблагодарили
- 1
- Поблагодарил
- 7
Последняя строчка оказалась самой полезной Я использую Code::blocks (C++). У меня оба порта нормально распаяны на плате, COM планируется под прошиватель (забыл как его...). А LPT пустой. Я сейчас делаю платку чтобы можно было контролировать все регистры светодиодами, подключить любые регистры к любым двум устройствам, подключить другой LPT принтер. В качестве одного из устройств будет мой фломастеротыкатель. Опять забыл про шд... Сейчас.
k1-801
-
09.06.2013, 11:03 #38
- Регистрация
- 14.04.2008
- Адрес
- Dresden
- Возраст
- 36
- Сообщений
- 63
- Поблагодарили
- 15
- Поблагодарил
- 2
Опечатался в предыдущем сообщении. Выпала одна буква.
Устройство для LPT-порта правильно пишется /dev/parport0
Ещё во времена ядер Linux серии 2.6 и 2.4 была какая-то прога которой если передать параметр с командной строки, то она выставляет биты на LPT-порту. Название её не помню.Последний раз редактировалось RA3XDH; 09.06.2013 в 11:06.
73! Вадим, RA3XDH
Социальные закладки