Sida 1 av 26

Resultat display

Postat: 17 januari 2008, 22:06:43
av Stewal
Som första projekt här på forumet är jag inne på att bygga en 7-segments display till ett befintligt tidtagnings system jag har.
Då jag har grundläggande kunskap i elektronik kommer jag att behöva lite väg ledning av er experter här på forumet, då jag saknar kompetens vad gäller programmering av kretsar t.ex. Därför skulle jag vilja ha tips på vilket programmerings språk som är bäst att lära sig idag. Har köpt lite litteratur och där man går igenom lite om assembler.
För att återgå till projektet så har tidtagnings klockan en display utgång som sänder RS232 data 2400 baud, 7 bits, Even parity, 1 stop bits och protokollet är ett så kallat ESC protokoll vilket jag har dokumenterat.
Så det jag behöver göra är att hitta en lämpligt microcontroller och som kan läsa datat och vissa upp det på repektive 7-segments siffra.

Alla tips är välkomna

Postat: 17 januari 2008, 22:13:56
av bengt-re
Hur stor display?

Enklast är någon uC med inbyggd UART och tillräckligt många portpinnar för enkel drivning av LED-displayerna.

Skall du göra en så här enkelt projekt så är det givna valet att köra ASM, men vill du inte detta av någon anledning så är någon fri-variant av C att rekomendera.

Postat: 17 januari 2008, 22:33:28
av Stewal
Displayen skall innehålla 6st. 7-segment siffror.

Jag har börjat läsa lite om ASM, så då kanske man skall gå på det spåret.
Vilka andra språk finns det, har sett följande ASM, PASCAL och C

C verkar ju enklare vad jag sett.

Postat: 17 januari 2008, 22:46:28
av bengt-re
Jo, C är på ett sätt enklast, men om man inte kan uC så kommer man slita sitt hår lite innan man får saker att fungerar som man vill. Oftast bäst att lära sig ASM först tycker jag iaf. Jag vet inte om jag är luttrad, men ASM är inte så svårt - det tar inte så lång tid att skrva kod, men visst är det lite jobb att lära sig. Skall man lära ifrån grunden så tycker jag personligen att PIC 18-serien är det bästa valet då dessa är enklare att programmera i ASM än gamla 16-serien (som jag envisas med...) och de finns också en bra C-kompilator till dem i och med microchips C18 som är riktigt bra och buggfri.

Man kan välja andra uC familjer också, freescale har en billig och bra serie med bra utvecklingsverktyg - sämre datablad och lite rörigare utvecklingsmiljö än MPLAB, men väl värt att titta på.

Av lite kraftigare uC finns det rätt mycket, men tror att det är bättre att börja med lite enklae 8-bitars prylar.


När det gäller projektet så är det som det verkar tämligen enkelt. En datamotagardel och en timerinterups som muliplexar de olika tecknen. Här ser du omdellbart fördelen med inbyggd UART... En mjukvarudriven uart blir svår att få att fungera utan att du tappar muliplexingen till siffrorna. Med UART så är det bara att behandla datat i mainloopen och låta timerinterupten skifra multiplexingen (observera att du kan lämna tillbaka till main direkt efter den har skiftat siffra i timerinteruptslingan vilket ger dig tillgång till nästan hela CPU-tiden i mainloopen.

Postat: 17 januari 2008, 23:31:54
av Stewal
Då säger vi att projektet programmeras i ASM, nu har jag inte hittat någon literatur som bara grundas på ASM. Det jag läst nu är Datorteknik - med inrikting mot 68HC11. I den är inga riktiga ex. på programmering som man kan testa och köra. Så ni här kanske kan ge tips på literatur eller om ni hjälper mig med under projektets gång med hur man koden skall se ut så kan jag gå igenom den för att se hur den jobbar och lära mig den vägen.
Var inne på att köra någon sorts PIC, då köpte ett Velleman kit för att testa att köra koda om det till att passa tidtagnings klockan. Men kom inte så långt då jag inte har kompetens till att programera PIC kretsar. Därför är jag inne nu på att lära mig programering från grunden. Om man kör med en PIC 18-serie hur mycket data klara den av att bearbeta? Display utgången på tidtagningen sänder ut rätt mycket data hela tiden som kanske gör att PIC´n går i taket!

Postat: 17 januari 2008, 23:47:25
av sodjan
Du kan aldrig få en PIC18 att "gå i taket" med 2400 baud... :-) :-)
Även med full trafik på serielinan så är det bara någtra % av processorns
kapacitet. Sen beror det på vad den ska göra för övrigt, men jag har väldigt
svårt att tro att lite tidtagning skulle vara något problem.

Du ska alltså "lyssna" på en befintlig utrustning som sänder data med 2400 baud.
Och sedan i princip inte göra annat är att visa samma data på några displayer ?

Postat: 17 januari 2008, 23:56:04
av Stewal
Som du säger den skall bara lysa på trafiken och sedan plocka ut data från vissa poster som är ascii kod och sedan lägga ut det på displayen.

Anledning till att jag frågar är att det finns en rätt ny inköpt elektromekanisk display där processorn gick i taket på grund av för låg klock frekvens så det vart overflow.

Postat: 18 januari 2008, 08:32:50
av Icecap
Om du ska lyssna på 2400 baud, välja ut rätt data och presentera dom på 6 st 7-segment vill jag påstå att du lätt kan klara det med en PIC på 4MHz!

Jag har gjort detta med en PIC16F873 på 3,6864MHz fast där lyssnade den på 9600 baud och skannade samtidig en 8*5 matris och hade intern teckentabell OCH intensitetsstyrning i 128 nivåer...

Dom som bor i Stockholm har kanske sett de skyltar de satt i: "DU KÖR FÖR FORT" led gula LED-siffror.

Så tar du en PIC18 (använd kristall för att vara säker på att baudrate är helt precis) kommer den LÄTT att hinna med...

Postat: 18 januari 2008, 09:06:04
av Stewal
Processorn gick i taket på grund av för låg klock frekvens så det vart overflow. Den hade från början en kristall på 2 Mhz som sen bytes till en 12 Mhz, samt lite ändring av koden.

Jodå "DU KÖR FÖR FÖRT" skyltarna har man sett :o . Lite kul vad gäller dom är att hastigheten faktiskt stämmer om man gämför med en GPS i bilen.

Okej då skall jag kolla upp lite om PIC 18 och till en sådan köra med en klock frekvens på 4 Mhz.

Postat: 18 januari 2008, 09:55:35
av Icecap
Du kan fint köra på mer än 4MHz men välj en frekvens som får baud-raten att passa, detta var just anledningen till att jag valde att köra med 3,6864MHz (). Lämpligt kristall kan vara t.ex. 3.6864MHz, 7.3728MHz, 11.0592MHz eller andra som ger ~0% fel i baudrate.

Som sagt klarar den MYCKET redan vid 3,6864MHz men det är aldrig fel att ha lite extra muskler för mer vill ofta ha mer...

Sedan är det så att högre hastighet betyder ökad strömförbrukning (har knappast betydelse med LED-display), med utstrålad störning (EMI) och mer känslig för störning så rätt balans är bäst.

Postat: 18 januari 2008, 10:12:34
av Stewal
Det bör räcka med en kristall på 3,6864MHz, då jag vet att en älder display som lånades in hade en kristall på 3,6864MHz.

Vad gäller strömförbrukning så är jag inte ute efter att bygga något strömsnålt, i såfall hade jag nog kört med en LCD istället.

Nu skall det vara lite basic då jag är ute efter att lara mig lite grunder, vet inte om det är lite för avancerat som första projekt?

Postat: 18 januari 2008, 10:21:49
av BEEP
Jag tycker att du ska ta och kika lite på STK500 som jag tror skulle vara en perfekt start för din tidtagning.

Bild

ATmel STK500 (724 kr på Lawicel)

Postat: 18 januari 2008, 10:47:34
av Stewal
Jag var inne på att köpa något färdigt labbkort. Visst det är bra då man kan köra lite fler lab och tester med ett sådant. Det jag tittade på var den här http://www.mikroe.com/en/, men så är jag lite inne på att det första projektet skall göras från grunden.
Val av kretsar, komponeter och Programmerings språk till labb och sedan tillverkning av kort och låda.

Postat: 18 januari 2008, 11:28:22
av sodjan
Är det en som ska tillverkas ? Eller en hel serie ?

Jag har ett kort som fungerar bra som både labbmiljö och även för den
färdiga prylen. Avsett för 28-pinnars PIC16 eller PIC18. Komplett med
max232 för RS232 delen, powersupply och allt annat :
http://www.jescab.se/ReadyBoard01.html

Hur höga ska siffrorna vara ? D.v.s, ska det läsas på avstånd ?
Annars har jag en del olika mindre moduler med 4 eller 8 tecken
som blir mer kompakt än med lösa 7-seg displayer. De kan monteras
direkt på ReadyBoard'ets byggyta. Du får allt på ett kort.

Mikroelektronikas kort fungerar kanske bra som bas i en kurs där man
kör färdiga (anpassade till korten) labbar ur en kursplan, men som generella
labbkort tycker jag att de är för klumpiga. Och de passar knappast för
att byggas in i en låda som en färdig "produkt"...

Maila mig vid intresse...

Postat: 18 januari 2008, 11:58:05
av Stewal
Är det en som ska tillverkas ? Eller en hel serie ?
Till en början är det en, men det kan bli några till sedan om det fungerar bra.

http://www.jescab.se/ReadyBoard01.html
Det ser bra ut att börja med
Okej jag hoppar göra eget kort i första projektet och kör på ditt kort.

Jag har 6st. siffror som är 6.9 cm x 4.7 cm, men då det här i första hand är ett labb projekt kan man ut gå ifrån mindre siffror som passar ditt kort.