Перейти к публикации

Рекомендованные сообщения

Опубликовано:

Вот РУД с внешней стороны https://yadi.sk/i/krN6o55whe3BN   

https://yadi.sk/i/pCpswE1zhe3EZ

 и с тыла

https://yadi.sk/i/iOtDEgfHhe3o3

Жгут с торца платы идёт к USB, другой с краю к разъёму на РУС. Рядом на панель РУДа с 9-ю кнопками, четыре из них выбор усилия.

Опубликовано: (изменено)

Фото может пригодятся.

Такое впечатление, что с паек проводов от РУС дорожки идут прямо на микроконтроллер без дополнительных элементов (резисторов) на этих дорожках. Может там что-то подкорачивает ? Например левый термоклей (слезки китайских девственниц :)), хотя врядли он. На пайках еще видны остатки флюса, флюс тоже бывает "буээ", я стараюсь всегда стирать флюс, пользуюсь изопропиловым спиртом.

Поиск причины задержки включения РУС продолжим здесь ? Может еще кто увидит и подскажет полезный совет.

По крайней мере при необходимости потом есть возможность перенести ремонт в отдельную тему. Думаю =V=Heromant поможет в этом :)

Посмотри осциллографом кто инициатор обмена между РУД и РУС. При отключенном разъеме РУС. Должен же как-то РУД увидеть наличие на шине подключенного РУС. Может РУД в начале опрашивает наличие связи по последовательному интерфейсу (по идее должен быть виден тактовый сигнал). Или подключенный РУС своим резистором смещает уровень на одном из проводов, что видит РУД и начинает полноценный обмен.

Возможно здесь проблема...

Изменено пользователем Komaroff
Опубликовано:

Посмотри осциллографом кто инициатор обмена между РУД и РУС. При отключенном разъеме РУС. Должен же как-то РУД увидеть наличие на шине подключенного РУС. Может РУД в начале опрашивает наличие связи по последовательному интерфейсу (по идее должен быть виден тактовый сигнал). Или подключенный РУС своим резистором смещает уровень на одном из проводов, что видит РУД и начинает полноценный обмен.

Возможно здесь проблема...

Если бы там было смещение уровня резистором - обмен бы начинался без задержек. Во всяком случае тактовая бы присутствовала. Руд может просто записывать значения пришедшие от РУСа в ячейки и передавать их по USB. А инициировать обмен может и РУС.

 

Проверить можно осцилографом, подав отдельное питание на РУС через контакты VDD и GND без подключения к РУДу.  Заодно можно будет посмотреть, есть ли задержка.

Опубликовано: (изменено)

... А инициировать обмен может и РУС.

 

Проверить можно осцилографом, подав отдельное питание на РУС через контакты VDD и GND без подключения к РУДу.  Заодно можно будет посмотреть, есть ли задержка.

Я ж говорил про пользу поиска причины задержки в общей ветке ?  Зачетный вариант :)

Сигналы DAT0, DAT1 (на плате РУС) - идут на выводы последовательной шины обмена I2C микроконтроллера (но в принципе могут использоваться как обычные). А CLK, DAT на обычные цифровые выводы. Смотрел по описанию на микроконтроллер. Такое решение (по крайней мере маркировка) смотрится странно, но может имеет скрытый смысл ?

Версия про закоротку возникла, т.к. увидел на плате РУС на этих сигналах распорочные резисторы, причем один из резисторов не запаян. На моей практике было когда сигнал "плавал" из-за несмытого флюса, правда там были сигналы другого уровня.

Изменено пользователем Komaroff
Опубликовано:

Ну там точно не i2с. На i2c была бы подтяжка. К SPI ближе, но один провод лишний и на CS по описанию сигнала не тянет.  Так что я не предстваляю, что это может быть...

Опубликовано:

В общем, если я правильно понял, надо проверить осцилографом сигналы CLK, DAT, DAT0 и DAT1 на РУС-е и РУД-е отключенных друг от друга. Предварительно запитав первый.

Опубликовано:

В общем, если я правильно понял, надо проверить осцилографом сигналы CLK, DAT, DAT0 и DAT1 на РУС-е и РУД-е отключенных друг от друга. Предварительно запитав первый.

Да.

Опубликовано: (изменено)

Ну там точно не i2с. На i2c была бы подтяжка. К SPI ближе, но один провод лишний и на CS по описанию сигнала не тянет.  Так что я не предстваляю, что это может быть...

Да. В характеристиках указано I2C (slave, master, and multimaster до 400кГц - не помешает примерно засечь частоту сигнала), SPI (master or slave), UART (Full-duplex). Только на какие выводы они выходят непонятно (кроме I2C) Документация не очень, надо искать. Это не Atmel или STM :)

Еще как вариант может быть какой-нибудь дифференциальный способ передачи цифры, как в RS485 (два провода в противофазе на каждый канал). Все-таки распорочные резисторы присутствуют...

Изменено пользователем Komaroff
Опубликовано:

485му, как и 232му тактовый не нужен. Еще вполне может быть ремаппинг какого-нибудь порта или интерфейса. Тогда даже найдя стандартную распиновку фиг догадаешься, что там...

Опубликовано:

485му, как и 232му тактовый не нужен. Еще вполне может быть ремаппинг какого-нибудь порта или интерфейса. Тогда даже найдя стандартную распиновку фиг догадаешься, что там...

Это точно. А кто сказал, что то тактовый ? Может китайцы написали CLK специально, чтобы мы тут на БЗС не просекли фишку :)

Опубликовано:

Это точно. А кто сказал, что то тактовый ? Может китайцы написали CLK специально, чтобы мы тут на БЗС не просекли фишку :)

Когда врагов запутать пытаешься - главное самому не запутаться...

Из тех сайтеков, что я ковырял паяльником - обозначения на плате обычно соответствовали физическому смыслу...

Опубликовано:

Ладно. Поживем - прорвемся :)

Кстати. SPI в этом микроконтроллере с сигналом SS можно использовать. Как в Атмеле - 4 провода в сумме может быть задействовано. Правда врядли в этом джое такое нужно городить.

Опубликовано:

На SS картинка будет сильно отличаться от остальных выводов. А тут, как я понял, особо не отличается. Разве что масштаб времени на осцилографе покрутить... Но не думаю, что сильно что-то изменит...  Тем более что для нормальной синхронизации пакета данных желательно пинать SS в 0 на протяжении передачи всего пакета. 

Опубликовано:

Правильно. Поэтому такой вариант SPI всерьез и не рассматриваю. В общем, будем ждать результатов плясок с осциллографом. veterok удачи !

Опубликовано:

Ребята, прошу прощения за задержку. Читать и писать могу и с телефона, а вот доступ к джою только дома.  :sleep:

В общем имеем следующие факты: РУС и РУД разъединены, на РУС бросил 2 провода питания. На РУС-е на контактах DAT, DAT0 и DAT1 логический 0 всегда, на контакте CLK постоянное напряжение 1,65 в.

На РУД-е на всех логический ноль, только CLK в момент подключения к USB подскакивает до 3,3 вольт, буквально на полсекунды. Не могу сказать просто постоянное напряжение или пачка импульсов. Осциллограф не успевает синхронизироваться, просто луч подпрыгивает и тут же возвращается на ноль.

Опубликовано:

По дорожкам вроде CLK, DAT0 и DAT1 сидят на средней точке резистивных делителей между питанием и общим. А  DAT подтянут резистором к общему.

Значит микроконтроллер РУСа сам тянет DAT0 и DAT1 на ноль (общий, логический ноль). И не трогает CLK. А следовательно вероятно не трогает и DAT (разве что маловероятно тянет его к логическому нулю).

Надо думать теперь.

Если на РУДе на CLK ноль, а в РУСе средняя точка, то что если попробовать этот CLK РУСа кратковременно коротнуть на общий. Не появится ли связь или сигнал какой на осциллографе ?

Опубликовано:

Если на РУДе на CLK ноль, а в РУСе средняя точка, то что если попробовать этот CLK РУСа кратковременно коротнуть на общий. Не появится ли связь или сигнал какой на осциллографе ?

 

Может тогда на "1"? Просто на РУД-е, перед его стартом, скорее всего именно постоянное напряжение. Мне так кажется потому, что если бы это был пакет импульсов, то на осциллографе, даже при его рассинхронизации,  я скорее всего увидел бы два луча. А луч был один, просто он подпрыгнул до "1" потом упал до "0".

 

По дорожкам вроде CLK сидят на средней точке резистивных делителей между питанием и общим.

 А какие это резисторы, может их по очереди перемкнуть кратковременно пинцетом? Это не опасно?

Опубликовано:

ХМ... Че-то похоже, что на РУС CLK в Z-состоянии... Скорей всего тогда РУС ведомый...

 

Скачек на РУДе до единицы может быть обычным переходным процессом при инициализации...

 

Про делитель, как-то странно. Как эта  нога тогда работать будет? Делитель же ее жестко в половину питания вгонит... Разве что какая-то особенность устройства порта ввода-вывода...

Опубликовано:

Короткнул кратковременно CLK на РУС-е на массу. При этом DAT0 переключился на "1". Остальные без изменений. 

Опубликовано:

А если на 1 коротнуть?

Взял "1" с 3-ей ножки DR2, ни как не реагирует.

Опубликовано:

Почитал еще раз полностью все описание. 

Похоже что РУД дергая при запуске ногу CLK в единицу и затем опустив ее в 0 ждет появления 1цы на DAT0. Если она есть - то РУС подключен.  

Опубликовано: (изменено)

Почитал еще раз полностью все описание. 

Похоже что РУД дергая при запуске ногу CLK в единицу и затем опустив ее в 0 ждет появления 1цы на DAT0. Если она есть - то РУС подключен.  

Что нам это даёт и как проверить? Предполагаю, если соединить РУС и РУД, подключить к USB и через мгновение коротнуть CLK на "0", то РУС должен стартануть. Так? Проверил, не стартует.

Изменено пользователем veterok
Опубликовано:

Нет. Пока это говорит о том, что мастером в процессе  обмена является все-таки РУД. И значит РУС по идее ни при чем - тупит РУД где-то...

Опубликовано:

Сейчас подкину ещё данных и запутаю, насчёт что является паровозом. При разъединённых РУС и РУД, но запитаном РУС-е, лампочки последнего зажигаются с той самой задержкой. И совсем не зависят от 

 

Короткнул кратковременно CLK на РУС-е на массу. При этом DAT0 переключился на "1". Остальные без изменений. 
Опубликовано:

А когда лампочки зажигаются, ноги данных никак больше не дергаются?

Опубликовано:

А когда лампочки зажигаются, ноги данных никак больше не дергаются?

При разъединённых нет. При соединённых на всех 4-х контактах начинается обмен данными.

Опубликовано:

Потыкали сейчас эти сигналы посредством скайпа.

 

В общем - это SPI с вероятностью 99,9%

DAT это CS/SS

DAT0/DAT1 - это данные.

 

Но вопрос "кто же мастер" пока не прояснился.

Обмен данными начинается синхронно с зажиганием светодиодов на РУС.

 

Судя по реакции контроллера РУСа на CLK больше похоже, что мастер - РУД. Но никаких сигналов с РУДа вплоть до зажигания светодиодов на РУСе нет.

Опубликовано:

Вчера плночи гонял мысли и пришёл к выводу, что мудрит именно РУС. Как можно определить работает он или нет? В окне драйвера можно управлять передвижением крестика и нажимать кнопки. По контактам CLK, DAT, DAT0 и DAT1 при этом идёт обмен данными. Ещё в момент включения зажигаются лампочки. Теперь если отсоеденить от платы РУС-а, всё кроме питания, как можно узнать работает он или нет? Двигать крестик и нажимать кнопки бесполезно, ведь мы от соединили всё кроме питания. Сигналы на четырёх выше упомянутых контактах отсутствуют и скорее всего так и должно быть. Зачем РУС-у, что то посылать по этой линии если по ней ни кто не отвечает. Остаются только лампочки. Подключаю к плате 20-и пиновый разъём и питание. И после уже традиционной паузы, наблюдаю включение ламп подсветки кнопок. Значит плата РУС-а запускается самостоятельно, нужно только питание. Проверяю. Когда уже лампочки горят, открываю окно драйвера и втыкаю разъём от РУД-а. Вижу моментально смещение крестика в верхний левый угол (датчики отключены). Тоесь РУС запускается самостоятельно при наличии питания, но всё с той же задержкой.

Опубликовано: (изменено)

Ребята, возникла такая мысль, что если эта задержка не что иное, как режим самодиагностики. Ну идёт опрос устройств, датчиков. Они немного отличаются от родных от сюда и задержка. Как я писал выше пробовал подключать родные тензо. Вот решил и раскрутил изоленту с тензодатчиков, а там обнаружил два отлетевших проводка от шлейфа идущего к твисту. post-12979-0-18306900-1436095878_thumb.jpg

То есть и со старыми датчиками при опросе выявляется неполадка и возникает задержка. Пробовал тестером определить куда были припаяны провода, так и не понял. К тому же выявил интересную особенность. Два других датчика звонятся следующим образом: между красным и чёрным 1 кОм ( то же между зелёным и белым ), а вот между красным (или чёрным) и белым (или зелёным) 750 Ом. У неисправного датчика между белым и зелёным 350 Ом. Ещё один контакт на белый или зелёный то же показывает 350. А вот остальные не звонятся совсем. Видимо накрылся сам тензодатчик твиста. Ну и :fly: ... с ним. Для проверки моей теории про самодиагностику, думаю достаточно будет спаять простые резисторы мостом. Предполагаю должно быть так: post-12979-0-78866300-1436097680_thumb.jpg :biggrin:

Сопротивления на 1 кОм. Ни где не ошибся? А то напортачю чего нибудь.

Изменено пользователем veterok
Опубликовано:

veterok На микроконтроллере РУСа события по факту сброса по включению питания выводятся на контакты с маркировкой P1.0, P1.1. Это маркировка на плате, соответствующая названию выводов микроконтроллера.

Не знаю поможет ли это.

По включению питания ножка 0 должна взвестись в единицу на 256 тактовых цикла спящего режима (не знаю сейчас сколько это), а ножка 1 остается в нуле. Затем через 256 тактов ножка 0 падает в ноль, а ножка 1 продолжает оставаться в нуле. И затем после еще 256 циклов обе ножки переходят с третье состояние (Z-состояние).

Эти ножки походу используются для прошивки микросхемы. И еще как второй порт шины I2C.

Если времянка на этих ножках будет напоминать описанное (от момента подачи питания до включения лампочек - получается, что 256 циклов это 10-15 секунд ???), то вдруг проблема с тактовым генератором спящего режима. Врядли конечно, но надо посмотреть осциллографом.

  • Поддерживаю! 1
Опубликовано:

Спасибо, а то у меня уже ни каких мыслей. Подцепить осциллограф, правда смогу не раньше среды и то поздно вечером. Контакты на плате нашёл, а вот как проверить генератор, не сориентируешь?

Опубликовано:

Да не проверить его никак. Он внутренний. По описанию нашел номинал, должен быть 32 кГц. Но до запуска ядра может быть 5 - 100 кГц. я уже цепляюсь за соломинку. Но по выводам мы можем посмотреть корректность запуска по сбросу.

Еще такой параметр увидел. Есть требование по максимальной скорости нарастания напряжения питания. Эта скорость должна быть не более 250 Вольт в 1 миллисекунду. Не понятно просто, обычно указывают не менее какого-то значения. Ну да ладно. Тогда если это не ошибка, то можно повесить дополнительный конденсатор на выход стабилизатора, питающего микроконтроллер. Этим уменьшится скорость нарастания напряжения питания. Номинал конденсатора навскидку затрудняюсь. Ну например начать с 47 микрофарад. Можно сравнить изменение нарастания осциллографом.

Опубликовано:

Проверил контакты P1.0 и P1.1. На P1.0 в момент включения, примерно на полсекунды появляется 1, потом падает до 0. И дальше ни каких изменений. Может там и появляется третье состояние, но на осциллографе не видно. Эксперимент с конденсатором дал полезную информацию. Наличие его или отсутствие ни каких изменений не дают, но вовремя измерений заметил, что напряжение на выходе стабилизатора меняется! Сначала во время включения около 2-х вольт, потом примерно через полсекунды, скачком до 3,3 в. Цифровым мультиметром не заметно, очень быстро это происходит, цифры не успевают установиться. Мерил на ножке 3, на ножке 2 происходит то же самое. И последние, примерно на те же полсекунды в момент включения, вспыхивают лампочки и тут же гаснут на 20 секунд.

Интересно может это и есть неисправность? Хотя не удивлюсь если сделано специально.

Опубликовано:

И последние, примерно на те же полсекунды в момент включения, вспыхивают лампочки и тут же гаснут на 20 секунд.

Интересно может это и есть неисправность? Хотя не удивлюсь если сделано специально.

Тут можно посмотреть по схеме включения светодиодов.  Если катод идет к выводу микроконтроллера - то светодиод включается 0-м. Стандартное состояние ног у портов ввода-вывода практически всех мк - вход. Соответственно на них будет 0. А после инициализации периферии микроконтроллером - они переводятся в режим выхода  и выключают светодиод 1-ей.

Опубликовано:

Проверил контакты P1.0 и P1.1. На P1.0 в момент включения, примерно на полсекунды появляется 1, потом падает до 0. И дальше ни каких изменений. Может там и появляется третье состояние, но на осциллографе не видно. Эксперимент с конденсатором дал полезную информацию. Наличие его или отсутствие ни каких изменений не дают, но вовремя измерений заметил, что напряжение на выходе стабилизатора меняется! Сначала во время включения около 2-х вольт, потом примерно через полсекунды, скачком до 3,3 в. Цифровым мультиметром не заметно, очень быстро это происходит, цифры не успевают установиться. Мерил на ножке 3, на ножке 2 происходит то же самое. И последние, примерно на те же полсекунды в момент включения, вспыхивают лампочки и тут же гаснут на 20 секунд.

Интересно может это и есть неисправность? Хотя не удивлюсь если сделано специально.

Странно. Стабилизатор с маркировкой DR2 (XC6214) на ножке 2 это вывод входного напряжения питания. Должно быть 5 вольт питания от USB или откуда запитывается. На входе платы какое напряжение питания при включении ? Должно быть такое же как и на ножке 2 стабилизатора. Если действительно 2 вольта на входе, то естественно, что и на выходе , ножка 3, будет тоже 2 вольта.

Тут еще подумалось. Для прошивки микроконтроллера может использоваться какой-нибудь загрузчик внутри. Для передачи на него управления может быть нужно какое-нибудь воздействие. Бывают загрузчики, которые при отсутствии начала загрузки основной прошивки через некоторое время передают управление основной программе, уже имеющейся в памяти. Что если есть какая-то закоротка (сопля на плате или др.), которую загрузчик воспринимает как сигнал для ввода в режим прошивки ? А после 20 секунд отсутствия самого процесса загрузки прошивки, он передает управление основной программе. Надо разобраться каким образом заливается прошивка в этот микроконтроллер, вернее как вводится в режим прошивки.

  • Поддерживаю! 1
Опубликовано:

Перепроверил ещё раз. На входе питания на плату и на ножке 2 в момент подключения около 2 вольт, потом через полсекунды скачком до 4,82 вольт. 

Тут еще подумалось. Для прошивки микроконтроллера может использоваться какой-нибудь загрузчик внутри. Для передачи на него управления может быть нужно какое-нибудь воздействие. Бывают загрузчики, которые при отсутствии начала загрузки основной прошивки через некоторое время передают управление основной программе, уже имеющейся в памяти. Что если есть какая-то закоротка (сопля на плате или др.), которую загрузчик воспринимает как сигнал для ввода в режим прошивки ? А после 20 секунд отсутствия самого процесса загрузки прошивки, он передает управление основной программе. Надо разобраться каким образом заливается прошивка в этот микроконтроллер, вернее как вводится в режим прошивки.

Выше я высказал предположение, что микроконтроллер сначала находится в режиме ожидания-опроса. Но вот как это узнать, какое это состояние и как он туда попадает?

 

Опубликовано:

Перепроверил ещё раз. На входе питания на плату и на ножке 2 в момент подключения около 2 вольт, потом через полсекунды скачком до 4,82 вольт. 

Выше я высказал предположение, что микроконтроллер сначала находится в режиме ожидания-опроса. Но вот как это узнать, какое это состояние и как он туда попадает?

Наверно питание от USB просаживается током нагрузки. Ток может течь на первоначальный заряд конденсаторов, но тогда не понятен скачок, должно быть сравнительно плавно.

Или что еще тянет ток, а затем или само или его отключают. Или USB РУДа удается достучаться до компьютера и прописать штатный ток нагрузки (при включении USB по умолчанию шина ставит 100 миллиампер, но куда он может утекать непонятно).

Про состояние ожидания, точнее состояние вероятного режима прошивки, попробую покурить информлисты на микроконтроллер.

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...