顯示具有 創客集 標籤的文章。 顯示所有文章
顯示具有 創客集 標籤的文章。 顯示所有文章

杜邦接頭 (Dupont Connector) 可使用的線徑規格

杜邦接頭是電子實驗中,最常用的連接元件。像麵包板那種適合暫時插線、孔距規格是 2.54mm (0.1 inch) 的接線基板,適合使用杜邦接頭來暫時連接,執行電子電路試驗。杜邦接頭的端子,有插孔(母)跟插針(公)兩種,麵包板上面是一個一個的插孔,所以可以使用插針端子。而大部分的開發板、載板上都是以排針連接信號腳位,適合使用採插孔端子的杜邦接頭來接線。

杜邦端子可以用線對線的連接方式,暫時將兩條線連接延長,其中一條線使用插孔端子,另外一條線使用插針端子,但需要注意這種接線方式,會比較容易脫落。

替 Arduino Nano 開無線外掛 (二) 使用 WiFiEsp 函式庫

STM32F103C8T6 + ESP-01
之前曾經在《替 Arduino Nano 開無線外掛 (一) 接一片ESP-01》一文中,介紹用 Arduino Nano 連接 ESP-01 達到與外界通訊的目的。不過該文當時還沒寫完,只有提到 Arduino 跟 ESP-01 兩者之間的連接、通訊。事實上,這樣的動作還沒有到達 Internet,還只是板子之間的通訊,簡單測試一下 ESP-01 的 AT指令功能。除非,你在終端機上,用一個一個 AT 指令,逐步下給 ESP-01,讓 ESP-01 執行以下動作:1. 設定WiFi模式 (Station, Server等) ;2. 連接無線AP,獲得 IP;3. 設定通信協定、連接遠端伺服器或等待客戶端連進來;4. 傳送字串資料給遠端的伺服器或接收客戶端來的資料。

這樣才完成開無線外掛的目的。不過,總不能每次都這樣子敲一大堆 AT 指令吧?本文接續前文,繼續介紹完整的外掛控制方法,包含讓你在遠端執行一個 UDP 伺服器,實際收取 Arduino Nano 這端的資料。

如何讓 WiFiEsp 跟 STM32 Blue Pill 編譯時不會出錯?

WiFiEsp 是一個簡單好用的函式庫,讓你的 Arduino 板子,能夠透過 ESP-01物連網模組連上網路、傳送資料。它使用 AT指令跟 ESP-01 溝通,因此不需要更改 ESP-01 的韌體,就可以直接使用。另外它的函式,也跟 Arduino 原裝的 WiFi 與 Ethernet 函式庫差不多,很多函式都一樣。

對於要用現成的 MPU 連接 ESP-01 上網的程式來說,它可以省去許多直接用 AT 指令去控制 ESP-01的麻煩事。不過,這個函式庫,搭配 STM32 的板子,編譯時會出現錯誤訊息,需要在 WiFiEsp 函式庫中的 EspDrv.cpp 加上一些定義,才能順利編譯。

[教學] Arduino Pro Mini 的便宜替代品 MiniEVB

MiniEVB 是一款仿造 Arduino Pro Mini 的微控制器模組,採用深圳 LogicGreen 公司出品的LGT8F328P-SSOP20 8位元晶片。這顆MCU的功能,除了跟 Arduino Pro Mini 上面使用的 ATmega328 功能相仿之外,核心頻率還比 ATmega328 勝過一籌,可以運行到32MHz,運算速度32 MIPS,內部的32KHz RC振盪器,有提供校準功能,讓可以精準執行即時計數,或輸出準確的方波。而 原廠提供的Arduino 硬體支援包,讓你可以像使用其他 Arduino 模組一樣,用你熟悉的方式, 來開發 MiniEVB 相關的應用。

MiniEVB正面外觀,可明顯看到被塗抹掉的晶片
MiniEVB 正面外觀

晶片基本規格:

I/O 與封裝:QFP48/32L, SSOP20L

32Kbytes 可編程 FLASH 程式記憶體

2Kbytes 內部數據 SRAM

EEPROM 0Kb, 但有提供模擬接口,可配置为 0K/1K/2K/4K/8K (共用 FLASH 空間,而且是配置的2倍空間,這部份不如 ATmega328)

最低功耗: 1uA@3.3V

工作電壓: 1.8V ~ 5.5V

工作頻率: 0 ~ 32MHz

工作溫度: -40C ~ +85C

HBM ESD : > 4KV

SMD貼片電晶體三極管印刷字樣與型號對應表

電晶體 1AM 2N3904
現在一些網購的電路板、模塊,不小心接錯電燒掉的時候,要丟掉還覺得有些浪費物資、製造垃圾。想要自己簡單修一下燒掉的電源零件,有時還不容易找到、買到。也不知道是山寨版的零件印刷字樣不一樣,還是本來就是這樣的號碼。

一般在 IC 上面的印刷,大多是兩個字、三個字,Google搜尋,除了像 1AM 那種台灣網拍還有人在賣的型號,其他通常很難搜尋出來,往往不知道到燒掉的那顆IC,到底是什麼元件、哪個型號的?

整理一份常見的電晶體(三極管)在IC上的印刷、型號對應表,方便未來有維修需要購買時使用。

3D列印,改用 ABS 線材。如何預防翹邊?

用過OK的「蝦皮牌」 ABS線材
在網路上大部分都會看到 ABS 線材難搞、ABS容易翹邊的說法,因此接觸3D列印的頭兩年,我都隨波逐流用 PLA 列印。PLA容易沾粘玻璃,的確很好印。但後來發現,早期列印的東西,不太耐用,尤其那些放在室外的東西,過兩年後捏一下就碎。加上 PLA 的熔點低,一些會接觸發熱體的零件,根本不行,50、60度就變軟了。後來改用ABS,是因為看到網友用丙酮蒸氣,把模型表面弄得光滑晶亮,才買一捆來試驗一下,沒想到用了之後就回不去了。
另外,ABS 線材比 PLA 多耐熱一百度,到 160、170度才會變軟。還能溶於便宜的丙酮,清理噴頭的時候,直接把噴頭拆下,丟到裝有丙酮的小玻璃瓶裡面(我是用雞精瓶、保鮮膜封口),隔天用牙籤、牙刷,就能把噴頭管壁上的陳年線材,清理得乾乾淨淨、開口通暢。更重要的是,ABS 線材的價格不貴,蝦皮上一捆 2xx元的ABS就很好用了。

如何讓3D列印機,印出完美的第一層?

相信很多3D列印新手,跟我一開始接觸3D列印一樣,從影片中學到,用一張紙片來調平列印平台。也就是將噴頭位置歸零以後,把噴頭移到加熱平台(加熱床)的幾個角落,然後旋轉最靠近噴頭尖端的那個平台調高螺絲旋鈕,調整平台高度,並試著讓噴頭跟平台夾住紙片,調到讓紙片有點緊,又不太緊的程度。調好以後,換下一個角落重複以上動作。直到所有角落都調平後,再移動噴頭到平台中間位置,看看是不是OK,不行的話,重複上面的步驟,直到所有位置都"差不多"為止。

Anycubic Mega-S Cura Settings 列印機設定

In order to slice the stl model correctly and use full functions in Cura for my new Anycubic i3 Mega S, I need to modify the settings from the original default settings of "Anycubic i3 Mega" in the "Add Printer" menu. Most of the default settings are incorrect for my new Mega-S, need to be corrected.

Cura 新增列印機的選單中,有個現成的設定,但是裡面的設定不對,需要改動。選用多模型各別完成列印 (One at a Time) 的功能(在列印順序,Print Sequence 選項),設定錯誤,會造成模型撞機,擺放會造成撞機的狀況,Cura 會自動警告,而且不會執行切片工作。

Print Sequence selection in Cura

Anycubic Mega mainboard pinout 3D列印機主板腳位

I've used my first 3D printer, Dreamaker, for more than 5 years. After upgraded the firmware to Marlin 2.x.x for weeks, the power supply was damaged last week. Luckily, I found the same 24V 10A power supply from a Taiwanese Shopee seller, and it was repaired. However, there are still some small issues left, such as noisy fan, dirty bearing, wore rod sleeve, dirty bearing... It needs overhaul, although it will be a nightmare..., when I cannot forget how it was assembled by my hands. Honestly speaking,  a Ultimaker-like 3D printer is not really good design for maintenance.
Buying a new 3D printer was planed in my mind for a period due to the above reasons. Last week, I purchased a new 3D printer, Anycubic i3 Mega-S, which is a Prusa i3-like 3D printer with wonderful price. There are many Youtuber reviews as well as the printed samples, so, I selected this one as my second 3D printer.
Anycubic i3 Mega

用 Arduino 寫 NodeMCU V3 的 Blink 程式但 LED 不會閃

NodeMCU 是一款基於 ESP-12E WiFi 無線微控制器的開發板,本身已經內建了USB To TTL 晶片,因此在開發的時候,直接連接板子上的 Micro USB 接頭到電腦,就可以直接燒寫,而且支援 Arduino IDE 開發環境,對於原本就熟悉 Arduino 的開發者來說,拿到就可以直接上手。
拍賣網上,可以找到好幾款不同版本的 NodeMCU,價格不一。我買到的這個版本,叫做「NodeMCU V3 Lua WiFi 開發板」,不到 NT$70 就能買到(作為數位 I/O 控制,你說,這個價格,要我選擇 Arduino Nano 還是它?)。

ATtiny85 的 DigiSpark山寨可插拔開發編程板

在蝦皮購買電子零件的時候,意外發現這個小工具,上面有 USB 插槽供電、連線電腦,以及 8-DIP 的IC插槽,可以安插 ATtiny 85/45/25 這幾種的8隻腳的MCU,而且旁邊還有引出8支排針,看起來很方便,價錢也超便宜,就順便買了。 
DigiSpark 山寨可插拔開發板
原本以為有了這個工具,可以用USB來編程測試,邊寫邊試,完成後可以直接把 IC 拔起來,焊上去麵包板、PCB板就能用了,以後還可以當燒錄器重複燒錄,這樣豈不太方便了?
買來後仔細看一下電路板,才發現不是這麼一回事,不但板子上沒有看到任何 USB 控制 IC,裝上 ATtiny85 連接 USB之後,電腦根本認不到這片板子。

Install Marlin 2.0.x to A 3DYMY RAMPS 1.4 Plus Controller

I bought a 3D printer, Dreamaker, from a Chinese company in Taobao some year ago. It came with a DIY kit with a 3DYMY RAMPS 1.4 Plus controller board. It surprised me with its printing quality and performance, as well as the US$290 price (~NT$8700). After years goes, it still works pretty good without problems, except the getting worse finishing quality due to the nozzle wear. After replaced it with a new cheap $0.5 nozzle from a Taiwanese supplier, it looks better, and I've just cease my desire of buying a new printer. But I did expected to upgrade it with some new fancy functions, and actually I can take this risk now even I screwing it up finally, because I can have good reason to buy a new one then :)

替 Arduino Nano 開無線外掛 (一) 接一片ESP-01

Arduino Nano 是一片蠻理想的 MCU,功能跟 Arduino Uno 一樣多,面積、體積卻小很多,是開發物連網應用、實踐一些有趣想法的好工具。美中不足的是,它沒有無線功能,不能實現遠端監控。直覺的想法,是把手上現成的 ESP8266模組,ESP-01 ,接上 Arduion Nano,弄成像下圖的架構,這樣就可以接上無線路由器,透過家裡的ADSL實現遠端控制了,甚至架一個有資料庫的小伺服器 (Raspberry+SQLite):

跟早年利用市話的複頻電話信號 (DTMF) 的音調,透過一個解碼器,從遠端撥電話,來控制家裡某個東西的裝置。這樣就能在家裡以外的地方,從遠端對 Nano 下命令,或者讓  Nano蒐集一些感測器的資料回來,甚至更進一步存進去資料庫。

當然,買一片 NodeMcu 比較快,不過手頭現成的東西,可以物盡其用,並順便研究一下 ESP8266 的功能。

用Arduino做一個精密的百元頻率測量儀

以前學習 555 振盪器電路時,最困擾的事情,莫過於電路接好之後,沒有儀器可以驗證輸出的頻率,只能將輸出接上放大電路,湊合一顆馬達來看看轉速變化,就算學會方波產生電路了,到底出來的頻率對不對,只有老天知道了。總不會要我為了業餘興趣,買一台示波器吧?

現在,隨手可得的 Arduino 跟一片便宜的 1602 I2C LCD 液晶螢幕,幾行短短的程式,就能弄出一台精密的頻率測試儀(雖然看起來挺簡陋的)。除了測 IC 的輸出信號之外,也可以湊一些簡單的感測電路,像光遮斷器、雷射、紅外線感測器,來測馬達轉速、風扇轉速、風速、振動頻率,只要把 Sensor 出來的類比信號,接入史密特觸發電路 (Schmitt trigger),變成比較乾淨整齊的 5V方波,再接進來做好的 Arduino 頻率測量儀,馬上就知道頻率了,有的感測器模組,本身就有觸發電路。若懶得搞這複雜,而且不是要測量很精密的頻率,只要感測器電壓不要大到會燒壞Arduino DI 腳位,或者太低感測不到,跳過上述觸發電路,直接接進來看看信號大概的頻率,也未嘗不可。

如何使用 LiquidCrystal 函式庫的跑馬燈 Autoscroll 功能?

開發 Arduino 應用程式的過程,比較麻煩的是沒有螢幕顯示。除錯的時候,沒有比較直覺的方式來反覆測試結果。透過序列埠串口 Serial Port 來顯示溝通,是個方法,但有時候總是覺得要開Arduino內建的 Serial Monitor,或用像 Putty 這種終端機模擬程式來用,有點麻煩,尤其當板子頻繁插拔的時候更是如此。
買一片便宜的雙行顯示液晶螢幕,我覺得是個不錯的方案,像照片這種 16x2 的 LCD 螢幕 (兩行,每行16個英文字元),當作在電腦寫C語言常用的 printf 輸出,還挺方便的。買來後剪個瓦愣紙板把螢幕包好,或者3D列印個外殼保護,這小螢幕可以用更久不會壞。

透過USB COM/TTL與PUTTY,跟ESP8266模組通訊

ESP8266 物連網通訊微處理器

ESP8266 是位於大陸深圳的安信可科技有限公司,所開發的一顆,低價多功能的WiFi無線通訊微處理器,IC裡面有一個32位元、80MHz的MPU微處理器 (Arduino UNO 用的ATmega328p,只有16MHz),與 801.11 B/G/N WiFi 無線通訊功能。
IC裡面還有16通道的GPIO,可拿來控制一些開關、燈號,以及一個10-bit 解析度的類比數位轉換器 (ADC),可以接類比感測器,並讀取感測器的數位值。此外還有 SPI、I2C、I2S、UART等串列通訊介面,可以跟其他的模組,進行有線通訊,並將其他沒有無線通訊功能的模組,轉成有無線通訊能力。

GRBL CNC with 28BYJ-48 and SG90 低價步進馬達伺服機控制

GRBL簡介

GRBL 是一套免費、開源的 Arduino Uno 韌體固件,用來控制簡單的XY雙軸CNC移動,並可在Z軸上,上下移動電鑽、控制電鑽的轉速。由於 GRBL 可以透過 Arduino Uno 的 Rx Tx 序列埠串口,以G-Code進行即時通訊,因此燒錄了 GRBL 韌體固件的 Arduino Uno 板,便可以用來製造小型簡單的 CNC 自動化機器,並利用現成的免費CNC軟體,實現比較複雜的機器控制。
網路上可以搜尋到很多基於 GRBL 的創客專案,像電鑽雕刻機、雷射激光雕刻機,或者更簡單的繪圖機玩具,其實很多拍賣網上販售的木頭雕刻機、軟金屬雕刻機,也都是基於GRBL的機器。這些機器,透過一些開源的 CNC 平台軟體,可以搞出很不錯、可用的控制機具。

手提式線鋸機與鋸片選擇

手提式線鋸機,也稱為,軍刀鋸、馬刀鋸、往復鋸,雖然刀片外觀或卡榫形式可能有所不同,但機械構造、運動方式都大同小異。隨著大廠逐漸壟斷線鋸機市場,目前在台灣五金行能買到的鋸片,多半已經是一樣形式的T型卡榫鋸片(T-Shank),不同廠牌線鋸機可互用。(註:還有一種U型卡榫鋸片 U-Shank)
線鋸機是木材、鐵材的切割加工利器,它不像圓鋸機那般笨重、佔空間。它的操作靈活度也比裝上鋸片與輔助治具的手提平面砂輪機(角磨機)來得好,還可以切割曲線。加上它本身就有與鋸片垂直、能夠貼平加工材料的底板,基本上,操作時只要想辦法讓線鋸機,按照規劃的行進路線前進切割,走完美的直線或曲線,便能加工出一定品質的材料零件。

另外,線鋸機有各式鋸齒、多種材質的鋸片可以選擇,無論切割木板、木條、密集板、夾板、木心板,或是鐵、鋁、銅、鎳、鋅、黃銅 (Ms) 這類軟性金屬材質的金屬管、金屬條、金屬片,或是鋁擠型材,PVC塑料,玻璃纖維,都能得心應手。甚至像不鏽鋼材料 (Stainless Inox Nirosta)、磁磚、瓦片之類的高硬度材質,也都有專門的碳化鎢高硬度鋸片可以應付。

安裝 bCNC 來控制基於 GRBL 的自動控制設備

bCNC 是一套開源的自動控制程式平台,軟體基於Python程式語言,以及Python內建的視窗開發模組 TCL/Tk,能夠跨平台執行,在Linux、Windows、MacOS 作業系統下都可以執行 (目前主要支援 Python 2.x,Python 3.x 的初期版本也已經可以下載)。加上程式碼開源,可以更深入學習 GRBL 與 GCode 的自動控制方式,甚至修改程式碼。
使用者可以在 bCNC 程式之下,完成 CNC 機器調整、定位、控制的工作。並在這個程式下,調用在電腦輔助設計 CAD 軟體 (FreeCAD, LibreCAD, SolidWorks, AutoCAD) 或在向量圖繪製軟體 (Inkscape, Illustrator...) 繪製好的設計圖,對設計圖的上的外框線條,規劃 CNC 刀頭的雕刻、切斷、研磨的路徑。