求STM32驱动电路 (10路24继电器和2路步进电机驱动器)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求STM32驱动电路 (10路24继电器和2路步进电机驱动器)相关的知识,希望对你有一定的参考价值。

我想用STM32IO口驱动外面10个24V继电器和两个步进电机驱动器,3.3V输出怎么转换为24V能够同时驱动10路继电器和步进电机驱动器?最好能有详细的电路图,是用三极管?mos管?光耦?还是什么?新手不太懂 求各位高手们指导!!还有就是板子输出的100KHZ PWM经过放大后输出的还是100KHZ方波吗?这时再给驱动器能正常驱动步进电机吗?
PWM输出是不是要用到高速光耦?需要哪些元件呢?最好能给出具体型号谢谢谢谢!!!

3.3V一般通过光耦转换就可以了。3.3V驱动光耦的光电二极管还是没问题的,甚至还要加限流电阻。然后光耦输出侧在经过个8050这类的功率三极管驱动继电器就可以了,而步进驱动器可以直接光耦输出
一般驱动继电器使用普通的比如TLP521这类光耦就可以
不过100KHZ的PWM输出肯定是速度不够了。但经过放大后即便失真,除非你选的放大器件工作不了这么高频率外,肯定还是100KHZ的方波。你可以选择高速光耦如6N136,137这类截至频率1M的光耦就可以了追问

STM32的输出接到6N137,经6N137隔离后输出给三极管再驱动继电器 是这样吗?驱动几V的继电器,是不是就要把电压升到几V?

追答

6N137 直接就可以接输出电路了,他是高速光耦,用于脉冲的
TL521是低速的用于继电器和输入的低速信号的隔离

参考技术A

可以使用uln2003驱动,9脚悬空,STM32设置推挽输出,不然STM32驱动不了uln2003,

追问

STM32的IO口好像有单个最大输出电流和总的输出电流限制,10路同时推挽输出可以正常驱动吗?用UL2003 3.3V电平需不需要升到5V?那是不是L298也可以呢?可是继电器线圈是24V的,不知道能不能用24V做它的电源,还有就是ULN2003最大允许通过的PWM平率是多少?

追答

uln2003在3.3V下可以正常工作,输出端电源最大50V,如果你怕stm32驱动不了那么多继电器可以试试输入端加5V上拉,stm32开漏输出,不过uln2003最大输入频率没试过,你可以查查相关资料。

追问

5V串个电阻到单片机端口,然后设置成开漏输出吗?是3.3还是5V上拉?

追答

5V电源串电阻到IO,电阻可以选择1k,STM32引脚设置开漏输出,可以增加STM32的驱动能力。注意IO要选择兼容5V电平的IO,STM32部分IO不能直接接5V电平,详细见芯片手册。

追问

恩,谢谢啦!新年快乐!

以上是关于求STM32驱动电路 (10路24继电器和2路步进电机驱动器)的主要内容,如果未能解决你的问题,请参考以下文章

测试Risym 2.5A双路电机驱动模块:MX1919

STM32单片机驱动宏发12V电磁继电器电路问题

stm32通过三极管驱动继电器电路详解

stm32控制步进电机回零

STM32 三极管继电器驱动电路设计

ESP32-C3 基于Arduino框架下Blinker点灯控制10路开关或继电器组