描述
視覺的持久性很酷,但是我之前從未見過完整的3維圖像,該項(xiàng)目的目標(biāo)是創(chuàng)建3D圖像。最終,將以3D動畫為目標(biāo),但這將取決于我在atmega328-PU上的壓縮能力。
細(xì)節(jié)
這是我進(jìn)行過的最苛刻的項(xiàng)目之一,它始于8月底,并一直進(jìn)行到3月初。目的是創(chuàng)建一個LED矩陣顯示器,該顯示器可以快速旋轉(zhuǎn)以生成3D圖像。在這個項(xiàng)目上不乏需要克服的問題。這是最終的項(xiàng)目視頻:
軟件更新
到現(xiàn)在為止,我一直在盡可能多地避免提及軟件,因?yàn)樵谡麄€項(xiàng)目中,它在大多數(shù)情況下都是不斷變化的。這次,該軟件或多或少地完成了一些調(diào)整。
自從我上次談?wù)撍詠?,代碼的基本格式?jīng)]有太大變化,但是這里是:
1.從程序存儲器中獲取數(shù)組(用于表示圖像)并將其移入ram
2.取陣列并將其分成多個不同的顏色陣列
3.將這些顏色陣列移出到陽極側(cè)移位寄存器
4.移位陰極側(cè)移位寄存器以使那些LED點(diǎn)亮
5.重復(fù)2-4,直到加載新圖像。
另外,我創(chuàng)建了一個中斷子例程,該例程通過解釋旋轉(zhuǎn)速率和調(diào)整幀顯示時(shí)間來處理旋轉(zhuǎn)計(jì)算。由于矩陣將其旋轉(zhuǎn)分為5幀,因此我們可以獲取每個中斷之間經(jīng)過的總時(shí)間,并計(jì)算再次到達(dá)同一點(diǎn)應(yīng)該 花費(fèi)多長時(shí)間, 然后將其除以確定每個幀的時(shí)間。
硬件更新
現(xiàn)在我們回到了我的能力范圍,讓我們開始吧!我在該項(xiàng)目中遇到的最大問題是圖像會緩慢旋轉(zhuǎn),但永遠(yuǎn)不會保持穩(wěn)定。有了這種行為,就不可能顯示3D動畫,這是該項(xiàng)目的最終目標(biāo)。為了消除此問題,必須進(jìn)行兩次硬件更改,并且這兩項(xiàng)都是反饋。
以前,我在電機(jī)控制器上使用了粗略的反饋系統(tǒng),該系統(tǒng)可使ATtiny85控制電調(diào)具有一些旋轉(zhuǎn)速度的信息。至于為什么要這樣做,因?yàn)槲艺谑褂脦в蠩SC的無刷電機(jī),這是另外一個問題。但是,以前的反饋是通過一個限位開關(guān)完成的,每次旋轉(zhuǎn)完成后,都會按下該開關(guān)。該解決方案有效,但遠(yuǎn)非理想,該裝置存在明顯的磨損問題,最終我兩次更換了限位開關(guān)?,F(xiàn)在,電動機(jī)會從更有用的光電斷路器電路獲得反饋,因?yàn)橹鼾X輪和該光電斷路器永遠(yuǎn)不會接觸,因此它們永遠(yuǎn)不會磨損。所討論的光電中斷是EE-SX4070,它具有足夠?qū)挼拈_口以對我的應(yīng)用有用。整個傳感器模塊使用的原理圖非常簡單(如下所示)。每當(dāng)觸發(fā)光遮斷器時(shí),它都會向ATtiny85發(fā)送高信號,該信號將被計(jì)數(shù)并用于測量/調(diào)節(jié)電動機(jī)的速度。
但是對于項(xiàng)目的旋轉(zhuǎn)部分,我必須更具創(chuàng)造力。由于頂部仍然有些擺動(大約3毫米的游隙),因此EE-SX4070(具有8毫米深的插槽)是該部分的較難選擇,因?yàn)榉湃胍恍〇|西觸發(fā)它很容易最終導(dǎo)致其被破壞。由于這個問題,我決定只制造自己的光遮斷器,為此我利用了現(xiàn)有的東西:
我使用了一些2.2k電阻,一個GM5539光電電阻和一個MCP6241軌到軌運(yùn)算放大器。電阻器和光敏電阻形成一個麥?zhǔn)瘶?,該橋在點(diǎn)亮?xí)r會在橋上產(chǎn)生一個-.9v的電勢(在我的萬用表上左中心接地),而當(dāng)LED被阻塞時(shí),電勢會升至約1.2v。對于該電路,運(yùn)算放大器僅用作比較器,但它的工作很好。每當(dāng)來自LED的光被遮擋時(shí),都會向矩陣驅(qū)動器板發(fā)送5v信號,而當(dāng)未被遮擋時(shí),輸出線將變?yōu)?v。我自己進(jìn)行此操作的主要優(yōu)點(diǎn)是,我可以創(chuàng)建一個又高又高的組件,以達(dá)到所需的確切尺寸要求。該零件的主體在Google SketchUp中建模,并進(jìn)行3D打印,然后將所有組件構(gòu)建到原型板上,然后進(jìn)行電源,接地,然后將信號線固定到主板上。這并不理想,特別是因?yàn)槲易畛跤?jì)劃將此選項(xiàng)作為選項(xiàng),但是未能在PCB上保留任何焊盤以容納它。
責(zé)任編輯:pj
-
驅(qū)動器
+關(guān)注
關(guān)注
54文章
8688瀏覽量
149841 -
寄存器
+關(guān)注
關(guān)注
31文章
5433瀏覽量
124349 -
存儲器
+關(guān)注
關(guān)注
38文章
7648瀏覽量
167273
發(fā)布評論請先 登錄
PCB設(shè)計(jì)中過孔為什么要錯開焊盤位置?
Allegro Skill封裝原點(diǎn)-優(yōu)化焊盤

BGA焊盤設(shè)計(jì)與布線

評論