Спасибо мужики, теперь пытаюсь в этом во всем разобраться. В моем понятии еще пока не образовался даже скелет, что бы нарастить на него мясо. Направление пока понимаю. Поверьте не сижу, голова об этом только и болит.
Спасибо мужики, теперь пытаюсь в этом во всем разобраться. В моем понятии еще пока не образовался даже скелет, что бы нарастить на него мясо. Направление пока понимаю. Поверьте не сижу, голова об этом только и болит.
Программа для ардуины расписана на стр. 8 - 17 мануала.
по железу: в #49 я наврал, транзисторов нужно 10, а не 4.
полагаю, что один из разъемов Ш1 или Ш2 можно безнаказанно выдрать и использовать в проектируемом wonderful device.
так что прорисовывается комплектация:
1. кошмарный разъем 1 шт.
2. ардуино нано 1
3. оптрон 817 14
4. транзисторы 10
5. резисторы 24
6. DC/DC 0505 1
7. конденсаторы по питанию
Можно ещё добавить для красоты пару-тройку светодиодов с резисторами.
"Кошмарный разъем" можно поспрашать у скупщиков радиодеталей. А ардуину лучше выбрать по больше. Человек явно знаком сней слабо, а чисто физически с уной работать проще. Я бы вообще советовал взять готовый конструктор и потренироваться на "лампочках-кнопочках". Потому, что в процессе возникнет масса мелких-дурацких вопросов типа "куда присоединять" и "куда нажимать", а там все расписано.
"Кошмарный разъем" можно поспрашать у скупщиков радиодеталей.
имхо, выдрать неработающий разъем из уже наличествующей печаталки проще. всё равно она в утиль готовится.
Цитата:
А ардуину лучше выбрать по больше. Человек явно знаком сней слабо, а чисто физически с уной работать проще. Я бы вообще советовал взять готовый конструктор и потренироваться на "лампочках-кнопочках". Потому, что в процессе возникнет масса мелких-дурацких вопросов типа "куда присоединять" и "куда нажимать", а там все расписано.
первоначальное знакомство с ардуиной - это другая тема для другого раздела. для этого есть амперка с её матрёшками.
а физически распаять то, что я перечислил в #52 - вряд ли проблема для конторы, в которой живет "контрольно проверочная машина для проверки электронных блоков на производстве". никаких преимуществ у уны я не вижу.
Это только данные, а квитирование?
если бы делал я то делал бы наоборот, устройство на ардуине выводящее на принтер, на нём отладить процедуру передачи символов и далее сделать обратное устройство
в паралельном коде 4-х битное кодирование, всего 16 символов, и зачем тут последовательный интерфейс, цифровых пинов за глаза хватает в 328 чипе
нет там последовательно интерфейса в общепринятом понимании.
печатка принимает в буфер по 4 или 5-разрядной шине 16 комбинаций, после чего печатает строку из 16 знаков. у неё есть и более извращенный вариант - записать всю строку сразу одним стробом по 64-проводной шине.
первый вариант в мануале обзывается последовательным вводом информации.
Я так понимаю, что подключение надо делать к этим выходам 15, 5, 6, 7, 8
Именно по ним идет передача данных и стробирование. Еше тебе для декодирования понадобятся "ЗПС" (18) для определения начала строки, "СТП" - конец передачи строки.
Странно что на схеме нету пятого проводника данных упомянутого в описании на странице 9.
Я так понимаю, что подключение надо делать к этим выходам 15, 5, 6, 7, 8
Именно по ним идет передача данных и стробирование. Еше тебе для декодирования понадобятся "ЗПС" (18) для определения начала строки, "СТП" - конец передачи строки. Странно что на схеме нету пятого проводника данных упомянутого в описании на странице 9.
видимо, данные по 4 проводам передаются, для 16 символов достаточно.
Вам не нужно печатать на этой штуке, Вам важно понять как и что она передает, и как сымитировать ее ответ для конкретного устройства. Если это устройство использует упрощенный алгоритм то хорошо, но в этом обязательно нужно убедиться. Но на первом этапе, эта информация Вам поможет, просто учитывайте и другие возможности.
А на счет вывода через Serial.println, Вам хочется его? Пожалуйста, ни кто не запрещает :)
Или можете для начала сделать "по байтно", получил байтик - сразу отправил его в сериал. Тупо, примитивно, но работать будет. (Хотя удобнее все-же накапливать в буфере и преобразовывать его к коду нужного символа. Заодно и дрыгание "СТП" преобразовывать к переводу строки.
to SLKH
Отсутствие сигнала вызывает подозрение, та-ли это модификация прибора (и хорошо если они различаются только количеством символов в наборе) но это можно проверить только методом "тыка". :)
Отсутствие сигнала вызывает подозрение, та-ли это модификация прибора (и хорошо если они различаются только количеством символов в наборе) но это можно проверить только методом "тыка". :)
в мануале написано "4 или 5", на картинке в #56 нарисованы 4. нало полагать, что от 4 работает.
Если это устройство использует упрощенный алгоритм
судя ко картинке #56 - скорее нет, чем да.
Цитата:
Или можете для начала сделать "по байтно", получил байтик - сразу отправил его в сериал.
разве что на первом этапе отладки.
=======
кстати, на начальном этапе отладки можно оптроны и прочую лабуду и не паять - достаточно ардуины и четырёх диодов (шоттки или германий) - при условии, что будет использоваться ноутбук, ни к чему, кроме контрольно-проверочной вундервафли, не подключенный.
Когда то игрался с немножко похожим принтером - Citizen FR-130RH назывался. Правда у него 33 символа было и 14 в строке. Интерфейс - всего 5 сигналов. Занятная штуковина. Ну очень компактный). В калькуляторах стоял.
Когда то игрался с немножко похожим принтером - Citizen FR-130RH назывался. Правда у него 33 символа было и 14 в строке. Интерфейс - всего 5 сигналов. Занятная штуковина. Ну очень компактный). В калькуляторах стоял.
устройство печатающее малогабаритное МПУ16-3: 465х325х300 мм, вес 26 кг.
Да, точно, барабан на всю ширину бумаги. Там можно было и гармошечную, только с перфорацией. Название уже забыл, хотя и писал программулину для него, что бы распечатывать файлы.
Теперь у меня начались танцы с бубном. Сделал выводы из кабеля который выходит из СЦВМ в соответствии #56. Имеется ардуино уно. На ноутбуке установил Arduino IDE. Не могу понять дальнейшею работу, помогите с подключением.
Теперь у меня начались танцы с бубном. Сделал выводы из кабеля который выходит из СЦВМ в соответствии #56. Имеется ардуино уно. На ноутбуке установил Arduino IDE. Не могу понять дальнейшею работу, помогите с подключением.
выходы СЦВМ подключаешь к уно напрямую.
входы СЦВМ (сигналы с печатки) подключаешь к уно через диоды. порядок подключения выводов уны к разъему - почти что какой попало (за исключением - выводы d0, d1 и d13 не трогаешь).
пишешь программу для ардуины, которая эмулирует обмен сигналами СЦВМ <-> МПУ и отправляет сформированную строку в другую программу на ноутбуке. Та, в свою очередь, выводит эту строку на экран.
После отладки распаиваешь оптронные развязки и в компьютерной программе добавляешь вывод строки на реальный принтер.
На амперке выложена документация к конструкторам, скачай почитай. Для начала тебе нужно научиться компилировать программу и загружать в ардуину. Затем потренируйся управлять UART и входами-выходами. Сложного там ничего нет, поковыряешь разберешся :)
Спасибо! Загружать уже научился. Мучаюсь дальше! С одной стороны нахерь мне это нужно, но с другой стороны я Родину свою люблю, для нее стараюсь. И то, что помогаете спасибо.
... но с другой стороны я Родину свою люблю, для нее стараюсь.
Не по теме. Лирика. Снимали квартиру одно время. И вот, как то утром, хозяин сидит на крыльце и плачет. Ну мы туда - сюда, что случилось... В ответ: "Я русский человек! Я Родину люблю! Я по русски пью!" А, ну тогда вопросов нет. Вот что значит Родина.)
Спасибо! Загружать уже научился. Мучаюсь дальше! С одной стороны нахерь мне это нужно, но с другой стороны я Родину свою люблю, для нее стараюсь. И то, что помогаете спасибо.
Попробую дать толчок. Вывел сигналы из устройства? Проверь их осциллографом. Если все соответствует эпюрам, начинай писать код. Для начала просто декодируй передаваемые данные.
Можно попробовать подключить просто через диоды (анод к ардуинке и лучше его подтянуть к +3.3 резистором в пару кОм).
const int SYNC = 5;
void setup()
{
pinMode(SYNC, INPUT);
DDRB = 0b11110000;
Serial.begin(9200);
}
void loop()
{
bool m;
unsigned char data;
m = digitalRead(SYNC);
if( !m ) {
// Получаем данные и выделяем используемые биты.
data = PINB & 0x0F;
Serial.print("Code: ");
Serial.println(data);
while(!digitalRead(SYNC));
}
}
На подключенном мониторе UART должны выводится коды печатаемых символов.
Внимание! Если будешь подключать через диоды, у тебя не будет гальванической развязки, будь осторожен. И для приема используй ноут не подключенный больше ни к чему.
Заработает - начинай разбираться с остальными сигналами. Не заработает - проверяй правильность подключения и сигнал синхронизации :)
Спасибо! Загружать уже научился. Мучаюсь дальше! С одной стороны нахерь мне это нужно, но с другой стороны я Родину свою люблю, для нее стараюсь. И то, что помогаете спасибо.
Попробую дать толчок. Вывел сигналы из устройства? Проверь их осциллографом. Если все соответствует эпюрам, начинай писать код. Для начала просто декодируй передаваемые данные.
Можно попробовать подключить просто через диоды (анод к ардуинке и лучше его подтянуть к +3.3 резистором в пару кОм).
const int SYNC = 5;
void setup()
{
pinMode(SYNC, INPUT);
DDRB = 0b11110000;
Serial.begin(9200);
}
void loop()
{
bool m;
unsigned char data;
m = digitalRead(SYNC);
if( !m ) {
// Получаем данные и выделяем используемые биты.
data = PINB & 0x0F;
Serial.print("Code: ");
Serial.println(data);
while(!digitalRead(SYNC));
}
}
На подключенном мониторе UART должны выводится коды печатаемых символов.чему.
никому они ничего не должны. без сигналов готовности и запроса вундервафля ничего передавать не будет.
Цитата:
Заработает - начинай разбираться с остальными сигналами. Не заработает - проверяй правильность подключения и сигнал синхронизации :)
не заработает. у вундервафли выходы с ОК, входы ардуины нужно конфигурировать INPUT_PULLUP. к выходам ардуины подключать диоды катодом к пину.
скетч тоже ни на что не похож. декодировать четырехбитные значения - дело простое, сначала нужно протокол обменя переходника с вундерфафлей отладить, чтобы эти символы поступали.
скетч тоже ни на что не похож. декодировать четырехбитные значения - дело простое, сначала нужно протокол обменя переходника с вундерфафлей отладить, чтобы эти символы поступали.
Такое подключение не занимается декодированием. Мы всего лишь перехватываем данные поступающие в работающую вундервафлю. Именно она формирует все необходимые сигналы. Делаем мы это что-бы убедиться, что данные передаются так как описано. Сделать это имеет смысл потому что в таких реликтах иногда бывают серьезные отличия реального устройства от его описания. И еще, такой эксперимент позволит ТС лучше понять работу устройства.
Кстати, говоря о подключении, я немного ошибся, подтягивающие резисторы нужно ставить обязательно и подключать к +5 вольтам.
скетч тоже ни на что не похож. декодировать четырехбитные значения - дело простое, сначала нужно протокол обменя переходника с вундерфафлей отладить, чтобы эти символы поступали.
Такое подключение не занимается декодированием. Мы всего лишь перехватываем данные поступающие в работающую вундервафлю. Именно она формирует все необходимые сигналы. Делаем мы это что-бы убедиться, что данные передаются так как описано. Сделать это имеет смысл потому что в таких реликтах иногда бывают серьезные отличия реального устройства от его описания. И еще, такой эксперимент позволит ТС лучше понять работу устройства. Кстати, говоря о подключении, я немного ошибся, подтягивающие резисторы нужно ставить обязательно и подключать к +5 вольтам.
вундервафля ничего просто так не передаст. только после handshake (несколько сигналов управления в обе стороны) она выдаст строку из 16 (или меньше) полубайт.
Спасибо мужики, теперь пытаюсь в этом во всем разобраться. В моем понятии еще пока не образовался даже скелет, что бы нарастить на него мясо. Направление пока понимаю. Поверьте не сижу, голова об этом только и болит.
Спасибо мужики, теперь пытаюсь в этом во всем разобраться. В моем понятии еще пока не образовался даже скелет, что бы нарастить на него мясо. Направление пока понимаю. Поверьте не сижу, голова об этом только и болит.
по железу: в #49 я наврал, транзисторов нужно 10, а не 4.
полагаю, что один из разъемов Ш1 или Ш2 можно безнаказанно выдрать и использовать в проектируемом wonderful device.
так что прорисовывается комплектация:
1. кошмарный разъем 1 шт.
2. ардуино нано 1
3. оптрон 817 14
4. транзисторы 10
5. резисторы 24
6. DC/DC 0505 1
7. конденсаторы по питанию
Можно ещё добавить для красоты пару-тройку светодиодов с резисторами.
Так СР разъёмы вроде возобновили выпускать
"Кошмарный разъем" можно поспрашать у скупщиков радиодеталей. А ардуину лучше выбрать по больше. Человек явно знаком сней слабо, а чисто физически с уной работать проще. Я бы вообще советовал взять готовый конструктор и потренироваться на "лампочках-кнопочках". Потому, что в процессе возникнет масса мелких-дурацких вопросов типа "куда присоединять" и "куда нажимать", а там все расписано.
"Кошмарный разъем" можно поспрашать у скупщиков радиодеталей.
а физически распаять то, что я перечислил в #52 - вряд ли проблема для конторы, в которой живет "контрольно проверочная машина для проверки электронных блоков на производстве". никаких преимуществ у уны я не вижу.
Ш12 выход из СЦВМ на МПУ
в паралельном коде 4-х битное кодирование, всего 16 символов, и зачем тут последовательный интерфейс, цифровых пинов за глаза хватает в 328 чипе
Я так понимаю, что подключение надо делать к этим выходам 15, 5, 6, 7, 8
Это только данные, а квитирование?
если бы делал я то делал бы наоборот, устройство на ардуине выводящее на принтер, на нём отладить процедуру передачи символов и далее сделать обратное устройство
в паралельном коде 4-х битное кодирование, всего 16 символов, и зачем тут последовательный интерфейс, цифровых пинов за глаза хватает в 328 чипе
печатка принимает в буфер по 4 или 5-разрядной шине 16 комбинаций, после чего печатает строку из 16 знаков. у неё есть и более извращенный вариант - записать всю строку сразу одним стробом по 64-проводной шине.
первый вариант в мануале обзывается последовательным вводом информации.
Я так понимаю, что подключение надо делать к этим выходам 15, 5, 6, 7, 8
Странно что на схеме нету пятого проводника данных упомянутого в описании на странице 9.
Я так понимаю, что подключение надо делать к этим выходам 15, 5, 6, 7, 8
Из мануала МПУ
ну так всё расписано, пора писать код
Надо использовать Serial.println?
to 61732
Вам не нужно печатать на этой штуке, Вам важно понять как и что она передает, и как сымитировать ее ответ для конкретного устройства. Если это устройство использует упрощенный алгоритм то хорошо, но в этом обязательно нужно убедиться. Но на первом этапе, эта информация Вам поможет, просто учитывайте и другие возможности.
А на счет вывода через Serial.println, Вам хочется его? Пожалуйста, ни кто не запрещает :)
Или можете для начала сделать "по байтно", получил байтик - сразу отправил его в сериал. Тупо, примитивно, но работать будет. (Хотя удобнее все-же накапливать в буфере и преобразовывать его к коду нужного символа. Заодно и дрыгание "СТП" преобразовывать к переводу строки.
to SLKH
Отсутствие сигнала вызывает подозрение, та-ли это модификация прибора (и хорошо если они различаются только количеством символов в наборе) но это можно проверить только методом "тыка". :)
Отсутствие сигнала вызывает подозрение, та-ли это модификация прибора (и хорошо если они различаются только количеством символов в наборе) но это можно проверить только методом "тыка". :)
кстати, кодировки только у пробела отличаются.
to 61732
Если это устройство использует упрощенный алгоритм
=======
кстати, на начальном этапе отладки можно оптроны и прочую лабуду и не паять - достаточно ардуины и четырёх диодов (шоттки или германий) - при условии, что будет использоваться ноутбук, ни к чему, кроме контрольно-проверочной вундервафли, не подключенный.
Вот такие чеки печатает. Две одинаковые колонки.
Когда то игрался с немножко похожим принтером - Citizen FR-130RH назывался. Правда у него 33 символа было и 14 в строке. Интерфейс - всего 5 сигналов. Занятная штуковина. Ну очень компактный). В калькуляторах стоял.
Когда то игрался с немножко похожим принтером - Citizen FR-130RH назывался. Правда у него 33 символа было и 14 в строке. Интерфейс - всего 5 сигналов. Занятная штуковина. Ну очень компактный). В калькуляторах стоял.
Ну да. Всё относительно.)
По сравнению с АЦПУ от ЕС-ок - ваще карманное.
Модели уж не помню, но с половину роста человека было это АЦПУ. И земля тряслась во время печати.
Да, были какие то барабанного типа. Очень шустрые - бумага так и вылетала рулонами.) Даже к ПК подключали такой.
Мы запихивали не рулонную, а гармошкой сложенную. И да, вроде барабан там был. Печатала строку сразу, если помню правильно.
Да, точно, барабан на всю ширину бумаги. Там можно было и гармошечную, только с перфорацией. Название уже забыл, хотя и писал программулину для него, что бы распечатывать файлы.
Теперь у меня начались танцы с бубном. Сделал выводы из кабеля который выходит из СЦВМ в соответствии #56. Имеется ардуино уно. На ноутбуке установил Arduino IDE. Не могу понять дальнейшею работу, помогите с подключением.
да и драйвер на ардуине всего 16 символов и строка столько же )))
примитив, ТС видимо ждёт когда ему код напишут, а чего там писать...
Теперь у меня начались танцы с бубном. Сделал выводы из кабеля который выходит из СЦВМ в соответствии #56. Имеется ардуино уно. На ноутбуке установил Arduino IDE. Не могу понять дальнейшею работу, помогите с подключением.
входы СЦВМ (сигналы с печатки) подключаешь к уно через диоды. порядок подключения выводов уны к разъему - почти что какой попало (за исключением - выводы d0, d1 и d13 не трогаешь).
пишешь программу для ардуины, которая эмулирует обмен сигналами СЦВМ <-> МПУ и отправляет сформированную строку в другую программу на ноутбуке. Та, в свою очередь, выводит эту строку на экран.
После отладки распаиваешь оптронные развязки и в компьютерной программе добавляешь вывод строки на реальный принтер.
to 61732
На амперке выложена документация к конструкторам, скачай почитай. Для начала тебе нужно научиться компилировать программу и загружать в ардуину. Затем потренируйся управлять UART и входами-выходами. Сложного там ничего нет, поковыряешь разберешся :)
Спасибо! Загружать уже научился. Мучаюсь дальше! С одной стороны нахерь мне это нужно, но с другой стороны я Родину свою люблю, для нее стараюсь. И то, что помогаете спасибо.
Не по теме. Лирика. Снимали квартиру одно время. И вот, как то утром, хозяин сидит на крыльце и плачет. Ну мы туда - сюда, что случилось... В ответ: "Я русский человек! Я Родину люблю! Я по русски пью!" А, ну тогда вопросов нет. Вот что значит Родина.)
Попробую дать толчок. Вывел сигналы из устройства? Проверь их осциллографом. Если все соответствует эпюрам, начинай писать код. Для начала просто декодируй передаваемые данные.
Можно попробовать подключить просто через диоды (анод к ардуинке и лучше его подтянуть к +3.3 резистором в пару кОм).
Для Uno подключение:
Код для Uno будет примерно такой:
На подключенном мониторе UART должны выводится коды печатаемых символов.
Внимание! Если будешь подключать через диоды, у тебя не будет гальванической развязки, будь осторожен. И для приема используй ноут не подключенный больше ни к чему.
Заработает - начинай разбираться с остальными сигналами. Не заработает - проверяй правильность подключения и сигнал синхронизации :)
Попробую дать толчок. Вывел сигналы из устройства? Проверь их осциллографом. Если все соответствует эпюрам, начинай писать код. Для начала просто декодируй передаваемые данные.
Можно попробовать подключить просто через диоды (анод к ардуинке и лучше его подтянуть к +3.3 резистором в пару кОм).
Для Uno подключение:
Код для Uno будет примерно такой:
На подключенном мониторе UART должны выводится коды печатаемых символов.чему.
скетч тоже ни на что не похож. декодировать четырехбитные значения - дело простое, сначала нужно протокол обменя переходника с вундерфафлей отладить, чтобы эти символы поступали.
скетч тоже ни на что не похож. декодировать четырехбитные значения - дело простое, сначала нужно протокол обменя переходника с вундерфафлей отладить, чтобы эти символы поступали.
Такое подключение не занимается декодированием. Мы всего лишь перехватываем данные поступающие в работающую вундервафлю. Именно она формирует все необходимые сигналы. Делаем мы это что-бы убедиться, что данные передаются так как описано. Сделать это имеет смысл потому что в таких реликтах иногда бывают серьезные отличия реального устройства от его описания. И еще, такой эксперимент позволит ТС лучше понять работу устройства.
Кстати, говоря о подключении, я немного ошибся, подтягивающие резисторы нужно ставить обязательно и подключать к +5 вольтам.
только Serial.begin (9600); а то запутается.
скетч тоже ни на что не похож. декодировать четырехбитные значения - дело простое, сначала нужно протокол обменя переходника с вундерфафлей отладить, чтобы эти символы поступали.
вундервафля ничего просто так не передаст. только после handshake (несколько сигналов управления в обе стороны) она выдаст строку из 16 (или меньше) полубайт.
снифить то можно жеж
Спасибо за помощь. В скетче выбивает error: invalid digit "8" in octal constant, что делаю не так?
Ноль и букву "о" ни где в константах не перепутал?
Все пересмотрел не вижу.
В сообщении об ошибке всегда указывается строка, на которой она обнаружена.
8:1: error: invalid digit "8" in octal constant
Все ошибку исправил, это я затупил.
Да, еще, там в скетче ошибка, надо не
Serial.begin(9200); а
Serial.begin(9600);
На подключенном мониторе UART выводятся коды, но ардуино ещё ведь не подключина к СЦВМ, реагирует на мою руку.
Я правильно понял + светодиода к ардуино - к резистору и далее на СЦВМ и так все соединения кроме GND
Не нужен там светодиод. Простой диод и вот так подключать.
Не нужен там светодиод. Простой диод и вот так подключать.