最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

復刻Cam84項目:手搓CCD相機(ICX453傳感器)

2023-08-09 00:40 作者:怎么取名字這么難額啊  | 我要投稿

??集帥們,CCD撅撅子??,拍出來的照片太好看了救命??

注意:Cam8X系列的設計都已經過時了,不建議按照原版電路1:1復刻,如果想做的話,見文末---硬件上犯的錯誤---來對原版設計進行修正。

另外原文是用Markdown寫的,所以有些地方的格式可能會有些奇怪(B站什么時候才能直接支持Markdown捏)

WHY
所以為什么突發(fā)奇想搞這么個東西,其實是和群友吹水時候聊到了自制相機,想著閑著也是沒事干不如找點事情做。

HOW

傳感器

從和群友的吹水中得知,ICX453這塊CCD傳感器比較合適,另外CCD相機的配套電路設計也比較簡單,有Cam8X系列相機設計參考,我選的Cam84?,F(xiàn)在回過頭來看Cam84設計有許多缺陷,如果想要自己做的話,Cam86和87是不錯的參考。

關于這塊傳感器,索尼并沒有給出公開的對應資料。不過ICX453和ICX413的設計比較相近,而ICX413的手冊是公開的,時序什么的參考413就好了(大概)

配套電路

額,上面說CCD的配套電路簡單,其實也不算很簡單,主要是以下幾個部分

??? CCD驅動芯片:產生垂直驅動信號(這玩意的時序和電平自己調特陰間)
?? ?
??? IP:一個圖像處理芯片,包含了CDS/SH/ADC這些關鍵部件。分開來也不是不行,但是分開來做的話,工程難度以及最主要的---噪聲水平會顯著增加(如果設計得很好另說)

??? 電源芯片:想要驅動一個CCD電路,需要產生+15/-8的供電,所以需要實現(xiàn)對應的正負電源
?? ?
??? MOS驅動:CCD功耗不大,但FT2232直推不現(xiàn)實,所以要用MOS驅動。

??? 控制器:原版Cam84使用了FT2232來將連接電腦并發(fā)送控制信號。不過我后期打算使用ESP32來控制并采集儲存圖像

原件的具體型號就不列了,Cam84的BOM表和電路圖都有給出

拼起來

既然整套電路都是圍著傳感器設計的,那不妨先讀一下傳感器的時序圖(熱知識,這個階段其實不用操心這個)

有四張圖,但這里只放一張


手冊看一晚上我都沒得出是啥玩意,google了半天,真的沒一個人解釋的,感覺全世界就我不懂CCD驅動。

但畢竟人家也沒料到會有多少愛好者來手搓這些玩意,所以資料寫的模糊一些挺正常,所以我決定先跳過時序這一部分,直接用現(xiàn)成的軟硬件把東西搓出來,然后再自己去理解。

硬件設計

對照著Cam84的電路圖,我在立創(chuàng)EDA里面把相機的電路畫出來,相對應的做了一些改動:

??? 1.小型化(但是好像沒啥用,因為第二點打破了)
??? 2.模塊化(將原本一個板子的事情拆成了前端、電源、控制三部分),這樣比較方便我研究時序信號。其實原作者在電路里面加入了很多跳針,這也是為了方便測試。另外原版是作為天文相機使用,時鐘頻率比較低,讀出慢。將控制部分拆開后可以隨時更換更快的主控來提高讀出速度

設計的原則還是盡可能的保證重要信號不過孔,比如給Vout一條單獨的通路,GND使用鋪銅。各種時序信號也盡量保證等長(不過十幾MHz的信號應該不是很要緊)

最后幾張板子的圖如下

前端板
控制板
電源板一(半廢棄)
電源板二

關于電源板的事在文末---硬件上犯的錯誤--會有解釋

購買零件

Wait What?這也值得單獨拿出來說嗎?至少我覺得這里面還是有點門道的

首先看看這玩意的原版BOM,其實算是比較雜的,有各種規(guī)格的無源器件,還有六七種芯片。在根據(jù)BOM找原件的過程中,根本做不到一家買齊所有。千萬別看錯型號,特別是貼片三極管、穩(wěn)壓器一類等只印代號的器件。我自己就是把LM和LP看錯,結果買了錯的LDO??。浪費時間又浪費錢。

除此之外,封裝確認也是個問題,特別是貼片這玩意,一不小心就會掉坑里,比如:三極管的封裝是DO-xxx,但是下面還會分為SMA、SMB、SMC三個小類。除此之外,像是電感、扼流器又是兩種不同的玩意,兩種東西又各自有幾種不同的封裝。

最后一點:如果遇到了買不到、難買、價格太高的零件怎么辦?比如原版BOM里面某種規(guī)格的鉭電容,電容電阻在不影響功能前提下可以替換成近似的(比如濾波電容、限流電阻)

對于芯片IC,還可以優(yōu)先考慮拆機片商家,先看看拆機片商家賣多錢,問問供貨情況。這招對于已停產、冷門型號、熱門造假型號比較好用。并且拆機片也沒那么不堪,畢竟芯片不容易壞,買的時候多買幾顆就行。

組裝
貼片原件的焊接方法主要有兩種:1.直接上烙鐵 2.用熱板

我選擇用熱板。其實熱板這東西嘛,也不用買專門的。直接搜LED拆焊熱板,買個功率最小的就好了??赡苡薪涷灥腟MT仙人要跳出來說了:WTF,你這樣做是不好的?。。?/strong>


不過,根據(jù)嘉立創(chuàng)的SMT服務參數(shù)來看,如果你不加錢上高級產線的話,SMT的溫度在250c左右,正好就是大部分不可控拆焊板的溫度。

yes yes I know,如果你想要做嚴肅的SMT焊接,可控的溫度曲線是非常重要的,這樣才能滿足錫膏的熔點特性。但咱就是說,既然只是偶爾做做SMT回流焊,就別講究那么多了??大不了烙鐵補一補。

板級測試

當所有東西(除傳感器)焊接好之后,做個簡單的Smoke Test,摸摸芯片有沒有發(fā)燒的??,萬用表量一下各級電壓是否符合設計需求,如果都OK的話,看好CCD的方向,焊接到板子上。

正常情況下,我這里用的8V可調電源供電,前端(帶傳感器)靜態(tài)電流應當在0.06A附近,讀取時最大電流也剛好在0.1A出頭。如果大于這個數(shù)值肯定不正常。另外要提一點,我的采集板由USB口供電,如果前端和采集整合在一起(就是Cam84原版設計)要加上對應電流。

如果遇到遇到電流大于這個的情況,一般有兩種:
前端電流上升到0.11A待機0.15A讀取,ADC也伴隨著不正常的發(fā)熱:大概率ADC寄。
電流巨大,同時正負電源電壓嚴重拉低:估計CCD焊反。

將電源PCB單獨制作的好處就是能方便測量各路電壓,同時可以有選擇性的斷開某一路供電來排除錯誤。原版Cam84的設計是All in one,也使用了跳線排針和跳線帽來達到相同目的。

當然,如果有示波器的話可以看看波形對不對。將電源和控制板連接,打開軟件,按下拍攝按鈕。下面是我自己測量的一些波形(注意,只有當CCD連接到板后,垂直驅動的電壓波形才會和手冊對應)

垂直驅動

V1/V3


水平驅動

外殼設計

使用了堪稱反人類的FreeCAD來折磨自己,這么個簡單的東西畫了四天三夜

Tip:你可以不用去自己把卡口給畫出來,只需要上網搜索“Sony E mount cover 3D model”,然后截取適當?shù)拈L度即可。E卡口法蘭距是18mm,即保證傳感器平面到鏡頭卡口的平面距離是18mm

最后拼起來是這樣的(底殼沒裝因為要做測量)


硬件上犯的錯誤


傳感器方向看反/封裝失誤

這個真的難繃,為此還廢了一個傳感器

至于針腳為什么這樣,文末會解釋

三個注膠孔三個定位環(huán)
我一開始把注膠孔當成定位環(huán),結果插上去傳感器直接短路??,炸了。
而且傳感器的引腳間距比ICX413的大了一些(目測大2~3mm),然后不得不把傳感器引腳掰彎一些才勉強塞下。畫板子一定要量實物啊??

針腳很密集的情況下直接用示波器探針去捅

嗯...然后把LDO燒了。

還沒完,LDO燒了之后擊穿,12V直通后端。我當時嚇的差點尿褲子,后端的ADC燒了的話得重新買(記住這句話)。還好換個LDO就正常了,沒把后端芯片的魔法煙霧放出來。

東西沒斷電就往上焊東西

雖然我的烙鐵有接地,并且我家的接地是有效的,但感應電還是把ADC(ADC:還是沒逃過)、MOS驅動、LDO(LDO:為什么又是我)給一套帶走了??,另外我ADC只買了兩片,而且第二片不懂是不是有問題還用不了。所以就這個原因得讓項目往后推幾天

熬夜畫板子

然后畫出來幾條錯的線,還好容易改,小刀加飛線解決。
晚上畫的板子還是得第二天起來再檢查檢查

板子的通孔畫太小

導致拆焊特別特別困難,清理不干凈。上面那個傳感器就是我拆焊的時候心態(tài)崩了,直接拿鉗子拽下來的。

照抄別人的方案(Cam84的不足)

emmm...其實本來也沒啥問題,但是cam84有許多設計不合理的地方

電源:

原方案使用的是TPS6513X正負電源芯片來產生垂直驅動所需要的+15v/-8v電壓,但至少在我手里沒能讓它成功跑起來,可能是畫板的問題,可能是芯片的問題,可能是焊接的問題......反正跑不起來就對了。
最后換成雙MAX686方案(電源板二),兩個686分別負責正電源和負電源,一次成功。
另外這個電源化簡為繁,能5V供電結果還整一堆LDO從12V降下來,后面測試發(fā)現(xiàn)這一整套的功耗也就8V*0.1A=0.8W,而且要注意我是從電源端進行測量的,電路中有個效率很低的LDO。整體改用5V直接供電,根據(jù)群友的說法,5V 500mA就可以滿足需求。

時鐘:

在cam84后續(xù)的設計(cam85/86)中,作者很明顯也意識到了不足,將時鐘信號的分工更加細化,由原來3條時鐘線變成我也懶得數(shù)反正多了好幾條。
不過讓我們先看看原版的騷操作,下面是我測量的讀出時序信號,從上到下依次為:Vout,RG,CDSCLK1,CDSCLK2


前置知識:CDS時鐘是下降沿觸發(fā),Vout分為三個階段,分別是RG,RST,SIGNAL

**才意識到我的Vout在上面這圖稀爛,很難分辨RST階段,就是信號下降過程中的斜率變小那塊,所以我重新采集了一遍(其實是ADC炸了之后重測的幾次)**


從圖里面可以清楚看到三個階段(但是為啥信號階段會振鈴wtf)

具體的電路圖我就不貼出來了,簡單來說,原作者使用了非門、電容、電阻來調節(jié)RG、CDSCLK1、CDSCLK2。輸入信號為高時,開始為電容充電。若電容電壓超過邏輯門規(guī)定的“邏輯高電平”,邏輯門就會輸出0,那么在電容從0v充電到“邏輯高電平”的這段時間就是邏輯門輸出為“1”的時間。

又因為CDSCLK是下降沿觸發(fā),假若我們想要增大觸發(fā)的延遲,即下降沿向后推遲,只需要增大電容,延長“0v--->邏輯高電平”的充電時間即可。

但是在實踐過程中,我發(fā)現(xiàn)電容超過一定容量后(我試出來大約是>=560pF),因為電容放電時間 > 時鐘周期,就會產生長短不一的輸出信號。所以這個調節(jié)也是有范圍的。

嘮完了采樣時鐘,其實水平時鐘也有著很大缺陷:那顆MAX4428。一看手冊猛如虎,實操起來2.5(MHz)。手冊說時鐘信號最大可達20MHz,結果一個10MHz,50%占空比的驅動信號就干趴下了??。50%占空比都驅動不了,其他更小的占空比真不敢想。所以我也在尋找一個pin2pin的替代方案。

所以cam84的時鐘電路設計就是一個“勉強能用的”糙品,抖動巨大,各種不確定性因素疊加在一起(比如電容自身的誤差),導致無論是ADC采樣時鐘,還是水平驅動信號都十分糟糕。but hey, it works :-)

HOLY SHIT! IT ACTUALLY WORKS!

錯誤軟件+屎一樣的信號路徑+沒有正確的鏡頭卡口

MaxIm拍攝,有鏡頭,但是直接放在傳感器前(當時定做的卡口還沒到)


很納悶為啥出來是這效果,進行了一些調查后發(fā)現(xiàn)是ADC輸出線拉太長+用錯軟件導致的。

我原本以為ADC出來的不就是8位的并行數(shù)字信號嘛,而且頻率也不高,用杜邦線連起來應該不會有太大問題,結果nope。這玩意的損耗比我想象的大得多。最后讓采集板直接懟到輸出口上才徹底消除。

如果想拍星空用MaxIM肯定沒錯,但是對于日常拍攝來說顯然是不合適的。于是下載原版的Cam8View軟件,這下就正常許多,而且自帶Debyer(好耶)

另外鏡頭卡口的事情上面提過了

換了個軟件+調整信號路徑+有正確的鏡頭卡口和鏡頭+對上焦后

Cam8View拍攝,有鏡頭卡口

兩張圖拍攝的場景不同

上面這張我就知道個光圈1.8開滿(因為是手動鏡頭),其他的東西諸如iso和快門速度之類的不詳

下一步就是研究cam84view的控制信號,以及讀出過程,將這個過程搬到ESP32上去做,并將得到的照片存儲到SD卡里

復刻Cam84項目:手搓CCD相機(ICX453傳感器)的評論 (共 條)

分享到微博請遵守國家法律
中山市| 闸北区| 西青区| 伊川县| 礼泉县| 乳山市| 东乡县| 松原市| 华阴市| 高阳县| 波密县| 岱山县| 龙门县| 罗田县| 青川县| 茌平县| 慈溪市| 明星| 乌拉特后旗| 威海市| 江华| 同仁县| 定安县| 界首市| 利川市| 密云县| 河北区| 沛县| 平罗县| 宁强县| 额济纳旗| 昌图县| 巴彦淖尔市| 南漳县| 泾川县| 博罗县| 迭部县| 将乐县| 阳朔县| 元谋县| 营口市|