冰楓論壇

 找回密碼
 立即註冊
搜索
查看: 712|回覆: 0
打印 上一主題 下一主題

[討論] ATtiny84A

[複製鏈接]

2609

主題

0

好友

999

積分

高級會員

Rank: 4

UID
373967
帖子
8833
主題
2609
精華
0
積分
999
楓幣
48
威望
976
存款
34543
贊助金額
0
推廣
0
GP
1205
閱讀權限
50
在線時間
453 小時
註冊時間
2023-1-12
最後登入
2024-11-14

2023端午節紀念勳章 2023中秋節紀念勳章 2023聖誕節紀念勳章

跳轉到指定樓層
1
發表於 2023-4-27 06:03:05 |只看該作者 |倒序瀏覽
製作PID控制器所需零件如下:

ATtiny84A 微控制器
溫度傳感器(例如DS18B20)
PWM調節器(例如L298N)
直流電源供應器
其他所需的電子元件和連接線
ATtiny84A有14個引腳,其中包括VCC和GND。它的連接方式如下:

ATtiny84A引腳        連接到
PB0        PWM調節器輸入A
PB1        PWM調節器輸入B
PB2        DS18B20數據線
PB3        不使用
PB4        不使用
PB5        不使用
PB6        不使用
PB7        不使用
VCC        正極電源
GND        地
下面是ATtiny84A PID控制器的示例代碼(使用Arduino IDE進行編寫):


#include <OneWire.h>
#include <PID_v1.h>

#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
byte addr[8];

double Setpoint, Input, Output;
PID myPID(&Input, &Output, &Setpoint, 2, 5, 1, DIRECT);

void setup()
{
  pinMode(0, OUTPUT); // PB0
  pinMode(1, OUTPUT); // PB1
  
  // 初始化溫度傳感器
  if (!oneWire.search(addr)) {
    Serial.println("No more addresses.");
    oneWire.reset_search();
    return;
  }
  
  if (OneWire::crc8(addr, 7) != addr[7]) {
    Serial.println("CRC is not valid!");
    return;
  }
  
  if (addr[0] != 0x28) {
    Serial.println("Device is not a DS18x20 family device.");
    return;
  }
  
  oneWire.reset();
  oneWire.select(addr);
  oneWire.write(0x44, 1);
  
  // 初始化PID控制器
  Setpoint = 25.0; // 設定溫度
  myPID.SetMode(AUTOMATIC);
  myPID.SetOutputLimits(0, 255);
}

void loop()
{
  // 讀取溫度
  oneWire.reset();
  oneWire.select(addr);
  oneWire.write(0xBE);
  byte data[12];
  for (int i = 0; i < 9; i++) {
    data[i] = oneWire.read();
  }
  int16_t raw = (data[1] << 8) | data[0];
  Input = (double)raw * 0.0625;
  
  // PID控制
  myPID.Compute();
  analogWrite(0, Output); // PB0
  analogWrite(1, 0); // PB1
  delay(1000);
}
該示例代碼使用了Arduino的PID庫和OneWire庫,以實現一個簡單的溫度控制器。

具體的實現方式可能因具體的應用場景而異,需要進行適當的調整和優化。
收藏收藏0 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1彩票
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-11-14 06:09

回頂部