Просмотр полной версии : Подключение Arduino к порту Sinclair/Kempston
spoltavin
04.03.2019, 11:49
Всем привет!
Как начинающий электронщик, прошу помощи у опытных электронщиков:
Задача: программой на Arduino управлять замыканием/размыканием контактов Sinclair/Kempston джойстика в типовом советском клоне 48 спектрума. На данный момент нагуглил схему с реле (во вложении).
68323
Вопросы:
1) Возможно-ли обойтись без гальванической развязки с реле/оптопарами? В идеале проводами напрямую (или через сопротивления). Пока экспериментировать не стал, т.к. не хочется лишиться сразу двух устройств.
2) Если правильно понимаю, то если прямое подключение возможно, питать устройства нужно либо от одного источника питания, а объединять землю можно только при питании Arduino от батарейки. Т.е. вариант питать Spectrum от своего блока питания, а Arduino от USB компьютера нельзя из-за разных потенциалов на землях?
В общем, нужна схема согласования или консультация. Программу напишу самостоятельно.
Заранее благодарен за ответ!
как "мимиопроходивший" еле-ктронщик. я бы сказал, что 2003 сама по себе уже неплохо развязывает схемы, но тут скорее всего для умощнения выходов ардуины для включЕния реле установлена. Так в простейшем случАе. если ардуинку питать от источника спека, то наверное ничего больше и не надо, или вообще напрямую на порт с выхОда ардуины, ну или через токоограничивающие резисторы. Программу надо писать так, чтобы в дефолте на выходах дуинки идиниЦЦа была.
IL_DECAMERON
04.03.2019, 20:31
Мое скромное мнение:
1. Развязка не обязательна. Можно попробовать через CD4066B: http://www.ti.com/lit/ds/symlink/cd4066b.pdf. При нечетком срабатывании, подтянуть управляющие ноги к минусу питания резисторами. Например, 10к. В такой реализации можно коммутировать как Sinclair, так и Kempston. В свободном состоянии, на выходах МК, должны быть логические нули, т.е., выходы без инверсии.
2. Питайте от Спека: так рациональнее.
В свободном состоянии, на выходах МК, должны быть логические нули
у кемпстона в свободном состоянии должны(?) быть единицы на входе порта.
Впрочем в ардуинке это плевое дело, инвертировать сигналы.
1) Возможно-ли обойтись без гальванической развязки с реле/оптопарами?
Да
2) Если правильно понимаю, то если прямое подключение возможно, питать устройства нужно либо от одного источника питания, а объединять землю можно только при питании Arduino от батарейки. Т.е. вариант питать Spectrum от своего блока питания, а Arduino от USB компьютера нельзя из-за разных потенциалов на землях?
Если с БП спека все в порядке ,то можете питать ардуину от USB , нужна только общая земля.
Схема согласования проста в спеке возможно придется увеличить подтягивающие резисторы до 20-30k , или убрать их вообще если ардуина будет подключена на совсем и в ней будет использован pull up.
Так понимаю питать от USB надо только в режиме отладки кода ,для простоты , а потом ардуина перекочюет в спек ?
И в итоге вопрос , для чего эти пляски ? Автодетект USB джоев ?
IL_DECAMERON
05.03.2019, 03:38
у кемпстона в свободном состоянии должны(?) быть единицы на входе порта.
Впрочем в ардуинке это плевое дело, инвертировать сигналы.
У Kempston входы уже подтянуты к +5В резисторами;) В том варианте, который предложил, инверсия не нужна.
spoltavin
06.03.2019, 12:28
Так понимаю питать от USB надо только в режиме отладки кода ,для простоты , а потом ардуина перекочюет в спек ?
Всё верно
И в итоге вопрос , для чего эти пляски ? Автодетект USB джоев ?
Начитавшись https://zx-pk.ru/threads/25615-fast-pc-loader.html, захотел попробовать загрузиться через Kempston-порт (с проектом OTLA знаком, пробовал)
захотел попробовать загрузиться через Kempston-порт
такое уже делали, с CD http://trastero.speccy.org/cosas/JL/CableCD/CableCD.html
а `сторонние` джойстики обычно подключают через PIC
http://trastero.speccy.org/cosas/JL/ps2/ps2.html
spoltavin
07.03.2019, 12:10
В процессе подключения выяснил, что у одного порта спектрума общий "0", у другого общий "+5 В" о_О
Для универсальности, по совету IL_DECAMERON, смотрю в сторону ключей, вот только не могу найти 5 канальный (больше 4х)... И что будет более правильно: ключ или аналоговый переключатель с висящими контактами?
IL_DECAMERON
07.03.2019, 13:00
Аналоговый переключатель - в смысле, механическое реле? CD4066 - двунаправленные ключи, вполне подойдут для коммутации сигналов с силой тока до 10мА.
spoltavin
07.03.2019, 17:52
В описании CD4066 неверно понял смысл "двунаправленный ключ" - не как разнополярный, а как заменяемость входов-выходов. Потому отмел этот вариант и стал искать "аналоговый ключ/переключатель" вроде этого: https://www.chipdip.ru/product/adg734bruz-2
Хотел микросхему в одном корпусе, нашел: MAX395, ADG714. Но тут вместо одного контакта протокол типа SCL. Теперь решаю, заморочиться с протоколом или взять 2хCD4066 )
В процессе подключения выяснил, что у одного порта спектрума общий "0", у другого общий "+5 В" о_О
У какого одного у какого другого ? Наш дежурный телепат в отпуске.
Есть порты для которых активный уровень ноль , есть для которых единица. Какие ключи , какие аналоговые комутаторы , для чего ? Ардуина спокойно может работать на любой порт без плясок.
OrionExt
07.03.2019, 20:03
0о, пора изучать фпжа. А то чего то у CD4066 - кривой дизайн.
siemensC35
07.03.2019, 21:00
1) Есть микросхемы инверторы, например лн1 на вход лог 1 , выход лог 0
2) почему бы не реализовать програмно переключение выходов ( 0 или 1) порта например через подачу той же самой лог 1 или 0 на какой-то свободный порт
3) зачем городить ключи/развязки . у вас ардуино будет через 1,5м кабель управлять спеком чтоль ?
mike-shevchenko
11.02.2021, 00:16
spoltavin, есть ли успехи в проекте загрузки через Kempston? У меня есть потребность сделать кое-что подобное, предлагаю объединить усилия.
Моя цель с точки зрения железа вкратце - стандартная 5-вольтовая Ардуина (например, Leonardo) с минимумом обвязки (в идеале - только провода припаять к спеку), которая может подключаться через магнитофонные вход/выход, порт джойстика, а также (если получится) "порт" клавиатуры (подключение напрямую к матрице под клавишами).
Конечная цель - обеспечить музеи ретро-компьютеров в разных городах возможностью загружать в имеющиеся спеки без стандартного системного разъёма (Ленинграды, разномастные Пентагоны и т.п.) софт для показа посетителям за несколько секунд, из снепшотов, которые будет изготавливать онлайн-сервис "на лету", скачивая TRD или TAP с известных сайтов.
"Ускоренная" загрузка с магнитофона слишком медленна для этой цели - хочется получить порядка 3 - 5 секунд на 48К, а не 30, как OTLA и иже с ней.
Перспектива на будущее - добавить "захват" RGB-сигнала и сделать что-то типа TeamViewer для удалённого доступа к реальным спекам. Варианты типа "внешней видеокарты" не рассматриваются, так как хочется "увидеть" именно оригинальный экранный вывод конкретного реала.
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot