|
|
  |
Помехи atmega+vusb+реле(220В), Пропадает v-USB устройство при коммутации нагрузки |
|
|
|
Jun 9 2011, 13:57
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Цитата(moscow @ Jun 9 2011, 22:03)  В _этой_ задаче требуемая скорость передачи данных очень низкая Это не является достаточным основанием для использования USB LS. Основанием могло бы быть желание выжать лишние полторы копейки на девайс при ожидаемых тиражах, скажем, в 5 миллионов штук в год. Все прочее - основанием не является. Появлению программных эмуляторов LS мы обязаны некому (чешскому, если не изменяет склероз) энтузиасту-радиолюбителю, который лет пять назад склепал соответствующий проект. По принципу, "гляньте, чуваки, какой я крутой: напрямую долбаю пинами в USB, а оно работает".
|
|
|
|
|
Jun 14 2011, 19:45
|

Участник

Группа: Участник
Сообщений: 24
Регистрация: 8-06-11
Из: Москва
Пользователь №: 65 582

|
Цитата(Marian @ Jun 9 2011, 21:15)  А как у вас с проводами УСБ (экранированные?) Провода питания какой длины?
Заметил, что схема чешского автора (УСБ ИР приемник), повисает от внешних помех по питанию и когда проц компа сильно занят. Сам провод USB-2.0 экранированный. Желательно ли дополнительно экранировать провода D+ и D-, идущие на ноги МК? Я хочу сократить их расстояние до минимума, достаточно ли это? Подскажите плиз, верно ли мыслю, пытаясь решить задачу, см. картинку. Всё та же атмега8 с v-usb. Изменения от первоначального варианта: - перевёл питание проца на 3.3В, тем самым убрал стабилитроны с линий данных;
- сделал короткие и симметричные линии данных;
- кварц поближе к процу, его кондёры на другой стороне платы, минимальной длиной провода (отдельный провод) на ножку земли проца;
- добавил в схему имеющуюся в наличии оптопару 4N35. Вот только по ссылке рекомендовано использовать оптопару без вывода земли, а у этой есть. Тогда стоит базу посадить на землю? На чистую или грязную?
- вместо uln2003 использовал биполярный npn транзистор bc337 (опять таки, ориентируясь на то, что есть в наличии);
Напомню, что реле у меня 5В, питание от USB. Соответственно, помеха от реле пойдёт, как я понимаю, по двум проводам: грязному плюсу и грязной земле, которые мне нужно подключить к разъёму USB. И вот, собственно, вопрос: как, учитывая помехозащищённость, их подвести к разъёму usb-b? Возможно, нужны дополнительные элементы - барьеры из резисторов, доп. конденсаторы или иные элементы? Быть может, для грязной земли и питания использовать второй USB-разъём, подведя их вторым кабелем от компа? Наверное, прошу слишком многого... Интересна, конечно, не только рекомендация, но и почему выбрано такое решение.
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 14 2011, 22:57
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Цитата(moscow @ Jun 15 2011, 05:15)  Сам провод USB-2.0 экранированный. Желательно ли дополнительно экранировать провода D+ и D-, идущие на ноги МК? Нет. У вас сбои происходят вовсе не от того, что данные в USB портятся. Цитата(moscow @ Jun 15 2011, 05:15)  Я хочу сократить их расстояние до минимума, достаточно ли это? Это полезно, но недостаточно, т.е. само по себе проблему не решит. Цитата(moscow @ Jun 15 2011, 05:15)  Подскажите плиз, верно ли мыслю, пытаясь решить задачу, см. картинку. Оптрон мало что даст из-за того, что земля и питание остались общими. Но раз уж решили его применить, то включайте его правильно. Обмотку реле надо шунтировать обратно включенным диодом, иначе в момент выключения реле она сама будет источником помехи.
Цитата(moscow @ Jun 15 2011, 05:15)  добавил в схему имеющуюся в наличии оптопару 4N35. Вот только по ссылке рекомендовано использовать оптопару без вывода земли, а у этой есть. Тогда стоит базу посадить на землю? На чистую или грязную? Пусть висит в воздухе. В любом случае просто заземлять вывод базы нельзя, оптрон не будет работать. Цитата(moscow @ Jun 15 2011, 05:15)  как, учитывая помехозащищённость, их подвести к разъёму usb-b? Напрямую, но в мимо процессора (в обход).
|
|
|
|
|
Jun 15 2011, 00:03
|
Знающий
   
Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458

|
На самом деле проблема гораздо серьезнее, чем кажется. Отвал USB наблюдается даже на идеально сделанных многослойных платах, причем даже при применении полной гальванической изоляции USB устройства от процессора. Причем и питание и схема собраны так, что никаких петель по землям нет.
Причем возникает не просто сбой, а полный отвал драйвера (вплоть до синего экрана), так, что восстановить можно только переткнув разъем, при этом драйвер выгружается и снова загружается. Чаще всего это наблюдается с устройства типа переходников USB-COM, но не только. Аналогичная ситуация (полный улет на уровне драйвере ОС компа) наблюдаются на всех USB устройствах вплоть до честных USB2.
Причем вероятность улета сильно зависит от используемого драйвера, но наблюдается на всех драйверах.
Возникает ощущение, что если в сигнале в определенный момент времени пролетает помеха (а полностью это теоретически неустранимо), то улетает какая-то системная часть (микрософтовская прослойка) драйвера, т.е. в каком-то месте не контролируется ошибка и система может улететь вплоть до синего экрана.
Подобное возникает на громадном количестве самых разных USB устройств, поэтому наличие ошибки именно в микрософтовском куске драйвера весьма вероятно.
|
|
|
|
|
Jun 15 2011, 06:21
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (moscow @ Jun 14 2011, 22:45)  перевёл питание проца на 3.3В, тем самым убрал стабилитроны с линий данных; Зачем? Вы вывели процессор за пределы допускаемых производителем параметров. Атмел гарантирует от 3.3в работу максимум на 8 МГц, а у вас тактирование 12 МГц. QUOTE (moscow @ Jun 14 2011, 22:45)  [*]кварц поближе к процу, его кондёры на другой стороне платы, минимальной длиной провода (отдельный провод) на ножку земли проца; Грамотно. Встречный вопрос - у меги несколько входов питания, в частности два вывода землми. Вы завели землю на оба? Подали ли питание на вход AVcc, от которого запитана часть периферии, порт C и детектор просадки питания? QUOTE (moscow @ Jun 14 2011, 22:45)  [*]добавил в схему имеющуюся в наличии оптопару 4N35. Вот только по ссылке рекомендовано использовать оптопару без вывода земли, а у этой есть. Тогда стоит базу посадить на землю? Базу через резистор посадить на эмиттер оптопары. Номиналом резистора можно регулировать усиление оптопары. 100К почти не дает эффекта, 10К для вашей схемы будет оптимально. Еще вы забыли резистор с базы BC337 на грязную землю. QUOTE (moscow @ Jun 14 2011, 22:45)  Напомню, что реле у меня 5В, питание от USB. Соответственно, помеха от реле пойдёт, как я понимаю, по двум проводам: грязному плюсу и грязной земле, которые мне нужно подключить к разъёму USB. И вот, собственно, вопрос: как, учитывая помехозащищённость, их подвести к разъёму usb-b? Возможно, нужны дополнительные элементы - барьеры из резисторов, доп. конденсаторы или иные элементы? Я бы на разъеме USB повесил 0.1 мкФ керамику между ногами земли и питания, далее ферритовая бусинка, затем электролит (не знаю тип реле, но емкость надо взять побольше чем 4.7мкФ), от этой точки ушло питание на реле. От плюса разъема еще одна бусинка, 4.7мкф и 0.1мкФ на землю и сюда подключить питание процессора. "Грязную землю" я бы соединил с "чистой" на минусовом выводе большого электролита. Необходимость оптрона для меня сомнительна. Еще один немаловажный момент - куда у вас подключен корпус разъема USB? Если вы его просто посадили на землю - экран не работает. Корпус надо сажать на землю через конденсатор (0.1мкФ достаточно) и парралельный ему резистор ~1МОм.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jun 15 2011, 11:11
|

Участник

Группа: Участник
Сообщений: 24
Регистрация: 8-06-11
Из: Москва
Пользователь №: 65 582

|
Цитата(=AK= @ Jun 15 2011, 02:57)  Нет. У вас сбои происходят вовсе не от того, что данные в USB портятся. Всё никак не дойдут руки попросить atmega мигать светодиодом раз в секунду, чтобы понять проц виснет или нет. Цитата(=AK= @ Jun 15 2011, 02:57)  Это полезно, но недостаточно, т.е. само по себе проблему не решит. Я ошибся, неверно написал. Имел в виду то, что Вы написали в итоге. То есть "полезно ли это". Спасибо за ответ. Цитата(=AK= @ Jun 15 2011, 02:57)  Оптрон мало что даст из-за того, что земля и питание остались общими. Но раз уж решили его применить, то включайте его правильно. Вот именно. Я раньше написал (сообщение #5) своё сомнение, поможет ли оптопара. С точки зрения защиты от пробоя реле, вероятно будет полезен, но для подавления ЭМ помехи ... впрочем, я ещё не специалист. Цитата(=AK= @ Jun 15 2011, 02:57)  Обмотку реле надо шунтировать обратно включенным диодом, иначе в момент выключения реле она сама будет источником помехи. Ой, забыл диод, конечно. Просто привык, что в ULN2003 он есть, спасибо за поправку. Диод желательно ставить поближе к реле или не имеет значения? Цитата(=AK= @ Jun 15 2011, 02:57)  Пусть висит в воздухе. В любом случае просто заземлять вывод базы нельзя, оптрон не будет работать. Точно, транзистор же просто не откроется. Цитата(=AK= @ Jun 15 2011, 02:57)  Напрямую, но в мимо процессора (в обход). Понял. Цитата(rudy_b @ Jun 15 2011, 04:03)  На самом деле проблема гораздо серьезнее, чем кажется. Отвал USB наблюдается даже на идеально сделанных многослойных платах, причем даже при применении полной гальванической изоляции USB устройства от процессора. Причем и питание и схема собраны так, что никаких петель по землям нет.
Причем возникает не просто сбой, а полный отвал драйвера (вплоть до синего экрана), так, что восстановить можно только переткнув разъем, при этом драйвер выгружается и снова загружается. Чаще всего это наблюдается с устройства типа переходников USB-COM, но не только. Аналогичная ситуация (полный улет на уровне драйвере ОС компа) наблюдаются на всех USB устройствах вплоть до честных USB2.
Причем вероятность улета сильно зависит от используемого драйвера, но наблюдается на всех драйверах.
Возникает ощущение, что если в сигнале в определенный момент времени пролетает помеха (а полностью это теоретически неустранимо), то улетает какая-то системная часть (микрософтовская прослойка) драйвера, т.е. в каком-то месте не контролируется ошибка и система может улететь вплоть до синего экрана.
Подобное возникает на громадном количестве самых разных USB устройств, поэтому наличие ошибки именно в микрософтовском куске драйвера весьма вероятно. У меня почти все схемотехенические решения применяются в любительской обсерватории с удалённым управлением.. увлекаюсь астрономией. Там куча USB-устройств, в том числе несколько USB-COM переходников. К тому же приходится коммутировать киловатный двигатель привода крыши обсерватории, взаимно коммутировать питание двух компов, освещение. Сейчас стоит COM-max232-atmega-uln2003-реле(12В) на ком-порту материнки, проблем нет. Заметил, что PL2303 не выдерживает никакой критики, а вот FT232 работает очень хорошо. Коммутации несколько раз в день (мало), но уже почти год проблем с ftdi жуком нет вовсе. А вот с pl2303 и синий экран видел, и пропадание устройства. Причём обсерватория в 130 км от дома, выдирать шнурок и ставить его обратно просто некому, поэтому переход на ft был просто праздником, не нужно было выключать / включать один из компов по паре раз за ночь. Цитата(Сергей Борщ @ Jun 15 2011, 10:21)  Зачем? Вы вывели процессор за пределы допускаемых производителем параметров. Атмел гарантирует от 3.3в работу максимум на 8 МГц, а у вас тактирование 12 МГц. Тоже верно, верну как было с питанием от +5. Цитата(Сергей Борщ @ Jun 15 2011, 10:21)  Грамотно. Встречный вопрос - у меги несколько входов питания, в частности два вывода землми. Вы завели землю на оба? Подали ли питание на вход AVcc, от которого запитана часть периферии, порт C и детектор просадки питания? Базу через резистор посадить на эмиттер оптопары. Номиналом резистора можно регулировать усиление оптопары. 100К почти не дает эффекта, 10К для вашей схемы будет оптимально. Еще вы забыли резистор с базы BC337 на грязную землю.
Я бы на разъеме USB повесил 0.1 мкФ керамику между ногами земли и питания, далее ферритовая бусинка, затем электролит (не знаю тип реле, но емкость надо взять побольше чем 4.7мкФ), от этой точки ушло питание на реле. От плюса разъема еще одна бусинка, 4.7мкф и 0.1мкФ на землю и сюда подключить питание процессора. "Грязную землю" я бы соединил с "чистой" на минусовом выводе большого электролита. Необходимость оптрона для меня сомнительна.
Еще один немаловажный момент - куда у вас подключен корпус разъема USB? Если вы его просто посадили на землю - экран не работает. Корпус надо сажать на землю через конденсатор (0.1мкФ достаточно) и парралельный ему резистор ~1МОм. Понял. Учту. На днях "доложу"  . Надо только феритовые кольца где-нибудь отсыскать. У меня есть сломанный компьютерный БП - там может быть?  Если нет, схожу в магазин, не проблема.
|
|
|
|
|
Jun 15 2011, 12:21
|

Участник

Группа: Участник
Сообщений: 24
Регистрация: 8-06-11
Из: Москва
Пользователь №: 65 582

|
Цитата(Сергей Борщ @ Jun 15 2011, 16:07)  Не кольца, а бусинки (ferrite beads). Их можно надергать с любой дохлой компьютерной платы - выглядят как smd конденсаторы, но черного цвета, промаркированы (если на плате есть шелкография) как FBx или Lx (реже), звонятся накоротко: http://www.vishay.com/inductors/multilayer-ferrite-beads/ Понял о чём речь. Видел их на платке USB-сканера, что у меня валяется полуразобранный. Спс.
|
|
|
|
|
Jun 15 2011, 13:29
|

Участник

Группа: Участник
Сообщений: 24
Регистрация: 8-06-11
Из: Москва
Пользователь №: 65 582

|
Цитата(=AK= @ Jun 15 2011, 17:17)  Они помогают уменьшить излучаемые помехи, однако для защиты от внешних помех польза от них довольно сомнительна. О как... Я почему-то думал, что столкнулся с достаточно простой (ввиду распространённости) проблемой, а тут дискуссии уж  . Думаю я о локализации проблемы, в первую очередь. То есть, заставлю проц мигать светодиодом, гляну - виснет он или пропадает usb-соединение. Если usb, мне _кажется_, уход от v-usb в пользу аппаратных решений перспективен (в числе других, вышеозвученных мер).
Сообщение отредактировал moscow - Jun 15 2011, 13:33
|
|
|
|
|
Jun 15 2011, 20:40
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (=AK= @ Jun 15 2011, 16:17)  однако для защиты от внешних помех польза от них довольно сомнительна. Их сопротивление растет с частотой. От миллиом на постоянном токе до десятков-сотен ом на сотне мегагерц. Эти омы с емкостями блокировочных конденсаторов образуют фильтры от тех самых поминаемых вами наносекундных (и микросекундных) помех. Murata со мной согласна:
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jun 16 2011, 02:52
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Цитата(Сергей Борщ @ Jun 16 2011, 06:10)  Их сопротивление растет с частотой. От миллиом на постоянном токе до десятков-сотен ом на сотне мегагерц. Эти омы с емкостями блокировочных конденсаторов образуют фильтры Однако внутреннее сопротивление блокировочных конденсаторов тоже растет с частотой, поэтому эти "фильтры" получаются довольно липовые. Бусина, вставленная примерно в середину длинного провода, разбивает этот провод (который является излучающей антенной, настроенной на определенную длину волны, пропорциональную длине провода) на два куска, т.е. на две более высокочастотные антенны. Поскольку мощность источника помех худо-бедно падает с ростом частоты, а маленькие антенны намного менее эффективны, чем большие, то получившаяся в результате введения бусин "переделка" паразитных антенн эффективно уменьшает излучаемые помехи. Вдобавок к этому бусины вносят существенные потери в паразитные антенны, поскольку сделаны из намеренно паршивых ферритов, так что бусины более эффективны, чем просто индуктивности. Цитата(Сергей Борщ @ Jun 16 2011, 06:10)  от тех самых поминаемых вами наносекундных (и микросекундных) помех. Murata со мной согласна: Что-то не вижу, чтобы Мюрата была с вами согласна и рекомендовала бы их для защиты от внешних помех. В приведенной вами картинке вполне очевидным источником помех является драйвер USB/IEEE1394, поэтому он со всех сторон обвешан фильтрами. Кстати, обратите внимание, что Мюрата применила проходной кондер после бусины. И я вполне понимаю, почему не вижу таких рекомендаций от Мюраты. Ведь если в цепь с источником, имеющим напряжение 1000 В и внутреннее сопротивление 50 Ом, добавить ферритовую бусину (или даже просто резистор) с сопротивлением, скажем, 100 Ом, то величина тока в этой цепи практически не изменится, поскольку в основном совсем будет определяться другими цепями. Цитата(moscow @ Jun 15 2011, 22:59)  Я почему-то думал, что столкнулся с достаточно простой (ввиду распространённости) проблемой У вас в логике изъян: если бы эта проблема была очень простой, она бы не была столь распространенной.
|
|
|
|
|
Jun 16 2011, 08:52
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (=AK= @ Jun 16 2011, 05:52)  Что-то не вижу, чтобы Мюрата была с вами согласна и рекомендовала бы их для защиты от внешних помех. Разве есть разница, в какую сторону помеха движется по проводу? На картинке написано "Suppres noise". Noise, а не EMI. Я не спорю, что для борьбы с EMI эти бусинки также полезны. Но объясните, пожалуйста, такой факт (просто интересно, хочу разобраться для себя): на попадавшихся мне материнках эти бусины устанавливаются около разъемов и/или потребителей, но никак не посередине дорожек. Как-то это не очень стыкуется с вашим объяснением о разбивании длинной антенны на две короткие.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|