zzsczz 发表于 2007-12-8 23:42:05

2个NPN三级管代替MAX232完成电平转换功能

http://www.kmitl.ac.th/~kswichit%20/ap275/ap275.htm

2个NPN三级管代替MAX232完成电平转换功能

我使用2nd version 这个版本,BC547替换成C945,1K的上拉换成2.2K,其他不便

atmega8 4M内部晶振 在 9600bps下正常

。。。。。。。。。。。。。

似乎RESET后必须延时100微秒才可以发送正确的字符。

_delay_us(100.0);





http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_186609.gif

http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_186610.png

zzsczz 发表于 2007-12-9 00:28:33

内部8Mhz 时钟56Kbps也正常工作


使用atmega8-16PI         
11.0592MHz外部晶振下 串口速度115200bps正常。。。。

zzsczz 发表于 2007-12-9 00:33:36

C945可以在250Mhz频率下工作。。。。3~5伏电压可以工作。

ATmega32 发表于 2007-12-9 09:55:11

什么原理?
232电平是+-9V,怎么得到的?

zhonghua_li 发表于 2007-12-9 11:38:53

这个东西不是很可靠。有些机器不认。
还是那种通过从数据线取负压的方法要可靠些。

hl0716 发表于 2007-12-9 11:43:56

简单代替还是不错

ilikemcu 发表于 2007-12-9 11:49:45

4楼说的对,最好还加一个1N4148+10uF/16V的电解电容可靠些。俺就一直这么用的。

还有楼主说到的延时后才工作,我的习惯是从来不会在MCU上电后立即对外设操作,至少延时100ms,因为这个时候的电源是不很稳定的,电路中各个部分的上电肯定有快慢的,如果此时对EEPROM等敏感的器件操作,很容易出问题。

zzsczz 发表于 2007-12-9 12:50:42

4楼和6楼的楼主能否说得更详细些?


什么叫 通过从数据线取负压?

1N4148+10uF/16V的电解电容加到什么地方?

hl0716 发表于 2007-12-9 13:13:43

什么叫 通过从数据线取负压?

1N4148+10uF/16V的电解电容加到什么地方?
就是说,通过电脑的串口取电压回来

ilikemcu 发表于 2007-12-9 14:54:09

图来了,临时画的。

下载链接是PRETEL99SE格式的SCH.

点击此处下载ourdev_186722.rar(文件大小:2K)
http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_186723.gif

panxiaoyi 发表于 2007-12-10 10:49:30

数据线取负压也不可靠,如果双方都是这样的,谁来提供负压?

shark 发表于 2007-12-10 12:11:53

另一端一般都是连到PC的,PC原生的串口肯定有负压,usb转的就不好说了。

Elex 发表于 2007-12-10 14:30:11

这种电路自己玩玩还可以,在实际控制电路中还是不要这样用为好,如果要用也要把上拉电阻接到12V才比较可靠。
见过很多形式的232电路,还有人用光耦来做的,感觉还是老老实实照232标准来做比较好,除非是价钱敏感的玩具电路

ilikemcu 发表于 2007-12-10 18:59:25

实际上这种电路如果是短距离应用没什么大问题的,我用楼上的电路应用在STC单片机的下载中,速率打到57600bps( 115200bps下我的PC卡转RS232频频死机),一直很正常。

没有最好的,只有最合适的,呵呵。

zzsczz 发表于 2007-12-10 23:04:58

2007 年 10 期《无线电》吴汉清 的 《用STC89E516RD自制51单片机仿真器》有这个电路图。


使用三机管作为串口通信电平转换。

我焊了个4米多的延长线(网卡用的双绞线10根用3根),运行串口回显程序(中断的)

PC发送字节,MCU收到后原样送回,mcu电压5v

一次发送长度72字节的字符串自动发送间隔170ms

115200bps速度就发现PC机收到的数据长度变小。

57600bps下正常         


用1米多的延长线运行轮巡的版本的回显
一次发送长度52字节的字符串自动发送间隔90ms 在115200bps可以正常工作

而且mcu电压下降到4.2V,三机管转换模块的通讯质量有所下降,串口波特率要降低,自动发送时间延长才能确保信息完整.



....所以要选择合理的三机管、合理的电压、做合理的线、合理的软件

http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_187169.png

zzsczz 发表于 2007-12-10 23:36:48

我只是自己玩

DIP封装的片子好整。

MAX232A的电压只能5伏。。。。而且要焊5个电容。。


在市场上寻找不要电容又可以在3-5伏下工作的DIP封装器件未果(MAX3233? MAX233?)

http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_187170.png

zzsczz 发表于 2007-12-10 23:42:37

只有并口ISP下载线,还没有整仿真器。串口就当作监视了

yc21 发表于 2007-12-11 00:20:13

楼主这种“凌空飞架三千尺”的接线方法估计也稳定不到哪去~~

zzsczz 发表于 2007-12-11 00:58:20

制PCB就飞得少了
17楼的推荐个不要电容又可以在3-5伏下工作的DIP封装器件撒,否则不飞咋办?


再说数字信号本身抗干扰比模拟信号好太多,飞就飞没什么

学习起来足够了,关键是成本。


已经按照
http://www.recursion.jp/avrcdc/

http://www.recursion.jp/avrcdc/AVR-CDC.2006-08-28.tgz
在面包板上实验了M8的usb2rs232。



下一步就
按照 http://aquaticus.info/jtag 在面包板上做串口调试工具

Elex 发表于 2007-12-11 14:33:42

两年多前因为之前的工程师用这种省钱的电路做跑步机的控制台与马达控制器的通讯,
结果让我飞去杭州观光一次...

zzsczz 发表于 2007-12-11 19:23:48

买了个USB TO 232

http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_187573.png


2个NPN三级管的不能正常工作

max232的可以

zhiwei 发表于 2007-12-11 21:54:58

9楼的图是常用的,RS232本来就不适合长距传输,所以不是要求长距传输,只是3~5m这种电路比较合适的。我这次批量生产1k,到今天测试1/3还没有出现通信出问题的,不过测试使用1m长的线。如果半双工通信那个电容可以不要,编程注意一下就可以了。
另外,2个NPN管不能正常工作。

shark 发表于 2007-12-11 22:00:46

没准楼上的usb ->232里面用的也是三极管,呵呵。

zzsczz 发表于 2007-12-11 22:57:46

我使用117-33为2个NPN三级管的电路供3.3V的电,但是m8还是5V

115200波特率下数据有所丢失

5V下正常




http://www.chipswinner.com/product/html/products_ITE.html#RS232


我购买的 上海普芯达电子有限公司的 MAX232N (011250718) 5v 片子(¥2.00)替换了 美信的max232cpe(天知道是不是假货)
m8l 7.3728Mhz外部晶振
整个系统在3.3V下可以工作貌似正常。。。还是会丢数据

本来想买国产的 MAX3232N,还没到货。。。。。。

Elex 发表于 2007-12-12 09:27:46

用三极管的话,干扰电平0.7V就导通了,比门电路还差。
串个稳压管在PC-TXD端会改善不少。
对于控制类的产品不能试过觉得没有问题就能用了,因为实际环境会比你测试的实验室恶劣很多,会有很多让你觉得“没道理”的事情发生的

zhiwei 发表于 2007-12-12 12:48:08

23楼,3.3V不行是因为PCRXD信号需要3V以上才能认为是0,用3.3V,驱动PNP三极管导通基本上就是3V,容限太小,5V会好一点。

zzsczz 发表于 2007-12-12 21:57:21

http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_187813.png


上海普芯达电子有限公司的 MAX232N (011250718) 5v 片子

在 3.3V条件下工作(wrt54g)
putty登陆。。。看不出是否不正常

xtwhf 发表于 2007-12-13 09:10:02

3.3v系统建议用MAX3232CSE!

abcdezh 发表于 2007-12-13 14:00:29

估计干扰会大

kent 发表于 2007-12-14 09:51:35

MAX232是把5V电压提升到9V-11V,如果板上有9V以上的电源,直接拿来用就是了,何必再用MAX232? 进口的一片要4-5元,电路又复杂,如果自己设计的系统,简化设计是没有问题的.
单片机的电压是5V,串口通讯用12V,用三极管或光耦进行电压转换就很正常了.
由于MAX232是电压型的,在强干扰环境下,可靠性不高,使用的距离有限.远距离通讯一般是用485.
同理,在自己设计的系统中,也可以用高电压电流型啊!而三极管转换电路与光耦电路就是电流型的.因此,从理论上讲,这种电路比MAX232抗干扰还强.
以上电路没有公共地线,是不可靠的.浮地还能高速通讯?我没有试过,也没有兴趣试验.
用三极管电压转换电路与光耦电路进行串口单片机通讯在我以前的产品设计中都用过.具体电路与上面贴的不一样,知道设计原理了,怎么设计应该不是问题.

zhiwei 发表于 2007-12-14 13:13:49

电流环也是比较好的抗干扰通信方式,我也经常用,呵呵。

hhrfjz 发表于 2007-12-14 13:37:26

没有负压 啊?

knight_avr 发表于 2008-3-28 23:06:38

MARK 一下
正需要用

bb88bb 发表于 2008-3-29 01:57:38

类似的电路我也用过,刚用还没问题,连续用上几个小时后数据就不对了,东西做出来省了几块钱,结果出问题了我出差一趟来回吃、住、行花了1000多,哎~还搞坏了公司的名声(那代理商再也没来找我们公司要货拉)。自己用还可以,做成产品稳定性就不行拉。

nestlake 发表于 2009-5-27 20:05:37

这么有创意的东西,收藏一下

kugel 发表于 2009-5-27 21:13:20

这个要顶一下!

powerSTM 发表于 2009-5-27 21:30:18

MarK

wxws 发表于 2009-5-28 09:53:03

http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3291050&bbs_page_no=1&search_mode=3&search_text=wxws&bbs_id=9999

看下这个贴中的转换,用的是74LS00芯片

shizt 发表于 2009-6-2 11:35:42

过来学习学习,谢谢分享~

deepin 发表于 2009-9-2 11:54:12

MARK

ajoe 发表于 2009-9-2 12:27:30

很好,我有时也这样用

xyz2008 发表于 2009-9-2 12:46:03

mark

GNMXD 发表于 2010-12-18 10:35:40

mark

jishanlaike 发表于 2010-12-18 12:39:12

从原理上讲:只要9楼的电路数据发的不是忒频繁,就算波特率再高也没有问题,
如果pc老发0x00,电容积累不了足够的负压,估计就出问题了,写程序时注意,
感觉不会出现什么问题啊。

cuikai12345 发表于 2010-12-18 13:08:20

mark

www1519 发表于 2010-12-18 13:12:36

mark

xubeiping 发表于 2011-10-13 15:57:17

前面的2个图都可以实现吗,那个我当时用的时候有些参数改动了一下,貌似有点问题,能够详细的解释一下吗?

netle8 发表于 2013-4-8 21:56:10

好东东,支持!

Canbus007 发表于 2017-7-4 00:13:45

路过,留个脚印!
页: [1]
查看完整版本: 2个NPN三级管代替MAX232完成电平转换功能