Baco Led Matrix

Dit topic is gesloten

Op 19 maart 2013 19:05:32 schreef RS2^Racer^:
[...]
Zou je hier wat meer info over willen geven?
Je hebt de programmer uit deze post gebouwd?:
http://www.circuitsonline.net/forum/view/message/1490464#1490464

Ik heb inderdaad die programmer gebruikt. Als je ispLEVER classic van lattice heb je de ontwikkelomgeving van de oudere cpld's van lattice. Je kan hier met een HDL(verilog en VHDL) of met een schema een ontwerp maken die je op de CPLD kan programmeren. Als je niks weet van hardware description languages kan je dus gewoon een digitaal schema uittekenen die je er dan op kan programmeren.
Verilog is opzichzelf niet al te ingewikkeld, maar je moet niet in software gaan denken. Je beschrijft echte hardware dus als je iets schrijft zou je je er ook wat bij voor moeten kunnen stellen in hardware.

De programmer van die site is het schema van de officiële programmer van lattice. De programmer wordt dus normaal ondersteunt in de software en de drivers werden mee geïnstalleerd. De drivers werkte onder windows 7 /8, maar als ik mijn verilog code wou synthetiseren krijg ik errors. Onder windows xp werkte het wel goed.

Hieronder is mijn testcode voor de matrix. Het doet echt niks bijzonders nog behalve een paar tellers te laten lopen en aan de hand daarvan wat te weergeven op het scherm.

verilog code:

module Test(	input sysclk, 	// system clock 18.432/32 = 576kHz
		input dor, 	// data in from shift register
		input ledtin, 	// input from comparator
		input d_in,	// data from optical input
		output d_out,	// data out to optical output
		output dr, 	// data out
		output en, 	// enable shift register
		output clk, 	// clk shift register
		output strobe, 	// latch shift register
		output a, 	// row select bit 0
		output b, 	// row select bit 1
		output c, 	// row select bit 2
		output g1, 	// enable row select chip 1 (active low)
		output g2);	// enable row select chip 2 (active low)

reg [3:0]row = 0;
reg [8:0]column = 0;
reg strobe = 0;

assign d_out = dor;
assign {g2, c, b, a} = row;
assign g1 = !g2;
assign en = 0;
assign clk = sysclk;
assign dr = column[2];

always @(posedge sysclk)
begin
	if(column < 8'd240)
	begin
		column = column + 1'b1;
                strobe = 0;
	end else begin
		column = 0;
                strobe = 1;
	end
end

always @(posedge strobe)
begin
	row = row + 1'b1;
end

endmodule

Oke, bedankt voor de uitleg! :)
Ik krijg op school ook VHDL en heb zelf ook een FPGA starter board liggen. (Spartan 3E Starter Kit)

Ik ga me er na mijn herkansing en tentamenweek is even lekker in verdiepen.
1 vraag rijst wel al bij me op. is het mogelijk om iets van een geheugen in te programmeren of is de CLPD daar te klein voor?

voor de parallelle poort heb ik mijn oude desktop nog bewaard, wist al dat deze nog is van pas zou komen :-)

Op 19 maart 2013 21:18:40 schreef blurp:
Volgens mij heb ik een spoor van het optische protocol te pakken. Ik kan namelijk alle 16 lijnen individueel aan en uit schakelen.

edit: Kleine aanvulling; nog even met de scope gekeken. Inderdaad gaan alle FETjes een voor een aan. Ook gaat er (als de FET aanstaat) een strobe naar de schuifregisters

Applaus! Ik als programmeer-noob kan elke hulp gebruiken en mijn bordjes komen deze week binnen :) En dan het liefst op een niet-destructieve manier. Het gebruik van de originele optische connector heeft dus mijn voorkeur.

Een buckje ontwerpen voor de voeding is dan weer niet zo'n probleem.

@blurp: volgens mij heb je een slecht matrix rechts boven, deze schijnt wat minder en waarom geeft dat middelste punt geen licht?

Ben Belg sowat :D :: plaatjes zijn meestal klikbaar

Het lijkt me dat die LED stuk is.
@blurp: Kun je ook al plaatjes/tekst op het ledscherm zetten? Zou je nog wat meer info willen geven? Is dat bijvoorbeeld alle code ne welke hardware heb je gebruikt om het scherm aan tte sturen?

Baco heeft nu weer een ander bord

http://www.baco-army-goods.nl/homepage/ledmatrix-bord-fds132.html

met deze afbeelding erbij.
http://bacoarmygoods.cdn.exxtra.net/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/f/d/fds132-in-werking.jpg

Dan zou je verwachten dat het protocol voor 'onze' grote matrixen ook bekend is.

Had er al iemand gemaild naar Baco zelf?

Sine

Moderator

Dat bord hebben ze al een tijdje toch ?

En ik zie verdacht veel lijntjes naar het bord lopen, dus ook daar zal de originele controller wel vanaf zijn.

Dat bord staat er inderdaad al een tijdje op. Alleen nooit met een foto van een werkend exemplaar, Waarschijnlijk doen ze dat nu voor de verkoop

Plaatjes/tekst lukt nog niet. Ik loop nog te zoeken naar de toverwoorden om daadwerkelijk bitjes in de schuifregisters te schuiven.

0x800001e0 en 0x800001f0 lijken iets te doen, maar erg soepel loopt het nog niet.

Bovenstaande code is alle code die ik gebruikt heb. HW is een standaard arduino bord (een duomillenove, maar iedere arduino zal wel werken)

Mijn FDS184 is wel ietsje aangepast: Ik heb de 100ohm tussen optische ontvanger en CPLD weggehaald om de arduino TXout daar aan te sluiten, en ik heb de 18.432 MHz vervangen voor een 16MHz, zodat de arduino en het scherm op dezelfde klok zitten.

Mijn display heeft inderdaad een kappotte led, als BaCo meeleest: ik wil wel een nieuwe (of een FDS185, want daar was ik te laat voor).
Dat een display wat gedimder is klopt ook, al wordt dat wel verergert doordat ik mijn labvoeding op een conservatieve 0.5A begrensd heb. Wel zo veilig als ik mijn code verklooi en een lijn continue aanlaat.

@blurp,

Goed bezig! Als ik naar de prijs van de borden kijk denk ik dat de borden factory rejects zijn, dus grote kans dat er wat mis mee kan zijn qua leds. Kapotte led in het midden plus een sterk afwijkende matrix qua helderheid. Het kan ook zijn dat de borden gesoldeerd zijn met een slechte batch matrixen en dat ze rework niet de moeite waard vinden.

Ik hoop de borden morgen binnen te hebben of anders wordt het van het weekend lekker spelen ermee :-).

A byte walks into a bar and orders a pint. Bartender asks him "What's wrong?" Byte says "Parity error." Bartender nods and says "Yeah, I thought you looked a bit off."

Het bord waar ik mee loop te spelen is uit 2002 of 2003 ofzo. In iedergeval zo'n 10 jaar oud. Tenminste, dat is wat de date-code op de PCB suggereert.

Ook is die CPLD al een tijdje niet meer leverbaar. Dus ik denk niet dat dit een factory reject is, maar gewoon een afdankertje.

Sjoerd Kreyns

Golden Member

Dit
http://www.circuitsonline.net/forum/view/12437/2/fds132
gaat over hetzelfde bord. Volgens mij hoort er een controller bij.

SMD weerstandjes zoeken in grijze vloerbedekking is ook een uitdaging ... 8*1=255 ... Het nadeel van ruimte: Als je het hebt, staat het binnen de kortste keren weer vol.

Juerd lijkt software te hebben.

Misschien valt er dan wat af te luisteren? (Zie ook deze post die daar succes mee lijkt te hebben gehad.)

If you want to succeed, double your failure rate.

Dat is een heel ander bord met RS*** interface. Wij hebben een optische interface.

Nu ik beter kijk, ook op de foto's daar, lijkt het bord weldegelijk een FDS132 met optische interface, maar hebben ze daar nog een controller (ombouw) bij, waar RS232 op zit. Ik maak me sterk dat de optische interface van de FDS132 sterk lijkt op die van de FDS184/185 (hoewel het gissen blijft).

Gezien er in dat topic meerdere mensen zijn met zo'n compleet ding, valt de controller/ombouw misschien te lenen om het optische protocol mee te achterhalen?

If you want to succeed, double your failure rate.

Op 20 maart 2013 15:03:23 schreef powerflux:Had er al iemand gemaild naar Baco zelf?

Jazeker, zoals vermeld in dit topic.

Serea

4 stuks binnen, helaas wat kleiner dan verwacht.

Helaas zal ik 100% afhankelijk zijn van de resultaten hiero.. ben een echte analoge power-electronics man.

Aan een kant toch jammer dat ik voor de directe aansturing ben gegaan.

Ik heb de CPLD's er al afgebakken - helaas niet zo netjes als RS2^Racer^ (zie foto's pagina 2).

Inmiddels in het bezit van 2x FDS132 matrix van Baco (een met rode en een met groene leds).

De CPLD heb ik laten zitten en de weerstand van 100R tussen de Opto receiver en de CPLD losgehaald en op het spoortje dat naar de CPLD gaat een Arduino UNO aangesloten.

Lopen nu twee draadjes van de Arduino naar de matrix toe. 1x GND en 1x TxD (pen 1).

Ik heb de code van Blurp geprobeerd (http://www.circuitsonline.net/forum/view/message/1490802#1490802) en die geeft dit effect: http://youtu.be/-VSTNK-Uo2k.

Het andere stukje code van Blurp (http://www.circuitsonline.net/forum/view/message/1491635#1491635) werkt niet op de FDS132. Er gaat maar één rij leds branden en mijn labvoeding (max 3A) schiet in de stroombegrenzing.

Ik vermoed wel dat de code voor de FDS132 vergelijkbaar is aan de grotere broer, maar heb dus nog niet indivuele lijnen kunnen laten branden.

Zerobase, heb je ook gecontroleerd of de arduino en de FDS op dezelfde frequentie lopen? Standaard zit de FDS132 denk ik op dezelfde 18.432 als mijn FDS184, en de Uno op 16MHz.

In dat geval verwacht ik dat hooguit het 101010 patroon (af en toe) goed aankomt, en dat is bij de FDS184 de code om een specifieke lijn aan te zetten (zie JesperR zijn bericht: http://www.circuitsonline.net/forum/view/message/1490264#1490264).

Ik weet niet hoe goed je in C/AVR bent of hoeveel tijd je hebt (ik heb bijzonder weinig hobby tijd iig), maar als je klokken gelijk zijn zou ik alle 8-bit patronen gaan proberen, elk omringt door een 8-tal nullen.

Ik heb sinds mijn vorige post niet zoveel meer gevonden, behalve dat ik vermoed dat het display uit gaat als er langere tijd (milliseconden) geen data binnenkomt.

@Blurp: Ik heb het kristal op het bord vervangen door een 16MHz exemplaar (zit normaal ook een 18,432 MHz kristal op).

De verschillende lijnen worden in een random patroon aan- en uitgeschakeld. Het resultaat is op het filmpje te zien.

Bij 6V voeding schommelt de de stroommeter op mijn labvoeding rond de 1,4A.

Als ik het tweede stukje code probeer dat je in deze forum-thread hebt neergezet gaat er maar 1 lijn branden, maar trekt de voeding wel meteen bijna 3A.

Ik vermoed dat de aansturing van de FDS132 vergelijkbaar is aan die van de grote(re) borden, maar dat de te gebruiken codes net even anders zijn.

Met AVR/GCC kan ik me prima redden. Vanavond maar eens verder testen.

@zerobase: Ik heb zopas ook 4 van die FDS-132G borden binnen, met de schema's en die zijn in goede toestand. Meteen pdf van gemaakt. Mocht je die nog ontbreken / nodig hebben, kan ik die uploaden.
Ben van plan deze aan te sturen met Arduino.
Ik vraag me echter af of er al niets effectief bestaat om die modules aan te sturen (voorbeeldprogramma, aansluitschema) zoals op die foto hierboven in de post van powerflux? Daar hangt duidelijk Arduino spul aan.

Die foto is van Baco, even mailen ? Zelf heb ik ook 2 van die borden inmiddels. Ik laat de clpd zitten maar soldeer er 2 logische ic's af, dan kan ik de rijen en kolommen zelf aansturen.

It's the rule that you live by and die for It's the one thing you can't deny Even though you don't know what the price is. It is justified.

@Muffin ik heb inmiddels de FDS132 aan de praat met zowel arduino als de LaunchPad van TI. De arduino code is vrij simpel ik heb helaas wel de controller er afgehaald maar alles werkt wel. Het enige irritante is dat de led displays 5 leds breed zijn en er dus meerdere segmentjes op een shiftregister zitten aangesloten. Er moet dus 54 letters in 34 bytes geprakt worden.

Sjoerd Kreyns

Golden Member

Hoe zit dat met de 74HC164 aan het einde van iedere lijn? Kan je een foto maken van hoe je het hebt aangesloten?

SMD weerstandjes zoeken in grijze vloerbedekking is ook een uitdaging ... 8*1=255 ... Het nadeel van ruimte: Als je het hebt, staat het binnen de kortste keren weer vol.

Dit topic is gesloten