Metal Messiah

Траблы с max3232

8 сообщений в этой теме

Нужно с Arduino работать с устройством, поддерживающим RS232 протокол. Пусть для начала это будет допотопный внешний (рабочий) факс-модем, выбрал его по одной простой причине - в свое время хорошо знал AT команды, нужно просто отладить код отправки запроса и разбора приходящего ответа.

Используется примерно следующая схема:

Скрытый текст

F3M0OI1I7CCF2NR.MEDIUM.jpg

это лицевая сторона все той же платы

412497891_w640_h640_from_ukraine.jpg

Возникла аппаратная проблема. Модем отказывается отвечать на команды. Как правило, на нем горят 2 LED обозначенные RD / SD которые должны кратковременно загораться при наличии входящих / исходящих данных, но никак не гореть постоянно. При измерении уровней на max3232 обнаруживается что иногда на выходе нормальные +5 или -5 в зависимости от логического уровня 0 или +5 на входе. Иногда там постоянные 3 с чем-то вольта независимо от того что подается на вход (причем 1 раз такое видел с плюсом и 1 раз все то же но -3), еще там бывало +-7 и +-4 (чего явно не достаточно), и все это зависит строго от погоды. При этом если со стороны разъема RS232 на RX подать +5 от питания - на выходе RX "неопределенность" в районе 3 вольт сразу садится на землю как и должно быть, т.е. приемник всегда работает, передатчик почти всегда. Питание по даташиту и +5 и +3.3 позволяется, при этом уровень +-7 достигается только при питании 5 вольт. Все  бы ничего, но аналогичная готовая сборка max3232 + порт DB9 "мама" к которой методом соплей и какой-то матери был пристроен "папа" работает идеально.

Означает ли все это что микросхема неисправна или вокруг нее нужно танцевать с бубном и что-то подгонять?

P.S. если тут есть католики - с Рождеством!

Изменено пользователем Metal Messiah

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
motoandrey14    676

Поменяй MAX3232 на ADM3232E.

Или приложи кусочек льда к MAX3232 - заработает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
snn_krs    48

Поставьте перемычку между выходом и входом max3232 со стороны RS232 и увидете работает она или нет. Должно быть эхо, что передали то и приняли.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    855
15 часов назад, Metal Messiah сказал:

поддерживающим RS232 протокол

Когда это RS232 успел стать протоколом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не протоколом, а стандартом. Оговорился. Привык работать с сетевыми протоколами.

Приложить кусочек льда это шутка? Обычно не греется, на 3.3V вообще, на 5V один раз обжег палец но схема и до этого и после работала одинаково.

Перемычку проверю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
motoandrey14    676
8 минут назад, Metal Messiah сказал:

Приложить кусочек льда это шутка? Обычно не греется

Мои купленные "MAX3232" в разных магазинах при темпертуре выше 20 градусов дуреть начинали. Старые партии работают. Поставил ADM3232E и забыл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Парадокс в том что такая же микросхема в готовой сборке с DB9 "мама" работает абсолютно нормально.

Да, эхо показывает что готовая сборка правильная, а самодел на базе max3232 на выходе всегда 1... надо действительно другую микруху брать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

Войти

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

Войти сейчас


  • Сообщения

    • Я тут прикинул пассивную схему сопряжения. Потянит ли выход с телефона. Потери конечно же будут. Выход телефона нагружён резисторами по 43 Ом. Я специально выбрал 43 Ом, а не 30 Ом с небольшим запасом. Грубо говоря, это нагрузка равносильная сопротивлению наушников. А уже с неё отбираем наш сигнал. 
    • Добрый день. Реализовал получение и обработку аналогового сигнала как в данной статье -> ссылка. Т.е. используется внутреннее опорное напряжение 2,56 Вольта, прием через прерывания, а на дисплее выводится числовое значение напряжения, которое присутствует на входе АЦП - нога ADC6. В обработчике прерывания считываются значения из регистров ADCL и ADCH, из которых формируется значение переменной adc_value. В теле программы данное значение АЦП преобразуется в значение напряжения, посредством деления adc_value на 400. Затем полученный результат выводится на дисплей. Проблема в том, что выводимое значение не стабильно и скачет в диапазоне +/- 300 мВ. Т.е. если к аналоговому входу приложено напряжение 1,4 вольта, то на дисплее значения будут хаотично меняться в диапазоне от 1,1 Вольт до 1,7 вольт, т.е. весьма ощутимый разброс в сотни милливольт. При этом если смотреть сигнал на входе осциллографом, то по факту нет такой картины - максимальный разброс (Vpp) составляет несколько десятков милливольт, но никак не сотен. Даже если этот вход посадить на землю, все равно на дисплее будут хаотичные значения доходящие до 0.4 вольта. Откуда он берет такие цифры на понятно. Подскажите, в чем может быть проблема и как получить стабильные показания, хотя бы до сотен милливольт? unsigned int adc_value; char high_adc=0, low_adc=0; ISR(ADC_vect) //обработчик прерывания ADC_vect { low_adc = ADCL; high_adc = ADCH; //Верхняя часть регистра ADC должна быть считана последней иначе не продолжится преобразование adc_value = high_adc * 256 + low_adc; //значение АЦП } void ADC_Init(void) //инициализация АЦП { ADCSRA |= (1<<ADEN) // Разрешение использования АЦП |(1<<ADSC) //Запуск преобразования |(1<<ADATE) //Непрерывный режим работы АЦП |(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)//Делитель 128 = 64 кГц |(1<<ADIE); //Разрешение прерывания от АЦП ADMUX |= 0b11000110; //Внутренний Источник ОН 2,56В вход ADC6 } void main(void) { float n = 0; while(1) { n = (float) adc_value / 400; // преобразование значения АЦП в напряжение /* Отправка на дисплей */ _delay_ms(2); } }  
    • Знакомый рассказывал про аналогичную ситуацию: попробовал подключить телефон через джек к музыкальному центру. Нормально работы добился только, когда зашунтировал выход телефона (вход усилителя) сопротивлением в 100 Ом. Без него какой то шум, писк, пульсации и т.д.
    • Намёк понял, буду разбираться...
    • Гораздо больше толку было бы, если бы схему нарисовал по человечески - куда чего идет.Пока что никах датчиков тока, кроме резистора, якобы в ноль Ом, в этих безумных каракулях не просматривается.
    • @Sca1e Проследите по схеме путь и проверьте резисторы R2 и R3. Они низкоомные по 51 Ом, и больше всего подвержены сгоранию. Особенно тот, что был связан со сгоревшим тиристором. Скорее всего, сгоревший тиристор потянул за собой резистор.