Например TDA7294

Форум РадиоКот • Просмотр темы - Подключение MAX485
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб апр 20, 2024 09:50:53

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Подключение MAX485
СообщениеДобавлено: Сб май 27, 2017 13:18:40 
Родился

Зарегистрирован: Ср авг 04, 2010 18:30:26
Сообщений: 5
Рейтинг сообщения: 0
Добрый день!

помогите заставить работать связку МК ATMEGA32A - MAX485 - ПК (свисток)
а то я совсем уже упоролся...
ATMEGA32A 2мГц от внутреннего осциллятора, UART 9600, 8-1-0
драйвер 485 - китай, с Али
свисток RS485-USB

собрано на макетке, сейчас в бесконечном цикле посылается один символ и ловится гипертерминалом
точнее не ловится, даже мусора нет, но примерно каждый пятый вторник, во время полнолуния мусор таки начинает приходить :shock:
на TXD МК сигнал скачет, на выходе с драйвера тоже, как и на свистке...
линия связи 30см, витая пара, без согласования..

блин, мне кажется я уже все перепробовал... :kill: :kill: :kill:

схема
Изображение
код
Код:
#define baudrate 9600L
#define bauddivider (F_CPU/(16*baudrate)-1)
#define HI(x) ((x)>>8)
#define LO(x) ((x)& 0xFF)

void usartInit() {
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600

UBRRL = LO(bauddivider);
UBRRH = HI(bauddivider);

UCSRA = 0;
UCSRB = 1<<RXEN|1<<TXEN|1<<RXCIE;
UCSRC = 1<<UCSZ0|1<<UCSZ1;

USART_TX_CTRL_DDR|=(1<<USART_TX_CTRL_PIN);
USART_TX_CTRL_PORT&=(1<<USART_TX_CTRL_PIN);
}
//управление приемом/передачей
void usartEnableTX(unsigned char state){
   if (state==USART_TX_ON)
      USART_TX_CTRL_PORT|=(1<<USART_TX_CTRL_PIN);
   else
      if(state==USART_TX_OFF)
         USART_TX_CTRL_PORT&=!(1<<USART_TX_CTRL_PIN);      
}
//ф-я отправки символа
void usartPutc( unsigned char data ) {
   while ( !(UCSRA & (1<<UDRE)) );
   UDR = data;
}

int main( void ) //Ãëàâíàÿ ôóíêöèÿ
{
   usartInit();
    sei();   
   for(;;) {
    usartEnableTX(USART_TX_ON);
    usartPutc("1");
   }// for(;;)
}
 


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение MAX485
СообщениеДобавлено: Сб май 27, 2017 21:08:06 
Друг Кота
Аватар пользователя

Карма: 9
Рейтинг сообщений: 96
Зарегистрирован: Пн июл 13, 2009 14:37:39
Сообщений: 3961
Откуда: Московская область, наукоград.....
Рейтинг сообщения: 0
А почему у Вас дифференциальная пара притянута к питанию и земле резисторами? Резистор должен быть один 120 Ом между А и В

_________________
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение MAX485
СообщениеДобавлено: Вс май 28, 2017 10:14:59 
Родился

Зарегистрирован: Ср авг 04, 2010 18:30:26
Сообщений: 5
Рейтинг сообщения: 0
Эм... я когда собирал информацию по протоколу, наткнулся на вот эту статью
Раздел 4 Защитное смещение
Изображение

а вот согласование не стал делать, ибо линия всего 30см

Добавлено after 11 minutes 14 seconds:
Выбросил я MAX485 и подключил напрямую МК к другому переходнику rs232-usb

та же фигня, но начал писать фигню в гипертерминал, но при скорости приемника 110 и 300 бод
получается, неверна инициализация UART или скорость работы МК?

Проверил фьюзы, вроде по частоте все ок :( :(
Код:
D:\AVR\avrdude>avrdude -p m32 -c usbasp

avrdude: warning: cannot set sck period. please check for usbasp firmware update
.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e9502 (probably m32)

avrdude: safemode: Fuses OK (E:FF, H:99, L:E2)

avrdude done.  Thank you.

D:\AVR\avrdude>


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Подключение MAX485
СообщениеДобавлено: Вс май 28, 2017 12:08:55 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 840
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 5592
Откуда: Minsk
Рейтинг сообщения: 0
Нормальная постановка вопроса: я знаю, как рекомендовано, но так делать не буду. Почему у меня не работает ?
Пытаться осуществлять синхронную передачу с неизвестеой частотой МК +-10%? Оптимист. Мне как-то тоже пришлось сопрягать некварцованный МК (для меня такие штуки как серпом - по Фаберже) , так из 10 устройств заработало одно. Пришлось играться частотами. До сих пор вспоминаю с отвращением.
Кварц стоит центов 10..15 ... Стоимость времени у нас нулевая ( время = деньги ) , а геморр на свою... голову тоже не в счет.
СпойлерМне кажется: "Зачем делать хорошо, если можно абы как - и так сойдет" - она и есть та национальная идея, которую безуспешно пока ищут ваши и наш - правители.

_________________
Изображение


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Подключение MAX485
СообщениеДобавлено: Вт май 30, 2017 02:24:45 
Родился

Зарегистрирован: Ср авг 04, 2010 18:30:26
Сообщений: 5
Рейтинг сообщения: 0
Нормальная постановка вопроса: я знаю, как рекомендовано, но так делать не буду. Почему у меня не работает ?
Пытаться осуществлять синхронную передачу с неизвестеой частотой МК +-10%? Оптимист. Мне как-то тоже пришлось сопрягать некварцованный МК (для меня такие штуки как серпом - по Фаберже) , так из 10 устройств заработало одно. Пришлось играться частотами. До сих пор вспоминаю с отвращением.
Кварц стоит центов 10..15 ... Стоимость времени у нас нулевая ( время = деньги ) , а геморр на свою... голову тоже не в счет.
СпойлерМне кажется: "Зачем делать хорошо, если можно абы как - и так сойдет" - она и есть та национальная идея, которую безуспешно пока ищут ваши и наш - правители.


по вашей логике можно вообще не парится, а купить у китайцев сразу готовую железку за 10 баксов...
Общие рассуждения про так надо жить и что надо все правильно делать, я и без вас могу на любую тему кому угодно задвинуть. Могу но не буду :tea:


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Подключение MAX485
СообщениеДобавлено: Вт май 30, 2017 04:42:34 
Сверлит текстолит когтями

Карма: 4
Рейтинг сообщений: 260
Зарегистрирован: Пт авг 21, 2009 03:22:12
Сообщений: 1109
Рейтинг сообщения: 0
...
Общие рассуждения про так надо жить и что надо все правильно делать, я и без вас могу на любую тему кому угодно задвинуть. Могу но не буду :tea:

Что-то я не пойму, у кого проблема с неработающим RS-485 - у тебя или у Jack_A?
Он тебе дал конкретный совет - поставь кварц, а ты пальцы гнешь да еще на него же наезжаешь - не тот совет дал, не нравится он тебе.
Его совет правильный, 99% таких проблем как у тебя, связаны с
- несовпадающей скоростью
- отсутствием согласования линии
Ну а ты можешь продолжать стоять в дурацкой позе: все делать неправильно, удивляться что не работает и ждать феечку с волшебной палочкой.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение MAX485
СообщениеДобавлено: Вт май 30, 2017 05:49:23 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4220
Откуда: Ижевск
Рейтинг сообщения: 0
akori
Думаю, что эта строчка некорректна, т.к. вместо UCSRC идёт обращение к UBRRH и устанавливается огромный делитель.
Код:
UCSRC = 1<<UCSZ0|1<<UCSZ1;

Посмотрите внимательно в DS порядок обращения к регистру UCSRC с помощью бита URSEL
UCSRC = (1<<URSEL)....;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение MAX485
СообщениеДобавлено: Вс мар 12, 2023 19:11:59 
Открыл глаза

Зарегистрирован: Сб ноя 04, 2017 19:21:12
Сообщений: 72
Рейтинг сообщения: 0
Апну-ка я эту тему.
Уже пару месяцев пытаюсь заставить работать систему из семи устройств, соединенных линией через RS485 и питающихся от общего блока питания 12В. Внутри каждого устройства стоят стабилизаторы 7805 и микросхемы MAX485EPA+ и их аналоги. Одно из устройств ведущее и имеет внутри себя неотключаемый терминатор. В идеале ведущее устройство поочередно опрашивает каждое из ведомых, получая от него ответное мяу. Когда к линии подключены первые два устройства - все хорошо, но стоит нагрузить линию остальными, в линии появляется мусор. Изначально монтажники вообще сделали линию алюминиевой витой парой с кучей скруток, с ответвлениями и без должного согласования. Вначале заменил неисправные микросхемы 485, благо что они в панельках. Затем расставил перемычки подключения терминаторов и переключил провода таким образом, чтобы структура линии была корректной, без отводов и с терминаторами. Не помогло... Заменил интерфейсную пару на отдельный неэкранированный медный кабель 1х2х0,5 (витая пара); общая длина порядка 50 метров - тоже не помогло. Питание в порядке. Но выяснилась очень интересная вещь. Беру в пятницу свой ноутбук со свистком USB-RS485, чтобы посмотреть обмен, подключаю в середине линии (питание ноутбука от его собственного аккумулятора), перезапускаю ведущее устройство - и система начинает работать нормально, обнаруживая все устройства. Затем просто вытаскиваю свисток из USB - опять появляется мусор. Поискал схемы таких свистков и обнаружил, что в них есть отдельный терминатор и резисторы подтяжки проводов А и В по питанию. Пробовал терминировать ближайший контроллер, благо это делается джампером - бесполезно. Хочу послезавтра попробовать воткнуть в контроллер подтягивающие резисторы 2,2 кОм на питание. Насколько я видел, контроллеры таких резисторов не содержат; завтра посмотрю на резервном контроллере. Посмотрю, может это что-то даст, и при этом система не сгорит.
PS Забыл. Скорость обмена 9600 бод.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение MAX485
СообщениеДобавлено: Пн мар 13, 2023 19:12:45 
Открыл глаза

Зарегистрирован: Сб ноя 04, 2017 19:21:12
Сообщений: 72
Рейтинг сообщения: 0
Цитата:
Насколько я видел, контроллеры таких резисторов не содержат; завтра посмотрю на резервном контроллере.

Да, действительно, на контроллере такой подтяжки к питанию нет. Вскрыл свой свисток, посмотрел его - вот на нем действительно подтяжка есть резисторами 2,2К, и при этом терминатор не смонтирован, что хорошо. Завтра попробую подцепить резисторы на ноги MAX485 и посмотреть результат.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение MAX485
СообщениеДобавлено: Вт мар 14, 2023 18:21:49 
Открыл глаза

Зарегистрирован: Сб ноя 04, 2017 19:21:12
Сообщений: 72
Рейтинг сообщения: 0
Завтра попробую подцепить резисторы на ноги MAX485 и посмотреть результат.

Попробовал. Всё заработало, не потребовалось никаких дополнительных манипуляций и матерных заклинаний. Буду теперь знать, что причиной проблем вполне может быть отсутствие подтяжки линии RS485 к питанию.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y