找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 11603|回复: 51

粒子云风扇调速原理

  [复制链接]
发表于 2019-9-12 20:21 | 显示全部楼层 |阅读模式
本帖最后由 rush 于 2019-9-13 14:20 编辑

粒子云风扇调速原理

原理就是先把gpio79拉高,然后再控制gpio70(PWM2)

反编译你现在用的dtb,随便什么系统都行,以armbian为例(假设dtb是rock64-rk3228.dtb):

dtc -I dtb -O dts -o source.dts rock64-rk3228.dtb

找到关于PWM2的部分(这部分来自rk3228.dtsi不可能没有,跟系统无关)


        pwm@ff1b0020 {
                compatible = "rockchip,rk3328-pwm";
                reg = <0x0 0xff1b0020 0x0 0x10>;
                #pwm-cells = <0x3>;
                pinctrl-names = "active";
                pinctrl-0 = <0x52>;
                clocks = <0x2 0x3c 0x2 0xd6>;
                clock-names = "pwm", "pclk";
                status = "okay";
                phandle = <0xb0>;
        };

在你的文件上是status = "disabled"; 改为像我这样  status = "okay";
以启用PWM2功能

然后回编译:

dtc -I dts -O dtb -o rock64-rk3228.dtb source.dts

替换,重启

设置79脚高电平输出:
echo 79 > /sys/class/gpio/export
echo high > /sys/class/gpio/gpio79/direction

设置70脚PWM(占空比应该在0-20000可调):
echo 0 > /sys/class/pwm/pwmchip0/export
echo 30000 > /sys/class/pwm/pwmchip0/pwm0/period
echo 10000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle
echo normal > /sys/class/pwm/pwmchip0/pwm0/polarity
echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable




菜鸟想变成高手,什么事情都要知道原理,远离什么OMV打包固件和WEB界面,难道以后买了台VPS你真的装个面板上去??apt下载来的软件包+SSH足够任何人用。
能看到这里的朋友,再来一段代码,将蓝色指示灯作为内置emmc读写指示,效果非常漂亮
我就不说替换到哪里了(根据上面内容做完实验,你大概已经知道了)

    gpio2@ff230000 {
        compatible = "rockchip,gpio-bank";
        reg = <0x0 0xff230000 0x0 0x100>;
        interrupts = <0x0 0x35 0x4>;
        clocks = <0x2 0xca>;
        gpio-controller;
        #gpio-cells = <0x2>;
        interrupt-controller;
        #interrupt-cells = <0x2>;
        phandle = <0x47>;   记住这里的0x47,我们不一样
    };


找到:

    leds {
        compatible = "gpio-leds";

        blue {
            linux,default-trigger = "mmc0";
            gpios = <0x47 0x15 0x0>;       记得改成你的
        };

最后还有个小礼物:开关机按键:GPIO2,本人首发,想拿去收费的自重!


点评

你说的很对,我赞同你的说法。: 5.0
你说的很对,我赞同你的说法。: 5
感谢分享  发表于 2019-9-23 21:16

评分

参与人数 5恩山币 +5 收起 理由
penguinmm + 1 强大的恩山!(以下重复1万次)
takeeasy5 + 1 我太佩服楼主啦,居然跟着帖子也能进dts看一看勒
evernevern + 1 我太佩服你了,我尽管自己还没有搞明白,我先学习
noisay + 1 这就是真的牛逼了啊
森林生灵 + 1 感谢你的分享,无论怎样,你都是最无私的人!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-9-12 21:12 | 显示全部楼层
我是板凳,楼主这个帖子是传授的真技术.
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-12 21:45 | 显示全部楼层
赞一个,,学习了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-12 22:40 | 显示全部楼层
支持楼主。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-13 08:30 | 显示全部楼层
  完全没看懂, 有懂的就是好事
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-13 16:47 来自手机 | 显示全部楼层
高手,实现了调速,粒子云变废为宝。我的粒子云还有一个不足,就是联系ping时有丢包,不知是不是个案?

点评

我也是根据收费调速固件DTB反编译排除得出的结果,具体电路连接情况我也是很费解,需要两个IO控制,有可能是为了在某些情况能彻底关闭风扇,不让他失控(例如开关机时)。 ping丢包,我没有遇到,提醒下千M质量和交  详情 回复 发表于 2019-9-13 16:54
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-9-13 16:54 | 显示全部楼层
dbh 发表于 2019-9-13 16:47
高手,实现了调速,粒子云变废为宝。我的粒子云还有一个不足,就是联系ping时有丢包,不知是不是个案?

我也是根据收费调速固件DTB反编译排除得出的结果,具体电路连接情况我也是很费解,需要两个IO控制,有可能是为了在某些情况能彻底关闭风扇,不让他失控(例如开关机时)。
ping丢包,我没有遇到,提醒下千M质量和交换机及网线关系很大,我在网线投入的成本远大于机器本身。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-13 16:59 来自手机 | 显示全部楼层
哈哈,本来我就想问一下为什么pwm还需要2个gpio呢。

点评

注意清理掉ROCK64原来一些regulator的定义,其中好像就有gpio2,所以你原来没有找到面板按键, 然后 fanpower { 好像不太正常,最好进了系统去export,(缺点是有时候开机风扇:呜~~~~~~~~~~~~) leds {  详情 回复 发表于 2019-9-13 17:05
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-13 17:02 来自手机 | 显示全部楼层
还有,既然gpio2是开关,能不能从/sys/class/gpio 里面读到1/0,我之前好像没有试出来?(机器放单位了,否则都迫不及待想测试了)

点评

另外记住watch命令很好用 watch -n 0.1 cat /sys/class/gpio/gpio$1/value  详情 回复 发表于 2019-9-13 17:10
注意清理掉ROCK64原来一些regulator之类的定义,其中好像就有gpio2,所以你原来没有找到面板按键!我是系统精简出家的,首先清扫文件,强迫症,呵呵  发表于 2019-9-13 17:06
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-9-13 17:05 | 显示全部楼层
本帖最后由 rush 于 2019-9-13 17:06 编辑
dbh 发表于 2019-9-13 16:59
哈哈,本来我就想问一下为什么pwm还需要2个gpio呢。

注意清理掉ROCK64原来一些regulator的定义,其中好像就有gpio2,所以你原来没有找到面板按键,(busy 被占用了)
然后 fanpower { 好像不太正常,最好进了系统去export,(缺点是有时候开机风扇:呜~~~~~~~~~~~~)


    leds {
        compatible = "gpio-leds";

        blue {
            linux,default-trigger = "mmc0";
            gpios = <0x47 0x15 0x0>;
        };
        
        fanpower {
            linux,default-trigger = "none";
            gpios = <0x47 0x0f 0x1>;
            status = "disabled";    删掉这行才起作用
        };

        satapower {
            linux,default-trigger = "none";
            gpios = <0x47 0x12 0x0>;
            default-state = "on";
        };


    };

    gpio-keys {
    compatible = "gpio-keys";
    power {
        label = "Power Button";
        gpios = <0x6d 0x2 0>;
        linux,code = <116>; /* KEY_POWER */
        debounce-interval = "50";
        /*gpio-key,wakeup;*/
        };
    };

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-9-13 17:10 | 显示全部楼层
dbh 发表于 2019-9-13 17:02
还有,既然gpio2是开关,能不能从/sys/class/gpio 里面读到1/0,我之前好像没有试出来?(机器放单位了,否 ...

另外记住watch命令很好用 watch -n 0.1 cat /sys/class/gpio/gpio$1/value
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-13 17:18 来自手机 | 显示全部楼层
我还遇到另外几个问题,一是reboot或加电后偶尔会不能重新启动(armbian更明显,ayufan的系统会好点,这是通过每隔1分钟重启一次,重启约1000次得出来的结论)。 二是有是启动后硬盘没有加载(/dev下没有设备)。3是连续开机(比如2周)偶有死机(armbian和auyfan都出现过)。不知您是否遇到过?

点评

reboot以后如果黑屏你多等10分钟看看启动了吧?我偶尔剪了下指甲,才发现了这个事。。。 另外不止你内置硬盘没有加载,我是改过硬件用的H1硬盘,有时候也没有加载。我觉得这个跟他的辣鸡hub离不开关系。我认为,这  详情 回复 发表于 2019-9-13 17:23
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-9-13 17:23 | 显示全部楼层
本帖最后由 rush 于 2019-9-13 17:25 编辑
dbh 发表于 2019-9-13 17:18
我还遇到另外几个问题,一是reboot或加电后偶尔会不能重新启动(armbian更明显,ayufan的系统会好点,这是 ...

reboot以后如果黑屏你多等10分钟看看启动了吧?我偶尔剪了下指甲,才发现了这个事。。。
另外不止你内置硬盘没有加载,我是改过硬件用的H1硬盘,有时候也没有加载。我觉得这个跟他的辣鸡hub离不开关系。我认为,这个机器有一个设计,本来很好,他自己做臭了,就是内置USB硬盘,没有从USB那部分开始断开电源。(意思就是把USB转SATA和硬盘电源共用,模拟真正的移动硬盘行为,毕竟真正的移动硬盘,不可能单独把硬盘拔了,留下硬盘盒还通电)
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-14 01:14 | 显示全部楼层
很强大很强大很强大
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-14 10:43 来自手机 | 显示全部楼层
感谢大佬传授真技术.
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-20 04:54

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表