太阳光跟踪系统设计
单轴太阳能光伏发电自动跟踪控制系统设计

单轴太阳能光伏发电自动跟踪控制系统设计引言:太阳能光伏发电已经成为可再生能源中最受关注的一种技术。
光伏发电效率受到太阳光照的影响,传统的固定光伏发电系统效率较低。
为了优化光伏发电系统的效率,设计了一种单轴太阳能光伏发电自动跟踪控制系统,能够根据太阳位置自动调整光伏板的角度,最大限度地提高太阳能的利用效率。
一、系统工作原理:该单轴太阳能光伏发电自动跟踪控制系统由光敏电阻、测量电路、控制电路和执行机构组成。
光敏电阻负责感应太阳光照强度,传递给测量电路进行电信号转换。
控制电路接收到转换后的信号,并与事先设定的峰值进行比较。
然后,根据比较结果来控制执行机构,使光伏板按需自动调整角度。
二、光敏电阻的选择:光敏电阻是该系统中最重要的一个元件,因为它直接影响到系统的准确度和稳定性。
在选择光敏电阻时,需要考虑以下因素:光敏电阻的特性曲线、光敏电阻的响应时间、光敏电阻的阻值范围等。
一般建议选择具有较高灵敏度和稳定性的光敏二极管。
三、测量电路设计:测量电路的作用是将光敏电阻的电信号转换为适合控制电路处理的电信号。
测量电路一般由信号放大器、滤波器和模数转换器构成。
信号放大器用于放大光敏电阻产生的微弱电信号,滤波器用于去除噪声和杂散信号,模数转换器用于将模拟信号转换为数字信号。
在设计过程中,需要合理设置放大系数和滤波参数,以确保测量电路的准确性和稳定性。
四、控制电路设计:控制电路是系统的核心部分,其功能是根据光敏电阻测量电路输出的信号,与事先设定的峰值进行比较,并根据比较结果来控制执行机构进行角度调整。
控制电路一般由比较器、运算放大器和逻辑电路构成。
比较器用于将输入信号与参考信号进行比较,运算放大器用于放大比较结果的差别,逻辑电路用于判断角度调整方向,并控制执行机构的运动。
五、执行机构设计:执行机构是该系统中最关键的部分,其功能是根据控制电路的指令,使光伏板按需自动调整角度。
常见的执行机构有两种:电动执行机构和气动执行机构。
光伏发电自动跟踪系统的设计

光伏发电自动跟踪系统的设计一、本文概述随着全球能源危机和环境问题的日益严重,可再生能源的开发和利用受到了越来越多的关注。
其中,光伏发电作为一种清洁、可再生的能源形式,具有广泛的应用前景。
然而,传统的光伏发电系统往往存在固定安装、无法有效跟踪太阳位置的问题,导致能量接收效率不高。
因此,本文旨在设计一种光伏发电自动跟踪系统,以提高光伏电池板的能量接收效率,从而推动光伏发电技术的发展和应用。
本文首先介绍了光伏发电的基本原理和现状,分析了传统光伏发电系统存在的问题和不足。
然后,详细阐述了光伏发电自动跟踪系统的设计原理和实现方法,包括硬件设计和软件编程两个方面。
在硬件设计方面,介绍了系统的主要组成部分,如传感器、电机驱动器等,并阐述了它们的工作原理和选型依据。
在软件编程方面,介绍了系统的控制算法和程序流程,包括太阳位置计算、电机控制等。
本文对所设计的光伏发电自动跟踪系统进行了实验验证和性能分析,证明了该系统的有效性和优越性。
也指出了该系统存在的不足之处和改进方向,为未来的研究提供了参考和借鉴。
通过本文的研究和设计,旨在为光伏发电领域提供一种高效、可靠的自动跟踪系统解决方案,推动光伏发电技术的进一步发展和应用,为实现可持续发展和环境保护做出贡献。
二、光伏发电原理及关键技术光伏发电是利用光生伏特效应将光能直接转换为电能的发电方式。
当太阳光照射到光伏电池上时,光子与光伏电池内的半导体材料相互作用,激发出电子-空穴对。
这些被激发的电子和空穴在光伏电池内部电场的作用下分离,形成光生电流,从而实现光能向电能的转换。
光伏发电的关键技术主要包括光伏电池材料的选择、光伏电池的结构设计、光电转换效率的提升以及系统的集成与优化。
光伏电池材料是光伏发电的基础,常用的材料有单晶硅、多晶硅、非晶硅以及薄膜光伏材料等。
不同材料具有不同的光电转换效率和成本,因此在选择时需要综合考虑性能和经济性。
光伏电池的结构设计也是影响光伏发电效率的重要因素。
基于单片机的太阳能追光系统设计

基于单片机的太阳能追光系统设计随着社会进步和科技发展,太阳能作为一种清洁、可再生能源越来越受到人们的关注和重视。
太阳能发电系统是利用太阳能源,将其转化为电能的一种装置,其中,太阳能追光系统是太阳能发电系统中重要的一部分。
本文将介绍基于单片机的太阳能追光系统的设计。
一、太阳能追光系统的原理在太阳能发电过程中,太阳能的转化效率与太阳光照的直射角度有很大的关系。
因此,为了达到最高的发电效率,需要保证太阳能电池板始终朝向太阳。
太阳能追光系统正是为了实现这一目的而设计的。
太阳能追光系统主要由光电传感器、驱动电机、单片机、各种电子元件等组成。
系统的工作原理如下:当光电传感器感知到太阳光照射到电池板上时,会向单片机发送信号,单片机会通过内部的程序算法计算出太阳的位置,并发出指令控制驱动电机调整电池板的位置,使其始终朝向太阳。
这样就能够最大程度地保证太阳能电池板的直接照射,从而实现最高的发电效率。
二、系统设计方案基于单片机的太阳能追光系统主要由以下几个部分构成:1.光电传感器光电传感器是太阳能追光系统的重要组成部分,它的作用是感知太阳光照射到电池板的情况,并将感知到的信息传输给单片机。
常见的光电传感器包括光敏二极管、光敏电阻等。
2.驱动电机驱动电机是用来调整太阳能电池板的方向的,可以根据单片机指令进行旋转。
现在市面上有很多种驱动电机,包括舵机、直流电机等。
驱动电机选择需要考虑功率大小、旋转速度、控制方便程度等因素。
3.单片机单片机是太阳能追光系统的核心部分,通过内部的程序计算太阳的位置,并发出信号控制驱动电机调整电池板的方向。
现在市面上常用的单片机包括51系列、STM32系列等。
4.电子元件太阳能追光系统还需要一些电子元件的配合工作,包括电容、电阻、二极管、发光二极管等。
三、系统实现方法太阳能追光系统的实现具体步骤如下:1.选用合适的光电传感器和驱动电机,并将它们与单片机相连通。
2.编写单片机程序,通过程序将光电传感器感知到的信息转化为太阳的位置,并发出右、左、上、下等指令控制驱动电机的转动。
《2024年太阳能自动跟踪系统的设计与实现》范文

《太阳能自动跟踪系统的设计与实现》篇一一、引言随着环境保护和可再生能源的日益重视,太阳能的利用成为了全球关注的焦点。
太阳能自动跟踪系统作为一种提高太阳能利用效率的重要手段,其设计与实现显得尤为重要。
本文将详细阐述太阳能自动跟踪系统的设计原理、实现方法和应用前景。
二、系统设计目标本系统的设计目标是为了提高太阳能的利用率和发电效率,通过自动跟踪太阳的运动,使太阳能电池板始终面向太阳,从而最大限度地接收太阳辐射。
同时,系统应具备操作简便、稳定可靠、成本低廉等特点。
三、系统设计原理太阳能自动跟踪系统主要由传感器、控制系统和执行机构三部分组成。
传感器负责检测太阳的位置,控制系统根据传感器的数据控制执行机构进行相应的动作,使太阳能电池板能够自动跟踪太阳。
1. 传感器部分:传感器采用光电传感器或GPS传感器,实时检测太阳的位置。
光电传感器通过检测太阳光线的强度和方向来确定太阳的位置,而GPS传感器则通过接收卫星信号来确定地理位置和太阳的位置。
2. 控制系统部分:控制系统是太阳能自动跟踪系统的核心部分,负责接收传感器的数据,并根据数据控制执行机构的动作。
控制系统采用微处理器或单片机等控制器件,通过编程实现控制算法。
3. 执行机构部分:执行机构主要负责驱动太阳能电池板进行动作。
常见的执行机构有电机、齿轮、导轨等,通过控制执行机构的动作,使太阳能电池板能够自动跟踪太阳。
四、系统实现方法1. 硬件实现:太阳能自动跟踪系统的硬件主要包括传感器、控制系统和执行机构。
传感器和执行机构的选择应根据实际需求和预算进行选择,而控制系统的硬件则需根据所采用的微处理器或单片机等器件进行设计。
2. 软件实现:软件实现主要包括控制算法的编写和系统调试。
控制算法的编写应根据传感器的数据和执行机构的动作进行编程,通过控制算法实现太阳能电池板的自动跟踪。
系统调试则需要对整个系统进行测试和调整,确保系统的稳定性和可靠性。
五、应用前景太阳能自动跟踪系统的应用前景广阔,可以广泛应用于太阳能发电、太阳能热水器、太阳能干燥等领域。
基于arduino的光伏追光系统设计

基于arduino的光伏追光系统设计基于Arduino的光伏追光系统设计引言:随着环境保护和可再生能源的重要性日益突显,光伏发电作为一种清洁能源形式正迅速发展。
然而,光伏发电的效率往往受到太阳光角度和光照强度的影响。
为了最大限度地提高光伏发电的效率,追踪太阳光的方向并保持太阳光直射是至关重要的。
本文将介绍基于Arduino的光伏追光系统设计,以提高光伏发电的效率。
第一部分:系统组成和原理光伏追光系统主要由Arduino控制器、太阳光传感器、直流电机和光伏阵列组成。
其原理是通过太阳光传感器检测光线方向,并由Arduino控制器控制直流电机旋转光伏阵列,使其保持与太阳光直射的角度。
第二部分:系统硬件设计1. 主控制器:使用Arduino UNO作为系统的主控制器。
Arduino UNO 具有良好的可编程性和广泛的硬件支持,适合用于各种控制系统。
2. 太阳光传感器:使用光敏电阻或光电二极管作为太阳光传感器。
这些传感器可以根据光照强度的变化产生相应的电压变化,从而检测光线方向。
3. 直流电机:使用带有驱动电路的直流电机作为光伏阵列的转动装置。
直流电机可以根据Arduino控制器的指令旋转光伏阵列。
4. 光伏阵列:使用光伏电池组成光伏阵列,根据太阳光的角度和方向来调整其位置。
第三部分:系统软件设计1. 传感器数据读取:首先,在Arduino控制器上配置太阳光传感器,并编写程序读取传感器的数据。
Arduino控制器将实时获取传感器的数据以确定光线的方向。
2. 光伏阵列调整:根据太阳光的方向和角度,编写程序控制直流电机调整光伏阵列的位置。
程序将根据传感器数据计算光伏阵列与太阳光直射的角度,并将指令发送到直流电机来旋转光伏阵列。
3. 稳定性控制:为了确保光伏阵列可以迅速而准确地跟踪太阳光的位置,程序需要定期读取传感器数据,并进行稳定性控制。
可以使用PID控制算法来确保追踪的准确性和稳定性。
第四部分:系统性能测试和优化1. 小范围测试:首先,对系统进行小范围测试,观察光伏阵列是否能够准确地跟踪太阳光的位置。
基于PLC的二维极轴太阳光自动追踪系统的设计

郑 晓斌 林 立 生 ( 福建船政交 7 )
摘 要
太 阳 光 自动 追 踪 系统 的追 踪 策 略 采 用程 序 控 制 和 传 感 器控 制 相 结合 的方 法 , 使 用粗 追 踪 和 精 确 追 踪 两种 模 式 , 实现 对
t a ge s s u ch as K ey wor ds : pr ogr amm a bl e l ogi c co n t r ol , au t o ma t i c t r ac k i n g s ys t e m, i n t el l i ge nt l i gh t i n t e n s i t y s e n s or
太 阳 光 线 方位 角与 高度 角 的精 确 追踪 。将 全 年 每 半 个 月的 太 阳追 踪 参数 为标 准值 , 粗追踪就是利用 P L C 查表 的 方 式 来 实 现; 同 时也 对 光 强智 能 传 感 器 硬 件 合 理 设 计 以及 电机 拖 动 模 块 进 行 了重 点 的探 讨 , 使 得 系统 具 有 较 小 的 追踪 精 度 误 差 , 抗
干扰 能 力越 强等 诸 多优 点 。 关键 词 : 可 编程 序 控 制 器 , 自动 追 踪 系统 , 光 强智 能 传 感 器
Ab s t r a c t
S ol ar a u t o mat i c t r a ck i ng s ys t e m f or t r ac k i n g s t r a t eg y a do pt s t h e pr o g r a m c on t r o l an d t r a n s du ce r c on t r o l m e t h ods , u s i n g c o ar s e t r ac k i n g an d pr e ci s e t r a c k i n g o f t wo k i n ds o f mo de, r ea l i z es t o t h e r a y s o f t h e s u n a z i mu t h an d el e v a t i on an gl e pr e —
基于嵌入式系统的光伏平单轴跟踪系统设计

基于嵌入式系统的光伏平单轴跟踪系统设计光伏平单轴跟踪系统是一种通过控制太阳能光伏阵列的角度来实现最大化能量收集的系统。
在这个系统中,嵌入式系统起到了关键的角色,负责控制光伏阵列的角度并实时进行跟踪。
首先,光伏平单轴跟踪系统的设计需要考虑到系统的稳定性和精度。
为此,我们可以选择一款高性能的嵌入式微控制器作为硬件平台,并在其上运行专门设计的软件。
嵌入式系统应该具备高速、高精度的数据处理和控制能力,以确保光伏阵列能够在各种天气条件下实时进行准确的角度调整。
其次,在软件设计方面,嵌入式系统需要实现准确的光源跟踪算法。
一种常用的算法是最大光照度追踪算法,通过实时检测太阳光的强度变化来调整光伏阵列的角度。
该算法可以通过采集光强度传感器的数据,并与事先设定的阈值进行比较,确定光伏阵列的最佳角度。
嵌入式系统需要能够根据算法计算得到的角度,控制电机或其他执行器来实现角度调整。
此外,嵌入式系统还需要具备良好的用户界面,以便用户对光伏平单轴跟踪系统进行设置和监控。
用户界面可以通过液晶显示屏、按键等元件实现,使用户能够方便地设置光伏阵列的跟踪模式、角度范围等参数,并实时监测光伏阵列的工作状态。
最后,在硬件设计方面,嵌入式系统需要与光伏阵列、电机等硬件设备进行良好的接口。
可以通过使用传感器来检测光伏阵列的角度和光强度,通过使用电机控制器来控制电机的运行以实现角度调整。
嵌入式系统还需要具备电源管理功能,以确保整个系统能够正常工作并具备适应不同工作条件的能力。
总的来说,基于嵌入式系统的光伏平单轴跟踪系统设计需要考虑到系统的稳定性、精度和用户友好性。
通过选择适当的硬件平台、设计高效的算法、合理设计硬件接口和用户界面,可以实现一款高性能的光伏平单轴跟踪系统,从而提高光伏发电系统的能量收集效率。
太阳光跟踪系统设计

于 晨 2011307200706 刘承通 2011307200701 杨朱萍 2011307200729 周晓玲 2011307200730
目录
1,设计理念.....................................................................................................................................2 2,创意来源.....................................................................................................................................2 3,系统框图设计 ............................................................................................................................. 3 4, 系统主要元器件选择................................................................................................................3 5,传感器设计.................................................................................................................................5 6,系统电路图设计 ......................................................................................................................... 6 7,设计难点.....................................................................................................................................7 8,MSP430F149 定时器 .................................................................................................................8 9,程序设计...................................................................................................................................10 10,结论......................................................................................................................................... 18 11 心得体会....................................................................................................................................18
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
太阳光跟踪系统设计石强机电工程学院04085159太阳光跟踪系统设计1,设计理念太阳能是一种应用前景无限宽广的新型能源,如何高效的运用太阳能是当前的一大研究主题,应用太阳能一方面是要有很好的光能转化效率,最基本的是要能充分的利用能接收光照的时间,另一方面则是要降低系统设计的功耗,即尽可能少的消耗能量。
本设计利用光敏电阻构成的测光电路对太阳光方向进行检测,将检测信息传给CPU,CPU通过传来的检测信息,改变控制舵机的信号使检测系统能调整到正对太阳光的方向,即实现了对太阳光的跟踪;太阳的方位在一天的时间中总是在改变,能始终捕获到太阳的方向,就相当于可以提高接收光能的时间,这样就可以尽可能多的获取太阳能。
超低功耗处理芯片的使用,及小型舵机的使用,加上系统的低功耗设计模式(如一般分压时采用大的电阻来降低电流损耗)可以为系统尽可能的减小功耗。
本设计旨在能最大限度的使用新型能源——太阳能;因为有了对太阳光方向的跟踪,就可以实时的将系统调整到太阳光正对的方位,如太阳能电池板等,这样就可以获得最大的太阳光能量。
2,创意来源当今社会,随着对新能源技术的重视度加深,新能源应用技术方面也得到了很大的发展;太阳能作为最有潜力的新型能源,其利用将是极具吸引力的。
当前由于太阳能的使用受到诸多的局限,一方面是自然条件的局限,因为太阳的方向是时刻改变着的,而基本架设的太阳能电池板是固定不动的,这样,在一天的时间内,固定方向的太阳能接收能力自然是有限的;另一方面是科技水平的局限,即当前生产出来的太阳能——电能转化设备的效率并不高,以至于无法提供较大的功率。
虽然后者本人暂时无能为力,但是却可以在前者上下功夫;曾听闻舍友说清华曾今有全太阳能供电车设计,这种车全身装载太阳能电池板,可以载一人(当然对人的体重还是有限制的),这就说明,相对较高的光电转化设备已经在展现,如果在此同时能提高接收光照的时间的话,效果定然更好。
本系统设计通过光照检测,最终达到系统能自动识别光照方向,实现自动调整,始终跟踪太阳光;至于加载高性能的太阳能电池板对系统进行供电,暂时不作扩充,但是本设计的最终目的在于配合太阳能电池板的使用,提高光能的使用效率。
3,系统框图设计4, 系统主要元器件选择(1)CPU的选择控制系统只需要输出PWM调制波形即可,一般的MSP430系列单片机均能满足要求,这里选用常用的MSP430F149单片机作为核心处理器件;通过软件的编程,周期的唤醒CPU以降低在其上的功耗。
MSP430F149引脚图(2)舵机的选择系统要求在满足需求的情况下尽量降低功耗,由于小型的太阳能电池板本身不是很重,一般的小型舵机足以满足载动需求,舵机采用4.8V供电,要满足两个自由度方向调整,需小型舵机两个技术参数:产品尺寸: 23x12.2x29mm产品扭矩: 1.6kg/cm(4.8V)反应速度: 0.1sec/60degree(4.8v)工作电压: 4.8V使用温度: 0-55度动作死区: 10us齿轮介质: 尼龙工作模式: 模拟5,系统电路图设计原理图说明(图中用光敏二极管代表光敏电阻):除单片机最小系统的基本外设外,通过两个3孔排针,用来连接方位控制用的舵机,舵机的信号分别由MSP430F149的P4.1和P4.2口输入,使用第二功能,即分别接的是TB1和TB2口,通过PWM调制来控制转动方向。
测光系统由四只光敏电阻组成,四只光敏电阻分别放在正四面体的四个面上,通过分压之后接入单片机的A/D端口;光敏电阻在暗光条件下,阻值在几百千欧或者几兆欧,而在光照条件下阻值降到几千欧;当系统复位后,接收光照的光敏电阻阻值下降,使端口呈现接地(电路使用的是100K 的电阻与光敏电阻串联后接地),通过对A/D采样值的比较及对控制算法的设计,可以调整到最终四个光敏电阻均对太阳光方向,从而实现太阳光跟踪。
6,设计难点设计主要使用到MSP430F149的定时器B来输出PWM波,定时器A作辅助设计,A/D采集模拟信号,舵机控制要求必须是周期为20ms,脉冲宽度在0.5~2.5ms间的PWM波,不同脉冲宽度对应的是舵机转动的不同角度,一般给定的参数如下:0.5ms——转到0°位置;1.0ms——转到45°位置;1.5ms——转到90°位置;2.0ms——转到135°位置;2.5ms——转到180°位置;此为舵机在控制时的理论控制角度,实际的转动角度须经过实测得到,以免出现角度超过,损坏舵机;而且,舵机的一次转动角度不宜过大,尤其是当负载较重时,因为舵机的转动速度比较快,转动的负载会有一定的惯性,而舵机内部是塑料齿轮的卡位,容易损坏。
7,MSP430F149的TA定时器(用到的主要是TB)TA定时器分为主计数器和比较/ 捕获模块两部分,主计数器负责定时,计时或计数,只需定时,计数功能时,可以只能使用主计数器部分。
在PWM调制,利用捕获测量脉宽,周期等应用时,需要比较/捕获模块配合。
在本设计中,主要使用的是PWM调制,所以需要使用比较/捕获模块。
TA定时器的主计数器相关的控制位都位于TACTL寄存器中,主计数器的计数值存放于TAR寄存器中;每个比较/捕获模块还有一个独立的控制寄存器TACCTLx,以及一个比较值/捕获值寄存器TACCRx(x=0,1,2)。
在一般的定时应用中,TACCRx可以提供额外的定时器中断触发条件;在PWM 输出模式下,TACCRx用于设定周期占空比;在捕获模式下,TACCRx存放捕获结果。
TASSELx:TA计数器的时钟源选择IDx:TA计数器的预分频系数MCx :TA计数器的计数模式TAIFG:TA计数器溢出标志位(中断标志位)当通过控制位选择TA的捕获 /比较模式后,TACCRx的值由软件写入,并通过比较器与主计数器的计数值进行比较;每次相等产生EQU信号,该信号触发输出逻辑,通过OUTMODE控制位可以配置输出逻辑,通过不同的输出逻辑配置来产生各种输出波形;整个过程无需CPU干预,软件只需改变TACCRx的值即可改变波形的某些参数。
TA比较模块有8种输出模式(1)模式0(电平输出)在模式0下,TAx管脚与普通的输出I/O口一样,可以由软件操作OUT控制位来控制TAx管脚的电平高低(2)模式1与模式5(单脉冲输出)利用比较模块的模式1和模式5,可以代替单稳态电路,产生单脉冲波形(3)模式3和模式7(PWM输出)脉宽调制(PWM)是最常用的功率调整手段之一,所谓脉宽调制,是指在脉冲方波周期一定的情况下,通过调整脉冲(高电平)的宽度,从而改变负载的通断时间的比例,达到功率调整的目的(4)模式2与模式6(带死区的PWM输出)PWM调制不仅能用于功率调节,还被广泛地用于逆变器,开关电源,变频调速,斩波器等高效功率变换应用。
在这些应用中,因为涉及电压变换或者要求输入与输出之间隔离,常用变压器作为能量传递部件。
变压器只能传递交流能量,所以在电路设计中常用推挽电路或者半桥式电路来获得交流大功率信号(5)模式4(可变频率输出,移相输出)输出模式4下,TA计数器每次到达TACCRx值时,TAx管脚电平自动取反。
因此改变TA的计数周期可以改变TAx管脚的输出频率;同时,若改变TACCRx 的值可以改变波形的相位8,程序设计程序设计由PWM产生程序及A/D采集程序组成PWM波形由TB定时器产生,主要是由于1系列内部没有BT定时器,本人习惯将TA配置成BT 定时器形式,方便后续编程使用A/D采集程序,主要用于检测光敏电阻的接受光照情况,从而判断太阳光方向由于太阳光的改变时间很长,所以不需要舵机在短时间作出反应,所以程序设计时,将舵机的动作时间定为每2s改变一次,而TB定时器输出波形无需CPU干涉,所以在程序执行的大部分时间中,可以使CPU进入低功耗模式,降低系统功耗PWM产生程序(TB定时器)#include "msp430x14x.h"int volatile a,b;/**********************************************************名称:Two_Channel_PWM_Produce();功能:产生两路电机控制方波,P4.1(TB1); P4.2(TB2)**********************************************************/void Two_Channel_PWM_Produce(){P4DIR |= BIT1; //将P4.1置为输出P4SEL |= BIT1; //将P4.1设置为第二功能P4DIR |= BIT2; //将P4.2置为输出P4SEL |= BIT2; //将P4.2设置为第二功能TBCTL |= TBSSEL_1+ID_0+MC_1; //时钟源选择ACLK, 无分频,增计数模式 TBCCTL1 =OUTMOD_7; // TB1高电平PWM输出,模式7TBCCTL2 =OUTMOD_7; //TB2高电平PWM输出,模式7TBCCR0=655; //PWM总周期TBCCR1=a; //设置TB1占空比TBCCR2=b; //设置TB2占空比}//实际舵机在调整时,有极限角度限制/*****************************************12位AD采集四路的光敏电阻的信息通过转换给CPU进行处理*****************************************/#include "msp430x14x.h"unsigned int ADC12_Out[4];int ADC12_Flag;//ADC初始化void ADC12_Init(){P6SEL = 0x0f;//将P6.0~P6.3设置为输入for(int i=0;i<=3;i++)ADC12_Out[i] = 0;ADC12CTL0 = ADC12ON + REFON + REF2_5V;}//序列通道单次转换void ADC12_SampleAll(){ADC12CTL0 &= ~ENC;ADC12CTL0 = ADC12ON + REFON + REF2_5V + SHT0_5 + MSC;//SHT0 SampleTime=96CLKADC12CTL1 = ADC12SSEL_0 + SHP + CONSEQ_1+ CSTARTADD_0;//ConvertTime=13CLKADC12MCTL0 = SREF_1 + INCH_0;ADC12MCTL1 = SREF_1 + INCH_1;ADC12MCTL2 = SREF_1 + INCH_2;ADC12MCTL3 = SREF_1 + INCH_3+ EOS;ADC12IE = BIT3;_EINT();ADC12CTL0 |= ENC + ADC12SC; //开始转换}//ADC转换完成中断#pragma vector = ADC_VECTOR__interrupt void ADC12_IRQ(void){ADC12_Out[0] = ADC12MEM0;ADC12_Out[1] = ADC12MEM1;ADC12_Out[2] = ADC12MEM2;ADC12_Out[3] = ADC12MEM3;ADC12_Flag = 1;__low_power_mode_off_on_exit();}/******************************************本段程序为舵机随光程序用AD通过光敏电阻采集到光照方向的相关信息通过算法,具体调整没有给出,得到相应舵机控制的PWM波******************************************/#include "msp430x14x.h"#include "ADC_12.h"#include "PWM.h"int volatile temp1,temp2;int i;void Init_TimerA(){TACTL=TASSEL_1+DIVA_0+TACLR; //选择ACLK,晶振32.768k,不分频,清除TARTACCTL0=CCIE; //CCR0 允许中断TACCR0=4096-1; //频率是8HZ,频率=晶振频率/计数值TACTL|=MC_1; //增计数模式}void main( void ){WDTCTL = WDTPW + WDTHOLD;//关闭看门狗//初始化a=47; //上路舵机控制,中间,17~25~37b=30; //下路舵机控制,中间,17~47~81,此舵机参数为之前的设置Two_Channel_PWM_Produce(); //舵机初始化Init_TimerA(); //定时器A初始化_EINT();//开中断while(1){for(i=0;i<500;i++);//略等待while(TA_IFG == 0)LPM3;TA_IFG = 0;TA_Count++;//以下程序每2s执行一次If(TA_Count==16){TA_Count=0;temp1=ADC12_Out[0]-ADC12_Out[2];temp2=ADC12_Out[1]-ADC12_Out[3];//其中相减的两路为正对的两路信号,与接线有关系//由于接收光照的光敏电阻与未接收光照的光敏电阻的差别,可以根据结果设计算法······}}#pragma vector = TIMERA0_VECTOR __interrupt void TA0_IRQ(void) {TA_IFG = 1;__low_power_mode_off_on_exit(); }。