水性聚氨酯的五种合成法,以下是金宗企业为您提供相关的知识介绍说明:
水性聚氨酯的制备方法通常可分为外乳化法和内乳化法两种。外乳化法是指采用外加乳化剂,在强剪切力作用下强制性地将聚氨酯粒子分散于水中的方法,但因该法存在乳化剂用量大、反应时间长以及乳液颗粒粗、最终得到的产品质量差、胶层物理机械性能不好等缺点,因而目前生产基本不用该法。内乳化法又称自乳化法,是指在聚氨酯分子结构中引人亲水基团无需乳化剂即可使自身分散成乳液的方法,因此成为目前水性聚氨酯生产和研究采用的主要方法.内乳化法又可分为丙酮法、预聚体混合法、熔融分散法、酮亚胺/酮联氮法、保护端基乳化法。
(1)丙酮法
首先合成含-NCO端基的高粘度聚氨酯预聚体,加丙酮溶解,使其粘度降低,然后用含离子基团扩链剂进行扩链,在高速搅拌下通过强剪切力使之分散于水中,乳化后减压蒸馏脱除溶剂丙酮,得到水性聚氨酯分散液。
丙酮法易于操作,重复性好,制得的水性聚氨酯分子量可变范围宽,粒径的大小可控,产品质量好,是目前生产水性聚氨酯的主要方法。但该法需使用低沸点丙酮,易造成环境污染,工艺复杂,成本高,安全性低,不利于工业生产。
(2)预聚体混合法
首先合成含亲水基团及端-NCO的预聚体,当预聚体的相对分子量不太高且粘度较小时,可不加或加少量溶剂,高速搅拌下分散于水中,再用亲水性单体(二胺或三胺)将其部分扩链,生成相对分子量高的水性聚氨酯一脲。最终得到水性聚氨酯分散液。为合成低粘度预聚体,通常选择脂肪族或脂环族多异氰酸酯,因为这两种多异氰酸酯的反应活性低,预聚体分散于水中后用二胺扩链时受水的影响小。但预聚体混合分散过程必须在低温下进行,以降低-NCO与水的反应活性;必须严格控制预聚体粘度,否则预聚体在水中分散将非常困难,预聚体混合法避免了有机溶剂的大量使用,工艺简单,便于工业化连续生产。缺点是扩链反应在多相体系中发生,反应不能按定量的方式进行。
(3)熔融分散缩聚法
熔融分散缩聚法又称熔体分散法,是一种无溶剂制备水性聚氨酯的方法。该法把异氰酸酯的加聚反应和氨基的缩聚反应紧密地结合起来。先合成带有亲水性离子基团和-NCO端基的聚氨酯预聚物,预聚物与尿素进行加聚反应得到含离子基团的端脲基聚氨酯双缩二脲低聚物。此低聚物在熔融状态下与甲醛水溶液发生缩聚反应和羟甲基化应,形成含羟甲基的聚氨酯双缩二脲,用水稀释后,得到稳定的水性聚氨酯分散液。
该方法的特点:反应过程中不需要有机溶剂,工艺简单,易于控制,配方可变性较大,不需要特殊设备,因具广阔的发展前景。但该法反应温度高,生成的水性聚氨酯分散体为支链结构,分子量较低。
(4)酮亚胺/酮联氮法
在预聚体混合法中,采用水溶性二元伯胺作扩链剂时,由于氨基与-NCO基团反应速率过快,难以获得粒径均匀而微细的分散体。扩链阶段若用酮亚胺或酮联氮代替二元伯胺进行水相扩链则能解决此问题。酮亚胺由酮与二胺反应生成,酮联氮由酮与肼反应生成。酮亚胺/酮联氮与含离子基团的端-NCO聚氨酯预聚体混合时不会过早发生扩链反应,但遇水时,酮亚胺/酮联氮与水反应则释放出二胺/肼,对预聚体进行扩链,由于受释放反应的制约,扩链反应能够平稳地进行,得到性能良好的水性聚氨酯一脲分散液。
酮亚胺/酮联氮法适用于由芳香族异氰酸酯制备水性聚氨酯分散液,该法融合了丙酮法、预聚体混合法的优点,是制备高质量水性聚氨酯的重要方法。
(5)保护端基乳化法
使用酚类、甲乙酮亚胺、吡咯烷酮、亚硫酸氢钠等封闭剂,将带有亲水性离子基团和-NCO封端的聚氨酯预聚物的端-NCO基团保护起来,使-NCO基团失去活性,制成一种封闭式的聚氨酯预聚体,加入扩链剂和交联剂共同乳化后,制成水性聚氨酯分散液。应用时,加热可使预聚物端-NCO基团解封,-NCO基团与扩链剂、交联剂反应,形成网络结构的聚氨酯胶膜。此法对工艺要求颇高,乳液稳定性差,关键在于选择解封温度低的高效封闭剂。
金宗企业设计制造的水性PU树脂成套生产设备,是结合现阶段采用先进的自乳化法(丙酮法)来生产水性PU的生产工艺的新研发成果。引领水性树脂生产新潮流。
水性PU生产成套设备介绍:
1,预聚体制备更高效稳定
2,瞬间强力乳化
3,高效脱溶
4,溶剂回收高,
5,自动补水
6,易清洗
7,自动出料及灌装
8,可灵活选用辅助单元
9,PLC控制,实现工业智能化
产品配置:
适合大,中,小规模生产。
成套设备各单元模块化设计,用户可按需进行成套或分单元采购。
The following has evaluated to null or missing: ==> langConfig [in template "public_include/wap/module/version_1/language.html" at line 49, column 14] ---- Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #if langConfig.status?string = "false" [in template "public_include/wap/module/version_1/language.html" at line 49, column 9] - Reached through: #include "/public_include/wap/module/... [in template "tpl/2018/03/17/2613443926933696//wap/com_5.html" at line 5, column 1] - Reached through: #include "com_5.html" [in template "tpl/2018/03/17/2613443926933696//wap/displaynews.html" at line 69, column 6] ---- Java stack trace (for programmers): ---- freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...] at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) at freemarker.core.UnexpectedTypeException.newDesciptionBuilder(UnexpectedTypeException.java:80) at freemarker.core.UnexpectedTypeException.<init>(UnexpectedTypeException.java:43) at freemarker.core.NonHashException.<init>(NonHashException.java:49) at freemarker.core.Dot._eval(Dot.java:48) at freemarker.core.Expression.eval(Expression.java:81) at freemarker.core.BuiltInsForMultipleTypes$stringBI._eval(BuiltInsForMultipleTypes.java:692) at freemarker.core.Expression.eval(Expression.java:81) at freemarker.core.EvalUtil.compare(EvalUtil.java:111) at freemarker.core.ComparisonExpression.evalToBoolean(ComparisonExpression.java:62) at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48) at freemarker.core.Environment.visit(Environment.java:327) at freemarker.core.Environment.visit(Environment.java:333) at freemarker.core.Environment.include(Environment.java:2509) at freemarker.core.Include.accept(Include.java:171) at freemarker.core.Environment.visit(Environment.java:327) at freemarker.core.Environment.visit(Environment.java:333) at freemarker.core.Environment.include(Environment.java:2509) at freemarker.core.Include.accept(Include.java:171) at freemarker.core.Environment.visit(Environment.java:327) at freemarker.core.Environment.visit(Environment.java:333) at freemarker.core.Environment.process(Environment.java:306) at freemarker.ext.servlet.FreemarkerServlet.processEnvironment(FreemarkerServlet.java:946) at freemarker.ext.servlet.FreemarkerServlet.process(FreemarkerServlet.java:910) at freemarker.ext.servlet.FreemarkerServlet.doGet(FreemarkerServlet.java:769) at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at com.kenfor.iyong.web.util.filter.NotAllowedToTunFilesFilter.doFilter(NotAllowedToTunFilesFilter.java:154) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at com.kenfor.iyong.web.util.filter.InvalidXSSFilter.doFilter(InvalidXSSFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve.invoke(RedisSessionHandlerValve.java:26) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:873) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)