1. PSRAM无法加载

在arduino调试过程中如果不使用psram,则可以正常上传,但是如果启用psram,则会报错,程序不启动。同样程序从优信购买的核心板就可以正常启动。

解决方案:问题原因还不清楚,推测是3.3V供电电路没画好,AMS1117的3.3V电容太小,后续改为100uF的钽电容。

2. 愚蠢的ADC128S的MISO和MOSI画反。。。

这个就不赘述了。。很蠢。
解决方案:这个电路后续可以考虑加入1×4 pin测试点,可以用逻辑分析仪测试通信协议。

3.ESP32S3的ADC采样端口分配

根据测试结果,使用esp32-arduino v3版本的库,一个analogread要花掉50us,
对于电机驱动程序,两相电流采样和直流母线电压采样是必须的,这样至少要150us的采样时间,这意味主控程序可以连5kHz的频率都无法达到(200us),这完全无法接受。

如果使用analogContinuousRead,可以使得单通道的采样时间减小为20us,勉强可以接受。然而analogContinousRead使用了DMA机制,但esp32s3的adc模块只有adc1是支持DMA的,这意味着若要使用analogContinousRead方法,采样端口应分配至GPIO0-GPIO10之间,除掉GPIO0,GPIO3这两个和boot有关的引脚,剩余引脚可分配。

解决方案:将i2c引脚从8,9移除,替换为ADC引脚。
ADC直接采样分为两组,
1. 电机驱动采样:电流x2+直流母线x1
2. 并网采样:三相电压x3
3. 指令旋钮采样:x1
最多7路,最多采样时间为140us,可以支持2kHz中断。(感觉还是太慢,所以需要ADC芯片,或者后期使用esp-idf编程,从代码层面加速采样)。

4.ADC前端的采样芯片选型不合理

选型的LMV621性能太差,在偏置电压、偏置电流、带宽方面都远远不如cos8552系列。需要做替换。

5.EN电路不对,需要上拉

6. 电源指示灯不全

7. ADC测试不方便

接口电路应补充测试跳针,使用电位器电路测定各个ADC通道是否正常

8. 电源电路外置

可以将电源电路外置,节省空间。

By Kosem

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注