- 2024-06-17
-
回复了主题帖:
[ STM32MP135F-DK测评] 初识篇
zhgongzuoshi 发表于 2024-6-16 20:38
特意去绿联买了5V3A的适配器和线,依然是这个样子呢:
Previous ADC measurements was not the one expe ...
时间久了,从图片看就是手头的常规的线。
看你的提示,测量ADC时有一定的电流要求,看看原理图,它是否在哪个接口需要接入需要的电源等。
- 2024-06-14
-
回复了主题帖:
[ STM32MP135F-DK测评] 初识篇
zhgongzuoshi 发表于 2024-6-13 22:56
博主,usb供电就可以吗,我刚拿到手usb供电屏幕不亮呢?
可能有两种情况,一是显示屏是否正常,二是有些屏的功率比较大普通的电源不能使其点亮。
- 2024-06-12
-
回复了主题帖:
【 STM32MP135F-DK测评】文件读写功能及数据提取
zhgongzuoshi 发表于 2024-6-11 10:56
敢问博主是在哪家电控公司就职呢,大豪?
没有,是高校。
- 2024-05-10
-
回复了主题帖:
[ STM32F4-discovery开发板测评 ] 初识篇
dianyuanhh 发表于 2024-5-8 11:28
怎么样申请才能通过测评,申请了很多次也厄密成功
主要申请的理由比较贴合厂家的意愿和目标吧,先从申请人少的入手并积累一定的经验值,慢慢来,自己申请也不是有较大的把握,哈哈。
- 2024-05-06
-
回复了主题帖:
【 CH32X035 DIY】+初品篇
本帖最后由 jinglixixi 于 2024-5-6 14:06 编辑
lugl4313820 发表于 2024-4-28 18:09 老师这段时间去哪里了,很久没有见您出山了呀。
一直没有新板子入手,就没怎么过来。好像现在板子少,书比较多!
- 2024-04-17
-
回复了主题帖:
【CH579M-R1】+BH1750光强检测
下一秒123 发表于 2024-4-15 11:54
咋连线的
BH1750是一款数字式光强度检测传感器,它采用I2C接口工作。在使用时,其与MCU的连接关系为:
SDA---PB8
SCL---PB7
- 2024-03-06
-
回复了主题帖:
【国民技术N32G457评测】ML组件控制
humancat01 发表于 2024-3-6 08:33
我非常支持国产芯片希望大家多多使用国产芯片
同感!!!
- 2024-02-18
-
回复了主题帖:
2024开工大吉,你期待测评中心,能有哪些板卡或书籍等?
最好提供一些传感器功能模块
-
回复了主题帖:
【CH32X035DIY】+步进电机驱动控制
LitchiCheng 发表于 2024-2-18 09:33
这个用PWM控制会不会更流畅点,阻塞的话其他应用加上去不太好写了
它主要靠节拍脉冲工作,用PWM恐怕够呛吧。
- 2024-02-16
-
回复了主题帖:
【CH32X035DIY】+步进电机驱动控制
lugl4313820 发表于 2024-2-15 15:32
再买一轴,整个大工程我们学习学习一下。
先攒经费再说吧,哈哈。。。
- 2024-02-15
-
回复了主题帖:
【CH32X035DIY】+步进电机驱动控制
lugl4313820 发表于 2024-2-15 11:58
老师这是整上大工程了呀,这平台可以呀,多少钱可以买到?
看图是2轴的,到手才发现是单轴的!
-
回复了主题帖:
【CH32X035DIY】+步进电机驱动控制
本帖最后由 jinglixixi 于 2024-2-16 09:22 编辑
秦天qintian0303 发表于 2024-2-14 23:09 这个功率能做多大啊,感觉快充功率带不动啊
24V供电,约1.0~1.5A。
-
回复了主题帖:
【CH32X035DIY】+步进电机驱动控制
lugl4313820 发表于 2024-2-15 11:58
老师这是整上大工程了呀,这平台可以呀,多少钱可以买到?
嗨买贵了,上当的就我这一份,200多。
- 2024-02-14
-
发表了主题帖:
【CH32X035DIY】+步进电机驱动控制
本帖最后由 jinglixixi 于 2024-2-14 12:52 编辑
在绣花机仿真系统中,是靠托板的二维运动来实现绣针的相对位移,所采用的步进电机及导轨的形式如图1所示。其中,滑台丝杠的螺距为4mm/圈。
图1 行走装置结构
所选用的电机为步进电机,见图2所示。
图2 步进电机
该电机的工作电流为1.0~1.5A,扭矩为0.3N.m,步进角为1.8°,200脉冲/圈,其排线各引脚的作用及排列关系见图3所示。
图3 引脚信号排列
为驱动步进电机,选取的是双极微步电机评估板,见图4所示。
图4 双极微步电机评估板
步进电机与驱动板的连接关系为:
其中VM与GND引脚是连接12V直流电源。
驱动板的信号则由CH32X035开发板提供,是由扩展接口引出,见图5所示。
图5 扩展接口
其中:
步进脉冲信号输入端CLK连接PA4
步进方向信号输入端DIR连接PA5
使能信号输入端EN连接PA6
图6 实物连接
步进脉冲信号输入端CLK连接PA4(一个脉冲走一步,脉冲频率决定着步进电机速度)
步进方向信号输入端DIR连接PA5(可使用按键来切换步进电机的方向)
使能信号输入端EN连接PA6(低电平时关闭芯片的功率输出)
测试电机转动的程序为:
实现引脚输出模式配置的函数为:
void BSP_BJDJ_Init (void)
{
GPIO_InitTypeDefGPIO_InitStructure = {0};
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4| GPIO_Pin_5| GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
所用引脚输出高低电平的语句定义为:
#define CLK_high GPIO_WriteBit(GPIOA, GPIO_Pin_4, Bit_SET)
#define CLK_low GPIO_WriteBit(GPIOA, GPIO_Pin_4, Bit_RESET)
#define DIR_high GPIO_WriteBit(GPIOA, GPIO_Pin_5, Bit_SET)
#define DIR_low GPIO_WriteBit(GPIOA, GPIO_Pin_5, Bit_RESET)
#define EN_high GPIO_WriteBit(GPIOA, GPIO_Pin_6, Bit_SET)
#define EN_low GPIO_WriteBit(GPIOB, GPIO_Pin_6, Bit_RESET)
测试电机转动的程序为:
int main(void)
{
uint16_t i = 0 ;
uint16_t M=60000;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
SystemCoreClockUpdate();
Delay_Init();
BSP_BJDJ_Init();
EN_high;
DIR_high;
for(i=0; i<M; i++)
{
CLK_high;
Delay_Us(200);
CLK_low;
Delay_Us(200);
}
Delay_Ms(500);
DIR_low;
for(i=0; i<M; i++)
{
CLK_high;
Delay_Us(200);
CLK_low;
Delay_Us(200);
}
EN_low;
}
经程序的编译与下载,其执行效果如视频所示。
演示视频:
[localvideo]802b09b40f029c5bc96b5c819d8da797[/localvideo]
- 2024-02-04
-
回复了主题帖:
【CH32X035 DIY】+限位器信号检测与处理
Verifone 发表于 2024-2-4 10:16
这个太大了,限位器也太大了,可以用小的传感器,精度可以更好一点
有道理,购置时看图被忽悠了。
- 2024-02-03
-
回复了主题帖:
【CH32X035 DIY】+U盘读写与花样文件参数拾取
LitchiCheng 发表于 2024-2-3 22:11
值得学习,之前沁恒也是做活动比较多,填资料就送板子
如今不如之前那么大方了
-
发表了主题帖:
【CH32X035 DIY】+限位器信号检测与处理
本帖最后由 jinglixixi 于 2024-2-3 23:28 编辑
步进丝杠套装中,通常包括滑块、步进电机、编码器、驱动器、滑块导轨、限位器等,见图1所示。
图1 行走装置结构
其中,限位器的作用是保护步进电机在异常的情况下超出行程所限定的运动范围。
在所用的步进丝杠套装中,限位器的型号为SN04-N,是一种金属型感应器,其检测距离为4mm,见图2所示。
该限位器属NPN型,即在感应状态下是输出低电平。从资料可知,其工作电压的范围是:6~36V DC,它的典型用法如图3所示。
图2 限位器
图3 典型用法
由于是打算以CH32X035进行控制,为此在5V电源的情况下对其进行了性能的检测。
经检测,它在5V电源的情况下是可以输出检测信号的,故可以同CH32X035开发板配合使用。
为了用以LED1和LED2来指示异常的位置,是使用PB0来控制LED1,以PB1来控制LED2。
图4 LED电路
对PB0和PB1的引脚配置函数为:
void GPIO_LED_INIT(void)
{
GPIO_InitTypeDefGPIO_InitStructure = {0};
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0| GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
为了实时地监视限位器的状态变化,是以中断的方式来进行判别和处理,并将PA0、PA1、PA2方便连接到限位器的信号端。
进行中断处理的初始化函数为:
void EXTI0_INT_INIT(void)
{
GPIO_InitTypeDefGPIO_InitStructure = {0};
EXTI_InitTypeDefEXTI_InitStructure = {0};
NVIC_InitTypeDefNVIC_InitStructure = {0};
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA, NABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);
EXTI_InitStructure.EXTI_Line = EXTI_Line0|EXTI_Line1|EXTI_Line2;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = EXTI7_0_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
实现中断处理的函数为:
void EXTI7_0_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line0)!=RESET)
{
printf("Run at EXTI\r\n");
EXTI_ClearITPendingBit(EXTI_Line0);
}
if(EXTI_GetITStatus(EXTI_Line1)!=RESET)
{
printf("Run at EXTI_a\r\n");
EXTI_ClearITPendingBit(EXTI_Line1);
GPIO_WriteBit(GPIOB, GPIO_Pin_0, Bit_RESET);
}
if(EXTI_GetITStatus(EXTI_Line2)!=RESET)
{
printf("Run at EXTI_b\r\n");
GPIO_WriteBit(GPIOB, GPIO_Pin_1, Bit_RESET);
EXTI_ClearITPendingBit(EXTI_Line2);
}
}
实现设计功能的主程序为:
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
SystemCoreClockUpdate();
Delay_Init();
USART_Printf_Init(115200);
EXTI0_INT_INIT();
GPIO_LED_INIT();
while(1)
{
Delay_Ms(1000);
printf("Run at main\r\n");
GPIO_WriteBit(GPIOB, GPIO_Pin_0, Bit_SET);
GPIO_WriteBit(GPIOB, GPIO_Pin_1, Bit_SET);
}
}
经程序的编译及下载,其测试结果如图5至图9所示。此外,在触发PA1时会点亮LED1,在触发PA2时会点亮LED2。
图5 触发PA0效果
图6 触发PA1效果
图7 触发PA2效果
图8 未触发状态
图9 触发状态
演示视频:
[localvideo]98d0f97235c9d5806f9901e743cbcc6c[/localvideo]
-
回复了主题帖:
健康守护礼的入围名单:脉搏监测健康仪,测出“不觉得”(测评邀请券主场活动)
个人信息无误
- 2024-02-02
-
发表了主题帖:
【CH32X035 DIY】+U盘读写与花样文件参数拾取
本帖最后由 jinglixixi 于 2024-2-3 23:28 编辑
在绣花机的仿真系统中,涉及花样文件读取及参数提取,对于一个裸机系统要解决这个问题是比较费事的。
那么在CH32X035评估板上要解决这方面的问题又怎样呢?
回答是较为方便的,因为它自身就配有极强的U盘读写能力。
要进行U盘的读写,其硬件连接如图1所示。
其中,电源是由USB转TTL模块提供的,并以此来实现串行通讯功能。对于U屏则是通过转换接口来实现。
图1 硬件连接
在对例程进行修改的情况下,可顺利地读取文件的数据,见图2和图3所示。
图2 读取U盘文件
图3 读取文件数据
对于绣花机所使用的花样文件,它是一种与位图文件相近的文件,它分为文件头、数据体这2个主要部分。
其文件头的数据格式如图4所示,是对文件的整体描述。
图4前导数据格式
那么如何来提取这些数据呢?
TotalCount = 125; // 设置读取字节长度
strcpy( (char *)mCmdParam.Open.mPathName, "/JZ.DST" );
CHRV3FileOpen( ); // 打开文件
printf( "读出的前%d个字符是:\r\n",TotalCount );
j=0;
while ( TotalCount )
{
if ( TotalCount> (MAX_PATH_LEN-1) )
{
t = MAX_PATH_LEN-1; // 剩余数据较多,限制单次读写的长度不能超过
}
else
{
t = TotalCount; // 最后剩余的字节数
}
mCmdParam.ByteRead.mByteCount = t; // 请求读出几十字节数据
mCmdParam.ByteRead.mByteBuffer= &Com_Buffer[0];
ret = CHRV3ByteRead( ); // 以字节为单位读取数据块,单次读写的长度不能超过MAX_BYTE_IO,第二次调用时接着刚才的向后读
mStopIfError( ret );
TotalCount -= mCmdParam.ByteRead.mByteCount; // 计数,减去当前实际已经读出的字符数
if ( mCmdParam.ByteRead.mByteCount< t ) //实际读出的字符数少于要求读出的字符数,说明已经到文件的结尾
{
printf("\r\n" );
printf( "文件已经结束\r\n" );
break;
}
if(j==0)
{
for ( i=0; i!=3; i++ )
{
printf( "%c", mCmdParam.ByteRead.mByteBuffer[i] ); // 显示读出的字符
}
printf("\r\n" );
j=1;
}
if(j==1)
{
for ( i=3; i!=20; i++ )
{
printf( "%c", mCmdParam.ByteRead.mByteBuffer[i] ); //显示读出的字符
}
printf("\r\n" );
j=2;
}
if(j==2)
{
for ( i=20; i!=23; i++ )
{
printf( "%c", mCmdParam.ByteRead.mByteBuffer[i] ); //显示读出的字符
}
printf("\r\n" );
j=3;
}
if(j==3)
{
for ( i=23; i!=31; i++ )
{
printf( "%c", mCmdParam.ByteRead.mByteBuffer[i] ); //显示读出的字符
}
printf("\r\n" );
j=4;
}
}
...
i = CHRV3FileClose( ); //关闭文件
mStopIfError(i );
}
该程序实现的参数提取效果如图5和图6所示。
图5 提取首个参数
图6 提取前4个参数
- 2024-01-31
-
回复了主题帖:
【年终总结颁奖】2024,让我们保持热爱,奔赴下一场山海!
已确认个人信息无误