2024年10月30日 星期三

2024機車選擇障礙#三陽#光陽#山葉#台鈴

多久沒買機車了?

 

近幾年機車真的是很機車

化油器的車沒了

連帶踩發桿也沒標配

大多車系EVEN

想裝都沒得裝

看了好久

總結一些小心得吧


之前騎過的車:1.迅光125、2.XR125

先說需求:主要是外送跑單用,偶而假日會亂跑,想找一台平價耐操性能不要太差的機車

從引擎先談,目前市場上,引擎系統可分3類,1.京濱2.西門子3.其它

 引擎真的很重要,尤其是要耐操持久,一定要選對,如果常故障會很慘,小問題也不是每個師傅都可以精準抓到,換了一堆零件也不一定可以把問題處理掉,萬一遇到要把引擎拆下來修的情況,一來不一定車行願意修,二來就算要修費用也很可怕,所以除非有很特殊的理由,不然不要選錯蛤。那目前的話,我比較會選京濱系統。

 再來要談的是油耗跟動力,兩者之間有者一定程度的關連性。目前就是看機車能源效率等級。

然後要注意的是丫

刻板印象,動力強油耗表現會差一點, 但要主還是跟騎士的右手有關,急吹急煞就算SYM全新DUKE(2024省油第1名)油耗表現也會輸給其它車。當然啦,看了網路很多評測,SYM全新DUKE動力真的不咋,所以刻板印象好像也不能說有錯,只是我覺得主要還是看能源效率等級。

接下來要談的是制動,也就是煞車,這也是看個人習慣啦,我是鼓煞魔人。覺得沒有哪種煞車是最好的,會摔就是會摔😁,我是覺得如果你習慣騎快車,那就選制動強的,然後有CBS,TBS....(我沒用過,不知效果是怎麼樣??)

最後是車子的大小,不要以為外送跑單是長途然後就要舒適動力夠,就去選150,除非你專跑10公里以上的單。不然還是輕小車種比較合適…有人會考慮車箱大小,我是覺得沒差,因為大箱比車箱好用很多...

縱上所述,我心目中有幾台車

1.SUZUKI SUI125,我想要的它都有,傳統指針儀表,踩發桿(選配),後雙避震,可愛的外型。讓我考慮的點就價格(七萬初)以及它的油耗表現(能源效率等級3😬)。不得不說,台鈴真的很妙。它的缺點比優點還多很多,就是別人家不會壞的地方它就會壞給你看。別人天天在壞的地方它就沒事😱,我的XR125也騎了十多年了,照理說應該要爛到不行,但就還是可以騎....有人說,你騎過台鈴下一台也會繼續台鈴。

2.SYM VIVO125,完全是因為它是目前最便宜的機車,不到六萬(56000),油耗表現也不錯。考慮的點就沒騎過SYM的車,它的用料比較不那麼好,可能比較不耐操,沒雙後避震。

3.YAMAHA JOG125, 小巧,可愛,便宜(6萬左右),沒雙後避震。

4.YAMAHA 勁豪125 UBS-碟煞,和SUI125差不多。

 

大約就是這樣。目前是比較考慮 SUI和勁豪125,什麼時候XR掛掉就換新車囉。

2024年2月17日 星期六

Arduino 從零開始玩--[觀念、Leonardo、L293D、IDE、Servo]

嗯,我想,Arduino歷史簡介之類的前言

也就跳過了吧。(主要是我也不太了解,也不想了解👃)

就我印象, Arduino好像是很理工很資工很電機很......的玩意兒

一般人要利用 Arduino做出個有用可用的東西出來

好像很折騰......好吧,我承認,有時真的有些折騰,但Arduino主打的是自由度,自由的創作


雖然我是打算從零開始"玩"

但我不想用LED燈號控制那種很多人的第一個Arduino專案範例作為起點

覺得好沒吸引力

說實在,我被那種範例騙很久

就覺得一個很簡單的東西,講好久好久(其實也十分鐘左右而已啦,我沒什麼耐性👃)

要學到可以作自己想作的東西,那要搞多久勒?

嗯,想到以前作的遙控車,連拍片也不到一天就出來了💩

先談談怎麼快速上手好了,就直接找個專案,跟著專案上的主板,擴充板,電機,程式

一步一步作,基本很快就上手了,前提是你得能判斷,該案內容是否完整。

可以的話,第一次是照著買,比如板子的版本、晶片......都一樣的話,除非遇到留一手,不然通常不需DEBUG,板子裝一裝,線接一接,程式燒錄到板子,開機開始玩,很爽的🙈

可是丫,快速上手完之後伴隨而來的是空虛丫......

好像學了很多,但好像又什麼不太懂,比如換一個元件就CODE不出來或出現一些不可預期的錯誤?於是丫我想說把自己完成的專案,詳細的記錄下來

未來有用的時候可以直接爽😁 

那今天我要作的專案是......CNC!!(哇拷,會不會太重口味🙈)

本來是想作3D印表機的,但覺得在加熱還有補料那邊的知識有些不足

所以退而求其次,剛好手邊有材料不用再買(主因),就先CNC囉

對了,這邊先談一下,Arduino到底是幹什麼用的。

簡單的說,就可程式化的板(什麼東西😭) 

比如上面提到我想作CNC,於是呢,我要先想CNC需要哪些東西組合出來

CNC就是命令機器X軸Y軸座標,然後讓電機到(X,Y)上鑽個洞(👇),然後命令下一下坐標直到結束。那要讓電機到坐標就需要把程式寫到Arduino裡,Arduino控制步進馬達,告訴X軸的步進馬達要轉幾圈,Y要轉幾圈,大約就是這樣。

雖是從零開始玩,但我們今天會玩很多零件

1.Arduino Leonardo r3

2.L293D電機擴充板(L293D Motor Control Shield)

3.舵機

4.步進馬達28BYJ-48

5.130馬達 

 

先看一下第一個硬體的規格(圖從網路抓,和我手上一樣就不另補照片)

 Arduino Leonardo r3

Arduino Leonardo R3 開發板.jpg
使用Arduino Leonardo需要新版本的Arduino IDE1.01以上版本。

● 控制晶片:ATmega32u4
● 晶體震盪器:16 MHz
● 工作電壓:5V
● 輸入電壓:7 ~ 12V
● 數位I/O埠:22 (D0-D13,D14-MISO,D15-SCK,D16-MOSI, D18-23[A0-A5])
● PWM通道:7 (D3,D5,D6,D9,D10,D11,D13)
● 類比輸入:12 (A0-A5,D4-A6,D6-A7,D8-A8 ,D9-A9,D10-A10,D12-A11)
● 數位I/O埠最大電流:5V、40 mA
● 3.3V腳位供直流電流:50 mA
● Flash Memory:32 KB (ATmega32u4) of which 4 KB used by bootloader
● SRAM: 2.5 KB (ATmega32u4)
● EEPROM: 1 KB (ATmega32u4
● 電源插頭:2.1mm
● 尺寸:68.6(L)x53.3(W)mm
● 重量:20g
*詳情請參考官方連接http://arduino.cc/en/Main/ArduinoBoardLeonardo

接腳

 

接腳的圖很重要丫,官網有完整版。 


L293D電機擴充板

商店街

此板搭配L293D及74HC595N晶片
無法單獨使用
腳位可直接插Leonardo r3
可控制4個直流馬達或2個5線步進馬達,同時控制2個伺服舵機,

並可透過PWM控制直流馬達轉速,馬達電力超過0.5A,務必搭配外部電源使用

 

 

看完硬體基本資料以後,我們要開始玩囉,首先要下載IDE,https://www.arduino.cc/en/software,到官網下載吧,安全一些。我下載的最新版本是Arduino IDE 2.3.1,一般來說,我是建議直接下載最新版,除非新版一直有問題,亦指別人的CODE可以RUN,但你就不行,沒步的時候,或許可能出現在IDE版本??

IDE安裝完以後,用MINI USB線連接PC與Leonardo,嗯。我的OS是WIN10。然後它自動會去下載Leonardo的驅動耶😁?之前玩UNO時,是要自己去下載驅動。好吧,如果沒自來動下載或你的OS不是WIN10,就請自行處理囉。

先把Leonardo第0腳對準L293D電機擴充板第0腳插入,兩邊腳位都剛好可以插進去,會有一兩個腳位是空白那沒錯的(下面就把Leonardo+L293D電機擴充板合稱為LL板囉)。然後MINI USB線連接PC與Leonardo,

這時會看到IDE已經抓到Leonardo,嗯,我好像有等一下下吧,第一次開啟IDE時,要下載一些些檔案,然後沒多久會出現win10抓到新硬體,然後下載driver。總之看到Leonardo出現在IDE裡,表示OK囉。如下面的圖片紅框所示。

 

接下來先把LL板拔掉。並安裝上舵機。安裝完舵機後再接回PC

(這裡很重要,雖我也不是很確定,但要在 Leonardo板或LL板新增馬達或電源什麼的硬體變動,最好先把USB斷掉,安裝完後再插回電腦比較好)

然後我在網路上抓了一段舵機的程式碼

#include <Servo.h>

Servo servo_pin_10;

void setup()
{
  servo_pin_10.attach(10);
}

void loop()
{
  servo_pin_10.write( 0 );
  delay( 1000 );
  servo_pin_10.write( 180 );
  delay( 1000 );
}

 上傳至LL板後,舵機就開始動了🙈

#include <Servo.h>這個是函數,嗯,馬達有馬達的函數,舵機有舵機的函數,那要怎麼想這個東西呢?抽象搞具體化來說好了。如果沒宣告,等於程式不知舵機是什麼,第一行程式Servo servo_pin_10;大寫的Servo就會出錯,我出現的錯誤訊息如下:

error: 'servo_pin_10' was not declared in this scope
   servo_pin_10.write( 0 );
   ^~~~~~~~~~~~

exit status 1 

Compilation error: 'Servo' does not name a type; did you mean 'Serial'? 

嗯,因為我的接法和網路查的都一模一樣,可以動也是理所當然。

我試著換PIN 然後把程式改成下面,就猜對了,L293D電機擴充板SERVO_2就是PIN9

#include <Servo.h>

Servo servo_pin_9;

void setup()
{
servo_pin_9.attach(9);
}

void loop()
{
servo_pin_9.write( 0 );
delay( 1000 );
servo_pin_9.write( 180 );
delay( 1000 );
}
 
那怎麼猜的勒??上面不是有提到Leonardo板的接腳圖嗎?看原本~10接腳應該就是Servo servo_pin_10;然後我看~9跟它長得很像,都有PWM,於是RUN看看,沒想都OK了。那我也測第2段程碼然後插
SER1舵機是不會動的哦!
總結一下:
1.先下載ARDUINO IDE並安裝
2.Leonardo+L293D電機擴充板+舵機
3.上傳程式,然後舵機就會動了😁爽。