2015年1月21日 星期三

AROUINO MEGA 2560 作為ISP燒錄器 燒入bootloader 給 Atmega 88


        由於業務沒事要我去接個小設計專案,我只好想辦法搞定他的需求,想說用點不同的方式去建置專案,所以把腦筋動到AROUINO 上,目前手邊有 mega 2560 的主板.不過客戶不需要這麼多功能的MCU.我只好找資料把AROUINO 弄在 Atmega 88 上.以下算是做個教學記錄~

首先~
參考的是 ROY 的分享,內容大致上是可以用 usb ic做編輯或是 avr isp連線方式做編輯!
主要要先把 ROY 網友分享的檔案下載下來~ (Bootloader設定)
*官方支援
Bootloader的MCU檔案較少,其他MCU則要靠網友分享Bootloader的檔案

Get all the code

https://github.com/royshil/ATmega88-bootloader

解壓縮後把檔案放置 (arduino所在硬碟):\arduino\arduino-1.0.6-windows\arduino-1.0.6\hardware\arduino\bootloaders 內 並把名稱改為ATmega88

然後到(arduino所在硬碟):\arduino\arduino-1.0.6-windows\arduino-1.0.6\hardware\arduino裡有個 boards 檔案編輯他!
加入下列程式碼


####################################
atmega88.name=ATmega88
atmega88.upload.protocol=arduino
atmega88.upload.maximum_size=7168
atmega88.upload.speed=19200
atmega88.bootloader.low_fuses=0xe2
atmega88.bootloader.high_fuses=0xdf
atmega88.bootloader.extended_fuses=0x00
atmega88.bootloader.path=atmega88
atmega88.bootloader.file=ATmegaBOOT_88_m88.hex
atmega88.bootloader.unlock_bits=0x3F
atmega88.bootloader.lock_bits=0x0F
atmega88.build.mcu=atmega88
atmega88.build.f_cpu=8000000L
atmega88.build.core=arduino
atmega88.build.variant=standard
##########################################

硬體接線方式

// pin name:    Arouino uno    MEGA(1280 and 2560)   Atmega 88(28pin)
// slave reset:    10:             53                    1 (reset)
// MOSI:           11:             51                   17 (MISO)
// MISO:           12:             50                   18 (MOSI)
// SCK:            13:             52                   19 (SCK)




  Atmega 88
 USB 或 ISP 接線方式

(出處:ROY的網頁)




Arouino uno連接Atmega 88 
 (電阻可有可無)





















下面這張圖 Atmega 168 跟 Atmega 88 腳位相同



 
硬體接線與Bootloader設定完成後開啟Arouino主程式
先將ArouinoISP燒入在MEGA 2560裡面



完成後再將目標板設為Atmega 88 及編輯(燒入)方式




                          燒入Bootloader到Atmega 88


                                               燒入時間約莫1分多鐘


                                燒入完成後會出現 Done  buming bootloader


              之後就利用MEGA ISP 介面燒入Atmega 88 裡面 
        注意:燒入方式要選擇Upload Using Programmer
                 如果使用Upload會出現錯誤(找不到目標板)
       avrdude: stk500_getsync(): not in sync: resp=0x00

最後忘了提醒自己~
光lcd顯示+ds1302的讀取,就耗盡 6450 byte  (剩下714 byte)
所以無法用在客戶專案上!

2013年8月21日 星期三

神港電機溫度控制器(DCL-300 series)與Proface(GP-4500 series)人機通訊設定與接線方式

前言
 proface(普羅菲司)本身有撰寫一份英文版的shinko Technos Co.,Ltd. Indicating Controller SIO Driver 可供參考~ 所以我在此只做簡易內容摘錄!


GP-4500 series
COM1為RS232通訊模式採用D-Sub9 接頭(公座)鮑率由2400 bps 至 115.2 kbps
COM2為RS485/422通訊模式採用D-Sub9 接頭(公座)鮑率由2400 bps 至 115.2 kbps



DCL-300 series 
採用標準 6P 接頭(母座)  鮑率為 2400 bps 至 19200 bps
硬體接線範例



軟體設定
在proface編輯程式內System setting windows選擇Device/PLC Settings 
要注意Wait To Send 時間設定,依照不同控制器與通訊鮑率要設定不同的時間,在此手冊與DCL連線建議為10ms(以上) 
(神港模式通訊設定)資料長度: 7  同位元檢查; even 停止位元:1
設定完成後要在device-Specific-Settings 或 Device/PLC Settings 中增加通訊裝置

控制器設定
附註:
1.神港溫度控制器的通訊硬體接線上,除非有外加大電壓或電流,否則RS-485 是不容易燒毀的~
2.一般常見通訊異常(不能通訊)的狀況,幾乎都是硬體線路接錯,或是軟體不熟悉設定錯誤!
3.通訊位置請參考 神港電機 DCL-33A 通訊說明書 (01=SV(設定值),80=PV(實際值/溫度) )