0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【南京中科微CSM32RV20開發(fā)板試用體驗】+5.自動喂食器

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-11-30 11:03 ? 次閱讀

本文來源電子發(fā)燒友社區(qū),作者:川楠, 帖子地址:https://bbs.elecfans.com/jishu_2245819_1_1.html


5.自動喂食器使用視頻(開發(fā)板體驗視頻,詳見作者原文鏈接內(nèi)容)

【南京中科微CSM32RV20開發(fā)板試用體驗】+5.自動喂食器


前言
大家好。
首先,感謝南京中科微提供的CSM32RV20開發(fā)板,同時也感謝發(fā)燒友提供的試用平臺。
幾個月前,家里買了一個智能水族箱,能恒溫,24小時增氧,氛圍燈也有,然后再買了一些熱帶魚??雌饋?,效果還是不錯。
poYBAGHuGZ2AaCejAAUB16nfv9c090.png


但是,這不到了春節(jié)了嘛,全家回老家,這個金魚大概有10天可沒人照料。
網(wǎng)上一查,10天不喂,大魚應(yīng)該不會死,但是小魚由于自身儲能比較少,估計會命懸一線。所以,動了自己設(shè)計一個自動喂食器的心思。


設(shè)計方案
由于還有3天就要放假了,這里面設(shè)計的難點是出料的機械結(jié)構(gòu)。所以,我在TB上,查看了一下成品的喂食器,看看能不能找到靈感。出料結(jié)構(gòu)不能太復(fù)雜,因為沒有加工能力,如果有個3D打印機就好了。
別說,還真找到了一款,結(jié)構(gòu)不太復(fù)雜,自己動手應(yīng)該能做出來。
poYBAGHuGZ-AYB23AAI30HKb5Qw732.png


所以,說干就干:
找個步進電機,帶減速的,這樣扭矩大點,并且還能精確的控制位置。這個還是以前剛上大學(xué)的時候,買51開發(fā)板送了一個,好像有10年了吧,配套的還有一個ULN2003驅(qū)動芯片。
pYYBAGHuGaCAHMzoAAJ36V6Vb0k637.png


找個控制板,當(dāng)然是南京中科微的CSM32RV20,這不現(xiàn)成的嘛。
最后找個透明的盒子,不能太大,太大了不協(xié)調(diào),最好是透明的,能看到里面的魚食。
電源,就用5V手機電源充電頭嘛。

軟件方面,需要一個時鐘RTC,但是考慮到上文測評的RTC,我覺得還是算了吧,就用延時來吧,只要設(shè)置好延時時間,比如間隔8小時喂一次(12小時也行、24小時)都可以。不用做到精確幾點幾分去喂食。

動手實操
由于這個步進電機是45線,型號是:35BY412B,減速比比較大,也超過10多年沒用過,驅(qū)動起來比較費勁,花了小半天的時間,終于讓它轉(zhuǎn)了起來,但是,這個也太慢了,果斷放棄。
電機要換!想了一下,用舵機也是可以的。我手上有兩個數(shù)字舵機,比較高檔的那種,DYNAMIXEL AX-12A,這個舵機絕對能像步進電機一樣,達到旋轉(zhuǎn)控制的目的。但是這個數(shù)字舵機是使用單線TTL串口來驅(qū)動,比較詭異。這個之前我還沒有用過,只是之前看了一下資料。
poYBAGHuGaGAH_t6AAKVM3tGyUI309.png


最后,還是把目光放到常規(guī)舵機上。就是用那種PWM控制的舵機,我手上的這個是180度舵機,扭矩也比較大,也是現(xiàn)成的,之前做項目剩下的。
pYYBAGHuGaOAcL2tAAZJex0KO-w459.png

轉(zhuǎn)動的問題弄好,接下來,就是供電的問題。

只前想的是,用電源適配器來供電,但是在實際調(diào)試的時候,發(fā)現(xiàn)用5/1A的,舵機啟動的瞬間電流,會導(dǎo)致電源適配器輸出中斷,然后單片機復(fù)位。
最后,即使是換成華為40W快充的充電器,還有有這樣的問題,明顯感覺到舵機啟動的時候有頓挫感,估計是華為充電頭內(nèi)部過流保護。

所以整體設(shè)計又改了一下,最終整體設(shè)計框圖如下:
poYBAGHuGaSAfivuAAD8aa3ucuo848.png

主要程序功能也很簡單:
l系統(tǒng)上電后,舵機回到原點,0度。
l開始計時,間隔8小時,控制舵機轉(zhuǎn)2下。
l支持按鍵觸發(fā),按鍵觸發(fā)后,當(dāng)前計時清零,重新計滿8小時后,再次自動喂食。
l最后,就是使用板子上的LED做了一些程序功能狀態(tài)指示。
l電源采用明偉的12V桌面電源供電。

程序源碼如下:


  1. #include "headfile.h"
  2. uint32_t g_StimeS; //系統(tǒng)時間計數(shù),單位S
  3. void Time2_PwmCH1(uint16_t CCR)
  4. {
  5. TIMER2->CCR1 = CCR;
  6. }
  7. int main(void)
  8. {
  9. uint8_t CMD;
  10. ///----System Init ---------------------------------------------------------------------------------------------
  11. CLIC_Init();//系統(tǒng)中斷配置
  12. System_Clock_Init();//系統(tǒng)時鐘初始化
  13. GPIO_MODE_Init(GPIOA,PIN10,GPIO_MODE_OUTPUT); //GPIO 模式 TIMER2控制LED
  14. GPIO_MODE_Init(GPIOA,PIN12,GPIO_MODE_OUTPUT); //GPIO 模式 舵機運動時,LED點亮
  15. GPIO_Write(GPIOA,PIN10,GPIO_SET); //GPIO 輸出
  16. GPIO_Write(GPIOA,PIN12,GPIO_SET); //GPIO 輸出
  17. GPIO_PULL_Init(GPIOA, PIN15, GPIO_PULLUP);
  18. GPIO_MODE_Init(GPIOA,PIN15,GPIO_MODE_INPUT); //GPIO 模式
  19. Timer2_PWM_Mode_Init();//PWM輸出
  20. Interrupt_Enable(TIMER2_updata_int_ID);//CLIC使能中斷
  21. //使能系統(tǒng)總中斷
  22. SYS_Interrupt_Enable();//CLIC開總中斷
  23. UART_Init_case1(UART1);//非中斷模式
  24. ee_printf("nHello CSM32RV20:");
  25. g_StimeS=0;
  26. CMD=0;
  27. while(1)
  28. {
  29. /*
  30. 舵機控制信號PWM周期為20ms左右,
  31. 高電平部分一般為0.5ms-2.5ms范圍內(nèi),控制旋轉(zhuǎn)角度。以180度角度舵機為
  32. 0.5ms--------------0度;
  33. 1.0ms--------------45度;
  34. 1.5ms--------------90度;
  35. 2.0ms--------------135度;
  36. 2.5ms--------------180度;
  37. */
  38. if(CMD==1) //控制舵機執(zhí)行喂魚操作
  39. {
  40. uint8_t i;
  41. CMD=0;
  42. g_StimeS=0;
  43. GPIO_Write(GPIOA,PIN12,GPIO_RESET);
  44. for(i=0;i<2;i++)
  45. {
  46. Time2_PwmCH1(2500); //舵機旋轉(zhuǎn)到位置A
  47. Delay32M_ms(500);
  48. Time2_PwmCH1(500); //舵機回到初始位置
  49. Delay32M_ms(500);
  50. }
  51. GPIO_Write(GPIOA,PIN12,GPIO_SET); //LED關(guān)閉
  52. }
  53. else
  54. {
  55. Time2_PwmCH1(500); //舵機回到初始位置
  56. GPIO_Write(GPIOA,PIN12,GPIO_SET); //LED關(guān)閉
  57. }
  58. /*按鍵檢測*************************************************************/
  59. if(GPIO_Read(GPIOA,PIN15)==0)
  60. {
  61. Delay32M_ms(10);
  62. while(GPIO_Read(GPIOA,PIN15)==0);
  63. CMD=1;
  64. }
  65. /*自動定時放料*********************************************************/
  66. if(g_StimeS>28800) //設(shè)定計時時間大于閾值,啟動舵機投食。
  67. {
  68. g_StimeS=0;
  69. CMD=1;
  70. }
  71. }
  72. return 0;
  73. }
復(fù)制代碼



成品展示
使用熱熔膠,把塑料盒子(蓋子被小孩弄不見了,只有用氣球+橡皮筋臨時封上)固定在舵機上,然后整體固定在陶瓷杯子上,這樣底座比較穩(wěn),不容易翻車。并且使食料盒水平上有一定的斜度,保證魚食一直在底部。
pYYBAGHuGaWAOP9KAAHnObcF_Cw075.png

在杯子上方用電轉(zhuǎn)打好小孔孔,如果孔打大了,可以控制舵機旋轉(zhuǎn)到180度后,減少停留的時間。孔打小了,那就控制舵機多轉(zhuǎn)動幾次,也是可以一定程度上彌補的??椎拇笮∨c魚食的顆粒大小有直接的關(guān)系。
poYBAGHuGaeAMYc1AALYSoOsMDY901.png

最開始,我用的用的是電轉(zhuǎn)打孔,但是,后來發(fā)現(xiàn),里面有很多的毛刺,干脆就用釘子燙了幾個小孔。

使用效果如下:詳見視屏




我用的是按鍵觸發(fā),效果不錯,還是非常滿意。

總結(jié)
其實,這個只是一個非常小、也是非常著急的項目,用的技術(shù)也非常簡單。但是,也確實是能解決我生活上的一些小問題。給我?guī)肀憷?/font>
當(dāng)然,也有不完善的地方,比如喂食時間不能手動設(shè)置,是程序?qū)懰懒肆说?,但是我想說的是,時間真的很緊,與其去開發(fā)這個一個功能,還不如直接改源碼,串口重新燒錄一遍,也就OK了,這個不是產(chǎn)品。
好了,自動喂魚的事情是解決了,但是自動換水是不是也該考慮一下,平時,我是5-6天換一次水,但是水泵我也沒有現(xiàn)成的,年后在想辦法吧,不然以后國慶節(jié),全家出去耍了,這些魚也是個麻煩。
這次春節(jié)放假10天,只也希望它們能夠挺住吧。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 南京中科微
    +關(guān)注

    關(guān)注

    0

    文章

    60

    瀏覽量

    709
  • CSM32RV20
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    192
收藏 人收藏

    評論

    相關(guān)推薦

    基于WTR096-28SS芯片方案的寵物喂食器實現(xiàn)智能化喂食功能

    功能,可以根據(jù)主人設(shè)定的時間和食物量,自動為寵物提供食物,確保寵物按時獲得充足的飲食。同時,該喂食器還支持多餐分配,可以設(shè)定多個餐次,根據(jù)寵物的飲食需求進行合理分配,保證寵物的飲食均衡。 二、方案分析 市面上常用的寵物喂食器
    的頭像 發(fā)表于 03-19 13:57 ?395次閱讀
    基于WTR096-28SS芯片方案的寵物<b class='flag-5'>喂食器</b>實現(xiàn)智能化<b class='flag-5'>喂食</b>功能

    哪位大佬能提供一下中科CSM32RV003單片機開發(fā)系統(tǒng)中g(shù)pio.h文件的中文解釋,及用法

    初學(xué)南京中科CSM32RV003單片機,對其龐大的h文件庫和C文件庫搞得一頭霧水,即使有高手指點一二,也是很困難,但搞清了h文件庫,C文件也就明白了,這些對入門的人來說算不了什么,但
    發(fā)表于 10-26 09:47

    CSM32RV003 單片機輸入功能的使用

    前言 大家好。 首先,感謝南京中科提供的CSM32RV003開發(fā)板及cjlink調(diào)試器,同時也感謝發(fā)燒友提供的
    發(fā)表于 10-25 16:13

    中科CSM32RV003綠色開發(fā)板免費體驗】IDE使用及流水燈程序演示

    【RISC-V】中科CSM32RV003綠色開發(fā)板IDE使用及流水燈程序演示 流水燈代碼 #include \"headfile.h\" int main(void
    發(fā)表于 10-23 19:26

    中科CSM32RV003綠色開發(fā)板免費體驗】環(huán)境配置

    CSM32RV003】中科CSM32RV003綠色開發(fā)板環(huán)境配置 視頻中詳細介紹了開發(fā)板
    發(fā)表于 10-23 19:17

    【LuckFox Pico Plus開發(fā)板免費試用】+開發(fā)板上手

    LuckFox Pico的試用機會,這款開發(fā)板相當(dāng)于是RV1103的小型評估,引出了所有的IO口,并且?guī)б蕴W(wǎng)/USB/攝像頭等高速接口。下面一起來看一下。
    的頭像 發(fā)表于 10-16 00:58 ?3907次閱讀
    【LuckFox Pico Plus<b class='flag-5'>開發(fā)板</b>免費<b class='flag-5'>試用</b>】+<b class='flag-5'>開發(fā)板</b>上手

    中科CSM32RV003綠色開發(fā)板免費體驗】3.使用流程

    試用機會,非常感謝電子發(fā)燒友論壇! 南京中科公司CSM32RV003開發(fā)板使用心得體會 這篇
    發(fā)表于 10-14 00:05

    中科CSM32RV003綠色開發(fā)板UART測試

    開發(fā)板南京中科
    Youzhiyu
    發(fā)布于 :2023年10月11日 11:00:12

    中科CSM32RV003綠色開發(fā)板免費體驗】+環(huán)境安裝與第一個示例程序測試

    需要對中科CSM32RV003綠色開發(fā)板進行開發(fā)測試,首先需要建立開發(fā)環(huán)境。
    發(fā)表于 10-11 10:09

    中科CSM32RV003綠色開發(fā)板免費體驗】+ISP下載測試

    在收到中科CSM32RV003綠色開發(fā)板后,首先到官網(wǎng)和技術(shù)支持信群尋找資料。要實現(xiàn)CSM32RV
    發(fā)表于 10-11 08:58

    中科CSM32RV003綠色開發(fā)板免費體驗】2.RISC-V RV32IMAC內(nèi)核

    CSM32RV003綠色開發(fā)板免費體驗】1.上手 我要感謝南京中科微電子有限公司提供的CSM32RV003綠色
    發(fā)表于 10-10 00:03

    中科CSM32RV003綠色開發(fā)板免費體驗】 開箱和安裝工具帖

    我申請項目:滑翔傘空中速率計。 我于2023年9月9日下午收到中科CSM32RV003開發(fā)板快遞包裹。拿回后立馬打開包裹,出現(xiàn)南京
    發(fā)表于 10-09 23:34

    中科CSM32RV003綠色開發(fā)板免費體驗】1.上手

    首先,我要感謝南京中科微電子有限公司提供的CSM32RV003綠色開發(fā)板試用機會,這讓我有機會深入了解并使用該公司的產(chǎn)品。經(jīng)過幾天的熟悉和
    發(fā)表于 10-09 23:21

    中科CSM32RV003綠色開發(fā)板免費體驗】開發(fā)板使用3彩燈

    接上文 【中科CSM32RV003綠色開發(fā)板免費體驗】開發(fā)板使用2 官方例程SYSTICK_Interrupt\\\\SYSTICK_In
    發(fā)表于 09-28 07:04

    中科CSM32RV003綠色開發(fā)板免費體驗】第二貼-CSM Stduio使用、ISP下載固件及C-Jlink進行調(diào)試

    非常感謝南京中科提供的試用機會,經(jīng)過幾天的熟悉,本期將對CSM Studio的基礎(chǔ)使用、CSM
    發(fā)表于 09-27 20:26