Dr_VingTor Skrevet 1. juli 2011 Del Skrevet 1. juli 2011 Hele SRAM minnet gikk til buffering av display. Displayet er på 84x48 pixler, som gir oss 504 pixler totalt, ATmega48P som jeg bruker har 512 bytes minne, litt trangt. Nå hadde jeg egentlig ikke trengt å buffre hele displayminnet, displayet har som nevnt ett eget buffer. Jeg har tenkt tanken på å bare bruke en temp-buffer på 1/6 av skjermen ettersom skjermen er delt opp i 6 bytes vertikalt, da trenger jeg ikke fult så mye minne, men må generere ny temp-buffer for hver refresh. 48x84 er vell 4032 pixler, men tipper du bare var litt kjapp i vendinga her og egentlig mente at du brukte 504bytes til buffer? Det er fremdels veldig mye mer en hva en trenger, og dette kan lett deles på 6 (siden hver bokstav er 7x5pixler som blir 8*6pixler når en tar med hvitområdet rundt bokstavene. Hadde tenkt å poste dette eksempelet tidligere i uka, men rakk ikke lage det før nå. Eksempelet må selvfølgelig endres til å skrive til SPI data registeret i stede for PORTB, men jeg gadd ikke koble opp det displayet jeg har liggende (har et slikt display jeg også...). Jeg skrev koden for ATtiny2313, den har bare 128 bytes SRAM og 2 Kbytes Flash. Dette eksempelet bruker 86 bytes av SRAM og 522 bytes av Flash (67,2% SRAM og 25,5% Flash). #include <avr/io.h> #include <avr/pgmspace.h> static const uint8_t ascii[][5] PROGMEM= { { 0x20, 0x54, 0x54, 0x54, 0x78 }, // a { 0x7F, 0x48, 0x44, 0x44, 0x38 }, // b { 0x38, 0x44, 0x44, 0x44, 0x20 }, // c { 0x38, 0x44, 0x44, 0x48, 0x7F }, // d { 0x38, 0x54, 0x54, 0x54, 0x18 }, // e { 0x08, 0x7E, 0x09, 0x01, 0x02 }, // f { 0x0C, 0x52, 0x52, 0x52, 0x3E }, // g { 0x7F, 0x08, 0x04, 0x04, 0x78 }, // h { 0x00, 0x44, 0x7D, 0x40, 0x00 }, // i { 0x20, 0x40, 0x44, 0x3D, 0x00 }, // j { 0x7F, 0x10, 0x28, 0x44, 0x00 }, // k { 0x00, 0x41, 0x7F, 0x40, 0x00 }, // l { 0x7C, 0x04, 0x18, 0x04, 0x78 }, // m { 0x7C, 0x08, 0x04, 0x04, 0x78 }, // n { 0x38, 0x44, 0x44, 0x44, 0x38 }, // o { 0x7C, 0x14, 0x14, 0x14, 0x08 }, // p { 0x08, 0x14, 0x14, 0x18, 0x7C }, // q { 0x7C, 0x08, 0x04, 0x04, 0x08 }, // r { 0x48, 0x54, 0x54, 0x54, 0x20 }, // s { 0x04, 0x3F, 0x44, 0x40, 0x20 }, // t { 0x3C, 0x40, 0x40, 0x20, 0x7C }, // u { 0x1C, 0x20, 0x40, 0x20, 0x1C }, // v { 0x3C, 0x40, 0x30, 0x40, 0x3C }, // w { 0x44, 0x28, 0x10, 0x28, 0x44 }, // x { 0x0C, 0x50, 0x50, 0x50, 0x3C }, // y { 0x44, 0x64, 0x54, 0x4C, 0x44 } // z }; void updatelcd(uint8_t* str){ uint8_t* ptr; //pointer to ascii table in flash uint8_t foo; //counter variable while(*str++){ ptr = &ascii; //"a" in my ascii table is at entry 0 (byte 0-4) //in regular ascii a is 97, so we must remap ptr += (((*str)-97)*5); //calculate correct start value of current char for(foo=0;foo<5;foo++){ //draw the 5 columns of current char PORTB = pgm_read_byte(ptr++); } PORTB = 0x00; // and draw one whitespace column between each char } return; } int main(void) { //screen buffer 6 lines x 14 chars (each char is 8x6 pixels including white space between chars) //buffer must be 1 byte longer as the last byte is the zero byte terminating the string uint8_t screenbuffer[85] = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdef"; updatelcd(&screenbuffer); while(1);; } Lenke til kommentar
CoolBeer Skrevet 2. juli 2011 Forfatter Del Skrevet 2. juli 2011 Flott. Du har ikke tilfeldigvis prøvd natriumpersulfat i stedet for jernklorid? Leste ett eller annet sted at jernklorid var grisete greier(?) Nope, har også hørt om Saltsyre og Hydrogenperoksid (HCL + H2O2). Joda, jernklorid er grisete greier, så det er greit å være litt forsiktig. 48x84 er vell 4032 pixler, men tipper du bare var litt kjapp i vendinga her og egentlig mente at du brukte 504bytes til buffer? Det er fremdels veldig mye mer en hva en trenger, og dette kan lett deles på 6 (siden hver bokstav er 7x5pixler som blir 8*6pixler når en tar med hvitområdet rundt bokstavene. Hadde tenkt å poste dette eksempelet tidligere i uka, men rakk ikke lage det før nå. Eksempelet må selvfølgelig endres til å skrive til SPI data registeret i stede for PORTB, men jeg gadd ikke koble opp det displayet jeg har liggende (har et slikt display jeg også...). Jeg skrev koden for ATtiny2313, den har bare 128 bytes SRAM og 2 Kbytes Flash. Dette eksempelet bruker 86 bytes av SRAM og 522 bytes av Flash (67,2% SRAM og 25,5% Flash). Doh, matte fail av meg det der Flott med kodeeksempel! In other news: Jeg har nå fått laget meg noen printkort hos www.seeedstudio.com for å sjekke kvaliteten. Prisen for 10 kort opp til 5x5cm er 9.90$ + frakt(totalt ca 14 dollar). Dette er da en ATtiny2313 header med krystall, resetknapp, isp-header og bypass: For rundt 75kr er dette vanvittig billige kort, neste kort-test går til iteadstudio.com, de har samme type tilbud for ca samme pris. - Kolbjørn Lenke til kommentar
ZeRKoX Skrevet 6. juli 2011 Del Skrevet 6. juli 2011 Da har jeg brukt halve kvelden, og halve natta på å leke litt med elektronikk. Jeg kjøpte meg nylig et par forskjellige avr-brikker, og har begynt å leke med disse. Jeg har savnet en effektiv måte å få disse til å snakke med pc-en på. Siden RS232 har plagsomme spenningsnivåer, valgte jeg å kikke i retning USB. Jeg innser at en treig mikrokontroller kommer til å slite med å gjøre så mye mer enn å snakke med usb-kontrolleren, så jeg bestemmer meg for å ha en kontroller som "oversetter" mellom USB og seriell kommunikasjon, som en mikrokontroller lett kan forstå. Med litt søking, fant jeg et prosjekt kalt AVR-CDC, som faktisk var en avr-brikke, som kunne oversette usb til rs232, med et litt mer behagelig spenningsnivå enn COM porten i pc-en. Dette prosjektet hadde ferdigkompilert kode til en attiny 2313, og siden jeg har en slik liggende, så blir det til at jeg bruker koden fra det prosjektet. USB liker at datalinjene holder spenning på 3,3V-ish. Siden jeg for det meste kjører avr-brikkene på 5V, trenger jeg å skille USB-"kontrolleren" elektrisk fra AVR-brikken den kommuniserer med. Jeg utvidet dermed prosjektet med et par optokoblere. Jeg modifiserte også de originale tegningene litt, for at den skulle passe med komponenter jeg hadde liggende. Jeg lagde følgende kretsskjema: Litt prototyping og leking senere, så har jeg faktisk en fungerende prototyp, som så slik ut: Jeg har designet PCB, så når jeg en gang får hjem etseutstyr, så skal den nok modifiseres videre, slik at den blir mer anvendelig og permanent. Så til det store spørsmålet: Microsoft har jo bestemt seg for at alle drivere skal være digitalt signerte. Dette gjør at jeg må styre med noe "Test Mode" i windows for å kunne bruke dette brettet. Kjenner dere til lignende prosjekter, som baserer seg på allerede eksisterende drivere, som allerede er signert? Lenke til kommentar
Dr_VingTor Skrevet 6. juli 2011 Del Skrevet 6. juli 2011 Finnes vell noen "standard" drivere, så du må kanskje bare få din enhet til å oppføre seg som en som kan bruke det? Men kanskje det står noe på denne siden: http://www.obdev.at/products/vusb/index.html Lenke til kommentar
storken Skrevet 28. juli 2011 Del Skrevet 28. juli 2011 Billige stepper-motorer på salg (containerfrakt fra jetcarrier + under momsgrensa = billig). Har kjøpt meg 3 stk selv til en 3-akset cnc maskin jeg driver å bygger litt på si. Made by Applied Motion Products Inc, the HT23-425 stepper motor features: high torque, 2.5V, 3.7A/ø, 0.665 ohms, and 200 S/R. Jeg tenkte drive disse med denne driveren, men dette punktet gjør at jeg blir usikker: "Driver output compatible with 2 or 4 phase, 4,6 or 8 lead stepper motors, 3A max."Kan jeg seriekoble motstander med motorene slik at de får mindre strøm, eller er dette noe som egentlig går bra i driverkretsen? Lenke til kommentar
geir__hk Skrevet 28. juli 2011 Del Skrevet 28. juli 2011 (endret) Billige stepper-motorer på salg (containerfrakt fra jetcarrier + under momsgrensa = billig). Har kjøpt meg 3 stk selv til en 3-akset cnc maskin jeg driver å bygger litt på si. Made by Applied Motion Products Inc, the HT23-425 stepper motor features: high torque, 2.5V, 3.7A/ø, 0.665 ohms, and 200 S/R. Jeg tenkte drive disse med denne driveren, men dette punktet gjør at jeg blir usikker: "Driver output compatible with 2 or 4 phase, 4,6 or 8 lead stepper motors, 3A max."Kan jeg seriekoble motstander med motorene slik at de får mindre strøm, eller er dette noe som egentlig går bra i driverkretsen? Jeg ville ikke ha tatt sjansen på at driveren tåler overbelastning. På en annen side - dersom kjører motorene normalt så tenker jeg du ikke vil komme i situasjoner hvor strømmen blir så høy.Ville uansett ha sett litt mere på hvordan driveren fungerer. Kontrollerer den strømmen til stepper motoren? [edit] Du kan ikke bruke kontrolleren på stepper-motoren. Fordi: *Attention: This driver is the 1.5A-3A version, it's specially designed for stepper motors with rated current from 1.5A to 3A, it's NOT compatible with stepper motors with rated current below 1.5A or above 3A! Snippet fra ebay. Endret 28. juli 2011 av geir__hk Lenke til kommentar
BigJackW Skrevet 28. juli 2011 Del Skrevet 28. juli 2011 (endret) Billige stepper-motorer på salg (containerfrakt fra jetcarrier + under momsgrensa = billig). Har kjøpt meg 3 stk selv til en 3-akset cnc maskin jeg driver å bygger litt på si. Jøss, var jo ganske billige de der. Hvor mye kom det på totalt? Edit: Please be advised that we do not ship to your country due to R.O.H.S. laws. You order has been canceled and your credit card has not been charged. Regards, The Electronic Goldmine Endret 29. juli 2011 av BigJackW Lenke til kommentar
storken Skrevet 31. juli 2011 Del Skrevet 31. juli 2011 Billige stepper-motorer på salg (containerfrakt fra jetcarrier + under momsgrensa = billig). Har kjøpt meg 3 stk selv til en 3-akset cnc maskin jeg driver å bygger litt på si. Jøss, var jo ganske billige de der. Hvor mye kom det på totalt? Edit: Please be advised that we do not ship to your country due to R.O.H.S. laws. You order has been canceled and your credit card has not been charged. Regards, The Electronic Goldmine 3 stk kom på 195 totalt Frakt på 70 kr innenlands usa, jetcarrier frakter over atlanteren - da tror jeg ikke ROHS spiller sånn inn Lenke til kommentar
BigJackW Skrevet 31. juli 2011 Del Skrevet 31. juli 2011 Så de godtok ordren din? Lenke til kommentar
Ståle Skrevet 23. august 2011 Del Skrevet 23. august 2011 (endret) Noen som vet hvor man får tak i drill bits til Dremel for borring av hull på kretskortet? Helst i Bergen. 0,7-0,8mm i wolfram karbid. Endret 23. august 2011 av Ståle Lenke til kommentar
kanneolje Skrevet 26. september 2011 Del Skrevet 26. september 2011 Hentet meg en loddestasjon(Hakko FX-888) fra Aliexpress.com tidligere i år, var eneste plassen jeg fant 220v versionen, så langt jeg kan se er den ekte også(alltid en bonus ). Fake, i likhet med alt som kalles Hakko fra Kina. Haugevis av Hakko-kloner der og på E-bay. Fikk min fra RS Components nå, her snakker vi kvalitet på både stasjon og innpakning. Lenke til kommentar
CoolBeer Skrevet 4. oktober 2011 Forfatter Del Skrevet 4. oktober 2011 Da var man sånn halvveis igang igjen. Har vært igjennom en flytteprosess og en periode uten nett, så har blitt lite tid til elektronikk. Har en fungerende prototyp av en enkel klokke koblet opp: Klokkepulsen er generert fra en 32768Hz krystall koblet opp som en pierce oscillator(med en 4049 Hex Inverter). ATMega48P har riktignok mulighet for å drive klokkekrystallen men er da veldig følsom for variasjoner i spenning, ved ett tilfelle hadde jeg klokken gående i dobbel hastighet. Bruker for øyeblikket en batteripakke med 4x1.2v AA batterier, men planen etterhvert er litt mer permanent strømforsyning. Tenker også på muligheten for DIGRE 7-segment og veggmontering, mulighetene er mange. En liten sneak-peak på ett annet prosjekt jeg holder på med er: For øyeblikket er det bare to H-broer som driver en steppermotor der broene drives av en mikro-kontroller. - Kolbjørn Lenke til kommentar
BlueEAGLE Skrevet 4. oktober 2011 Del Skrevet 4. oktober 2011 ... Tenker også på muligheten for DIGRE 7-segment og veggmontering, mulighetene er mange. ... Pfft!! Du bare bestiller 28 (eller 42) slike så er du i gang! Lenke til kommentar
CoolBeer Skrevet 5. oktober 2011 Forfatter Del Skrevet 5. oktober 2011 Pfft!! Du bare bestiller 28 (eller 42) slike så er du i gang! Hehe, alltid en mulighet hvis du vil ha muligheten for å sjekke klokka ifra ett fly. Driver å tuller litt med en liten krets jeg så i ett elektronikkblad(Silicon Chip eller Elektor): Kretsen bytter ut +5v spenningen fra pc-en og erstatter den med sin egen, det gjør at en USB-enhet har mulighet til å trekke mer strøm enn USB-porten kan levere. Mitt bruksområde blir nok sammen med AVR Dragon, da den er noe sensitiv med tanke på spenningsnivåer og strømtrekk. Spenningen ut blir slått av automatisk om maskinen slås av eller kabelen til maskinen kobles fra, vurderer dog en bryter for å bypasse den funksjonen om ønskelig. - Kolbjørn Lenke til kommentar
BlueEAGLE Skrevet 5. oktober 2011 Del Skrevet 5. oktober 2011 Pfft!! Du bare bestiller 28 (eller 42) slike så er du i gang! Hehe, alltid en mulighet hvis du vil ha muligheten for å sjekke klokka ifra ett fly. ... Jeg fikk ideen fra Sparkfun Lenke til kommentar
morsta Skrevet 6. oktober 2011 Del Skrevet 6. oktober 2011 hei jeg er helt grønn når det gjelder elektronik, men jeg lurer på om noen kan svare meg på følgende. Jeg har fått meg ny hobby, modelljernbane. der ønsker jeg å ha det som kalles animasjoner. det vil si at ting beveger seg. Da trenger jeg motorer. Jeg jobber i radio/tv bangsjen, og ha dermed ubegrenset tilgang til 4 fases dc step motorer(gammle skrivere og scannere) Og det er da jeg begynner å klø meg i hode. en vanlig liten dc motor, trenger du 2 ledere, så ruller den i vei. men på en 4 fases dc step motor er det flere kabler inn. spørsmålet er, kan jeg koble en slik motor direkte på et powersupply, eller må det være en eller annen form for styrings kontroll. håper noen kan hjelpe meg på forhånd takk mvh Morten Lenke til kommentar
Byxxi Skrevet 6. oktober 2011 Del Skrevet 6. oktober 2011 Jeg antar at motorene kan styres begge veier. Slike at 2 faser kobles til medur, og to faser kobles som motur Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå