基于单片机的车载太阳能板自动跟踪系统研究
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式
文章目录
- 概要
- 一、总体设计开发流程
- 二、机械结构设计与研究
- 3.1 机械系统总体设计
- 3.1.1 太阳能板折叠传动
- 三、太阳能自动跟踪系统硬件设计
- 仿真图
- 四、结论
概要
本论文的课题即为研究电动汽车如何利用太阳能板自动跟踪阳光解决传统太阳能板太阳能利用率低的问题。在汽车使用人群中,上班族占有很大的比例,在晴天长时间停泊时能够利用太阳能对电池能源进行补充是一个有着深远意义的课题。目前,如何最大效率地利用太阳能成为了大家探索的问题,由于地球的自转和公转,太阳与地球的两者的相对位置是持续变化的,本论文通过单片机控制太阳能板对阳光进行精准捕捉,使得太阳能入射光线能够在大部分时间内垂直太阳能板,以提高太阳能利用效率,大大提高了电能转化效率。综上所述,研发出一套在电动汽车上能够实现自动对阳光进行精准定位及捕捉的装置,对提高太阳能利用率、环境保护有着重大深远的意义。
一、总体设计开发流程
本课题的开发设计,总体分为3个部分,由机械机构、硬件和软件三个部分组成,机械部分关于机械结构展开折叠、电动推杆高度角的追踪和云台电机对方位角的追踪,硬件部分包括选用硬件类型,电路设计,以及电路仿真,软件部分包括系统控制总流程图,主程序编写以及子程序编写,程序编写完成后,编译输入硬件电路,仿真,观察电路显示状况,观察是否达标。
二、机械结构设计与研究
3.1 机械系统总体设计
对于机械系统的设计,本课题由于是在汽车上加载的太阳能自动跟踪系统机构,因此应该保证机械结构设计结构方便,轻量,易拆卸的主要功能,同时,机械结构是确保方案能正常实现功能的载体,机械系统的好坏直接影响了系统控制的精度。在本次设计中,设计方案抛弃了传统双轴的笨重与控制难度,能保证太阳能板展开面积的同时,解决了控制难的问题。
首先,展开机构由三个步进电机控制,控制太阳能板的展开与收回;太阳高度角的跟踪实现通过电动推杆的伸缩控制;太阳方位角的跟踪实现通过云台电机实现。
图3.1 装配图
通过CATIA的装配图,可直观看出机械机构的运动状态。
3.1.1 太阳能板折叠传动
本设计关于太阳能板折叠机构的研究,在设计前期,参考了众多太阳能板翻折的案例,与其翻折方法,由于太阳能板的特殊性,研究人员都尽可能增大其光照面积,但又必须考虑其体积影响,由此,延伸了许多种翻折结构;
目前,现代较为常用的翻折结构,一般有:(1)平板型;(2)轴心翻折型;(3)伞型;(4)轴心重叠型等;由于应用场景等限制因素,需自行选择展开方式。
本设计由于应用于常规汽车上,对于体积、重量、外形以及运动方式,都比较严格,所以本设计采用了平板式与轴心翻折式结合的方式进行改良,能很好的控制其空间体积,也能很好的减轻重量负担;本设计通过使用步进电机作为动力源,使用轴承、固定器,连接器、刚性轴等进行传动。
三、太阳能自动跟踪系统硬件设计
本设计是太阳能自动跟踪系统的研究,利用光电追踪作为主要追踪方式,并在扩大太阳能展开面积的方面,使用新型折叠方式,利用平面与翻折的方法结合;在追光系统方面,光电追踪作为如今研究技术较为成熟的追踪方式,技术与达成效果也是相当理想。现在控制领域里的控制系统和控制芯片有很多,它们有着自己的特点和优点以及适合使用场景。本文设计的是车载太阳能板自动追踪系统,所以需要控制系统满足控制稳定、能适应不良环境、体积小、抗电磁干扰能力强、价格合理、使用方便等特点。因此在本系统中,我们最终考虑选用单片机作为控制系统。因为单片机有着结构简单、控制功能强、可靠性高、体积小、价格低、低能耗、对数据的处理能力和运算能力
较强等特点。
根据设计方案,并且通过对比与参考,选择了一系列符合设计的元器件,在主控模块选择功能作用应用较为广泛的芯片AT89C51;信息采集输入器件选用一个光敏电阻作为检测天气光照强度的器件,另外选用四象限探测器用于判断大致太阳的高度角与方位角;选用PCF8591模块,进行信息采集,也就是A/D转换过程;利用ULN2003作为步进电机的驱动芯片;LCD1602液晶显示模块,对采集器的信息进行显示等。
仿真图
四、结论
本设计利用光敏电阻作为检测当时现场条件光照强度的元器件,在系统中,选用了四象限探测器作为识别太阳位置的检测元器件,探测器通过对比ABCD四个象限的光照感应值,并通过PCF8591实现A/D转换,输入电信号给单片机C51,单片机通过程序逻辑运算,给电机驱动模块传递信号,驱动相应电机,组成光电跟踪系统;由于光电追踪技术发展时间已经有一段时间,因此技术已经相对成熟。由于光电跟踪相对简单而且控制方便,系统在保证精准度的同时,也充分考虑了系统的简化程序。
相关文章:

基于单片机的车载太阳能板自动跟踪系统研究
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、总体设计开发流程二、机械结构设计与研究3.1 机械系统总体设计3.1.1 太阳能板折叠传动 三、太阳能自动跟踪系统硬…...
前端传字符串的开始时间和 结束时间,数据库时间字段是 timestamp,Java 代码如何写
目录 1 需求2 实现 1 需求 数据库时间字段类型是timestamp,前端传的开始时间和结束时间是字符串,那么代码如何写,可以实现 时间段查询 2 实现 实体类里面的字段是String xml 里面是 </if><if test"startTime !null and sta…...

Mac电脑录屏软件 Screen Recorder by Omi 中文最新
Screen Recorder by Omi是一款屏幕录制软件,它可以帮助用户轻松地录制屏幕活动,并将其保存为高质量的视频文件。 该软件提供了多种录制选项,包括全屏录制、选择区域录制和单窗口录制等,同时提供了丰富的设置选项,如视…...

Android 接入ttf字体文件
一、业务实现 一些炫酷的App总会加一些App自己的字体。这时候需要找UI提供ttf字体文件。 然后实现 TTF(TrueType Font)字体文件并将其应用到 TextView。 二、大致流程 将 TTF 字体文件添加到你的 Android 项目中: 将 TTF 文件复制到 res/f…...
Java中各种数据格式-json/latex/obo/rdf/ turtle/owl/xml介绍对比示例加使用介绍
一、数据格式类型 这些文件名称似乎包含了不同的数据格式扩展名,如.json, .latex, .obo, .owl, .rdf, .turtle, 和 .xml。以下是对这些数据格式的简要解释和讲解: JSON (.json): JSON(JavaScript Object Notation)是一种轻量级数…...
计网note
目录 其他 未分类文档 应用层补充 分组交换和报文交换 TCP和OSI参考模型...

Mac版eclipse如何安装,运行bpmn文件
一、下载程序包 网址:https://www.eclipse.org/downloads M2芯片安装包名称:eclipse-jee-2022-12-R-macosx-cocoa-aarch64.dmg 具体安装包版本根据自己电脑型号选择 二、eclipse安装步骤 1)双击下载的文件 2)将eclipse拖入到…...

3D高斯泼溅(Splatting)简明教程
在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 3D场景编辑器 3D 高斯泼溅(Splatting)是用于实时辐射场渲染的 3D 高斯分布描述的一种光栅化技术,它允许实时渲染从小图像样…...
为什么要停止在 SpringBoot 中使用字段注,改用构造器注入
停止在 SpringBoot 中使用字段注入! 本文为翻译文,同时加入了一些自己的理解,翻译来源:https://medium.com 在 Spring Boot 依赖项注入的上下文中,存在关于注入依赖项最佳实践的争论:字段注入、Setter注入和构造函数…...

数据可视化:地图
1.基础地图的使用 如何添加颜色表示层级 代码实现 """基础地图的使用 """ from pyecharts.charts import Map from pyecharts.options import VisualMapOpts# 准备地图对象 map Map() # 准备数据 data [("北京市", 9),("上海市…...

java 数据结构 ArrayList源码底层 LinkedList 底层源码 迭代器底层
文章目录 数据结构总结ArrayList源码底层LinkedList底层源码 迭代器底层 数据结构 对于数据结构我这边只告诉你右边框框里的 栈的特点:后进先出,先进后出,入栈也成为压栈,出栈也成为弹栈 栈就像一个弹夹 队列先进先出后进后出 队列像排队 链表查询满 但是增删快(相对于数组而…...
如何在Python编程中应用Linux环境下的框架,以实现高效算法?
python是一种广泛使用的编程语言,能够帮助开发人员快速开发高效的算法。与此同时,linux环境下提供了许多优秀的框架,可以进一步提高Python编程的效率。本文将介绍如何在Python编程中应用Linux环境下的框架,以实现高效算法。 一、Python和Linux环境的优势 Python是一种易学…...

多机位直播案例
目录 1、案例简述 2、设备准备: (1)笔记本电脑 (2)手机 (3)触控一体机 (4)教室前端监控摄像机 (5)教室后端监控摄像机 (6&…...

前沿重器[37] | 大模型对任务型对话的作用研究
前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。(算起来,专项启动已经…...

第三章:boundary-value analysis
文章目录 Boundary-value Analysiscomputational faults 计算错误boundary shift 边界偏移boundary value analysis 的优势Path condition, domain, and domain boundary (路径条件、域和域边界)Open and closed boundaries (闭合边界 / 开放边界)on / off pointGuidelinestr…...

Python模块psutil:系统进程管理与Selenium效率提升的完美结合
前言 在前面编写一个Selenium的自动化程序时候,发现一个问题。 因笔记本配置较为差,所以每次初始化Selenium的WebDriver都会非常慢,整个等待过程是不友好的。 所以我就想到: 在程序中初始化一个全局的WebDriver对象,…...

glibc 里的线程 id
这里讲的是通过 pthread_create() 函数返回的线程 id,其实就是 glibc 库里维护的线程id,它跟内核维护的线程 id 不一样,pthread_create() 返回的线程 id 并不一定是唯一的。我们看 pthread_create 函数的源码,它最后返回的线程 id…...

nacos的部署与配置中心
文章目录 一、nacos部署安装的方式单机模式:集群模式:多集群模式: 二、安装的步骤1、预备环境准备2、载安装包以及安装2.1、Nacos有以下两种安装方式:2.2、更换数据源数据源切换为MySQL 2.3、开启控制台授权登录(可选) 3、配置中心的使用3.1、创建配置信…...
undefined 与 undeclared 的区别?
在 JavaScript 中,undefined 和 undeclared 是两个不同的概念,表示不同的情况: 1:undefined: undefined 是一个特殊的值,表示一个变量已经被声明,但尚未被赋予一个值。当一个变量被声明但未进…...

Leetcode周赛370补题(3 / 3)
目录 1、找到冠军 Ⅰ- 暴力 2、找到冠军 Ⅱ - 寻找入度为0的点 3、在树上执行操作以后得到的最大分数 - dfs树 逆向思考 1、找到冠军 Ⅰ- 暴力 100115. 找到冠军 I class Solution {public int findChampion(int[][] g) {int ng.length;for(int i0;i<n;i){int cnt0;for…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...

STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...

Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...