自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(241)
  • 资源 (6)
  • 收藏
  • 关注

原创 Baize_h1mini六足机器人零件准备

你现在在地图的红色字体位置(走到终点就制作完成了):首先要找到零件的图纸,打开我们刚刚下载的整个项目资料文件夹,找到如下路径1.3D model\Baize_HexapodRobot_Arduino_3DPrinter\STL Files,可以看到该文件夹下有很多可以打印的STL格式图纸,如下图2-2-1红框中所示:

2023-10-21 18:54:36 766

原创 开源ESP32智能小车机械臂控制板Baize_Carboard(支持mixly)

采用esp32做主控的,支持4路直流电机或者两路步进电机的控制,也可以用于控制两路直流闭环电机。输入电压范围5-12V,有时候电压5V起不来,要高一点。可以用于学习arduino或者ros编程,同时也可以将ros于arduino结合。

2023-10-15 11:46:47 543

原创 CircuitPython入门贴

以前一直玩arduino的,但是恼火于每次写完代码,都要编译并烧录到MCU上,刚开始的blink例程类的小代码还好,起码十几秒钟就能烧录成功,但是后来随着程序代码量的增加,发现每次编译烧录竟然要一分多钟,这一分多钟,我就等着IDE在编译代码并上传,有时候代码的很少一部分都需要来来回回调试十几次,这样修改几个参数,再修改几个参数,来来回回搞个十几次半个小时就过去了,为了调试几个参数就浪费半个小时的时间真的值吗?人生苦短,我用python!

2022-09-19 14:10:52 1034

原创 Baize_ServoDriver_esp32(ROS+Arduino驱动舵机机械臂,通过串口或WiFi话题通信)(数字孪生:虚拟和现实同步)

通过Baize_ServoDriver_esp32这块舵机驱动板,我们来驱动我们的机器人。首先,我们通过串口来订阅我们的自定义话题消息。具体的话题消息以及定义方式,可以参照下面的仓库。

2022-09-14 22:03:26 1298 1

原创 Ready! Use 192.168.191.2 to access clientGuru Meditation Error: Core 1 panic‘ed (LoadProhibited).

所以我在想是不是ros_lib库里面例程的作者故意这样做的,如果连上了wifi,但是ubuntu主机没有发送连接请求,则通过软复位进行发送复位的数据帧,在ubuntu主机和esp32建立wifi连接的过程中,就使用复位过程中发送的这一系列数据帧进行硬件的验证,一旦ubuntu主机端接受到了esp32硬件复位的数据帧,那么开始建立话题通讯连接,esp32开始正常工作。一度以为是程序运行不正常导致的,但是偶然间运行。却发现可以正常通信,并且运行没问题。

2022-09-13 21:07:26 1184

原创 ESP32:Protocol version of client is unrecognized, expected Rev 1 (rosserial 0.5+)

通过这块开发板与ROS进行串口通信的过程中,发现出现了如下错误这个错误是在我运行了出现的通过分析,他的意思是,我们的通讯数据帧出现了问题。然后通过多番查找资料之后(本来是解决另一个问题的,我的esp32在发现串口话题通信有问题之后,我就没继续纠结,因为拿esp32做主控的初衷就是通过wifi进行话题通信,所以串口无法进行话题通信对我并没有影响。但是在写程序的时候,发现又出了其他问题,结果那个问题解决完发现这个问题也解决了,所以就验证了一下,果然这个方法可以解决这个问题),机缘巧合,这个问题被解决了。

2022-09-13 20:18:46 505

原创 ROS+Arduino学习导航贴

原先写了一些ROS+arduino学习记录的帖子,发现每次找起来非常麻烦,所以做一个汇总帖,以后需要的话,找起来就方便了。

2022-09-13 10:35:07 1186

原创 Baize_ServoDriver_esp32——arduino 32路舵机驱动板(esp32主控,免费开源,附程序、固件)

出于制作机器人的需要,设计了这块儿32路舵机驱动板,板子可以驱动从5~12V的pwm舵机,适应电压范围较宽,所以用起来会非常方便。板载有电压监测电路和蜂鸣器,这样如果你使用电池为机器人供电时,可以通过电压检测电路来测量电池电量情况,如果电量过低,则需要报警并停止机器人动作,提示我们进行充电。板载还有mpu6050,这样我们可以感知机器人的姿态等信息,可以根据机器人姿态进行动作的规划。同时板载一个小型彩色屏幕1.14寸,140*240的分辨率,可以实时显示板子和机器人的状态,方便机器人的现场测试。

2022-08-21 14:06:49 3870

原创 win10 1809版本手动安装WSL和ubuntu 18.04

按住win+R按键,输入winver即可查看win10的版本。由于wsl2只支持win101903或者更新版本。所以如果你的版本是1903或更新版本,那就可以安装wsl2,否则像我一样老老实实安装wsl即可。可以看到我的版本是1809.............

2022-07-22 15:56:52 1897

原创 esp8266学习导航贴

本篇帖子是esp8266学习的一个导航帖,用于方便自己查找资料。有时候学习的时候写了一篇记录贴,可能后来找不到了,用导航帖可以很方便的找到想要的内容。

2022-07-19 10:54:54 218

原创 使用esp32 download tool给esp32烧录固件

用arduino为esp32开发程序非常方便,但是有时候需要测试程序的时候,arduino通常编译速度很慢,短则几十秒,长则两三分钟,要等好久。所以,通常一个程序稳定之后,我们会把程序编译成固件,方便以后烧录使用。固件由于已经是从源码编译成了二进制的可执行文件,因此再次上传同样的程序到esp32时,就不需要再编译了,直接可以将二进制可执行程序烧录到esp32开发板就可以。解压打开选择型号进来是下面这个样子,那就说明我们烧录工具没问题了。.........

2022-07-18 21:05:06 8628 1

原创 [开源]圆形FOC无刷驱动Baize_foc

自制无刷电机驱动器Baize_foc,测试无刷电机。

2022-07-18 14:05:29 1663

原创 白泽平衡小车导航贴

为什么我每次都要运行这个程序呢?首先当我们接好线了以后,就是确保这些传感器接线正常并且是好的。如果你直接跑mpu6050采集数据的例程,那么一旦跑不通,就不知道是程序问题还是硬件问题或者是接线没接好呢?所以我们一步一步来,哪里有问题就非常清晰了。下面这个程序上传完成之后,我们从串口监视器看,看最后两列就是打印出来的两个倾角数据,这时我们可以手动让小车绕轮子旋转,看哪个倾角跟随着变化,这个倾角就是我们需要测的数据。 mpu6050接在灯哥foc3.0的iic接口上 偶尔会莫名其妙mpu6050断连

2022-07-12 16:20:01 302

原创 esp8266使用TF卡并读写数据(基于arduino)

主要用到下面的模块,一个这张图片主要告诉我们TF卡的各个引脚是什么作用,因为我们是用的spi接口,所以就看最后一列就可以了。正常情况下,一旦你的arduino IDE里面安装了esp8266的硬件支持,那么就会自动安装上适配esp8266的SD卡库,所以我们是不需要安装库的。 我们打开files这个例程,然后编译。这个files例程主要是做什么呢?就是在内存卡上创建一个example.txt的文件,然后再删掉。编译好了之后,我们开始接线如果直接跑我们上面编译好的例程,而不对程序做任何修改,那么像下面这样接线

2022-07-03 13:14:18 2349 1

原创 调试平衡小车过程中间遇到的问题

目录定时器函数执行周期跟定时时间不一致?drv8833这款驱动器可以制作平衡小车用吗?定时器中断给的是5ms的中断时间,如下图: 结果在每个中断函数执行开始的程序里加上打印时间戳的语句,发现中断函数执行两次之间的时间差在50ms左右,这很明显使得平衡小车无法工作,但是是 什么原因呢? 是因为算力比较弱,所以进行计算的时候占用了时间吗?把源程序也上传上去(计算量一样),看看源程序是不是也是这样?可以看到,源程序一样的计算量,但是人家中断函数是严格5ms执行一次的,也就是说不是算力的原因。 接着做实验,在源程

2022-06-25 13:16:34 1070 1

原创 球杆系统建模详细过程(深大机电控制课程实验)

球杆系统如下图所示,黄色圆盘转动过程中驱动绿杆抬升或者降落蓝色摆杆,使得小球在蓝色摆杆上移动,最终控制小球稳定在指定位置,这时蓝色摆杆刚好水平。系统输入为黄色圆盘转角,输出为小球与蓝色摆杆所在铰链距离 首先,我们看已知量。:下面黄色圆盘半径。:下面黄色圆盘转角(相对于水平线而言)。:蓝色连杆的转角(相对于水平线而言)。:蓝色连杆上面两个铰链之间的距离。 :小球距离蓝色连杆地面端的距离。 :蓝色连杆总长度。:小球半径。:小球质量。:蓝色连杆质量。:蓝色连杆旋转角速度。:小球滚动时自转角速度。:小球绕自身球心转

2022-06-05 16:59:31 2139 1

原创 单摆的动力学建模以及matlab仿真(牛顿法和拉格朗日方程法)

有空再写首先我们先确定广义坐标,并同时计算出来摆杆的转动惯量接着列拉格朗日方程计算动能(转动动能) 计算势能(取铰链处为零势能高度): 计算L计算拉格朗日方程中的中间量 将上述的中间量带入拉格朗日方程,得到动力学模型:变换一下形式: 我们可以假设角度比较小,因为控制一般都是在平衡点附近。这时,然后得出下面的状态空间方程。 经常情况下角度没有那么小,这个时候我们就不能假设,所以就得到非线性的控制系统。所以这个时候我们这样操作,将这个二阶微分方程转化成一阶微分方程组,这样就可以用matlab的ode45微分方

2022-06-04 14:21:19 9665

原创 Matlab使用ode45求解器求解常微分方程

ode的全称是Ordinary differential equations(常微分方程)的缩写。ode45就是一种常微分方程求解器,这种求解器采用的是Runge-Kutta解法的 中阶 解法;ode45即Nonstiff(非刚性问题)微分方程式。假设要解下面这个微分防方程:我们把这个Second order differential equation(二阶微分方程)改写乘一阶微分方程组的形式。令 则。ode45这个微分方程求解器的用法如下: 我们编写如下代码,把微分方程写出来。这里的 我们令为1,所以

2022-06-03 17:57:59 14291 2

原创 转动惯量计算

人们为什么要提出转动惯量这个概念呢?看下图,这个是一个单摆,下面挂着一个小球。假设单摆质量为0;小球直径无穷小,是一个质点,这个时候我们如何求这个小球的动能呢?很显然的,我们想到用这里这是因为我们把小球看作了质点,所以小球的速度只有一个,就是上面的公式。当小球开始变大之后呢?小球不能看作一个质点了,因为小球本身每个点的速度都是不一样的。看下面这个图片,我们在小球上面取两个点。然后可以看出来上面这个点的速度是,下面那个点的速度是。这个时候速度大小不一样了,那么如何求他的动能呢?我们考虑到,既然小球是绕着定轴转

2022-06-03 13:16:12 4213 3

原创 matlab:函数或变量 ‘install_addon‘ 无法识别。

问题:在matlab里面给solidworks添加simscape插件的时候,按照教程输入install_addon('smlink.r2020a.win64.zip');结果就遇到了如下这样的提示。原来是需要下载install_addon.m这个程序,然后用这个程序安装,这不是matlab内置的安装程序。所以,接着去官网下载.m程序,原本我只下载了.zip的那个压缩包。下载完了之后,发现还是一样的错误提示。这是因为没有将这俩文件放入matlab默认的索引目录,所以matlab软件就找不到这个.m程序。要么

2022-06-02 21:37:14 3332 3

原创 matlab输出动态gif图片

有时候matlab遇到问题想在群里发言请教一下。结果群里不让上传视频文件,这个时候,我们就可以考虑把遇到的问题做成gif图片给大佬们看。print函数可以将图片输出,第二个参数为格式,第三个参数为文件名(文件名可以带路径)。所以我们先写个程序画一个圆形2.输出图片然后再在程序同一目录下新建一个image文件夹,用于存放图片。然后添加我们的代码,将每一帧图片存进这个路径并附上文件名做序号。3.合成gif读取那200张图片,然后合成为Baizerobot.gif在当前文件夹。

2022-06-01 21:09:46 4656 1

原创 matlab画圆(及其他常用图形)

代码:注意:这行代码一定要加,这样可以让matlab的横纵轴同一刻度等长,要不然会不等长就看起来像椭圆一样。

2022-06-01 19:42:16 27988 1

原创 the selected library block “Contact_forces_lib/3D/sphere to plane force“ no longer exists

问题在matlab的simulink里面进行simscape仿真的时候,由于添加了接触力,因此实现装了Simscape Multibody Contact Forces Library这个库,装完之后从simulink里面添加进去结果就出现这种错误。然后跟着做了一圈,起先看了这篇文章。Simscape Multibody Contact Forces Libray_大脸猫iii的博客-CSDN博客然而并没有用,后来偶然间直接打开Simscape Multibody Contact F

2022-05-30 21:08:28 857 2

原创 PID控制算法及arduino应用(电机调速和位置控制)

介绍及公式pid算法用于简单的控制非常方便,因此我们常常把pid控制做成固定的库,方便我们调用。库文件说明:这里的库程序,我是基于esp32开发板写的,其他开发板类似,主要区别就是获取当前时间戳不一样。其余的算法是一样的。如果你想移植到其他平台,只需要修改获取时间戳的函数即可。时间戳单位是微秒。位置式pid.h#define PID_H#include "time_utils.h"#include "foc_utils.h"/** * PID controlle.

2022-05-24 18:50:54 10846 7

原创 频域法分析系统详解及个人笔记

其实很简单,任何信号都能分解成很多不同频率的正弦波相加,然后不同频率的正弦波在被控对象上有不同的响应(就是不同频率的输入有不同比例的输出)不同频率在频域上就是一个点,所以经常在频域上分析你的被控对象的响应................................................................................................

2022-05-21 15:26:46 7040

原创 卡尔曼滤波(Kalman filter)算法以及Arduino应用-mpu6050(导航贴)

更新中。。。mpu6050库// class default I2C address is 0x68// specific I2C addresses may be passed as a parameter here// AD0 low = 0x68 (default for SparkFun breakout and InvenSense evaluation board)// AD0 high = 0x69#include "Wire.h" //I2C通讯..

2022-05-09 12:40:16 9903 5

原创 Baize_Servo8266-(arduino32路舵机驱动板)(开源可自制,附程序和固件以及烧录方法)

测试代码:/*************************************************** 对于ARDUINO UNOS,这是SCL->模拟5,SDA - >模拟4 ****************************************************/ #include <Wire.h>#include <Adafruit_PWMServoDriver.h>Adafruit_PW............

2022-04-29 15:28:45 3527

原创 平衡小车的控制算法(PID,LQR,MPC)及arduino程序导航贴

小车整体的动力学建模这个模型不是很严谨,因为

2022-04-22 21:57:03 4737 2

原创 ESP32驱动0.96寸12864 OLED显示屏

#include <Wire.h> #include <Adafruit_SSD1306.h> #define scl 5#define sda 18//新建iic对象以及显示屏对象TwoWire I2Cone = TwoWire(0);Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &I2Cone); void setup() { I2Cone.begin(sda, scl, 4.....

2022-04-02 22:55:53 6724 1

原创 ESP32的MOS管扩展板介绍及实践

由于有时候需要控制功率器件,比如3D打印机的加热棒,或者12V灯带,或者一个大功率的电机。这个时候,用普通io口显然是无法驱动的,因此就想设计一块集成MOS管的esp32扩展板来驱动这些功率器件,一方面学习电子相关知识,另一方面可以用于电机等的闭环控制,用来学习控制理论,用起来也非常方便。如下图就是在立创eda中的预览效果图了。下面是原理图后面的话,我就会用这个板子来闭环控制一个3D打印机的加热棒,可以通过设计一些控制器来达到理想的控制效果。.........

2022-04-02 10:44:56 1552

原创 ESP32学习导航帖

本篇帖子是esp32学习的一个导航帖,用于方便自己查找资料。有时候学习的时候写了一篇记录贴,可能后来找不到了,用导航帖可以很方便的找到想要的内容。

2022-04-02 10:04:29 796

原创 ubuntu屏幕截图工具

1.安装sudo apt-get install flameshot2.启动flameshot gui然后就能在电脑右上角看到这个应用了。当然也可以设置自己的快捷键用于启动截图程序。3.设置快捷键找到设备,键盘。一直拉右边的滚动条。拉到最下边添加快捷键。那就设置跟QQ截图一样的快捷键吧,然后就可以用了。...

2022-03-12 17:57:31 316

原创 Failed to load module “canberra-gtk-module“

问题在安装了pinta这个图片编辑工具之后。启动软件的时候,提示:Failed to load module "canberra-gtk-module"解决办法安装这个模块sudo apt-get install libcanberra-gtk-module然后再启动就没问题了。

2022-03-12 15:46:41 156

原创 Arduino读取HC-SR04超声波测距传感器数据附带滤波

前言传感器的接线非常简单,一共四根线vcc和gnd按照要求接线即可。TRIG接数字引脚8号口,ECHO接数字引脚9号口。程序1.无滤波程序#define TRIGGER 8#define ECHO 9long duration;float distance;#define LONGEST_DISTANCE 200 // 200 cm = 2 metersfloat farTime = LONGEST_DISTANCE*2/0.034;void setup(.

2021-12-23 15:27:03 3343 1

原创 INA240三相无刷电机电流采样实例(arduino)

前言&&准备材料我这里用的控制器是esp32,它的adc采集器分辨率是12位,工作电压是3.3V。因此我们读取到的模拟数值0~4096就是对应的0~3.3V。这里我的ina240型号是I240A2。也就是说ina240的增益是50V/V。我的驱动器型号是simplefoc v0.2。采用内置电流采样,具体电流采样电路如下图:双向参考链接:1.【INA240】产品参数介绍、INA240数据手册、中英文PDF资料下载-TI资...

2021-12-13 16:29:35 11436 4

原创 手写最简单的simplefoc的svpwm算法(便于理解)

此帖子用于记录学习过程中写的程序(半成品)。1.arduino代码:test.ino// (010)U2 II U6(110)// *********// III * * * * I// * * * *// (011)U3 *************** U4(100)// * * * *// IV * * * * VI

2021-12-10 21:59:03 1551 1

原创 C++重载函数和重载运算符

重载函数待写重载运算符c++中的重载运算符非常好用。比如我们在控制系统中,需要对数据进行滤波,如果用重载运算符,就可以用非常简洁的重载运算符号完成我们滤波函数的功能。简单来说就是用重载运算符取代替函数名。比如我这里的这个函数用于处理数据,就是每个数据进来以后,把原数据加3再输出。重载了()这个运算符,然后就可以用定义的对象,直接()一下数据,出来的就是处理过后的数据,非常方便。class Lowpassfilter{ public: int operato

2021-12-10 16:06:06 363

原创 ESP32的Print类

由于发现有开源程序simplefoc是用Print类就定义了一个串口对象,然后用这个串口对象向串口输入或输出字符。因此就好奇试了试,下面是我的程序。Print* monitor_port;void setup(){// Serial.begin(115200); // monitor_port.begin(115200);} void loop(){ // read the data msb and lsb monitor_port->println("hello"

2021-12-08 21:57:08 402

原创 arduino的iic通信库函数详解

iic库中包含的函数如下:1 Wire.begin()2 Wire.requestFrom()3 Wire.beginTransmission()4 Wire.endTransmission()5 Wire.write()6 Wire.available()7 Wire.read()8 Wire.onReceive()9 Wire.onRequest()Wire.begin()

2021-12-08 20:11:39 5959

原创 AS5600磁编码器的使用以及简单的滤波算法(arduino)

前言AS5600磁编码器常用于电机的角位移测量,如下图为使用AS5600芯片的一款编码器。该磁编码器支持IIC,SPI和模拟输出三种方式,具体的引脚定义如下:

2021-12-08 16:55:43 28384 9

白泽四足机器人solidworks模型(第一代,用于3D打印)

白泽四足机器人solidworks模型(第一代,用于3D打印)

2021-07-01

catkin_ws_serial.tar

ROS键盘控制机器人

2021-05-25

esp-link-v3.0.14-g963ffbb.tgz

esp8266透传固件(可用于局域网内串口透传)

2021-04-26

ros_lib.rar

arduino的ros库 这个库是配合ros(机器人操作系统用的),arduino板子做下位机。 香橙派或者其他卡片电脑做上位机,互相通讯控制。只需要将压缩包解压并且放进 libraries文件夹重启arduino即可。

2021-03-16

原理图和贴片图 V1.3_B.rar

ROC-RK3328-CC-V1.3-B贴片图,修理firefly的这块板子常用。

2021-03-16

genymotion

genymotion模拟器 打开速度比eclipse模拟更快

2016-04-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除