Ik wil graag een led kubus maken, ik heb op internet deze schema gevonden. Ik zat te denken aan hem te vergroten voor een 5x5x5. Dus meer BC547B', of kan ik deze beter vervangen door een IC. De Pic 16F628A is volgens mij te klein voor een 5x5x5 kubus, ik zat zelf te denken aan een 16F877A. Maar andere mag natuurelijk ook.

Alvast bedankt

Brandon

heb deze onlangs gemaakt maar of je deze makkelijk uit te breiden is weet ik niet. je hebt dan 5x5=25 + 5 verdiepingen= 30 uitgangen nodig. daarbij zijn er genoeg schema's te vinden van een 5x5x5 cube met de zoekfunctie of google;)

de 628 heeft maar 18 pinnen, jij hebt 30 uitgangen nodig.
Met een 16F877 kom je normaalgezien wel toe. Je kan ook een ic gebruiken (serieel in, parallel uit...)
Zoek eens een schema op voor een 5³ kubus, ze zijn er genoeg te vinden, dan moet je het wiel niet terug opnieuw uitvinden.

Je klinkt niet erg ervaren in de elektronica. Maak eerst eens die 3*3*3 kubus, en zorg dat je hem begrijpt (inclusief software).
Daarna kun je aan een 5*5*5 beginnen. Je kunt de outputs aanvullen door schuifregisters te gebruiken (zoals tokesnugerd zei), zoals de 74HC595. Deze werkt erg makkelijk en is goed te verkrijgen.

Ik heb op internet deze schema gevonden met een 74HC595. Aleen ik snapte niet hoe dat werkte met die schuifregisters. (ik programeer in proton IDE)

Op 10 januari 2010 22:23:14 schreef ken536:
Je klinkt niet erg ervaren in de elektronica. Maak eerst eens die 3*3*3 kubus, en zorg dat je hem begrijpt (inclusief software).

Ik heb wel (wat) ervaring met elektronica, zat ook al te denken om eerst die 3*3*3 te maken.

met een schuifregister kun je meer poorten creeren zowel input als ouput. in jouw geval een ouput.
om de schuifregister aan te sturen heb ik in pic basic een commando "Shout"


symbol ShiftLatch = porta.0
symbol ShiftCLK   = porta.1
symbol ShiftData  = porta.2

shout shiftdata, shiftclk, msbfirst, [%11001100]

in dit geval zal ie 4 poorten hoog maken en 4 laag.

als je meer schuifregisters in cascada wil zetten kan je gewoon doen:


shout shiftdata, shiftclk, msbfirst, [schuifregister1, schuifregister2, enzo]

Moet het absoluut met een pic? In Elektor december 2008 heeft een 5x5x5 gestaan met een ATmega32.

mvg

Theo

ik denk dat t wel n pic moet zijn aangezien hij t over picbasic heeft

Op 11 januari 2010 17:33:10 schreef buckfast_beekeeper:
Moet het absoluut met een pic?

Ja, dat moet. Ik er thuis spullen voor, dus dan is het wel wat makkelijker :p

Dick Best heeft 3 types van de BC327, namelijk BC327-16, BC327-25 en de BC327-40.
Is trouwens de schema die ik zij goed.

Over het programeren ga ik wel verder als ik dan ding in elkaar heb zetten, kan ik het direct uit proberen.

zoals het op deze schema staat kan het ja.
ik zou alleen een ULN2803 pakken ivp een torretje.

kan volgens mij tot 500mA sinken

Dus een ULN2803 vervangt dan de transistors, moet ik dan nog net zo veel weerstanden gebruiken. Denk het wel want hij schakelt tussen de 2.4 - 3.0 Volt. Als ik de ULN2804 heb ik geen weerstand nodig, omdat die schakelt bij 5 Volt dat komt als het goed is uit de 74HC595. Klopt dit allemaal een beetje wat ik zeg;)

30/8= 3.75 dus heb ik er 4 van nodig (ULN2803 / ULN2804)
Ik vroeg me af of ik ook kon programeren, zonder dat ik de pic er steets uit hoef te halen. Programeer met de PICkit2.

ULN2803 is voor TTL niveau ingang. Dus 5V.
ULN2804 is voor CMOS niveau ingang. Dus tussen 6V en 15V. Je hebt dus een ULN2803 nodig. Belastbaar per uitgang tot 0.5A voor heel het IC 1A. Voor leds niet direct een probleem.

Je hebt 30 in/uitgangen nodig. Dat kan met 2 ULN2003 (2*7) en 2 ULN2803 (2*8). ULN2003 is gelijk aan ULN2803 uitgezonderd het aantal uitgangen.

mvg

Theo

Als je een 5x5 kubus maakt is het niet meer dan een 25x5 matrix die in 3D is opgesteld. De afbeelding hieronder zou in jouw geval 5 kolommen en 25 rijen hebben.
http://www.tigoe.net/pcomp/code/wp-content/uploads/2009/03/ledm88g_circuit.gif

Er is telkens maar 1 kolom actief (=multiplexen) door deze aan massa te hangen, dit komt overeen met het activeren van 1 van de 5 vlakken in de hoogte. Welke ledjes je nu wilt schakelen in dat vlak, bepaal je door de overeenkomstige rijen hoog te maken. Als je elk vlak nu snel achter elkaar laat oplichten, lijkt het alsof alles samen aan kan staan.

Om een kolom (vlak) te selecteren moet je die dus aan massa hangen, dit doe je met losse torren ofwel gebruik je een ic waar die torren al inzitten samen met de nodige basisweerstand (bvb de ULN2803). Die ingangen kan je ofwel rechtstreeks met je µC aansturen ofwel met een schuifregister. Voor de kolommen heb je dus 1 74HC595 en 1 ULN2803 nodig (je kan ook een TPIC6B595 gebruiken, daarin zitten die 2 ic's al in maar is wel wat duurder)

Nu moet je de 25 rijen nog kunnen hoog maken (led's in 1 vlak selecteren) dit zou je ook rechtstreeks met de µC kunnen doen. Door 1 pin vloeit dan de stroom voor 1 LED, dat is geen probleem maar in totaal zullen er 25 led's samen kunnen oplichten en dat wordt te veel voor de µC. Je kan hiervoor ook weer shiftregisters gebruiken, je hebt er dan 4 nodig. Elke pin kan 25 mA sinken/sourcen maar de totale stroom door de GND en Vcc pin mag maar 70mA zijn, dus heb je ook hier weer torren nodig. Hier zijn het geen npn torren maar pnp torren omdat we naar Vcc moeten schakelen (sourcen). Hiervoor heb je dan bvb de UDN2981A waar je er dan 4 van nodig hebt.

[EDIT] En natuurlijk heeft elke rij een weerstandje nodig om de stroom door de led te beperken.

Bedankt voor de uitleg.
Ik ga vanmidag even een schema tekenen en dan kijken of het goed is ;) Dan de hele handel bestellen.

Brandon

Ik heb een schema getekent.
Brandt er maar op los

Brandon

Nu heb je per register een data en een shift pin. Je zet beter de shift registers in cascade, Q7' aan DS van volgend register, zo krijg je 1 groot shift register. Je hebt dan maar 3 pinnen nodig, data, clock, latch. Heeft die PIC geen SPI of een USART die om te vormen is naar SPI module?

Je hebt wel een beetje een rare volgorde genomen. :)
Aan q7' van het laatste register in de trein moet ook niets meer verbonden worden, en alle ch_cp's niet vergeten aan elkaar te hangen.

Dus als ik alle ch_cp's aan elkaar hang. Dan is hij goed.
Wat programeert makkelijker: De eerste of mijn tweede schema?

Brandon

Het makkelijkste is als alles in cascade staat.
'k Heb het snel nog wat aangepast in paint :)
klik. Je ziet dat je nu zelfs genoeg pinnen over hebt om U2 te laten vallen en om U3 rechtstreeks op de PIC aan te sluiten.

Bedankt :)
Zijn de weerstanden ook goed.
Zo heb ik het uitgerekent (5-2.1)/0.02 = 145 = 150 Ω

Hangt een beetje van de ledjes af. Als je Vf nog niet juist weet, ga je beter uit van de worst-case: 1,7V. Dan kom je uit op 165Ω dus neem je 180Ω
Vergeet niet dat je multiplext, elke led zal maar 1/5 van de tijd actief zijn, dus zal je nadien beter een hogere stroom kiezen. Normaal zou het dan 100mA worden maar minder zal waarschijnlijk wel genoeg zijn, dat moet je zelf ondervinden en als je een hoge piekstroom kiest, kijk je het best even na in de datasheet of de ledjes het wel kunnen hebben. Bij het debuggen van je code gebruik je best wel die 180Ω, anders zijn je leds gegarandeerd na de eerste test van je programma voor de vuilbak :)

Ik gebruik deze leds Onderaan kan ik ook nog kiezen als ik er weerstanden bij wil hebben. Zou dan handiger zijn of niet.
Bij deze leds heb ik die berekenig ook gedaan.

Op 13 januari 2010 21:44:32 schreef plantrekker:
anders zijn je leds gegarandeerd na de eerste test van je programma voor de vuilbak :)

Als je dat leuk vindt, kun ja dat doen. Alleen ik vindt het een beetje zonde en moet je weer 125 Leds solderen :)

Je zal toch beter eerst experimenteel de beste stroom bepalen. Stel dat je 100mA door de led's stuurt, dan verstook je (5-2,1)*0.1=290mW in je weerstanden. 1/4 Watt weerstandjes kunnen dit dus niet aan. Komt er nog eens bij dat je in totaal 2,5A aan 5V nodig heb. Neem de stromen dus zo laag mogelijk, je bepaalt dat experimenteel zodat ze niet te veel verbruiken maar toch nog fel genoeg voor je zijn. (ik heb eens displays gemultiplext waarbij ik bij de test zag dat 12mA piek bij duty 25% genoeg was, gemiddeld dus 3mA, dat verwacht je niet)

Om de beste stroomsterkte te bepalen en om je programma te schrijven, moet je natuurlijk niet je hele kubus op breadboad gaan opbouwen. Je kan het al doen door 1 kolom uit je matrix (1 vlak) op te stellen en moeten dan zelfs nog niet alle 25 leds zijn. Start bvb met 1 shift register en een UDN2981A, sluit daar dan 8 ledjes op aan (met 150Ω, je bent nog in de testfase van je programma!). Die ULN2803 sluit je ook al aan en alle kathodes van de leds op de eerste uitgang. Je kan op die manier de kubus al simuleren. Die 8 ledjes stellen dan de eerste 8 ledjes uit de eerste kolom van je matrix voor. Eens het lukt om te multiplexen zal je zien dat de ledjes minder fel oplichten, dan kan je de weerstand gaan bepalen.

Op 14 januari 2010 13:13:40 schreef plantrekker:
Die UDN2981A sluit je ook al aan en alle kathodes van de leds op de eerste uitgang.

Bedoelt U de ULN2803 niet?

Ik heb thuis maar 10 weerstanden van elke waarde. Dus ik moet meer waardes bij bestellen.

Moet er tussen U2 en U3 ook een weerstand.