Ⅰ 在设计一个基于单片机的自动贩卖机时我们有哪些方案可以选择
设计一个单片机的自动贩卖机可以采用多种方案,以下是一些常见的方案:
使用传感器和电机控制这种方案需要使用传感器来检测硬币和纸币,然后使用电机来释放产品。它需要对传感器的灵敏度和精度进行调整,并确保电机能够正确地释放产品轿誉岁。此外,还需要使用单片机控制传感器和闭睁电机。
使用红外线识别这种方案需要使用红外线来识别硬币和纸币,并使用电机来释放产品。这种方案需要对红外线传感器的灵敏度进行调整,并确保电机能够正确地释放产品。同样,需要使用单片机来控制传感器和电机。
使用RFID技虚指术这种方案需要在每个产品上放置RFID标签,并使用RFID读写器来识别硬币和纸币。读写器将读取RFID标签上存储的信息,然后使用电机释放产品。这种方案需要对RFID读写器的灵敏度进行调整,并确保电机能够正确地释放产品。同样,需要使用单片机来控制读写器和电机。
以上仅是一些常见的方案,实际设计时需要根据具体情况选择合适的方案,例如自动售货机的尺寸、销售产品的种类和数量等。
Ⅱ 请简述单片机系统的设计过程是怎样的
单片机应用系统设计分为硬件设计与软件设计两部分及系统调试三个部分,大致过程如下:一、硬件电路设计1、根据任务需求规划确定单片机类型及外围接口电路方案;2、根据方案设计具体电路。二、软件设计1、根据目标任务的功能需求,结合硬件电路控制方式,规划设计软件功能模块;2、将功能模块细化成流程图;3、根据流程图编写程序代码;4、将编译后的目标代码下载到实物单片机或虚拟单片机进行软件仿真调试;三、系统调试1、将初调成功的目标的代码下载到单片机目标试验板进行软硬件联调及功能验证;2、验证成功符合设计要求,就可以进入小批量测试了。
Ⅲ 单片机设计
首先要清楚你要做一个什么样的产品,这个产品包含哪些功能,要采集哪些信号?要控制哪些设备?要走哪些通讯协议?通讯协议走什么接口?是不是要显示界面?是不是要声光提示?是不是要低功耗?清楚了这些需求以后就可以选型了。
比如说我要做一个单片机密码锁,要求:
1. 有4位数码管显示;
2. 控制一个继电器;
3. 控制一个蜂鸣器;
4. 控制五个LED灯;
5. 两个按键输入;
2 芯片选型
根据你的需求来确定所选芯片型号。如第一部分的功能需求,这5个需求都只需要用到单片机的IO口,没有用到片上资源,所以只要IO口够用就可以了。
1. 4位数码管:为了方便大家学习,这里选用74HC595来驱动,该芯片与单片机相连只需要3个IO口;
2. 控制一个继电器;这个地方主要考虑线圈电压,单片机是5V供电,所以选用5V的继电器,占用1个IO口;
3. 控制蜂鸣器:选用有源蜂鸣器,即只要给电蜂鸣器就发声,占用1个IO口;
4. 控制5个LED灯:采用灌电流的方式,占用5个IO口;
5. 两个按键输入:采用上拉电阻,按下低电平实现,占用2个IO口;
总共用了3+1+1+5+2=12个IO口;为了方便初学者,那我们就选用STC的51单片机来完成这个设计吧,所选型号为STC89C51,封装形式为DIP40,相信大家在大学里学单片机的时候老师都是用这一款教的吧。
3 硬件原理设计
芯片选型完毕之后,又有了设计思路,那就赶快把电路图画出来吧。画电路图用什么软件呢?这样的EDA工具很多,像Protel99se、DXP、Altium Designer 等,这些都是软件都是一家出的,还有Cadence、PowerPcb等。本人用的是AD09。原理图设计的内容是什么呢?设计的内容包括单片机的最小系统、还有扩展出来的功能。
4 硬件PCB设计
当原理图画完,并且检查没有错误后,就开始画PCB吧,什么是PCB?PCB就是电路板,什么是电路板,就像下图这样的:
50171510883016
这是焊接之前的电路板,PCB文件设计好后,发给厂家去打样制版,做回来的就是这样的电路板。上图中的电路板用的都是直插元件。什么是直插元件,什么是贴片元件?这就设计到元器件的封装问题了。
如果大家感兴趣,我明后天把画pcb板的过程推送给大家。
5 样板焊接
什么是样板焊接?就是把电子元器件焊接在pcb板上。如果封装简单、样板数量少那完全可以自己动手焊接了,顺便也锻炼一下自己的焊接水平,对于一个搞电的人而言,一般都是从焊电路板过来的。如果搞电但不会焊接,别人会笑话你的。
6 调试程序
程序该怎么写?用什么工具写?不同的单片机有不同的编程环境,比如PIC单片机使用MPLAB编程环境,MSP430单片机使用IAR Embedded Workbench编程环境,DSP使用CCS编程环境。这里重点介绍的编程环境是Keil,Keil是目前所有编程环境中最好用的,也是支持芯片最多的,可以说Keil是目前最主流的编程环境,本人使用的是Keil的编程环境,Keil的C51版本和MDK版本都在用。
7 程序烧录
程序烧录的意思就是把写好的程序下载到单片机里,这样单片机才会按照用户编写的程序来执行命名、实现功能。程序要怎么样才能烧写到单片机中去呢?每种单片机都有各自的程序烧录接口。
Ⅳ 宇凡微单片机方案靠谱吗对这个方面你有什么了解
电动遥控车,是小孩们的梦想车,称得上是送礼佳选。开发一款产品,需要找到单片机开发公司,需要经验丰富的开发公司,可以规避产品的不良风险。宇凡微拥有成熟稳定的开发技术,强大的工程师技术团队,和多年的方案开发经验,合作企业也逐年增加。电动遥控车之类的电子产品方案开发,宇凡微8位单片机方案开发公司是很值得选择的,能给生产厂家解决大多数的方案开发问题,大幅度提高生产进度。
由于MCU必须按顺序执行程序,因此它适用于控制,在工业中得到更广泛的应用。单片机现在势不可挡,开发人员应接不暇,其发展也相当迅速。其典型的结构和完善的总线专用寄存器集中管理,许多逻辑位操作功能和丰富的控制指令系统可称为经典一代,为今后单片机的发展奠定了基础。
Ⅳ 跪求...基于51单片机自动跟踪阳光太阳能热水器控制系统的设计
对绿色能源的开发和利用是响应我国节能减排,环保政策的举措,太阳能作为可持续,零污染,具有很高的环保价值和经济效益,高效利用太阳能还可以有效替代部分化石能源,从而降低因石化能源燃烧导致的污染,减轻雾霾。然而农村太阳能丰富,却没能得到很好的利用,即便现有的发电产品对太阳能电池板也大多采用固定支架。课题对此提出了能够跟踪太阳方向的云台支架,可实现太阳能电池板自动调节而始终面向光线最强的一面,提高太阳能发电的利用率。课题从云台,电机驱动,控制器,光线传感器,液晶显示等构成,课题成果不仅可以用到太阳能发电,还可以用到其它的向光场所,如天文观测等具有较高的实用价值。
随着时代的进步与科技的飞速发展,使得对能源的需求随之增加,对不可再生能源的过度依赖[1],从而使得不可再生能源的存储量急剧减少,一些不可再生能源(石油)被视为战略资源,据目前统计,煤炭、石油、天然气也会在岁月的实践中而日趋枯竭,消耗殆尽。这些不可再生能源的产生显然跟不上人类对其的需求,为更好的实现可持续发展,本课题提出了一种太阳追踪的可行方案,可以大大提升对太阳能的利用,减少对不可再生资源的过度依赖。
为了解决人们对不可再生资源的过度依赖和对清洁能源的高利用率。提出设计一款零污染高效率的装置——太阳追踪器。通过电机,控制器,采光板光线传感器等元器件之间的相互配合,实现对太阳光照射最强的方位,实现全方位无死角跟踪,恰巧正好急需这样一款具有安全、环保、高效率、以及取之不尽用之不竭的特点,也很方便就可以获取,如风能和潮汐能一样是绝对的无污染清洁能源,这也就很好的阐述了光能的可行性[2]。——对此提出太阳跟踪装置设计与制作。
优点:太阳作为一个取之不尽用之不竭的能源。在《太阳能利用技术》[3]就有相关的提到,所到达地球表面能量等同于每秒向地球源源不断的投放了500万吨煤炭。阳光所到之处,皆为财富,免费使用的同时也不需要考虑任何的运输费用以及零污染等特性。
缺点:即便如此的看似完美无缺,也存在着两个致命性缺点[4]:一是能流密度很小;二是太阳的光照强度也会因为(天气、白夜等)因素的不同而有着很大的差距,很难长时间维持在恒定值,这也在一定程度上大大的影响了使用效率[5]。
国外太阳追踪器:对太阳能的使用在两千零四年到两千零六年太阳能的发电量都是惊人的4961MW[6],在一九九七年,美国的Blackace研制了单轴追踪器,热接收率提高了百分之十五......,后期围绕高效率,轻质量展开。在太阳能游艇、太阳能飞机、太阳能瓦片等方面得到运用,也见证了太阳能利用的高效率性[7]。
国内太阳追踪器:在应用市场上面得到了不断扩张,对于太阳能追踪器的利用那也是一个相当热门的谈话主题,途径多年的经验,将其用在了太阳能热水器、太阳能路灯以及西部计划、利用太阳能发电、太阳能供暖等等[8]。
更多的往往是采用单轴跟踪的方式,相比之下更需要多轴,实现全方位无死角跟踪。
针对不同条件下,提出了自动控制和手动调节的两种工作方式:
其中以“自动模式”概述:在自动追寻的过程中,会自动判断光的强度的大小,若下面光照强度大于上面光照强度,STM32单片机就会直接驱动上端电机向下翻转;以便于在下午太阳西落的时候,获得更多的光照,若上面光照强度大于下面光照强度,STM32单片机就会直接驱动上端步进电机向上运动;若上下两个方位的光照强度均等,上端步进电机不进行动作。在上下光照均匀,左右方向运动的情况,右方位的光照强度大于左方位,STM32单片机就直接驱动下方位第一个步进电机向左方位一定角度转动;若左方位的光照强度大于右方位的光照强度,STM32单片机就直接驱动下方位第一个步进电机向左方位进行运动;当左右方位采光度也保持几乎均应的时候光照,那么下方位的第一个电机也将保持不动。
“手动模式”状态进行使用按键手动来完成设备状态的切换。四个按键对应控制电机完成:上、下、左、右的翻转动作。通过点动的方式来控制驱动步进电机的实际运动。
在给设备系统进行上电后,系统最初为“自动模式”,这样可以更好的在不受人为干预的情况下实现对太阳能的最大接收。
编译语言的选取
方案一:C语言
简洁紧凑、灵活方便;运算符的丰富性;数据结构的丰富性;结构式语言;语法局限性小,程序编写自由度大;通过对物理地址的直接访问,使得完全可以对硬件实现直接控制;程序执行效率高。
C语言面向过程,最主要的在于算法和数据结构。通过一个过程,对输入进行运算处理得到输出。
方案二:C++
C++语言是面向对象的语言,在C的基础上添加了面向对象、模板等现在程序设计语言的特性。拓展了面向对象设计的内容,使之更加符合现代程序设计的需要。
看似C++比C多了很多优点和特性,但C++并不是所有场合都适用,很多嵌入式开发系统,都只提供了C语言的开发环境,而没有提供C++的开发环境。很多C++语言不愿意干的脏活累活,C语言干起来快活得很。而C++因为过于复杂,在这方面就稍逊一筹了。
方案三:java
Java是一种解释性语言,Java人气极高,但其代码由于需要在运行前进行解释因此性能表现更差。C++会被编译为二进制形式,因此其能够立即运行且速度更快。两个程序都足够大、而且C++的代码经过优化,两者的速度差就会变得很显着甚至很惊人,C++会比java快很多。
从系统的复杂性出发来考虑,同时整个过程的计算量比较大,因此我选用了浮点数的计算方式,选用方案一作为整个系统编译方式。
2.2 控制系统总体方案选取
方案一:视日寻迹追踪模式
这样的一种模式,是基于天文学公式来得出太阳在不同时候的理论性的方位角和俯仰角,在后根据太阳每天在当地实际的运行轨迹位置编写控制算法程序,通过使用控制算法的方式来实现对太阳所在位置的计算,最后通过驱动太阳能板的两个步进电机来达到俯仰和方位上的转动。有点是对外界环境的依赖小,同是也存在弊端,那就是不管外界环境是何种天气,它都会以同样的工作方式运动,增加了不必要的能耗和元器件的寿命磨损。
太阳的俯仰角h和方位角A的两个位置参数,可表达如下所示:
δ为赤纬角,Φ是本地纬度,Ω表示太阳时角。
方案二:光电追踪模式
该模式的核心算法是利用光敏传感器对太阳位置进行检测。具体方法:在遮阳板两侧完全对称地安装光敏传感器,当太阳光垂直照射在太阳能光伏电池板上时,安装在两侧上的光敏传感器所产生的电信号相等,将这两路信号经过放大后送入比较器进行比较,此时不驱动步进电机进行转动。当太阳位置移动后,遮阳板对阳光进行遮挡,此时两侧的光敏传感器产生的电信号不相等,从而经过放大比较后产生差信号,电机开始运动,完成太阳跟踪过程。
通过两者的比较,选择方案二,简单易操作性,更适合被普及广泛使用,在同等使用条件下,最简方案,则是最优方案。
2.3主控系统选择
方案一:51单片机作为控制芯片。主要是表现在:主要控制参数是使用设置寄存器变量得以实现,在程序的修改方面,也是相当的方便快捷,成本也是相对低廉,性能与相对简单的太阳能跟踪装置系统匹配;数字化的控制系统,可以达到较高的精度。
方案二:采用FPGA这样的大规模可编程逻辑器件,但本题属于控制类,即现场可编程门阵列[WJ1] ,它是在PAL、EPLD等可编程器件的基础上进-一步发展的产物。
方案三:ARM作为一种高性能嵌入式系统。考虑到方案的可实行性,STM32可以很好的解决数据处理和控制功能,十分适用于太阳能跟踪,虽是ARM价格昂贵,但是在后期的可拓展空间更大。[WJ2]
结合本次设计的任务要求,以及上诉三种方案的相对比较,最后选用方案三更适合本课题的设计标准,具体采用STM32F103C8T6。
2.4电机选择
方案一:选择步进电机,然而步进电机的最大优点就是可以精确地控制电机步数和角度,缺点是价格昂贵。
方案二:选择直流电机。价格便宜是它的一大亮点,通过减速齿可以提高扭力,具有更大的负载,但是对电机的高精度控制直流电机达不到设计要求。
步进电机作为一种将电脉冲转换成相应角位移或线位移的电磁机械装置。通过直接控制输入的脉冲数量,直接控制其启停,启动是速度快,步距角和转速只取决于脉冲频率,受外界影响因素小。因此,对于本设计任务要求,为更精确地完成对角度值的精度把控,更好地利用太阳能,因此我选用方案一作为本次课程设计的驱动电机。
2.5步进电机驱动系统选择
方案一:L298专业电机驱动模块的选择,这类驱动模块的操作方便以及接口简单同时他们既可以驱动步进电机,也可驱动直流电机。
方案二:三极管等分立元件搭H桥。亮点在于实惠型,控制方式简单以及结构简单。优点的同时也伴随着弊端的存在,电流的承载能力比较小,相同的驱动能力受到限制,分立元件则体积较大同时稳定性也得不到保证。
方案三:采用集成芯片,ULN2003。 .
达林顿管ULN2003,该芯片最多可一次驱动八块步进电机,本设计作用于两个步进电机,在实际的使用中,往往起着放点输出的作用用于驱动大负载的步进电机等。
本次设计综合考虑,依据实际设计需求,选择方案三作为步进电机的驱动系统。
2.6实体结构框架选择
方案一:两电机互相处以垂直状态,电机一是左右的转动而电机二是上下的转动,在不引入外界条件辅助设备的情况下会出现运动死角,从成本化出发是不可取的。
方案二:将两个电机由之前的垂直安装,改变为大于90°的安装,在不引入外部设备的情况下,可以很好的避开运动死角,从而可实现全方位无死角跟踪,综合上述情况选择方案二进行本次的实体结构设计。
2.2系统设计
2.2.1 单片机构成如下图:
逻辑不通顺,要指出FPGA不适用于本题的缺点
STM32整体比FPGA便宜很多,这条论证建议修改,或者做一个成本对比表再下结论
控制方式:第一步就是将数据程序输入到输入设备里面,输入设备将程序传输给运算器CPU和存储器,各自程序都对应的传输到控制器里面,由控制器完成完成相互的指令传递,最后都是作用于输出设备,在输出设备上显示出来的结果就是最初程序所要表达的效果。
2.2.2 系统整体控制框图如下:
图2–2–2 系统整体控制框图
控制方式:完成整个驱动控制,第一步就是感光元件及光敏电阻传感器对外界光的采集,完成电压跟随,通过A/D转换,然后通过电压的比较,使用STM32F103C8T6单片机控制电机的驱动,最终完成不同电机在不同的光照强度情况下不同方向的运动,最后实现对光的最大化接收。
2.2.3 电机控制框图如下:
图2–2–3 电机控制框图
控制方式:通过光敏传感器对光的采集,实现了最后对电机运动方式的不同选择和控制。
当感光元器件第一组接受到的光照强度值大于其它三个方位的光照强度时,那么电机完成水平方向的电机正转,并返回最初状态。
当感光元器件第二组接受到的光照强度值大于其它三个方位的光照强度时,那么电机完成水平方向的电机反转,并返回最初状态。
当感光元器件第三组接受到的光照强度值大于其它三个方位的光照强度时,那么电机完成垂直方向的电机正转,并返回最初状态。
当感光元器件第四组接受到的光照强度值大于其它三个方位的光照强度时,那么电机完成垂直方向的电机反正,并返回最初状态。
当所有的感光元器件都处于接受管的均匀照射时,此时的光照强度几乎大小相等,也就电机的状态保持不运动。
2.2.4整体电路原理图如下:
图2-2-4 整体电路原理图
系统软件总体设计流程如图 2-2-4 所示。系统启动后,软件先进行初始化等工作,当程序初始化完成后,通过 感光元器件获得当前的光照强度,然后根据初始化的参数,控制步进电机将太阳能光伏板转动到理论的初始状态,预定方位。将太阳能光伏板转动到理论位置后,程序开始判断步进电机转动模式是手动模式还是自动,初始默认状态是自动跟踪模式。
当手动模式时,人为调整电机控制上下左右 4 个按键的状态,使得电机按照人们预想的方向进行运动,以此来得以控制四个方位的不同垂直转动和水平移动的俯仰角和方位角。当程序判断为自动模式后,开始自动读取检测电路的返回信号,当检测到是各个方位的光照强度值有较大的的差异是,那么单片机就发出控制指令控制步进电机进行转动,升压模块是为了给整个系统稳定供电而存在。