реклама на сайте
подробности

 
 
7 страниц V  « < 3 4 5 6 7 >  
Reply to this topicStart new topic
> Зависание микроконтроллера, ATMega 128
smalcom
сообщение May 1 2008, 22:05
Сообщение #61


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



2Flasher, я действительно неправ с пунктуацией в первом посте -приношу извинения.

схема, софт?невопрос


чета в одном посте не добавило
Прикрепленное изображение


Сообщение отредактировал smalcom - May 1 2008, 22:06
Go to the top of the page
 
+Quote Post
svl
сообщение May 2 2008, 07:56
Сообщение #62


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 20-12-07
Пользователь №: 33 465



Попробуй подключить к схеме аккумулятор или крону, решает вопрос о помехе в питании и погоняй девайс. А вообще в качестве стабилизатора, я бы использовал ШИМ + танталы по цепи питания.
Go to the top of the page
 
+Quote Post
Flasher
сообщение May 2 2008, 11:18
Сообщение #63


Местный
***

Группа: Свой
Сообщений: 374
Регистрация: 6-09-05
Из: Тирасполь, Приднестровье
Пользователь №: 8 294



Цитата(smalcom @ May 2 2008, 01:05) *
схема, софт?невопрос

Критика схемы:
Зачем нужно- пояснять не буду- хто знает- сам поймет.
1) МАХ232 - со стороны PC последовательно резисторы 100 Ом и кондеры 100пик между выходом и входом максимки.
2)С15 убрать, С13 уменьшить до 4,7мкф
3)Вход 12 вольт на кренку пустить через резистор пару ом. Параллельно входу кренки поставить что-то типа 1,5КЕ18А
4) вместо 6N137 можете еще глянуть в сторону H11L1
5) внешний супервизор- ну просто нах не нужен.
6) Набуя там hc245 - науке неизвестно...
Про все остальное- автор может в асю стукнуть при желании- поможем.
Go to the top of the page
 
+Quote Post
=AK=
сообщение May 2 2008, 13:02
Сообщение #64


pontificator
******

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



Цитата(Flasher @ Apr 26 2008, 06:38) *
Это компьютерный блок питания. В большинстве случаев товарищи даже и не знают, что пытаются запитать свою технику от драндулета, на корпусе которого в незаземленном варианте присутствует 110 Вольт

Хм... А сколько там, по-вашему, ДОЛЖНО БЫТЬ, в незаземленном варианте-то? И какое сопротивление было у мультиметра, котрым вы намеряли эти 110 В?


Цитата(Flasher @ May 2 2008, 20:48) *
Критика схемы:

Некоторые моменты в схеме позволяют уверенно утверждать, что автор схемы не читал статью "Помехоустойчивые устройства"
Go to the top of the page
 
+Quote Post
Flasher
сообщение May 2 2008, 13:23
Сообщение #65


Местный
***

Группа: Свой
Сообщений: 374
Регистрация: 6-09-05
Из: Тирасполь, Приднестровье
Пользователь №: 8 294



Цитата(=AK= @ May 2 2008, 16:02) *
Хм... А сколько там, по-вашему, ДОЛЖНО БЫТЬ, в незаземленном варианте-то? И какое сопротивление было у мультиметра, котрым вы намеряли эти 110 В?
Некоторые моменты в схеме позволяют уверенно утверждать, что автор схемы не читал статью "Помехоустойчивые устройства"

Открываем схему любого компового блока питания. На входе между фазовым и нулевым проводом стоят на корпус(который должен подключаться к заземлению) конденсаторы 4700 *2kV. Для переменного тока частотой 50Гц эти конденсаторы имеют реактивное сопротивление = 1 / (2 * Pi * F * C) 670кОм.
Образуется делитель напряжения , со средней точкой на корпусе, если его не заземлить. Китайский мультиметр имеет входное сопротивление несколько Мом...дальше объяснять?


Насчет второго замечания- когда сможете изготовлять устройства с 4 группой жесткости по электромагнитной совместимости- обсудим тонкости за баночкой пива вместе smile.gif
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение May 2 2008, 13:28
Сообщение #66


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(smalcom @ May 2 2008, 03:05) *
2Flasher, я действительно неправ с пунктуацией в первом посте -приношу извинения.

схема, софт?невопрос
чета в одном посте не добавило
Прикрепленное изображение

По схеме можно сказать одно, половину деталей можно смело выкинуть в результате хватит и 88меги, а вот то что необходимо на схеме не наблюдается. Особенно умиляют подтяжки на 485 - 47К, а так же транзистор. который и нафиг там не нужен, да и резисторы по SPI - 4,7К внушают уважение smile.gif


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
=AK=
сообщение May 2 2008, 13:35
Сообщение #67


pontificator
******

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



Цитата(Flasher @ May 2 2008, 22:53) *
дальше объяснять?

Да. Пожалуйста, не останавливайтесь на полдороги. Недоговоренности могут привести к ошибкам.

Цитата(Flasher @ May 2 2008, 22:53) *
Насчет второго замечания- когда сможете изготовлять устройства с 4 группой жесткости по электромагнитной совместимости- обсудим тонкости за баночкой пива вместе smile.gif

Я дал ссылку на статью, которую, насколько я могу судить, автор схемы не читал, но которую ему, как мне кажется, полезно было бы прочесть. Объясните, каким таинственным образом моя рекомендация почитать статью связана с тем, прошли ли мои изделия испытания на 4 группу или нет? Пока что речь идет о том, что устройство и на 1 группу не тянет, поскольку зависает даже при очевидном отсутствии внешних помех.
Go to the top of the page
 
+Quote Post
Flasher
сообщение May 2 2008, 14:10
Сообщение #68


Местный
***

Группа: Свой
Сообщений: 374
Регистрация: 6-09-05
Из: Тирасполь, Приднестровье
Пользователь №: 8 294



Цитата(=AK= @ May 2 2008, 16:35) *
Да. Пожалуйста, не останавливайтесь на полдороги. Недоговоренности могут привести к ошибкам.
Я дал ссылку на статью, которую, насколько я могу судить, автор схемы не читал, но которую ему, как мне кажется, полезно было бы прочесть. Объясните, каким таинственным образом моя рекомендация почитать статью связана с тем, прошли ли мои изделия испытания на 4 группу или нет? Пока что речь идет о том, что устройство и на 1 группу не тянет, поскольку зависает даже при очевидном отсутствии внешних помех.

Рекомендацию принял на свой счет smile.gif Так что ссори, если что не так. Статья довольно жиденькая и многие ошибки она никак не поможет найти. Поэтому максимум- пару выводов автор может взять на будущее. здесь больше вопрос целесообразности схемотехнических решений.
Продолжу про БП. Корпус его во многих реализациях соединен с общим проводом выходных цепей, а уж если он находится в компьютере- то тем более соединен. Таким образом на устройстве присутствует потенциал половины сетевого напряжения относительно заземления и всего что не имеет этого потенциала. Ток КЗ между землей и корпусом 110В/680 Ком. -десятые доли миллиампера. Так что при касании устройства чем-то еще пойдет ток через схему либо до уравнивания потенциалов либо постоянно. Отчего схема, конечно , может обидется...
Go to the top of the page
 
+Quote Post
GrayCat
сообщение May 2 2008, 21:33
Сообщение #69


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 7-10-05
Из: UA
Пользователь №: 9 342



Цитата(Stanislav_S @ May 2 2008, 16:28) *
Особенно умиляют подтяжки на 485 - 47К, а так же транзистор. который и нафиг там не нужен,

Подтяжки как подтяжки... Вы зато посмотрите на супернавороченный "терминатор"! lol.gif При таком терминаторе (с высоким импедансом на постоянке) хватит и 47К.

Теперь насчет транзистора. Как я вижу, изолированное питание для RS-485-ой части ("+5Viso") схема получает отдельно, по одному кабелю с самой линией? Мы с таким сталкивались. Получается, при отрубании питания процессорной части с сохранением питания линии выход оптрона включения драйвера (в данной схеме "ISO2") в "неактивном" состоянии, т.е. транзистор оптрона закрыт, и если он напрямую подключен к DE драйвера RS-485, то подтяжка к "+5Viso" заставляет драйвер включаться на постоянную передачу.... maniac.gif Весь обмен на линии останавливается, объект стоит, электрики бегают, операторы матерятся, мастера смены пинают программистов... 1111493779.gif ...И все это из-за отсутствия инвертора между выходом оптрона и входом DE драйвера RS-485. Разработчики этой схемы, судя по наличию инвертора (в виде Q1) тоже с такой проблемой сталкивались beer.gif . Другое дело, что "забыли" КРЕНку сделать на "+5Viso", а по линии подавать вольт 12, но это уже другие проблемы...

У нас, например, сделан в каждом модуле на питание RS-485 персональный DC/DC от основного питания всей схемы.


--------------------
Gray©at
Go to the top of the page
 
+Quote Post
=AK=
сообщение May 3 2008, 03:38
Сообщение #70


pontificator
******

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



Цитата(Flasher @ May 2 2008, 23:40) *
Продолжу про БП. Корпус его во многих реализациях соединен с общим проводом выходных цепей, а уж если он находится в компьютере- то тем более соединен. Таким образом на устройстве присутствует потенциал половины сетевого напряжения относительно заземления и всего что не имеет этого потенциала.

Угу. Странно было видеть, что в своем исходном посте вы преподносите это как открытие, как удивительное и мало кому известное откровение.

Следующий шаг. В своем исходном посте вы особо выделяете и все время подчеркиваете, что речь идет о БП компьютера. Создается впечатление, что БП компьютера в этом смысле является чем-то особым, выдающимся. Так ли это?

Какое напряжение вы ожидаете увидеть между землей и вторичной если возьмете обычный трансформатор 220В 50Гц? А если возьмете маломощный импульсный блок питания, тапример, так наз. "plug pack" (т.е. маломощный БП, совмещенный с сетевой вилкой)?

Цитата(Flasher @ May 2 2008, 23:40) *
Отчего схема, конечно , может обидется...

Как вы думаете, может ли "обидеться" схема, если вместо БП компьютера используется любой другой БП (конечно, при прочих равных, т.е. при отсутствии заземления)?

Цитата(Flasher @ May 2 2008, 20:48) *
6) Набуя там hc245 - науке неизвестно...

Судя по тому, что проц может управлять их направлением, они используются и как входные буферы, и как выходные драйверы типа "с открытым эмиттером". Особой науки в этом нет, просто надо схемы научиться читать.
Go to the top of the page
 
+Quote Post
smalcom
сообщение May 3 2008, 05:11
Сообщение #71


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



По поводу транзистора в 485 тута уже объяснили)) таки были проблемы с переходом в состояние передачи.
HC245 нужны для того чтобы они выгорали - их легче менять чем атмегу, плюс вместо них можно ставить улн2803.
Подтяжки на 485ом на 47к нужны чтобы при переходе всех модулей в режим приема линии не принимала нестабильных состояний.

Почему не пущено по линии 12В, почему нет защиты от переполюсовки питания? Провтыкал, када управляющие звенья начинают вмешиваться и когда "быстрей, быстрей,быстрей".

По поводу оптрона - посмотрю, сенк.
Резисторы в цепи 232, угу я в курсе про них, но данные железяки используются в нестандартных местах... К примеру кабель с 232-м до следующего устройства может быть 5,7,15 метров.

Супервизор зачем? Я - параноик)

Цитата
У нас, например, сделан в каждом модуле на питание RS-485 персональный DC/DC от основного питания всей схемы.

тоже так хотел, уже и накидал схемку, как вдруг:
Я: шеф пали какая железяка у нас терь будет!
Шеф: должно быть маленькое и дешевое!
Я: Ммм, ладно.
Go to the top of the page
 
+Quote Post
aesok
сообщение May 3 2008, 07:18
Сообщение #72


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Цитата(smalcom @ Apr 30 2008, 15:07) *
Если комуто вдруг интересно будет(тк как в асме я не силен) ложу три сгенеренных компиляторами файла
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


Прада зачем было нужно лесть с отверткой в кварц я не понял.

Анатолий.

Сообщение отредактировал aesok - May 3 2008, 07:19
Go to the top of the page
 
+Quote Post
=AK=
сообщение May 3 2008, 08:03
Сообщение #73


pontificator
******

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



Цитата(smalcom @ May 3 2008, 14:41) *
HC245 нужны для того чтобы они выгорали - их легче менять чем атмегу, плюс вместо них можно ставить улн2803.

Хм... Вы в курсе, что ULN2803 имеют выходы с открытым коллектором, т.е. ток нагрузки втекает в выходы, а то, что у вас нарисовано на выходе 245-х дает вытекающий ток? Странные у вас "замены".

Цитата(smalcom @ May 3 2008, 14:41) *
Подтяжки на 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. Хорошему протоколу совершенно по барабану, каково состояние приемников, когда на линии нет драйвера.
Go to the top of the page
 
+Quote Post
forever failure
сообщение May 3 2008, 08:13
Сообщение #74


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112



Подтяжки драйвера RS-485, кстати тоже неправильно сделаны. Линия A должна подтягиваться к "+", B - к общему ("-"), а не наоборот.
Go to the top of the page
 
+Quote Post
=AK=
сообщение May 3 2008, 08:43
Сообщение #75


pontificator
******

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



Цитата(forever failure @ May 3 2008, 17:43) *
Подтяжки драйвера RS-485, кстати тоже неправильно сделаны. Линия A должна подтягиваться к "+", B - к общему ("-"), а не наоборот.

Имейте ввиду, что оптрон инвертирует сигнал.

Однако, даже если бы он не инвертировал. Объясните, почему, собственно, на входе UARTа вам хочется в паузах между пакетами видеть высокий уровень, а не низкий. Зачем?
Go to the top of the page
 
+Quote Post

7 страниц V  « < 3 4 5 6 7 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 12:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01524 секунд с 7
ELECTRONIX ©2004-2016