衡阳派盒市场营销有限公司

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>渦旋混合器開源分享

渦旋混合器開源分享

2022-12-26 | zip | 0.20 MB | 次下載 | 免費

資料介紹

描述

?

介紹

您曾經在實驗室中使用過渦旋混合器嗎?它是用于混合解決方案的便捷工具。當您習慣了它時,您將無怨無悔地使用它。

由于這種設備非常昂貴,但在實驗室內并不是絕對必要的,所以我決定制作自己的版本。通過遵循本指南,您還將學習如何制作自己的版本。我希望你會喜歡這本書。

面包板原型

我會開始說,即使零件清單很長,這個設備也可以用周圍找到的東西來建造,如果你在破損的物體中尋找備件,你會發現大部分需要的組件而無需花錢。

該裝置可以示意如下。

我們將使用振動電機來渦旋我們感興趣的樣品。只有當我們將樣品放在電機上時,振動才會開始。這種識別將通過壓電傳感器實現。一旦顯示壓力,由旋轉電位器控制的模擬信號將被發送到電機驅動器,因此它將渦旋我們的樣品。

我們要做的第一件事是在面包板上準備我們的 Arduino 并連接壓電傳感器,以確保這個家伙能正常工作(圖 1

?

?
pYYBAGOlFs2AOVZ3AABf0U4M8Ig094.jpg
?

圖 1. 帶有用于壓力檢測的壓電傳感器的 arduino 示意圖。

注意:您可以同時使用 UNO 或 Nano,我使用 UNO 進行面包板測試,然后我使用 Nano 制作了真正的原型。

為了讓這個傳感器正常工作,只需要幾行代碼(圖 2 )。

#define PRESSURE A0             
[...]            
        
void pressure_baseline (int *baseline);        
        
[...]        
        
int baseline = 0;        
int *ptr_baseline = &baseline;        
             
void setup() {            
 [...]            
 pressure_baseline(ptr_baseline);        
}            
[...]        
void pressure_baseline (int *baseline) {        
 for(int i = 0; i <10; i++){        
   *baseline = *baseline + analogRead(PRESSURE);        
   delay(500);        
   if (i == 9){*baseline = *baseline/10;}        
   }        
 }        

圖 2. 傳感器基值計算所需的代碼。

為了避免在設備每次通電時和傳感器之間的靜止壓電傳感器的響應差異(我有三個傳感器在靜止時給出不同的值!),代碼調用基線計算函數。這條線計算壓電傳感器十個值的平均值,這將用作壓力檢測的閾值。您需要的另一件硬件是電機及其控制器圖 3顯示了設置它所需的接線。我們不能將電機直接連接到數字引腳,因為這會提供最大電流輸出(最大 20-40mA,具體取決于您使用的電路板),但是 5V 引腳能夠提供高達 500mA 的電流,這就足夠了對于振動電機!

還添加了一個電位器以控制振動速度。

?
?
?
?
poYBAGOlFtCAb1v0AACeZMQHAkc927.jpg
?
1 / 2
?

圖 3. 帶有振動電機和控制板的系統示意圖。

?

然后修改代碼以使電機根據對樣品施加的壓力運行(圖 4 )。

?

#define POTMETER A1        
#define MOTORPIN 9        
#define ten_to_eight(x) (map(x, 0, 1023, 0, 255))        
[...]        
void pressure_check (int *baseline);        
int *motor_speed (void);        
void speed_control (int *speed);        
void baseline_drift (int *baseline);        
[...]        
int counter = 0;    
int speed = 0;        
void setup() {        
 pinMode(MOTORPIN, OUTPUT);        
 [...]        
}        
void loop() {        
 pressure_check(ptr_baseline);        
 baseline_drift(ptr_baseline);        
}        
[...]        
int *motor_speed (void){        
 speed = analogRead(POTMETER);        
 speed = ten_to_eight(speed);        
 return &speed;        
 }        
void motor_control (int *speed){        
 analogWrite(MOTORPIN, *speed);        
 counter++;        
 }        
void pressure_check (int *baseline) {        
 if (analogRead(PRESSURE) > (*baseline + 10) && counter < 20){        
   while(counter < 20){        
     int *speed = motor_speed();        
     motor_control(speed);        
     delay(500);        
     }        
   } else if (counter > 19) {        
     analogWrite(MOTORPIN,HIGH);        
     delay(1000);        
     counter = 0;        
     }        
 }        
void baseline_drift (int *baseline){        
 if ( millis() % 3600000 == 0 && counter == 0){pressure_baseline(baseline);}        
 }        

圖 4. 電機控制代碼。

讓我們仔細看看代碼及其作用。首先,您需要定義所需的電機和電位器引腳,并將電機引腳設置為輸出(圖 5 )。

#define POTMETER A1        
#define MOTORPIN 9             
              
void setup() {            
 [...]            
 pinMode(motorPin, OUTPUT);            
 [...]            
}            

圖 5. 初始化代碼。

其余代碼實際上控制著系統的行為方式。需要四個函數。它開始調用 pressure_check(),此函數檢查壓電傳感器上是否有壓力以及調用 motor_speed() 時答案是否肯定。這將從電位器計算電機引腳的輸出,宏函數 ten_to_eight 將映射八位輸出的值(最大值為 180,以避免電機大幅減速)。最后需要的部分是 motor_control() 來激活電機。計數器變量每 0.5 秒增加一次,直到總共 10 秒,然后系統停止 1 秒并等待新循環的進一步壓力。最終函數 baseline_drift() 將每小時運行一次,并為壓電傳感器計算一個新的基值,從而避免漂移。(圖 6 )。

?

void loop() {        
 pressure_check(ptr_baseline);        
 baseline_drift(ptr_baseline);        
}        
[...]        
int *motor_speed (void){        
 speed = analogRead(POTMETER);        
 speed = ten_to_eight(speed);        
 return &speed;        
 }        
void motor_control (int *speed){        
 analogWrite(MOTORPIN, *speed);        
 counter++;        
 }        
void pressure_check (int *baseline) {        
 if (analogRead(PRESSURE) > (*baseline + 10) && counter < 20){        
   while(counter < 20){        
     int *speed = motor_speed();        
     motor_control(speed);        
     delay(500);        
     }        
   } else if (counter > 19) {        
     analogWrite(MOTORPIN,HIGH);        
     delay(1000);        
     counter = 0;        
     }        
 }        
void baseline_drift (int *baseline){        
 if ( millis() % 3600000 == 0 && counter == 0){pressure_baseline(baseline);}        
 }        

圖 6. 循環代碼和函數定義。

圖 7顯示了組裝在面包板上的設備

?
?
?
?
poYBAGOlFwWADfFPAAsSwFCkBT8422.jpg
?
1 / 2
?

圖 7. 面包板上的設備。

如您所見,我確實將壓力傳感器放在了兩個防靜電泡沫板之間。所以電機不會直接站在傳感器上,也不會直接站在剛性表面上。一些膠水用于將橡膠拐杖固定到電機頭上。這塊橡膠將在振動開啟時用作樣品支撐。這將避免任何接觸金屬/玻璃(如果您使用玻璃容器來混合樣品)。

最后一步,您需要為您的設備添加一個開關和一個電源,并打開您的 3D 打印機(圖 8 )。

?

?
pYYBAGOlFwiAa9RsAAC8mBz8Bo4576.jpg
?

圖 8. 帶電源和開關的示意圖。

編輯:注意,如果您使用 12V 的外部電源,使用電壓轉換器提供 5V 而不是 12V 可能是個好主意。這很重要,因為我們使用 5V 引腳為振動電機提供電流。內部調節器可能會快速過熱并燒毀您的電路板!

實物樣機

現在讓我們繼續討論真正的原型。對于這部分,您需要打印三個必要的部分。圖 9 顯示了它們,您可以在頁面末尾找到 .obj 文件。

?
?
?
?
pYYBAGOlFwqAUV9AAAAZXu5f6sU160.png
?
1 / 3
?

?

圖 9 用于渦旋原型制作的 3D 組件。

教程的組裝部分非常簡單。您需要將所有電子元件放置在底座中。可能需要膠槍來固定所有組件并避免不必要的移動。在中央部分將固定防靜電泡沫。圖 10顯示了每個組件都用膠水固定的基礎組件。

?

?
poYBAGOlFzCAdoZPAAjRv7c5jhE820.jpg
?

圖 10. 原型底座。

如您所見,添加了一個用于 12V 電源的母插孔并將其焊接到 Vin 引腳和地。如果您沒有其中之一,您可以隨時切斷供應商的電線并使用裸線。但是這種方式不干凈,因此不建議使用!

對于最后的接觸,只需擰上幾個螺絲并將電機固定到底座上。插入 12V 電源即可(圖 11 )。

?

?

?
poYBAGOlF0OACyf6AAmnzudHwTE985.jpg
?

圖 11. 完整的設備。

我們完成了。最終設備已完成并可以使用。如果振動太強,您可以通過在底座部分增加一些重量來進一步定制您的設備,以避免設備移動!

?

我希望你喜歡和我一起在實驗室里建造這個對日常生活有用的設備。

在下一個教程中見。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
威尼斯人娱乐城备用网| 百家乐官网娱乐求解答| 赌博百家乐官网作弊法| 百家乐官网怎样概率大| 免费百家乐分析工具| 网上百家乐游戏玩法| 现场百家乐牌路分析| 优博百家乐的玩法技巧和规则| 澳门百家乐网络游戏信誉怎么样| 好望角百家乐的玩法技巧和规则 | 百家乐官网分析绿色版| 百家乐官网桌蓝盾在线| 大东方百家乐官网游戏| 百家乐官网扑克片礼服| 九州百家乐官网的玩法技巧和规则 | 深圳百家乐官网的玩法技巧和规则| 百家乐官网画面方法| 永利百家乐现金网| 百家乐赌场大赢家| 老虎机在线ap888| 博彩投注| 易胜博百家乐官网下载| 在线百家乐官网合作| 24山72向吉凶断| 百家乐园鼎盛娱乐场| 百家乐园| 欧华娱乐| 保时捷百家乐官网娱乐城| 粤港澳百家乐官网赌场娱乐网规则 | 网上玩百家乐官网有钱| 玩百家乐官网输了| 百家乐最好的玩法| 红桃K百家乐的玩法技巧和规则 | HG百家乐官网大转轮| 先锋百家乐官网的玩法技巧和规则| 什么是百家乐赌博| 大发888国际娱乐网| 百家乐官网节目视频| 百家乐官网双龙出海| 网络百家乐软件真假| 大发888送58彩金|