smalcom 0 1 мая, 2008 Опубликовано 1 мая, 2008 (изменено) · Жалоба 2Flasher, я действительно неправ с пунктуацией в первом посте -приношу извинения. схема, софт?невопрос чета в одном посте не добавило Изменено 1 мая, 2008 пользователем smalcom Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
svl.soft 0 2 мая, 2008 Опубликовано 2 мая, 2008 · Жалоба Попробуй подключить к схеме аккумулятор или крону, решает вопрос о помехе в питании и погоняй девайс. А вообще в качестве стабилизатора, я бы использовал ШИМ + танталы по цепи питания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flasher 0 2 мая, 2008 Опубликовано 2 мая, 2008 · Жалоба схема, софт?невопрос Критика схемы: Зачем нужно- пояснять не буду- хто знает- сам поймет. 1) МАХ232 - со стороны PC последовательно резисторы 100 Ом и кондеры 100пик между выходом и входом максимки. 2)С15 убрать, С13 уменьшить до 4,7мкф 3)Вход 12 вольт на кренку пустить через резистор пару ом. Параллельно входу кренки поставить что-то типа 1,5КЕ18А 4) вместо 6N137 можете еще глянуть в сторону H11L1 5) внешний супервизор- ну просто нах не нужен. 6) Набуя там hc245 - науке неизвестно... Про все остальное- автор может в асю стукнуть при желании- поможем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 2 мая, 2008 Опубликовано 2 мая, 2008 · Жалоба Это компьютерный блок питания. В большинстве случаев товарищи даже и не знают, что пытаются запитать свою технику от драндулета, на корпусе которого в незаземленном варианте присутствует 110 Вольт Хм... А сколько там, по-вашему, ДОЛЖНО БЫТЬ, в незаземленном варианте-то? И какое сопротивление было у мультиметра, котрым вы намеряли эти 110 В? Критика схемы: Некоторые моменты в схеме позволяют уверенно утверждать, что автор схемы не читал статью "Помехоустойчивые устройства" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flasher 0 2 мая, 2008 Опубликовано 2 мая, 2008 · Жалоба Хм... А сколько там, по-вашему, ДОЛЖНО БЫТЬ, в незаземленном варианте-то? И какое сопротивление было у мультиметра, котрым вы намеряли эти 110 В? Некоторые моменты в схеме позволяют уверенно утверждать, что автор схемы не читал статью "Помехоустойчивые устройства" Открываем схему любого компового блока питания. На входе между фазовым и нулевым проводом стоят на корпус(который должен подключаться к заземлению) конденсаторы 4700 *2kV. Для переменного тока частотой 50Гц эти конденсаторы имеют реактивное сопротивление = 1 / (2 * Pi * F * C) 670кОм. Образуется делитель напряжения , со средней точкой на корпусе, если его не заземлить. Китайский мультиметр имеет входное сопротивление несколько Мом...дальше объяснять? Насчет второго замечания- когда сможете изготовлять устройства с 4 группой жесткости по электромагнитной совместимости- обсудим тонкости за баночкой пива вместе :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stanislav_S 0 2 мая, 2008 Опубликовано 2 мая, 2008 · Жалоба 2Flasher, я действительно неправ с пунктуацией в первом посте -приношу извинения. схема, софт?невопрос чета в одном посте не добавило По схеме можно сказать одно, половину деталей можно смело выкинуть в результате хватит и 88меги, а вот то что необходимо на схеме не наблюдается. Особенно умиляют подтяжки на 485 - 47К, а так же транзистор. который и нафиг там не нужен, да и резисторы по SPI - 4,7К внушают уважение :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 2 мая, 2008 Опубликовано 2 мая, 2008 · Жалоба дальше объяснять? Да. Пожалуйста, не останавливайтесь на полдороги. Недоговоренности могут привести к ошибкам. Насчет второго замечания- когда сможете изготовлять устройства с 4 группой жесткости по электромагнитной совместимости- обсудим тонкости за баночкой пива вместе :) Я дал ссылку на статью, которую, насколько я могу судить, автор схемы не читал, но которую ему, как мне кажется, полезно было бы прочесть. Объясните, каким таинственным образом моя рекомендация почитать статью связана с тем, прошли ли мои изделия испытания на 4 группу или нет? Пока что речь идет о том, что устройство и на 1 группу не тянет, поскольку зависает даже при очевидном отсутствии внешних помех. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flasher 0 2 мая, 2008 Опубликовано 2 мая, 2008 · Жалоба Да. Пожалуйста, не останавливайтесь на полдороги. Недоговоренности могут привести к ошибкам. Я дал ссылку на статью, которую, насколько я могу судить, автор схемы не читал, но которую ему, как мне кажется, полезно было бы прочесть. Объясните, каким таинственным образом моя рекомендация почитать статью связана с тем, прошли ли мои изделия испытания на 4 группу или нет? Пока что речь идет о том, что устройство и на 1 группу не тянет, поскольку зависает даже при очевидном отсутствии внешних помех. Рекомендацию принял на свой счет :) Так что ссори, если что не так. Статья довольно жиденькая и многие ошибки она никак не поможет найти. Поэтому максимум- пару выводов автор может взять на будущее. здесь больше вопрос целесообразности схемотехнических решений. Продолжу про БП. Корпус его во многих реализациях соединен с общим проводом выходных цепей, а уж если он находится в компьютере- то тем более соединен. Таким образом на устройстве присутствует потенциал половины сетевого напряжения относительно заземления и всего что не имеет этого потенциала. Ток КЗ между землей и корпусом 110В/680 Ком. -десятые доли миллиампера. Так что при касании устройства чем-то еще пойдет ток через схему либо до уравнивания потенциалов либо постоянно. Отчего схема, конечно , может обидется... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GrayCat 0 2 мая, 2008 Опубликовано 2 мая, 2008 · Жалоба Особенно умиляют подтяжки на 485 - 47К, а так же транзистор. который и нафиг там не нужен, Подтяжки как подтяжки... Вы зато посмотрите на супернавороченный "терминатор"! При таком терминаторе (с высоким импедансом на постоянке) хватит и 47К. Теперь насчет транзистора. Как я вижу, изолированное питание для RS-485-ой части ("+5Viso") схема получает отдельно, по одному кабелю с самой линией? Мы с таким сталкивались. Получается, при отрубании питания процессорной части с сохранением питания линии выход оптрона включения драйвера (в данной схеме "ISO2") в "неактивном" состоянии, т.е. транзистор оптрона закрыт, и если он напрямую подключен к DE драйвера RS-485, то подтяжка к "+5Viso" заставляет драйвер включаться на постоянную передачу.... :maniac: Весь обмен на линии останавливается, объект стоит, электрики бегают, операторы матерятся, мастера смены пинают программистов... :1111493779: ...И все это из-за отсутствия инвертора между выходом оптрона и входом DE драйвера RS-485. Разработчики этой схемы, судя по наличию инвертора (в виде Q1) тоже с такой проблемой сталкивались :beer: . Другое дело, что "забыли" КРЕНку сделать на "+5Viso", а по линии подавать вольт 12, но это уже другие проблемы... У нас, например, сделан в каждом модуле на питание RS-485 персональный DC/DC от основного питания всей схемы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 3 мая, 2008 Опубликовано 3 мая, 2008 · Жалоба Продолжу про БП. Корпус его во многих реализациях соединен с общим проводом выходных цепей, а уж если он находится в компьютере- то тем более соединен. Таким образом на устройстве присутствует потенциал половины сетевого напряжения относительно заземления и всего что не имеет этого потенциала. Угу. Странно было видеть, что в своем исходном посте вы преподносите это как открытие, как удивительное и мало кому известное откровение. Следующий шаг. В своем исходном посте вы особо выделяете и все время подчеркиваете, что речь идет о БП компьютера. Создается впечатление, что БП компьютера в этом смысле является чем-то особым, выдающимся. Так ли это? Какое напряжение вы ожидаете увидеть между землей и вторичной если возьмете обычный трансформатор 220В 50Гц? А если возьмете маломощный импульсный блок питания, тапример, так наз. "plug pack" (т.е. маломощный БП, совмещенный с сетевой вилкой)? Отчего схема, конечно , может обидется... Как вы думаете, может ли "обидеться" схема, если вместо БП компьютера используется любой другой БП (конечно, при прочих равных, т.е. при отсутствии заземления)? 6) Набуя там hc245 - науке неизвестно... Судя по тому, что проц может управлять их направлением, они используются и как входные буферы, и как выходные драйверы типа "с открытым эмиттером". Особой науки в этом нет, просто надо схемы научиться читать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smalcom 0 3 мая, 2008 Опубликовано 3 мая, 2008 · Жалоба По поводу транзистора в 485 тута уже объяснили)) таки были проблемы с переходом в состояние передачи. HC245 нужны для того чтобы они выгорали - их легче менять чем атмегу, плюс вместо них можно ставить улн2803. Подтяжки на 485ом на 47к нужны чтобы при переходе всех модулей в режим приема линии не принимала нестабильных состояний. Почему не пущено по линии 12В, почему нет защиты от переполюсовки питания? Провтыкал, када управляющие звенья начинают вмешиваться и когда "быстрей, быстрей,быстрей". По поводу оптрона - посмотрю, сенк. Резисторы в цепи 232, угу я в курсе про них, но данные железяки используются в нестандартных местах... К примеру кабель с 232-м до следующего устройства может быть 5,7,15 метров. Супервизор зачем? Я - параноик) У нас, например, сделан в каждом модуле на питание RS-485 персональный DC/DC от основного питания всей схемы. тоже так хотел, уже и накидал схемку, как вдруг: Я: шеф пали какая железяка у нас терь будет! Шеф: должно быть маленькое и дешевое! Я: Ммм, ладно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aesok 0 3 мая, 2008 Опубликовано 3 мая, 2008 (изменено) · Жалоба Если комуто вдруг интересно будет(тк как в асме я не силен) ложу три сгенеренных компиляторами файла linavr_new - gcc-4.3.0 + binutils-2.18 + libc-1.6 linavr_old - gcc-3.4.6 + binutils-2.15.92.0.2 + libc-1.4.6 winavr - gcc-4.1.2 + binutils-2.17 + libc-1.4.6 Прблема вот здесь (castet_switch_rs1.7ucom.linavr_new.lss): SIGNAL(_VECTOR(10)) //4.4ms { 97a: 1f 92 push r1 97c: 0f 92 push r0 97e: 0f b6 in r0, 0x3f; 63 980: 0f 92 push r0 982: 11 24 eor r1, r1 984: 8f 93 push r24 986: df 93 push r29 988: cf 93 push r28 98a: cd b7 in r28, 0x3d; 61 98c: de b7 in r29, 0x3e; 62 TickVal1s++; 98e: 80 91 56 03 lds r24, 0x0356 992: 8f 5f subi r24, 0xFF; 255 994: 80 93 56 03 sts 0x0356, r24 TickVal50ms++; 998: 80 91 55 03 lds r24, 0x0355 99c: 8f 5f subi r24, 0xFF; 255 99e: 80 93 55 03 sts 0x0355, r24 //input devices Inputs_Test(); 9a2: 0e 94 52 08 call 0x10a4; 0x10a4 <Inputs_Test> Usart0_FF(); При в ходе в обработчик прерывания сохраняються регистры r1, r0, SREG, r24, r29, r28. Дальше по коду идет вызов функции Inputs_Test, которая: void Inputs_Test(void) { 10a4: df 93 push r29 10a6: cf 93 push r28 10a8: cd b7 in r28, 0x3d; 61 10aa: de b7 in r29, 0x3e; 62 if((IN_PORT & (0x01 << COIN_IN)) == 0) //if high level on input1 pin 10ac: e9 e3 ldi r30, 0x39; 57 10ae: f0 e0 ldi r31, 0x00; 0 10b0: 80 81 ld r24, Z 10b2: 88 2f mov r24, r24 10b4: 90 e0 ldi r25, 0x00; 0 10b6: 81 70 andi r24, 0x01; 1 10b8: 90 70 andi r25, 0x00; 0 10ba: 00 97 sbiw r24, 0x00; 0 Изменяет регистры r31, r30, r24, r25. Тоесть, обработчик прерываня сохраняет не все регистры которые в нем изменяються. gcc-4.1.2 генерирует правильный код: SIGNAL(_VECTOR(10)) //4.4ms { 9ee: 1f 92 push r1 9f0: 0f 92 push r0 9f2: 0f b6 in r0, 0x3f; 63 9f4: 0f 92 push r0 9f6: 11 24 eor r1, r1 9f8: 2f 93 push r18 9fa: 3f 93 push r19 9fc: 4f 93 push r20 9fe: 5f 93 push r21 a00: 6f 93 push r22 a02: 7f 93 push r23 a04: 8f 93 push r24 a06: 9f 93 push r25 a08: af 93 push r26 a0a: bf 93 push r27 a0c: ef 93 push r30 a0e: ff 93 push r31 a10: cf 93 push r28 a12: df 93 push r29 a14: cd b7 in r28, 0x3d; 61 a16: de b7 in r29, 0x3e; 62 Прада зачем было нужно лесть с отверткой в кварц я не понял. Анатолий. Изменено 3 мая, 2008 пользователем aesok Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 3 мая, 2008 Опубликовано 3 мая, 2008 · Жалоба HC245 нужны для того чтобы они выгорали - их легче менять чем атмегу, плюс вместо них можно ставить улн2803. Хм... Вы в курсе, что ULN2803 имеют выходы с открытым коллектором, т.е. ток нагрузки втекает в выходы, а то, что у вас нарисовано на выходе 245-х дает вытекающий ток? Странные у вас "замены". Подтяжки на 485ом на 47к нужны чтобы при переходе всех модулей в режим приема линии не принимала нестабильных состояний. Приемники RS485 всегда имеют петлю гистерезиса (т.е. являются триггерами Шмитта). Поэтому для них принципиально не существует "нестабильных состояний", их выход стабильно находится или в 0, или в 1. Я догадываюсь, что говоря о "нестабильных состояниях" вы на самом деле имели ввиду "неопределенные состояния". Действительно, когда все приемопередатчики RS485 находятся в режиме приема, и разность напряжений между сигнальными линиями мала, на выходе любого приемника может быть как 0, так и 1, заранее сказать нельзя, что именно. При этом даже малая помеха, наведенная на линию связи, способна вызвать переключение и инициировать начало прииема ложного пакета данных. Для определенности и уменьшения влияния помех предпочтительно использовать приемопередатчики с так наз. failsafe фичей. Читайте аппноту TI Interface Circuits for TIA/EIA-485 (RS-485), там это подробно разобрано начиная со стр. 2-5. Обратите внимание на рекомендуемые номиналы резисторов подтяжки. Навешивая подтягивающие резисторы или используя failsafe приемники, вы не избавляетесь от неопределенности сигнала на входе UARTа в паузах между пакетами. Эта неопределенность уменьшается, но не исчезает. При мало-мальски мощной наведенной помехе вы опять получите на входе UART-а то, что вам не хотелось бы видеть. Вообще же требование на наличие failsafe (самопального или встроенного) является верным признаком того, что или используется дурной самопальный протокол обмена, или же нормальный протокол реализован программистом с грубыми ошибками. В любом случае помехоустойчивость обмена будет примерно в сотню раз хуже, чем могла бы быть, если бы, например, был использован грамотно реализованный Modbus RTU. Хорошему протоколу совершенно по барабану, каково состояние приемников, когда на линии нет драйвера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
forever failure 0 3 мая, 2008 Опубликовано 3 мая, 2008 · Жалоба Подтяжки драйвера RS-485, кстати тоже неправильно сделаны. Линия A должна подтягиваться к "+", B - к общему ("-"), а не наоборот. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 3 мая, 2008 Опубликовано 3 мая, 2008 · Жалоба Подтяжки драйвера RS-485, кстати тоже неправильно сделаны. Линия A должна подтягиваться к "+", B - к общему ("-"), а не наоборот. Имейте ввиду, что оптрон инвертирует сигнал. Однако, даже если бы он не инвертировал. Объясните, почему, собственно, на входе UARTа вам хочется в паузах между пакетами видеть высокий уровень, а не низкий. Зачем? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться