设计遥控玩具的电路来控制若干个电机实现多种不同的组合运转方式,需要具备或者学习哪些电路设计知识?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计遥控玩具的电路来控制若干个电机实现多种不同的组合运转方式,需要具备或者学习哪些电路设计知识?相关的知识,希望对你有一定的参考价值。

还有几个问题希望得到解答:
(1)市面上经常见到的那些电动遥控玩具,它们内部安装的那些小电路板是模拟电路还是数字电路?
(2)经常看到说需要「单片机编程」,请问这是什么意思?编制出来的程序是不是要被安置进电路板里面?怎样把程序代码写进硬件电路板里面去呢?
(3)Python语言可以用来编写单片机的程序吗?或者说,我是不是只能必须用汇编语言编写单片机程序?
(4)如果我自己设计电动玩具的控制电路,玩具中带有好几个体积比较小的直流电机,分别用于驱动不同的玩具零部件,有时候只需要其中某一个电机通电工作,而有时候又需要几个电机同时工作,而且同时工作的时候某一个电机有可能被要求正转、也有可能被要求反转,设计这样的玩具控制电路我需要学习或者具备哪些电路设计方面的专业知识和课程?
(5)制作这样的电动遥控玩具的电路板,我可以自己购买电路元器件回到家里,按照自己设计出来的电路图自己组装吗?难不难?
谢谢。

参考技术A 1.遥控的一般都是模拟电路
2.其实单片机编程,是指程序设计,程序经过编译后经过烧录才到单片机里,就是说电脑到单片机这个过程叫烧录
3.玩具由于价格便宜,一般都采用汇编,不然就是c,但一般都是汇编
4.课程模电,单片机,c语言。
5.可以自己装,只是成本更高而已,你也可以买那种可以自己编程,当然价格比较高,大概100-400左右,看配置,你想编程简单点可以试试arduino这种比较简单追问

谢谢。关于第(2)题的回答,这个烧录过程是不是不可逆转的?也就是说一旦程序被烧录进单片机硬件里面之后,就再也不能对单片机硬件里面的程序做任何修改了?第(3)个问题的答案,使用汇编语言或者C语言为什么与产品的价格有关呢?能否再详细解释一下?谢谢。第(5)个答案,您提到「100〜400」是指人民币圆,对吗?谢谢。

追答

如果是flash或eeprom是可以修改的,但如果是otp的话,就不行

编译器要钱,就是软件要钱的呀

人民币

Verilog直流电机的pwm控制设计

有没有人手上有完成的报告?或是比较精通这方面可以帮帮我吗,请联络我!万分感谢!

设计方案
基于Verilog HDL的直流电机PWM设计方案
直流电机PWM控制器产生的PWM波形,只需要FPGA内部资源就可以实现,如数字比较器、锯齿波发生器等均为FPGA内部资源,我们只要直接调用就可以。外部端口Z/F、START接在键盘电路上,其具体的连接方式如图1。
其工作原理是:旋转方向控制电路控制直流电动机转向和启/停,该电路由两个2选1的多路选择器组成,Z/F键控制选择PWM波形是从正端Z进入H桥,还是从负端F进入H桥,以控制电机的旋转方向。当Z/F=1时,PWM输出波形从正端Z进入H桥,电机正转。当 Z/F =0时,PWM输出波形从负端F进入H桥,电机反转。
Start键通过“与”门控制PWM输出,实现对电机的工作停止/控制。当START=1时,与门打开,允许电机工作。当START=0时,与门关闭,电机停止转动。
H桥电路由大功率晶体管组成,PWM输出波形通过方向控制电路送到 H 桥, 经功率放大以后对直流电机实现四象限运行。
基于FPGA的直流电机PWM控制省去了外接的D/A转换器和模拟比较器,FPGA外部连线很少,电路更加简单,便于控制。FPGA的直流电机PWM控制具有精度高,反应快,外部连线少,电路简单,便于控制等优点。
参考技术A module pwm(clk,leda);

input clk;//clk=50M=50 000 000
output leda; //led

reg [15:0] pwm,count; //PMW脉宽计数,周期计数
reg leda;

always @(posedge clk)
begin
count=count+1;
if(count[15]==1) //打到周期预设定的数值,就清零

begin
count=0;
end
if(count<pwm) //如果本周期中,周期小于PWM脉宽计数,那么LED就=1
leda=1;
else leda=0; //PWM的低脉冲时候,就为0
end
always @(posedge count[14]) //一个周期前面一点,产生PWM加/减 信号
begin
pwm=pwm+1'b1; //PWM 在一个周期完成之前加1,用于下一个周期的信号宽度
if(pwm[13]==1) //脉宽达到预设定的数值
pwm=0;
end

endmodule
参考技术B module pwm(clk,leda);

input clk;//clk=50M=50 000 000
output leda; //led

reg [15:0] pwm,count; //PMW脉宽计数,周期计数
reg leda;

always @(posedge clk)
begin
count=count+1;
if(count[15]==1) //打到周期预设定的数值,就清零

begin
count=0;
end
if(count<pwm) //如果本周期中,周期小于PWM脉宽计数,那么LED就=1
leda=1;
else leda=0; //PWM的低脉冲时候,就为0
end
always @(posedge count[14]) //一个周期前面一点,产生PWM加/减 信号
begin
pwm=pwm+1'b1; //PWM 在一个周期完成之前加1,用于下一个周期的信号宽度
if(pwm[13]==1) //脉宽达到预设定的数值
pwm=0;
end

endmodule

以上是关于设计遥控玩具的电路来控制若干个电机实现多种不同的组合运转方式,需要具备或者学习哪些电路设计知识?的主要内容,如果未能解决你的问题,请参考以下文章

无线遥控开关电路及其工作原理

IoT智能硬件设计:遥控窗帘设计

Verilog直流电机的pwm控制设计

使用arduino ps2无线遥控手柄实现 遥控小车

智能小车五《电机芯片》

红外遥感设计报告论文+电路原理图