久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2021|回復(fù): 20
打印 上一主題 下一主題
收起左側(cè)

AD5420無(wú)輸出問題 附電路原理圖和程序

[復(fù)制鏈接]
回帖獎(jiǎng)勵(lì) 50 黑幣 回復(fù)本帖可獲得 5 黑幣獎(jiǎng)勵(lì)! 每人限 2 次
跳轉(zhuǎn)到指定樓層
樓主
ID:436963 發(fā)表于 2023-5-24 16:39 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
程序使用官方例程,IOut無(wú)輸出,原理圖和程序在2樓
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

來(lái)自 2#
ID:436963 發(fā)表于 2023-5-25 11:50 | 只看該作者


  1. #define SET_CLEAR() GPIO_SetBits(GPIOD, GPIO_Pin_0) // AD5420_CLEAR -> PD0
  2. #define CLR_CLEAR() GPIO_ResetBits(GPIOD, GPIO_Pin_0)

  3. #define SET_LATCH() GPIO_SetBits(GPIOB, GPIO_Pin_12) // AD5420_LATCH -> PB12
  4. #define CLR_LATCH() GPIO_ResetBits(GPIOB, GPIO_Pin_12)

  5. #define SET_SCL()   GPIO_SetBits(GPIOB, GPIO_Pin_13) // AD5420_SCLK  -> PB13
  6. #define CLR_SCL()   GPIO_ResetBits(GPIOB, GPIO_Pin_13)

  7. #define SET_SDO()   GPIO_SetBits(GPIOB, GPIO_Pin_15) // AD5420_SDIN  -> PB15
  8. #define CLR_SDO()   GPIO_ResetBits(GPIOB, GPIO_Pin_15)


  9. void AD5420_IO_Init(void)
  10. {
  11.     GPIO_InitTypeDef GPIO_InitStructure;
  12.     // SPI_InitTypeDef  SPI_InitStructure;

  13.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
  14.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
  15.     // RCC_APB1PeriphClockCmd(  RCC_APB1Periph_SPI2,  ENABLE );//SPI2時(shí)鐘使能

  16.     // input:PD0->CLEAR; PB12->LATCH; PB13->SCLK; PB15->SDIN; output:PB14->SDIO; PD1->FAULT
  17.     // gpio配置
  18.     GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_0;       // PD0->CLEAR
  19.     GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_Out_PP; // 推挽輸出
  20.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  21.     GPIO_Init(GPIOD, &GPIO_InitStructure);

  22.     GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_15; // PB12->LATCH; PB13->SCLK; PB15->SDIN;
  23.     GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_Out_PP;                        // 推挽輸出
  24.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  25.     GPIO_Init(GPIOB, &GPIO_InitStructure);

  26.     GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_1;    // PD1->FAULT
  27.     GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_Out_OD;//開漏輸出
  28.     // GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_IPU; // 上拉輸入
  29.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  30.     GPIO_Init(GPIOD, &GPIO_InitStructure);

  31.     GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_14;   //  PB14->SDO
  32.     GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_IPU; // 上拉輸入
  33.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  34.     GPIO_Init(GPIOB, &GPIO_InitStructure);
  35.     GPIO_ResetBits(GPIOB, GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_15);
  36.     GPIO_ResetBits(GPIOD, GPIO_Pin_0);
  37. }
  38. void AD5420_WriteData(uint8_t count, uint8_t *ad5420buf)
  39. {
  40.     uint8_t ValueToWrite = 0;
  41.     uint8_t i            = 0;
  42.     uint8_t j            = 0;

  43.     CLR_LATCH(); // 先拉低LATCH片選線

  44.     for (i = count; i > 0; i--)
  45.     {
  46.         ValueToWrite = *(ad5420buf + i - 1);
  47.         for (j = 0; j < 8; j++)
  48.         {
  49.             CLR_SCL();
  50.             if (0x80 == (ValueToWrite & 0x80))
  51.             {
  52.                 SET_SDO();
  53.             }
  54.             else
  55.             {
  56.                 CLR_SDO();
  57.             }
  58.             delay_ms(50);   
  59.             SET_SCL();
  60.             // delay_us(100);
  61.             ValueToWrite <<= 1;
  62.         }
  63.     }
  64.     CLR_SCL();
  65.     delay_us(500);
  66.     SET_LATCH();
  67.     delay_us(500);
  68.     CLR_LATCH();
  69. }

  70. void Ad5420_Init(void)
  71. {
  72.     ad5420buf[2] = 0x56; // 復(fù)位寄存器地址
  73.     ad5420buf[1] = 0x00;
  74.     ad5420buf[0] = 0x01;
  75.     AD5420_WriteData(3, ad5420buf);
  76.     delay_ms(100);

  77.     ad5420buf[2] = 0x55; // 可尋址控制寄存器地址
  78.     // ad5420buf[1] = 0x10;    //OUTEN=1,輸出使能
  79.     ad5420buf[1] = 0x30; // REXT=1,外部電流設(shè)置電阻;OUTEN=1,輸出使能;禁能數(shù)字壓擺率控制;菊花鏈禁能
  80.     ad5420buf[0] = 0x05; // 4~20mA
  81.     // ad5420buf[0] = 0x06;  //0~20mA
  82.     // ad5420buf[0] = 0x07;  //0~24mA
  83.     AD5420_WriteData(3, ad5420buf);
  84.     delay_us(100);
  85. }
  86. void Write_Ad5420_Data(void)
  87. {
  88.     // Ad5420_Init();
  89.     ad5420buf[2] = 0x01;//數(shù)據(jù)寄存器
  90.     ad5420buf[1] = 0x00;
  91.     ad5420buf[0] = 0x00;//4mA
  92.     AD5420_WriteData(3,ad5420buf);

  93.     // ad5420buf[2] = 0x01; // 數(shù)據(jù)寄存器
  94.     // ad5420buf[1] = 0x60;
  95.     // ad5420buf[0] = 0x00; // 10mA
  96.     // AD5420_WriteData(3, ad5420buf);
  97.     delay_us(1000);

  98.     // ad5420buf[2] = 0x01;//數(shù)據(jù)寄存器
  99.     // ad5420buf[1] = 0xFF;
  100.     // ad5420buf[0] = 0xFF;//20mA
  101.     // AD5420_WriteData(3,ad5420buf);
  102.     // delay_us(2000);
  103.     GPIO_SetBits(GPIOD, GPIO_Pin_0);
  104.     delay_ms(200);

  105.     GPIO_ResetBits(GPIOD, GPIO_Pin_0);
  106.     delay_ms(200);

  107. }
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

板凳
ID:94031 發(fā)表于 2023-5-24 17:17 | 只看該作者
你應(yīng)該把硬件,軟件告訴大家,才能幫你分析
回復(fù)

使用道具 舉報(bào)

地板
ID:820444 發(fā)表于 2023-5-25 10:36 | 只看該作者
檢查一下DVCC SELECT試試
回復(fù)

使用道具 舉報(bào)

5#
ID:94031 發(fā)表于 2023-5-25 13:35 | 只看該作者
牛牛牛牛牛牛 發(fā)表于 2023-5-25 11:50
#define SET_CLEAR() GPIO_SetBits(GPIOD, GPIO_Pin_0) // AD5420_CLEAR -> PD0
#define CLR_CLEAR() GP ...

你AVDD電壓是多少?
回復(fù)

使用道具 舉報(bào)

6#
ID:94031 發(fā)表于 2023-5-25 13:51 | 只看該作者
牛牛牛牛牛牛 發(fā)表于 2023-5-25 11:50
#define SET_CLEAR() GPIO_SetBits(GPIOD, GPIO_Pin_0) // AD5420_CLEAR -> PD0
#define CLR_CLEAR() GP ...

量量15腳REFIN電壓。
回復(fù)

使用道具 舉報(bào)

7#
ID:436963 發(fā)表于 2023-5-25 15:17 | 只看該作者
xuyaqi 發(fā)表于 2023-5-25 13:35
你AVDD電壓是多少?

12v的模擬電路供電,3.3v的數(shù)字電路供電呀
回復(fù)

使用道具 舉報(bào)

8#
ID:436963 發(fā)表于 2023-5-25 15:21 | 只看該作者
xuyaqi 發(fā)表于 2023-5-25 13:51
量量15腳REFIN電壓。

5v基準(zhǔn)電壓,沒問題
回復(fù)

使用道具 舉報(bào)

9#
ID:436963 發(fā)表于 2023-5-25 15:23 | 只看該作者

用示波器測(cè)了一下這個(gè)時(shí)鐘和數(shù)字引腳沒問題
回復(fù)

使用道具 舉報(bào)

10#
ID:94031 發(fā)表于 2023-5-25 15:32 | 只看該作者
你根據(jù)什么得出IOut無(wú)輸出。
回復(fù)

使用道具 舉報(bào)

11#
ID:436963 發(fā)表于 2023-5-25 15:40 | 只看該作者
xuyaqi 發(fā)表于 2023-5-25 15:32
你根據(jù)什么得出IOut無(wú)輸出。

萬(wàn)用表串聯(lián)IOUT和模擬地,測(cè)電流呀
回復(fù)

使用道具 舉報(bào)

12#
ID:94031 發(fā)表于 2023-5-25 16:04 | 只看該作者
牛牛牛牛牛牛 發(fā)表于 2023-5-25 15:40
萬(wàn)用表串聯(lián)IOUT和模擬地,測(cè)電流呀

由于電流表內(nèi)阻太小,造成芯片工作不正常,你串一個(gè)200歐電阻再試。
回復(fù)

使用道具 舉報(bào)

13#
ID:436963 發(fā)表于 2023-5-25 16:13 | 只看該作者
xuyaqi 發(fā)表于 2023-5-25 16:04
由于電流表內(nèi)阻太小,造成芯片工作不正常,你串一個(gè)200歐電阻再試。

試了,270歐姆電阻,無(wú)輸出,但是可以通過(guò)串口讀出來(lái)數(shù)據(jù)寄存器的值,說(shuō)明寫進(jìn)去,但是無(wú)輸出
回復(fù)

使用道具 舉報(bào)

14#
ID:94031 發(fā)表于 2023-5-25 16:22 | 只看該作者
牛牛牛牛牛牛 發(fā)表于 2023-5-25 16:13
試了,270歐姆電阻,無(wú)輸出,但是可以通過(guò)串口讀出來(lái)數(shù)據(jù)寄存器的值,說(shuō)明寫進(jìn)去,但是無(wú)輸出

輸出接電阻,用電壓表測(cè),是否電流表有問題。
回復(fù)

使用道具 舉報(bào)

15#
ID:94031 發(fā)表于 2023-5-25 16:28 | 只看該作者

量20腳BOOST有電壓?jiǎn)幔渴嵌嗌伲?/td>
回復(fù)

使用道具 舉報(bào)

16#
ID:436963 發(fā)表于 2023-5-25 16:33 | 只看該作者
xuyaqi 發(fā)表于 2023-5-25 16:28
量20腳BOOST有電壓?jiǎn)幔渴嵌嗌伲?/blockquote>

跟這個(gè)引腳沒啥關(guān)系吧
回復(fù)

使用道具 舉報(bào)

17#
ID:436963 發(fā)表于 2023-5-25 16:35 | 只看該作者
xuyaqi 發(fā)表于 2023-5-25 16:22
輸出接電阻,用電壓表測(cè),是否電流表有問題。

萬(wàn)用表好著呢,按理來(lái)說(shuō)數(shù)據(jù)寫進(jìn)到數(shù)據(jù)寄存器,就不需要管了呀,芯片就會(huì)生成數(shù)據(jù)寄存器的值調(diào)出來(lái)的電流,現(xiàn)在沒有輸出就很奇怪
回復(fù)

使用道具 舉報(bào)

18#
ID:94031 發(fā)表于 2023-5-25 16:50 | 只看該作者
牛牛牛牛牛牛 發(fā)表于 2023-5-25 16:33
跟這個(gè)引腳沒啥關(guān)系吧

這個(gè)腳電壓能知道內(nèi)部工作電壓是否加上,反饋情況。
回復(fù)

使用道具 舉報(bào)

19#
ID:94031 發(fā)表于 2023-5-25 16:52 | 只看該作者
牛牛牛牛牛牛 發(fā)表于 2023-5-25 16:35
萬(wàn)用表好著呢,按理來(lái)說(shuō)數(shù)據(jù)寫進(jìn)到數(shù)據(jù)寄存器,就不需要管了呀,芯片就會(huì)生成數(shù)據(jù)寄存器的值調(diào)出來(lái)的電流 ...

你數(shù)據(jù)是希望輸出多大電流?
回復(fù)

使用道具 舉報(bào)

20#
ID:436963 發(fā)表于 2023-5-25 16:59 | 只看該作者
xuyaqi 發(fā)表于 2023-5-25 16:52
你數(shù)據(jù)是希望輸出多大電流?

4~20ma 的10ma
回復(fù)

使用道具 舉報(bào)

21#
ID:436963 發(fā)表于 2023-5-26 09:27 | 只看該作者
xuyaqi 發(fā)表于 2023-5-25 16:22
輸出接電阻,用電壓表測(cè),是否電流表有問題。

感謝老哥,還真是這萬(wàn)用表電流檔有點(diǎn)問題,測(cè)不出來(lái),最后串聯(lián)了一個(gè)電阻,測(cè)電壓,然后算電流沒問題,誤差0.02
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品片aa在线观看 | 欧美一区二区三区在线视频 | 日韩三级精品 | 91精品国产一区二区三区动漫 | 欧美日韩精品一区二区三区视频 | 国产精品视频久久久久久 | 国产在线一区二区 | 久久久久久久久久久国产 | 国产成人免费视频网站高清观看视频 | 欧美色成人| 久久久久久久国产精品视频 | 色综合久久天天综合网 | 91精品国产欧美一区二区 | 日韩电影中文字幕在线观看 | 久久久精彩视频 | 久久久久久中文字幕 | 精品久久一区 | 一区二区三区成人 | 国产精品123区 | 日韩激情免费 | 99热国产免费 | 欧美在线观看免费观看视频 | 亚洲97| 精品国产欧美一区二区三区成人 | 97人人澡人人爽91综合色 | 免费亚洲成人 | 久久精品91 | 精品国产99 | 日韩精品成人网 | 国产精品1区 | 一区二区三区在线 | 97超碰在线免费 | 日本涩涩视频 | 国产91丝袜在线播放 | 欧美激情在线一区二区三区 | 夜夜撸av| 亚洲va国产日韩欧美精品色婷婷 | 久久久久久亚洲精品 | 中文字幕一二三区 | 视频一区二区三区中文字幕 | 欧美视频在线播放 |