Led fotosession :)

Takole sem se odločil, da bom zbral par atraktivnih fotk mojih ledic 🙂

Standardne 5mm barve (rumenozelena v ozadju, roza, UV, bela, modra, oranžna, rumena, rdeča, zelena):
Fotografija1395 Fotografija1397 Fotografija1393

Ohišja – ledice ne ravno v akciji (razna ohišja, 10W rdeča ledica):
Fotografija1390 Fotografija1081

Sevalni koti (ozki in široki kot, potem oba skupaj/svetilnost):
Fotografija1178 Fotografija1179 Fotografija1173

Malce bolj posebne barve – roza 5mm in malce večje moči – 10W rdeča (na sliki le ca. 50%):
Fotografija1316 Fotografija1077

Specialne ledice za gojenje rož (1W emiterji montirani na hladilniku, slika prižganih diod je pri ca 1/200 moči, so pa rdeče, oranžne in modre):
Fotografija1388 Fotografija1389

Pa še par aplikacij ledic (žarometi 2×75 ultrasvetlih diod – normalno zatemnjeni, kolo 1 x 0.5W, powerstrobe 2×7 ultrasvetlih):

Powerstrobe (povezava na video)

Fotografija1300 Fotografija1301 Fotografija1138

AVR Software UART – do meje #2 – v praksi

Evo, takole pri 9,6MHz notranjem oscilatorju se zadeva v praksi vsaj pri meni obnese odlično. Deluje skoraj brez napake, pa tudi notranjega oscilatorja ni bilo treba nič kalibrirati…

Clipboard01

Pri opazovanju signala sem si pomagal tfla – The Fabulous Logic Analyzer, ki uporablja za analizo LPT port, ampak sem moral sistemsko uro procesorja deliti z 8 (CKDIV8, to je potem 115200baud namesto 921600 baud), da sem dobil rezultat, ki je bil kolikortoliko uporaben / vsi biti lepo vidni. Za bolj resno merjenje časov je sampling rate tudi pri 115200 baudih še premajhen. Je pa le-ta odvisen od računalnika na katerem program teče. TFLA ima sicer priloženo shematiko za nek vmesnik, je pa drugače zadosti, če priklopimo GND na zemljo in D1-D8 pine na mesta, ki jih analiziramo. Seveda je potrebno paziti, da na port nikoli ne pripeljemo negativnih napetosti ali napetosti večjih od 5V, s tem je precej lahko poškodovati matično ploščo…

plot1

Nekaj težav sem imel sicer ker je najprej zadeva delovala invertirano (nisem vedel da ima en moj starejši kabel že notri tranzistorski inverter), potem pa je bil tranzistor še prepočasen za 1MHz delovanje, kot ga potrebuje prenosni protokol pri 921600 baudih.

Zadevo sem rešil tako, da sem procesorček priklopil kar direktno na vhodni COM port. Za invertiranje sem poskrbel kar tako da sem napajanje +5V priklopil na RX (pin 2) RS232 porta in izhod iz procesorčka (portb.1) na GND (pin 5). (!) to je mogoče narediti le takrat, ko je izhod Push-Pull, ter ko ni drugih zunanjih povezav. Včasih imajo napajalniki GND priključek ozemljen. V primeru da bi tako računalnik kot čip napajali z ozemljenimi napajalniki bi pri takem priklopu prišlo do kratkega stika. (!)

Seveda je veliko lažje narediti softverski invert, torej spremeniti CBIje v SBIje in obratno (to je v pripetem programu že narejeno)…

tiny13comm

S tem software UARTom nameravam narediti adapterček za zajem analognih in digitalnih podatkov v realnem času pri najvišji frekvenci, ki jo zadevica še dopušča (15ksps ADC, ~0.5Msps digitalni)

AVR Software UART – do meje

Torej za določeno aplikacijo – (hitri AD pretvornik), sem rabil tudi precej hiter serijski prenos podatkov na računalnik:

.DEF Reg1 = R16
.DEF Reg2 = R17

LDI Reg1, 0b10101010 // 1
LDI Reg2, 8 // 1

Startbit:
ROR reg1 // 1
BRCS Clearbit // 2 če je skok, 1 če ga ni

Dec reg2 // 1
SBI PortB, 0 // 2
RJMP Endbit // 2

Clearbit:
CBI PortB, 0 // 2
NOP // 1
dec reg2 // 1
Endbit:
// // za 10.5 timing se doda še:
// SBRS/SBRC reg2,0 // 1/2
// brne Startbit // 2
brne Startbit //2

end:
rjmp end

Zadeva rabi 2 registra (en za podatke, drugi za bitcounter), 22 bajtov programskega prostora, prenos enega bita pa izvrši v 9 AVR procesorskih ciklih, napisana je tudi koda za 10.5 ciklov (izmenjujoče 10/11). Zaenkrat še nisem implementiral start in stop bitov, ampak to je v bistvu celo lažje kot samo enakomerno pošiljanje podatkov…

V teoriji deluje 🙂 bo treba preizkusit še v praksi… Če bo vse v redu bom s to kodo z 9.6MHz AVRja lahko pošiljal podatke pri 921600bps…