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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Преобразование уровней, Проблема с MAX232
Rinin
сообщение Sep 1 2008, 15:36
Сообщение #1





Группа: Новичок
Сообщений: 11
Регистрация: 3-08-08
Пользователь №: 39 398



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

Код
#include <avr/io.h>
   #include <avr/delay.h>
   #define F_CPU 1000000UL  

void USART_Transmit (unsigned char data)
   {
     while ( !(UCSR0A & (1<<UDRE0)) )
      ;
     UDR0 = data;    
   }

void USART_Init (unsigned int baud)
   {
     UBRR0H = (unsigned char)(baud>>8);
     UBRR0L = (unsigned char)(baud);

     UCSR0B = (1<<RXEN0)|(1<<TXEN0);
     UCSR0C = (1<<UCSZ00)|(1<<UCSZ01);
   }

void Beep (unsigned int time)
   {
     PORTC = 0xff;
     _delay_ms(time);
     PORTC = 0x00;
     _delay_ms(time);
   }
  
int main(void)          
   {
   DDRC = 0xff;
   PORTC = 0x00;
   USART_Init (51);
  
   while (1)
  
   {  
USART_Transmit ('f');
Beep (100);
   }

}

На той стороне HyperTerminal 1200 скорость 8 бит, четность нет, один стоп бит. На экране пустота и тишина. Проверял, цеплял на этот же шнурок вместо микросхемы и макса просто GPSку - выдает данные на ура, всё идет. Здесь же просто пустота. При ошибке по скоростям у меня должен быть мусор вроде. Нету даже мусора. Порядок соединения входов-выходов вроде верный, но на всякий случай перебрал все варианты. Ноль эмоций. На ноге выхода микросхемы вроде сигнал есть насколько я могу его увидеть тестером. На ноге выхода макса стабильные минус где-то 7-8В которые там сохраняются независимо от того соединен он с микросхемой или нет.

Скажите где стоит искать проблему?
Go to the top of the page
 
+Quote Post
sKWO
сообщение Sep 1 2008, 16:00
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530



Посмотрел ДШ на преобразователь уровней. Минимальное питание 4.5 вольта. Но я бы не верил показаниям тестера а запитал бы через интегральный стабилизатор пятью вольтами.если не поможет то вполне реально,ещё что микросхема бракованая, поставьте другую.
и вашу схему не мешало бы посмотреть


--------------------
нельзя недооценивать предсказуемость глупости
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 1 2008, 16:03
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Rinin @ Sep 1 2008, 21:36) *
Скажите где стоит искать проблему?
Для начала - в вашем "железе". Приведите схему вашего подключения с распиновкой.
Go to the top of the page
 
+Quote Post
Максим Зиновьев
сообщение Sep 1 2008, 16:06
Сообщение #4


Техногипнолог
*****

Группа: Свой
Сообщений: 1 132
Регистрация: 6-03-05
Из: Saratov
Пользователь №: 3 126



Цитата
Посмотрел ДШ на преобразователь уровней. Минимальное питание 4.5 вольта. Но я бы не верил показаниям тестера а запитал бы через интегральный стабилизатор пятью вольтами.если не поможет то вполне реально,ещё что микросхема бракованая, поставьте другую.


Дааааа, программисты.... smile.gif


Rinin, max232 проверить просто - закоротите txd и rxd с "логической" стороны и попечатайте в гипертерминале без эхо
Go to the top of the page
 
+Quote Post
sKWO
сообщение Sep 1 2008, 16:18
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530



Цитата(maximiz @ Sep 1 2008, 19:06) *
Дааааа, программисты.... smile.gif

maximiz, у меня был случай когда попадалась микросхема 232 которая отказывалась работать от 4.5 вольта. подал пять вольт - заработала. проверить как Вы сказали то можно, но если у человека идет с МК данные а на выходе ничего нету то обясните что от этого изменится?


--------------------
нельзя недооценивать предсказуемость глупости
Go to the top of the page
 
+Quote Post
Максим Зиновьев
сообщение Sep 1 2008, 16:27
Сообщение #6


Техногипнолог
*****

Группа: Свой
Сообщений: 1 132
Регистрация: 6-03-05
Из: Saratov
Пользователь №: 3 126



Цитата
что от этого изменится?


Особо ничего - проверим работает ли транслятор (этот экземпляр от имеемого питания).



Цитата
у меня был случай когда попадалась микросхема 232 которая отказывалась работать от 4.5 вольта.


Вполне может случиться при высоких бодрейтах. На 1200n1 - не верю/либо мс откровенный брак.


Цитата
но если у человека идет с МК данные а на выходе ничего нету то обясните что от этого изменится?


Это подозрения. Что "идёт". Если нет осциллоскопа, то можно светодиод повесить на txd контроллера через емкость примерно на 0,1 мкФ smile.gif
Go to the top of the page
 
+Quote Post
sKWO
сообщение Sep 1 2008, 16:36
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530



Цитата(maximiz @ Sep 1 2008, 19:27) *
Это подозрения. Что "идёт"

Ели человек мерял стрелочным тестером, который проинтегрировал сигнал и увидел бы к примеру - 3.9 вольта, потом изменил бы выдачу
Код
USART_Transmit (0xFF);

и сказал бы получил 4.2 вольта, выдавал 0x00 получил 1.1 вольт
тогда бы я сказалбы что "идёт".
Ну да ладно, давайте автора подождём. Пускай ещё тип МК скажет для пущей уверенности.


--------------------
нельзя недооценивать предсказуемость глупости
Go to the top of the page
 
+Quote Post
Rinin
сообщение Sep 1 2008, 16:51
Сообщение #8





Группа: Новичок
Сообщений: 11
Регистрация: 3-08-08
Пользователь №: 39 398



Пока закоротить и попечатать не помогло, завтра поменяю кой чего из железа, потому что не везде мне нравится как собрал, попробую поставить другой экземпляр макса и отпишусь.
Go to the top of the page
 
+Quote Post
Максим Зиновьев
сообщение Sep 1 2008, 16:57
Сообщение #9


Техногипнолог
*****

Группа: Свой
Сообщений: 1 132
Регистрация: 6-03-05
Из: Saratov
Пользователь №: 3 126



Цитата
Пока закоротить и попечатать не помогло,

А при закорачивании тхд контроллера хоть отключили? Может также помочь заресечивание контроллера на время теста, чтобы зет был на тхд.

Право-слово, Вы не обижайтесь. smile.gif Для меня программирование пока проблема, а по аппаратной части не особо.

Осциллоскоп есть? На летающих емкостях мах-а посмотрите и есть ли по 9 вольт на плюс-минус? Плюс/минус можно глянуть стрелочным тестером тож
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 1 2008, 17:01
Сообщение #10


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(sKWO @ Sep 1 2008, 19:18) *
у меня был случай когда попадалась микросхема 232 которая отказывалась работать от 4.5 вольта.

5-ти вольтовые максы и от 2.5V работают.
Скорее компу не понравились выдаваемые уровни или брак.
Go to the top of the page
 
+Quote Post
SysRq
сообщение Sep 1 2008, 17:01
Сообщение #11


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Так:
Код
unsigned int time;
//...
_delay_ms(time);
делать нельзя. Можно так:
Код
_delay_ms(100);
Читайте или комментарии в delay.h, или форум.

F_CPU следует определить в Makefile, ну или хотя бы _до_ подключения delay.h эту константу использующего.


Дежавю! http://electronix.ru/forum/index.php?showtopic=51075

Сообщение отредактировал SysRq - Sep 1 2008, 17:16
Go to the top of the page
 
+Quote Post
xemul
сообщение Sep 1 2008, 17:20
Сообщение #12



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(SysRq @ Sep 1 2008, 21:01) *
Так:
Код
unsigned int time;
//...
_delay_ms(time);
делать нельзя. Можно так:
Код
_delay_ms(100);
Читайте или комментарии в delay.h, или форум.

F_CPU следует определить в Makefile, ну или хотя бы _до_ подключения delay.h эту константу использующего.

Совсем запугали...smile.gif
Код
// из delay.h
#ifndef F_CPU
/* prevent compiler error by supplying a default */
# warning "F_CPU not defined for <util/delay.h>"
# define F_CPU 1000000UL
#endif
...
void
_delay_ms(double __ms)
{
...
}

Это означает, что ежели юзер программер забыл задать F_CPU, компилятор будет считать F_CPU=1000000UL (но ругнется в лог), а в качестве аргумента _delay_ms() (как и _delay_us()) проглотит и double.
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 1 2008, 17:31
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(maximiz @ Sep 1 2008, 22:57) *
Осциллоскоп есть? На летающих емкостях мах-а посмотрите и есть ли по 9 вольт на плюс-минус? Плюс/минус можно глянуть стрелочным тестером тож
Он же написал что
Цитата
На ноге выхода макса стабильные минус где-то 7-8В которые там сохраняются независимо от того соединен он с микросхемой или нет.
Значит инвертор и даблер макса работают.
ИМХО, основанное лишь на интуиции, подсказывает, что топик-стартер с подключением что-то там напутал.
Go to the top of the page
 
+Quote Post
uriy
сообщение Sep 1 2008, 17:42
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Цитата
5-ти вольтовые максы и от 2.5V работают.
Неправда, далеко не все. Когда-то в студенческие годы делал программататоры для сотовых на максе и 78L05 все это дело питалось от COM-порта. На некторых партиях напряжение просаживалось вольт до трех и ниче не работало.
Go to the top of the page
 
+Quote Post
aesok
сообщение Sep 1 2008, 17:52
Сообщение #15


Знающий
****

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



Цитата(xemul @ Sep 1 2008, 21:20) *
Совсем запугали...smile.gif
...
а в качестве аргумента _delay_ms() (как и _delay_us()) проглотит и double.


Еще одна цитата из delay.h:

Цитата
\note In order for these functions to work as intended, compiler
optimizations <em>must</em> be enabled, and the delay time
<em>must</em> be an expression that is a known constant at
compile-time. If these requirements are not met, the resulting
delay will be much longer (and basically unpredictable), and
applications that otherwise do not use floating-point calculations
will experience severe code bloat by the floating-point library
routines linked into the application.


Анатолий.
Go to the top of the page
 
+Quote Post
sKWO
сообщение Sep 1 2008, 17:52
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530



Цитата(rezident @ Sep 1 2008, 20:31) *
ИМХО, основанное лишь на интуиции, подсказывает, что топик-стартер с подключением что-то там напутал.

в подтверждение такого же телепатического чувства и основываясь на дежавю SysRq, и предложенной схемой проверки maximizа обясню на пальцах:
Rinin, вывод 11 соедините с 12, 14 на вход приёмника ком порта компа, выход передатчика ком порта компа подсоедините к 13тому выводу, попробуйте отослать парочку байт через терминал. и про отключение МК не забудьте, или ресет соедините с корпусом.
кстати, какой терминал используете?


--------------------
нельзя недооценивать предсказуемость глупости
Go to the top of the page
 
+Quote Post
Rinin
сообщение Sep 1 2008, 17:53
Сообщение #17





Группа: Новичок
Сообщений: 11
Регистрация: 3-08-08
Пользователь №: 39 398



Цитата
Так:
Код
unsigned int time;
//...
_delay_ms(time);

делать нельзя. Можно так:
Код
_delay_ms(100);

Читайте или комментарии в delay.h, или форум.

F_CPU следует определить в Makefile, ну или хотя бы _до_ подключения delay.h эту константу использующего.

Дежавю! http://electronix.ru/forum/index.php?showtopic=51075

Я помню, что так делать нельзя. Потому что вы мне это уже говорили, просто мне вобщем-то пофигу как мигает светодиод, который мигает просто для красоты и чтобы видеть, что микросхема ещё не сгорела нафиг окончательно.
Насчет дежавю, да, но там продолжать ИМХО было оффтопиком. А так - да та же тема, просто снова появилось время
Go to the top of the page
 
+Quote Post
Максим Зиновьев
сообщение Sep 1 2008, 18:05
Сообщение #18


Техногипнолог
*****

Группа: Свой
Сообщений: 1 132
Регистрация: 6-03-05
Из: Saratov
Пользователь №: 3 126



Цитата
Он же написал что


Сорри. Это не прочитал, дублёр, значит, работает. Хотя бы минусовой


Цитата
кстати, какой терминал используете?


гипертерминал.

В настройках соединения в гипертерминале у порта хандшейк none должен быть при проверке и при "работе". Тогда не понадобится цтс-ртс и прочего
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 1 2008, 18:41
Сообщение #19


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(uriy @ Sep 1 2008, 20:42) *
Неправда, далеко не все.

Абсолютно все что я пользовал работают от 3.3V.
Я даже не задумываясь ставлю 5-ти вольтовые экземляры в девайсы с 3.3V питанием, по причине "хрен достанешь 3х вольтовую версию в нужном количестве по приемлемой цене".
Поэтому в сказки о критичности максов к питанию не поверю никогда.

У макса есть умножитель и инвертор, так вот чтобы гарантировать уровни линии |7.5V| нужно питание не ниже 4.5V. Но с тем же успехом COM порт будет общаться с уровнями в линии вплоть до |3V|. По спецификации RS232 уровни могут быть в пределах 3..15V. С питанием максы от 2.5V умножитель даст ~4V, так что все ок.

Цитата
Когда-то в студенческие годы делал программататоры для сотовых на максе и 78L05 все это дело питалось от COM-порта. На некторых партиях напряжение просаживалось вольт до трех и ниче не работало.

Если оно у вас "просаживалось" до трех, что уже само по себе доказывает, что мощности COM порта не хватало, где гарантия, что оно у вас не просаживалось до 0 в момент передачи? И где гарантия, что проблема была не на стороне компа (просадка уровней выходного преобразователя).
Go to the top of the page
 
+Quote Post
Rinin
сообщение Sep 1 2008, 18:54
Сообщение #20





Группа: Новичок
Сообщений: 11
Регистрация: 3-08-08
Пользователь №: 39 398



Цитата
в подтверждение такого же телепатического чувства и основываясь на дежавю SysRq, и предложенной схемой проверки maximizа обясню на пальцах:
Rinin, вывод 11 соедините с 12, 14 на вход приёмника ком порта компа, выход передатчика ком порта компа подсоедините к 13тому выводу, попробуйте отослать парочку байт через терминал. и про отключение МК не забудьте, или ресет соедините с корпусом.
кстати, какой терминал используете?

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

Только что подключил его просто всё как было и послал ему несколько байт с клавиатуры (программа та же, ничего не ждущая) как только сделал это - его прорвало и с него посыпался регулярный шум. Проверил еще пару раз - как только ему посылаю с компьютера что-нибудь его "прорывает" и он начинает работать. До этого тишина. Уже лучше конечно, но далеко от совершенства.
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 1 2008, 19:22
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(defunct @ Sep 2 2008, 00:41) *
Поэтому в сказки о критичности максов к питанию не поверю никогда.
MAXы обычно работают при 3,3В, а вот его аналоги других производителей далеко не всегда. С полгода назад напоролся, то ли ADM202E, то ли SP202E не возжелал от 3,3В работать.


Цитата(defunct @ Sep 2 2008, 00:41) *
Но с тем же успехом COM порт будет общаться с уровнями в линии вплоть до |3V|. По спецификации RS232 уровни могут быть в пределах 3..15V. С питанием максы от 2.5V умножитель даст ~4V, так что все ок.
В PC стоят драйверы с входным порогом ±2В, так что даже при 0В...+2В чаще всего работает. Но КМК дело все же в надежности, а не в том, что иногда работает wink.gif
Go to the top of the page
 
+Quote Post
sKWO
сообщение Sep 1 2008, 19:35
Сообщение #22


Местный
***

Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530



Цитата(defunct @ Sep 1 2008, 21:41) *
Абсолютно все что я пользовал работают от 3.3V.

проверил MAX232N (дип корпус) с питанием 3.3 вольта на скорости 9600, кабель 1.5 метра.
работает. которая не захотела от 4.5в была в SOIC корпусе и сейчас служит для формирования уровня отрицательного напряжения для регулирования контрастности графичесского ЖКИ, выпаивать её неохота и подпаиваться тоже. Кстати, нащёт производителя последней не помню.


--------------------
нельзя недооценивать предсказуемость глупости
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 1 2008, 19:54
Сообщение #23


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(rezident @ Sep 1 2008, 22:22) *
MAXы обычно работают при 3,3В, а вот его аналоги других производителей далеко не всегда. С полгода назад напоролся, то ли ADM202E, то ли SP202E не возжелал от 3,3В работать.

АДшки точно живут на 3.3.

А ST и SP... у них цена в 3 раза ниже чем у AD и макса, такое опасно ставить.
Go to the top of the page
 
+Quote Post
psw
сообщение Sep 2 2008, 03:56
Сообщение #24


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 8-06-06
Пользователь №: 17 866



может проблема в DTR-DSR, RTS-CTS ? Со стороны компа попробуйте соединить их попарно........
Go to the top of the page
 
+Quote Post
Rinin
сообщение Sep 2 2008, 08:32
Сообщение #25





Группа: Новичок
Сообщений: 11
Регистрация: 3-08-08
Пользователь №: 39 398



Контроллер о том закорочено или нет и не узнает никогда, а комп по этому шнурку из трех проводов идеально принимает инфу с GPSки.
Go to the top of the page
 
+Quote Post
Rinin
сообщение Sep 3 2008, 15:19
Сообщение #26





Группа: Новичок
Сообщений: 11
Регистрация: 3-08-08
Пользователь №: 39 398



Если кому-то интересно - то эти проблемы были исключительно из за использования внутренней RC цепочки. При внешнем резонаторе работает замечательно.
Go to the top of the page
 
+Quote Post
Anub
сообщение Sep 21 2008, 12:10
Сообщение #27


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 26-05-08
Пользователь №: 37 825



Сделал адаптер на MAX233. Все вроде включил, а реакции никакой нет, в ком-порте мертвая тишина. Как подключал, начну с макса:
T1IN(2) - TXD МК
T1OUT(5) - RXD COM
V-(12) - V-(17) - Перемычка(По ДШ)
С2-(10) - С2-(16) -Перемычка(По ДШ)
С2+(11) - С2+(15) - Перемычка(По ДШ)
VCC(7) - +5V
GND(6) - Земля
GND(9) - Земля

COM-порт:

DTR(4) - DSR(6) -Переычка
RTS(7) - CTS(8) - Перемычка
GND(5) - Земля
RXD(2) - T1OUT
05.gif
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Sep 22 2008, 09:58
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Внимательно смотрим в даташит.. Нашёл у себя для 232 но судя по всему там индексы тянутся..
И там находим такое подключение для max232:
Прикрепленное изображение

Советую повторить вышеприведённую схемку и увидите её поразительную работоспособность wink.gif ..
Ниже для 233:

Прикрепленное изображение

Нету там перемычек вообсче...
Go to the top of the page
 
+Quote Post
vik0
сообщение Sep 22 2008, 10:09
Сообщение #29


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 27-07-08
Из: теплые края
Пользователь №: 39 233



Цитата(Kuzmi4 @ Sep 22 2008, 12:58) *
Ниже для 233:

Прикрепленное изображение

Нету там перемычек вообсче...

Это для 223. А в 233 как раз есть перемычки. Собственно главная фишка 233 так и называется "No external caps".
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Sep 22 2008, 11:09
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 vik0 - проглядел..
Ну судя по всему
Прикрепленное изображение

вроде тогда всё верно...
Go to the top of the page
 
+Quote Post
SysRq
сообщение Sep 22 2008, 14:40
Сообщение #31


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(Anub @ Sep 21 2008, 16:10) *
Все вроде включил...
Цитата(Kuzmi4 @ Sep 22 2008, 15:09) *
вроде тогда всё верно...

Квинтэссенция технической телепатии lol.gif
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Sep 23 2008, 08:25
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(SysRq @ Sep 22 2008, 17:40) *

Квинтэссенция технической телепатии lol.gif

Ну а что вы хотели раз всё по ДШ включил wink.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 11th August 2025 - 14:04
Рейтинг@Mail.ru


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