1 Отредактировано electroscat (18-09-2022 16:53)

Тема: Новодел - контроллер NIPPEL CLOCK+MOUSE и конвертор PS/2 мыши.

Доброго времени дорогие коллеги !
Хочу пердставить вам свою творческую реплику контроллеров NIPРEL c небольшими усовершенствованиями.

Он совсем скоро появится. Контроллер для А7 и А9, это реплика совмещенного NIPPEL MOUSE + NIPPEL CLOCK + универсальный конвертор мыши.

В этом контроллере собрано два устройства, по адресам они мешать друг другу не будут, по этому, будут работать в одном слоте, причем в любом. В составе - NIPPEL CLOCK - часы реального времени, и NIPPEL MOUSE - контроллер мышки. Плюс - конвертор на Ардуино нано - он будет преобразовывать сигнал от мыши PS/2 в сигнал мыши Марсианка и мыши ММ8031. Разьем который выходит из контроллера - из него выводится шлейф, и распаивается к разьему CHP34-30 который включается в ППИ (А7) или ПП (А9) - то есть, эта плата - контроллер NIPPEL MOUSE - и она же генерирует сигнал двух других мышей, то есть, плата перекрывает все типы мышей агата, и все это приводится в движение мышью PS/2. И плюс часики. Работать эта плата будет и на А7 и на А9.

Если у кого то есть замечания по схемотехнике или предложения по расширению, или желание помочь, дибо в схемотехнике либо в создании прошивки для Ардуино (на данный момент прошивка очень сырая, и позволяет эмулировать только марсианку, причем пока ускорение не работает, только движение), или кому интересно такую печатную плату получить, можете в личку писать, а лучше в телеграмм https://t.me/electroscatnes чтобы плат всем хватило. пока заказываю минимум плат, 5 шт,..

https://i.ibb.co/93nTXL7/BOT.jpg https://i.ibb.co/NjTgH0n/TOP.jpg

Схемка тут: https://disk.yandex.ru/i/-Kubf1VoLHZujg

А тут описано програмное обеспечение для платы NIPPEL CLOCK: http://agatcomp.ru/agat/Software/TV/Clock.shtml это делает из Агата очень неплохие часики с будильником..

2 Отредактировано electroscat (24-10-2022 03:24)

Re: Новодел - контроллер NIPPEL CLOCK+MOUSE и конвертор PS/2 мыши.

Доброго времени дорогие коллеги! Хочу опубликовать предварительный отчет по новодельному контроллеру.

https://i.ibb.co/5sSVJZb/20221023-222600.jpg https://i.ibb.co/G2zFHyJ/20221023-222609.jpg https://i.ibb.co/pKKRf61/20221024-012316.jpg https://i.ibb.co/3cmSz8D/20221024-012444.jpg https://i.ibb.co/cQGDNWc/20221024-012452.jpg https://i.ibb.co/5BSrNB5/20221024-015100.jpg https://i.ibb.co/Qm5N8CM/20221024-012325.jpg

Все заработало, Нипель часы - достаточно точные, установил их примерно три недели назад, до сих пор практически плюс минус три секунды все четко. С Нипель маус тоже все четко пришлось конечно пересобирать скетч под ардуинку, ... и в целом, со скетчем предстоит еще позаниматься. Но на данный момент работает ниппель мышь.
Еще, контроллер сзали имеет разьем для подключения к ПП или ППИ - так вот, это пока не проверял, но, судя по тому, что ниппель маус работает, уже сейчас можно спаять шлейф и подключить к ПП, и будут работать все приложения которые работали с марсианкой через ПП. Теперь дело за малым, исследовать ММ8031, и выяснить в чем отличия в отдаваемых ей сигналах от Марсианки. После чего, дописать скетч таким образом, чтобы по нажатию средней кнопки код Марсианки менялся на код ММ8031. Таким образом, этот контроллер будет давать возможность работать со всеми без исключения программами, которые только могут работать с мышью. Вот такие дела.
К сожалению, сейчас со временем туговато, исследования по поводу ММ8031 отложил немного до появления свободного времени, тем не менее, уже сейчас устройство работает как NIPPEL MOUSE и Марсианка.

Р.S.
И теперь Агат можно подключать к USB для того чтобы перезалить скетч в Ардуинке, и что то поменять таким образом )))

3 Отредактировано Voldemar0 (24-10-2022 06:14)

Re: Новодел - контроллер NIPPEL CLOCK+MOUSE и конвертор PS/2 мыши.

Одна из мышей просто замыкает-размыкает 6 бит в своём порту - т.е. там буквально идёт передача всех кнопок и датчиков вращения, без какой либо обработки. А у другой стояли два счётчика движения, соответственно, были биты сброса этих счётчиков и возможность считать их значения. Это всё хорошо описывалось в доках от Ниппеля.

4 Отредактировано electroscat (24-10-2022 14:17)

Re: Новодел - контроллер NIPPEL CLOCK+MOUSE и конвертор PS/2 мыши.

Это вы описали отличие Nippel Mouse от Марсианки через ПП или ППИ на сколько я понял. Эти уже работают, осталось выяснить отличия ММ8031 от марсианки. Отличия есть, потому как ММ8031 подключенная как марсианка - какие то движения курсора вызывает, а вот марсианка вместо ММ8031 только кнопками управляет. Обе эти мыши подключаются к ПП или ППИ, координатные биты на разные пины разьема - то есть они обе по идее просто перемыкают шесть контактов. Это покажет анализ, в планах подключить к Марсианке и к ММ8031 - лог. анализатор и снять то что мыши отдают на ПП или ППИ. Есть какие то отличия, возможно в поведении после сброса, возможно в полярности сигналов. Это еще предстоит выяснить анализатором.

5

Re: Новодел - контроллер NIPPEL CLOCK+MOUSE и конвертор PS/2 мыши.

Брр! Извиняюсь за нескромный вопрос, коллеги, вы принципиальные схемы этих мышей смотреть пробовали? Очень помогает :)

Вот вам схема ММ8031:
https://disk.yandex.ru/i/Z5LZeziEEAjnGg

Вот два листа схем УВК:
https://disk.yandex.ru/i/G5KnRZw_in-aBA
https://disk.yandex.ru/i/X2s-7lB9l-Q0nA


Передача без обработки идет только от левой и правой кнопок. Сигналы от датчиков в обеих мышах подвергаются обработке.

В УВК обработка самая простая - там блокируется возможность одновременного появления сигналов по одной координате. То есть, чтобы сигналы "мышь движется вверх" и "мышь движется вниз" не появились одновременно.
Состояние мыши можно прочитать независимо от того, что поступает с датчиков в момент чтения. Для этого есть 4 триггера.

В ММ8031 есть два счетчика (не на плате контроллера, а внутри самой мыши!). Счетчики изначально устанавливаются в значение 8, и дальше это значение уменьшается или увеличивается при движении мыши.
Для чтения там есть 4 линии данных, через которые читается один или другой счетчик. Выбор счетчика делается через сигнал "Синхр".


Важно! Обе мыши требуют входной сигнал сброса, который надо подавать после каждого чтения.

УВК при его подаче просто сбрасывает триггеры.

В ММ8031 сброс совмещен с сигналом "Синхр". Когда на нем "0", то читается счетчик D3 (X), а когда на нем "1", то читается счетчик D4 (Y) и одновременно вырабатывается сигнал сброса счетчиков.

6

Re: Новодел - контроллер NIPPEL CLOCK+MOUSE и конвертор PS/2 мыши.

Спасибо ! Да, схему Марсианки я смотрел, и в целом, принцип ее действия понимаю, и даже сделал для нее прошиску, и прекрасно ее считываю. А вот ММ8031 уже и схемы качнул, и так в них и не посмотрел. Благодарю за разьяснение, теперь понятно в целом все более менее, почему нет совместимости. Нужно делать две подпрограммы в скетче, которые будут давать совершенно разные сигналы для программ работаюзих с Марсианкой и с ММ8031, и прерключать эти подпрограммы пр нажатию средней кнопки мыши. Благодарю !

7

Re: Новодел - контроллер NIPPEL CLOCK+MOUSE и конвертор PS/2 мыши.

Глянул схему ММ8031 !!! Это вообще отличный вариант ! можно прям координату пришедшую от PS/2 мыши кидать в ПП, супер просто, не нужно заморачиваться над передачей прироста координат, в общем, это даже лучше, проще передать то что приходит от мыши PS/2 в порт ПП Агата )))

8 Отредактировано electroscat (25-10-2022 03:56)

Re: Новодел - контроллер NIPPEL CLOCK+MOUSE и конвертор PS/2 мыши.

Не понятно только что такое 3пт... Это такое обозначение общего вывода, типа GND?

9

Re: Новодел - контроллер NIPPEL CLOCK+MOUSE и конвертор PS/2 мыши.

Что хотели сказать авторы этим "ЗПт" я тоже не понял. Может быть заземляющий проводник. Или земляной потенциал.
Но по смыслу это конечно GND.

10 Отредактировано electroscat (22-12-2022 00:52)

Re: Новодел - контроллер NIPPEL CLOCK+MOUSE и конвертор PS/2 мыши.

Доброго времени дорогие коллеги ! В рамках реализации проекта исследовал ММ8031 на предмет работы с Агатом, логическим анализатором снял уровни порта.
Вот набор "Эпюр" снятых лог анализатором в программе Logic 2.4.3 - можно в этой же программе просмотреть все, в названии файлов имена выводов разьема описана и что происходит - вверх, вниз и т.д. https://disk.yandex.ru/d/rz23Jt97L0foVg

Теперь все ясно до тонкостей, как работает эта мышь, и теперь осталось реализовать все это на ардуине... По горизонтали координаты постоянно "в эфире", счетчик постоянно на шине, а по вертикали счетчик заменяет счетчик горизонтали только во время импульса синхронизации. то есть алгоритм такой - перед импульсом синхронизации драйвер снимает текущее значение счётчика горизонтального положения, потом синхронизация переходит в 1, на шину переходит счётчик вертикального положения, драйвер снимает координату и переводит синхронизацию в 0, это действие сбрасывает оба счётчика. До следующего синхроимпульса оба счётчика накапливают показания.
Направление счётчика понимается в следствии того что по сбросу счётчик становится в положение 1000, и если движение вниз, то соответственно 0111, 0110 и т.д. то есть старший бит в нуле, если движение вверх то 1001, 1010, 1001 - соответственно старший бит в единице. Так же и по горизонтали. Если провести мышью очень быстро, то наверное за синхроимпульс можно переполнить счётчик. Но на сколько я понял из доступной документации, такая ситуация решалась драйвером или не решалась вообще... Ардуино такой ситуации иметь не будет, ибо с ps/2 приходит координата, либо положител ная либо отрицательная, то есть её всего лишь нужно математически сделать пропорционально 1000 и в зависимости от знака отнять или прибавить к 1000 и это выставить на шину. А по синхроимпульсу сделать то же самое с другой осью. Вот как то так.

Кстати вопрос, в общем так и не нашел как называется ик светодиод и ик фототранзистор на ММ8031. По вертикали оптопары работает отлично на реальной мыше, а вот по горизонтали одна из пар - почти не работает, в следствии чего движение невнятное. Тем не менее, это не помешало снять уровни с порта при работе мыши.  Если кто то знает как называется светодиод и фототранзистор используемые в ММ8031, или чем их можно заменить без ухудьшения работы - напишите пожалуйста, буду признателен ! Хочется восстановить мышку, и сравнить ее потом с эмулируемой, не только по вертикали )))

И немного фоток мыши:

https://i.ibb.co/VQ4K44C/20220919-144602.jpg https://i.ibb.co/23vgH7v/20220919-144615.jpg https://i.ibb.co/7yFWsQX/20220919-144622.jpg https://i.ibb.co/brT4b2d/20220919-144701.jpg https://i.ibb.co/Px3rkR5/20220919-145312.jpg https://i.ibb.co/kxpCWDM/20220919-145320.jpg https://i.ibb.co/SBrB4x2/20220919-145340.jpg

11 Отредактировано avivanov76 (22-12-2022 01:23)

Re: Новодел - контроллер NIPPEL CLOCK+MOUSE и конвертор PS/2 мыши.

Схема и описание есть тут https://zx-pk.ru/printthread.php?t=9258 … amp;page=2
Правда, качество там так себе. Вроде бы светодиод АЛ107Б, фототранзистор ФТ-2К.

Spoiler

http://forum.agatcomp.ru//misc.php?action=pun_attachment&item=1210&download=1

Post's attachments

Attachment icon MM8031_elem.png 236.23 kb, 267 downloads since 2022-12-21 

12

Re: Новодел - контроллер NIPPEL CLOCK+MOUSE и конвертор PS/2 мыши.

Спасибо !!!!!!!

13 Отредактировано Voldemar0 (22-12-2022 08:54)

Re: Новодел - контроллер NIPPEL CLOCK+MOUSE и конвертор PS/2 мыши.

> По вертикали оптопары работает отлично на реальной мыше, а вот по горизонтали одна из пар - почти не работает, в следствии чего движение невнятное.

Была аналогичная фигня у меня году в 1991-3: импортная мышка на PC стала довольно плохо реагировать на движение по одной из координат. Мышка нравилась, а деньгами не пахло вообще. И я как-то расфигарил излучатель (наверное, там была не оптопара, а отдельные светодиод и фотоприёмник. Светодиод специальный: сразу с фокусирующей линзой и светящийся вбок) и заменил его на какой-то АЛС (скорее всего тот же 107 - тонкий длинный диод в жёлтом компаунде). В схеме ничего не менял. И таки заработало всё отлично. Так что модель диода там вряд ли имеет большое значение: можно воткнуть всё, что светится в ИК и подходит по мощности и размерам.

Ещё про ИК: в те же годы собирал из конструктора систему дистанционного управления для телека. Так вот в описании конструктора говорилось, что эти тонкие длиные ИК-излучатели взаимозаменяемы с каким-то другим "толстым" АЛС (очень похожим на те, что стоят в нынешних ИК-дистаках),
но максимальная мощность "тонких" ниже и их нужно в дистак втыкать хотя бы штуки 4.

Видимо, применимо и обратное: если взять ИК-излучатель из дистака, то он вполне будет работать в мыши, в "дефорсированном" режиме.

14

Re: Новодел - контроллер NIPPEL CLOCK+MOUSE и конвертор PS/2 мыши.

Да, я думал о диодах с пультов... Но они пошире, побольше. А тут еще и какие то шайбы вклеены в корпус мыши под диоды именно длинненькие и тонкие.. В целом, все можно высверлить, и скорее всего придется, по крайней мере фототранзисторы там вклеены чем то похожим на сургуч почтовый, отшкребается тяжело. Не знаю как, но как то аккуратно нужно будет это все от туда выковырять. Но я решил таки все же поставить все оригинальное. Уже нашел в местном магазине, осталось только сьездить забрать.