pumpitup 发表于 2014-3-30 03:00:10

问关于占空比与tcs230的问题

频率输出范围10-12KHZ,占空比50

是不是说,比如:当某个色彩少的时候,频率为10KHZ,占空比50;当某个色彩强的时候,占空比还是50,但是频率是12KHZ?

如果是这样的话,就没有办法根据有效电压的强度(类似pwm的方式?)来得知色彩强弱了吧,因为占空比是不变的,所以读到的电压也是不变的。

那在只能得知端口电压高低的情况下,怎么才能读到正确的值呢?
是不是这样的?

设置一个颜色r
记录当前时间t
计数器count1清零
记录当前电平v1
当(当前时间-t)小于比如0.01秒的时候
{
    如果v1是高电平且当前电平是低电平
    {
      count++
    }
    取当前电平到v1
}
r=count1

设置一个颜色g
记录当前时间t
计数器count1清零
记录当前电平v1
当(当前时间-t)小于比如0.01秒的时候
{
    如果v1是高电平且当前电平是低电平
    {
      count++
    }
    取当前电平到v1
}
g=count1

设置一个颜色b
记录当前时间t
计数器count1清零
记录当前电平v1
当(当前时间-t)小于比如0.01秒的时候
{
    如果v1是高电平且当前电平是低电平
    {
      count++
    }
    取当前电平到v1
}
b=count1

如此,使用0.03秒,进行一次测试,是否可行?

ps:白平衡又是怎么测试的,如果说取白色时的rgb,待测试颜色的rgb如何计算?
是不是黑色的也要测一个值呢?

pumpitup 发表于 2014-3-30 22:45:37

想了一下,跟舵机的“宽度调制”比较,这个是不是应该算是频率调制?

宽度调制是频率是相同的,根据信号的不同,一个周期里前面的的高电平的时间占一个周期的比例不同,也就是占空比是不同的。如果是pwm输出到小灯的话,那么高电平的时间越长,灯应该越亮。
如果一个器件的输出是pwm信号,可以简单地用读出电平的高低就可以了。

而tcs320是频率调制,每个周期的高电平时间占周期时间的比例是相同的,即50%,至于如何表示信号的不同,是用改变一个周期的时间的长度来表示的,即信号的频率。
如果用程序来读值的话,读电压是不行的,因为肯定是总电压的50。哪就只有读有多少个脉冲才行了,能不能不用中断,而只是读下降沿来实现呢?

稻草 发表于 2014-4-19 20:04:03

我还不懂;P
页: [1]
查看完整版本: 问关于占空比与tcs230的问题