完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
嗯嗯,效果不错。趁着这个热乎劲,接到俺的LED测试板上试试。呃~~~ 竟然和小LED的效果不一样啊,不一样。不但闪烁而且完全没有调光效果。郁闷内,查查原因呗。看看那里出问题。迅速在PT4115手册里翻查。PWM有频率要求,难道我的频率太高啦。“最高可达20KHz“,好吧,就是高那么一丁点。继续折腾吧。不知何时外面的路灯亮了。渐渐只有汽车在路上压过马路的飞驰声,稀稀疏疏的几只蛤蟆在不停嘟囔着。余光瞟了下屏幕右下方的时间,竟然已是深夜1点多。看小穆两只水汪汪的大大眼,没了平时柔情似水电波。只看到双下眼皮在不停的打架。时间太晚为了明天继续保持活力,储备能量只为让明天同样的高效。睡觉去(~﹃~)~zZ。小穆晚安!
-_-!! 再酱紫下去,是不是应该去写网络小说,听说现在凡是有肉的文章都被赶尽杀绝。 第二天一早醒来,翻查小穆使用手册。功能介绍多达80个快速I/O端口,几乎所有的端口均可以容忍5V信号。 几乎~~几乎~??!!。那就是说有部分引脚是无法承受5V。用手不停的抓着已经被剃的很短的发根,深深的吸了几口气。一种不祥的阴云笼罩在心头。马上让小穆上电,面包板上插上LED测试。果不其然,调光没用。穆,俺的穆啊~~~ 小穆对着我摇了摇头,一脸无奈的看着我,耸耸肩摊开了双手。估计引脚是被烧坏。哎~~ 长叹一声。 降压吧,找个电阻把电压降下来再试。电阻要多大有点难住我了,要不搞个稳压管简单点?有三伏的稳压二极管。其实用来调光测试的白色二极管就能做到这点。白色发光二极管的正向特牲,可作稳压二极管用。它的导通电压也接近三伏,稳压特牲也不比3伏的稳压二极管差。 电压是降下来了,可是。。可是。。。还是TNND不行。用线连接减压管并短接调光脚,没问题可以关断LED。用电阻试试,折腾了几下完全没效果。和降压管情况一样都告失败。天哪,老天你干嘛戏弄俺纯洁而又弱小的心灵。想不出有其他什么招数了。 注释:电阻有滤波功能,可以把波形滤直。放在PWM线路上会吧方波变成正弦波。 加上降压管,PWM波形的基点会稍微有些偏移。测试可以正常调光。最终决定保险起见,还是换个没有AD的引脚 。求个心理安慰而已,正常情况每个引脚都有上拉和下拉电阻,输入5v是没有问题的。 病急乱投医,开始怀疑一切。输出的波形有问题,和计算的有差异?难道说PT4115调光控制有问题?。。。。难道俺小穆的晶振有问题?一堆的问题搅在一起,和成了稀泥~~~。脑袋开始变质,如同浆糊一般粘稠,又如同棉絮松散。 要不买个示波器看看波形,再换个IC试试?在X宝上发挥第六感潜能,搜了个简易的USB示波器。同时在网上开始漫长的搜索,寻找可能带来希望的可调光替代方案。相关调光IC真不少,都挑花俺的四眼。这么多芯片万一结果还是一样不就麻烦了吗,得选些不同模式的IC。可以慢些买先做好功课,等示波器拿到手。看看实际情况如何,是不是PWM波有问题再说。 示波器到手等了半周,俺的美好时光就这么浪费在漫长的等待中。拿到手迫不及待进行实地检测。发现还不会用示波器,肿了吧-_-!!。翻了下说明书,还好使用还是蛮简单的,调整好基准就能使用。测试小穆的8M高速晶振是否正常,输出PWM是否正常。折腾了几下,发现一切正常完全没问题。再插上LED测试板试试,又弄坏了2块。其实只是测试下,情况和原来一样,就是手贱的后果。发现有个崩坏的测试板竟然能调整亮度,就是闪烁的厉害,无法直视。 “你敢不敢再闪的厉害点木? 玩累了,小穆洗洗睡吧!” 这段日子不停的往复循环着。周六做两板子,然后周日就烧坏。下周再做再烧坏。.. 。..。如此往复了2周。替换IC的资料也找了一堆,但又担心换IC还是这问题。实在无计可施了,反正也是在准备换IC的资料和材料,死马当活马医求助网上的高手们。网上高手很多,但说实在的俺并不看好能解决。原因是当某些环境未知,而这些因素一定是自己所忽略或不知道的。当大侠们设定的场景和实际场景有出入,套用上去来帮忙解决,就会产生偏差。困难就在这里,怎么提问才能得到答案? 不过幸运的我,碰到一大群大侠。 非常感谢EEPW论坛的群主们,特别感谢witin。问题迎刃而解,是共地问题。大功率LED使用测试电源供电,小穆妹子是用普通USB供电,没有共同的地平。导致实际PWM波形出现异常。这种异常波形可以通过示波器看到。只连接探针,不连接探针的接地。这个情况在第一次测PWM波形时看到过,就是不太明白其中道理。 俺理解共地的关系图 解决这个调光问题,噎在喉咙口的鱼刺终于解决,心情舒畅很多。不用破费俺的钱袋子,也不用浪费时间去找其他替代方案。 重新做的横流测试板,来个双胞胎照 ^^ 后面用胶带贴起来。 一来防止桌上的原件碰到发生短路。 二来小手摸来摸去沾上不干净的东西(^_^不要想歪咯)。病从口入,据XX权威机构研究得出结论,铅容易让人变小白。锡丝用无铅的,降低对俺身体的伤害。 包起来减少接触总归是好事。 临时做了个统一的供电 电源板。中间一个5V的IC接反了。快凌晨时是吃夜宵的好时光啊。 ”老板给小穆和我来50串羊肉串。“ ”好嘞~~” 上~电~,开始慢慢烤出风味来。 “啊~~ 糊了 糊了~~ ” “客官,实在不好意思。你要的IC糊了~,要不您再瞅瞅,重新点些其他的?” 哎~ 这节骨眼上,竟然烤糊了~~ TNND太不给力了。明显是不然俺睡觉的节奏吗~。 硬件搞定,软件是俺的强项没啥大问题。稍微改了下频率。计算频率的实际重载值还是比较简单。 [最大赫兹] / [目标赫兹] = [可设置重载计数值] 所有的时钟通道的都是72MHz( 72 x 1000 x 1000 Hz),要得到 100HZ 。按照公式可以得出 720000这个值。内部重载值最大只能设置 $FFFF(65535)明显无法无法处理,需要再除10.98649.。.. 左右才能设置。那个叫预分频的东东,派上用处了。 [可设置重载计数值] = [自动计数] x [分频值] 明显俺对十六进制计算是灰常不敏感的,为简便计算拆成 7200 x 100 ,酱紫就简单多了。想要多少频率,调分频值就能搞定。亮度值可以从0~7200 随便调,呵呵~~其实也不需要这么多。 其中具体多少分频还是需要看实际情况 #define STM32F10X_MD #include 《stm32f10x.h》 #define GPIO_CRH_MODE9_2MHz GPIO_CRH_MODE9_1 #define GPIO_CRH_CNF9_AOPP GPIO_CRH_CNF9_1 #define TIM_CR2_MMS_CP (TIM_CR2_MMS_0 | TIM_CR2_MMS_1) #define TIM_CCMR2_OC4M_PWM1 (TIM_CCMR2_OC4M_1 | TIM_CCMR2_OC4M_2) void SystemInit(void) { unsigned char dump = 0; // 使用外部8MHz晶振,启用PLL设置系统时钟为 72HMz // USB 可用 // APB1 低速总线 36HMz // APB2 高速总线 72HMz RCC-》CFGR = 0x001D0402; RCC-》CR = 0x01010083; // 闪存访问延迟,48MHz ~ 72MHz = 010。 复位值:0x30 FLASH-》ACR = 0x32; // 确定外部高速晶振起效 while (!(RCC-》CR》》17)); // 确定PLL设置起效 while (!(RCC-》CR》》25)); // 确定PLL为系统时钟源 while(dump != 0x02) { dump = RCC-》CFGR 》》 2; dump &= 0x03; } } void Delay(unsigned int v) { unsigned int x, y, iDelay; for (iDelay=0; iDelay 《 v; iDelay++) for (x=0; x 《 100; x++) for (y=0; y 《 1000; y++) ; } int main(void) { unsigned char iDir; unsigned int pwmwidth, pwmarr; iDir = 1; pwmwidth = 0; pwmarr = 7200; // 100Hz // 总线 TIM4 和 B组引脚 使能 RCC-》APB1ENR |= RCC_APB1ENR_TIM4EN; RCC-》APB2ENR |= RCC_APB2ENR_IOPBEN; // PA1 脚使用复用输出,打开TIM4第二通道 GPIOB-》CRH &= ~(GPIO_CRH_MODE9 | GPIO_CRH_CNF9); GPIOB-》CRH |= GPIO_CRH_MODE9_2MHz | GPIO_CRH_CNF9_AOPP; // 设置自动重载计数器 TIM4-》ARR = pwmarr; TIM4-》PSC = 25; // 100分频 // 设置PWM // 通道2 PWM模式2 // 设置比较输出 // 设置比较脉冲宽度 TIM4-》CCMR2 |= TIM_CCMR2_OC4M_PWM1; TIM4-》CCER |= TIM_CCER_CC4E; // 设置为比较输出,使能TIM2 TIM4-》CR2 |= TIM_CR2_MMS_CP; TIM4-》CR1 |= TIM_CR1_CEN; TIM4-》CCR4 = pwmwidth; while (1) { Delay(20); if (iDir) { pwmwidth += 50; if (pwmwidth 》 pwmarr){ pwmwidth = pwmarr; iDir = 0; } } else { if (pwmwidth 》 50) pwmwidth -= 50; else { pwmwidth = 0; iDir = 1; } } TIM4-》CCR4 = pwmwidth; } } 羊肉串吃完,一切就绪。上电测试一切顺利。就是在调光模式下,横流测试板有啸叫声。 难道恒流板中锁着一位 在哭泣的 艳丽女鬼 ?? 俺来搭救你。哇~~~咔~~咔~~~!! 换上22uh 电感测试板,一切OK。 增加公共供电测试板后,没有修改任何外围相关,测试成功啦。折腾了快一个月的问题终于解决,真是大快人心。完了凌晨2点多,兴奋过度没有一点睡意,明天上班是要打瞌睡的节奏。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1784 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1088 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
729 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1680 浏览 2 评论
1938浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
734浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
596浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
559浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 21:42 , Processed in 0.850437 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号