Gå til innhold

Diverse elektronikkprosjekter på gang


Anbefalte innlegg

Det er, eller var blir bedre å si, en gammel CRT Skjerm... PC-skjerm vel å merke... Like farlig å knote med den? :S

 

Har funnet spoler :) Og tror jeg har funnet transistor som skal funke (skriften er jo KNØTTLITEN xD), men er ikke helt stø på å lese av verdiene til motstander ennå... Men forstår jeg riktig hvis jeg sier at jeg skal ha 1kOhm? Eller er jeg heeeelt på bærtur da? :p

Joda, så lenge det er en CRT er muligheten for høye spenninger tilstede. Skjermen bruker denne spenningen til å bøye av elektronene så de treffer riktig punkt på skjermen. Grunnen til at det kan være høye spenninger selv lenge etter at du har skrudd av/koblet fra strømmen, kommer av at tv-en inneholder kondensatorer som kan holde på ladning ganske lenge.

 

Motstanden du leter etter vil sikkert være brun-svart-rød-gull eller brun-svart-svart-brun-brun. Personlig er jeg bare halvstødig på farvekodene, bruker mest multimeteret for kontroll. De billige motstandene jeg fikk fra kina hadde også dårlige farvekoder, vanskelig å se forskjell på rød å brun foreksempel.

 

Transistoren er nesten hipps om happ hva du finner, så lenge den en NPN(og dermed implisitt en BJT), du kan være uheldig å finne en transistortype som ikke vil være med på leken, men da er det jo bare å finne en ny en :)

 

-

Kolbjørn

Lenke til kommentar
Videoannonse
Annonse

Etset et lite kort idag, enda en tiny24 header, har også laget en tiny2313 header for noen dager siden. Loddingen på den tiny24 headeren jeg bruker nå er så sinnsykt dårlige at jeg skjemmes, derfor en ny en :p

 

Bilde av det nye kortet:

 

 

undereksporert.jpg

 

 

I bildet er det veldig tydelig at banene har blitt "spist" fra siden, altså UV-belegget beskytter ovenifra, men når det ved siden av er etset bort er det fri tilgang fra siden og inn for etsevesken. Dette kortet måtte ligge ekstra lenge i etsevesken grunnet en noe sparsom eksponering, prøvde meg med to minutter, trenger nok minst 3, om ikke 4 for optimalt resultat.

 

Bilde av tiny2313 headerens underside:

 

 

2313under.jpg

 

 

Her kan vi se hvordan loddingene mine ser ut, der det ser ut som det har kokt over er det bare litt overflod av flussmiddel, prøvde meg på litt manuell legging av "rosin"-fluss(eller, egentlig er det jo av typen man bruker sammen med fioliner, men siden jeg hadde en klump liggende måtte jeg bare prøve :) Trenger litt mere finesse i applikering av nevnte flussmiddel, utenom det er jeg fornøyd.)

 

Bilder av kortet og oversiden av tiny2313-en:

2313og24.jpg

 

Litt tomt på oversiden egentlig, kanskje jeg må hive på en elektrolytt for syns skyld? :p Legg også merke til den nye socketen, en bedre konstruksjon sammenlignet med den gamle typen, noe dyrere i innkjøp, men egentlig verdt pengene. Slipper slike ting som at socketen blir "utslitt" og dermed utvikler dårlig kontakt, penere er den også.

 

-

Kolbjørn

Lenke til kommentar

I går prøvde jeg meg på å lage flussmiddel her hjemme, ingrediensene var enkelt nok kvae fra ett furutre(rosin, ett mye brukt flussmiddel) og rødsprit. Rødspriten trenger vi for å få oppløst kvaen, dette skal være flytende for enkel påføring.

Kvaeklumpen fikk jeg fra ebay, den er av typen som brukes ilag med fiolinbuer for å øke friksjonen mot strengene, denne ble dyttet ned i en plastflaske sammen med en skvett rødsprit. Oppløsningen av kvaen tok utrolig lang tid, mange timer, så den var ikke klar for bruk før i dag.

 

Resultat:

 

 

hjemmelagetfluss.jpg

 

 

Det flyter riktignok endel rusk i flussen, skal handle inn kaffefilter for å få filtrert det litt.

 

Så over til testlodding, jeg brukte en q-tip for å påføre flussmiddelet, konsistensen er flytende, men litt sticky, og tørker relativt fort(rødspriten fordamper). Flussmiddelet er også en liten hjelp for å holde SMD komponenter litt bedre på plass under lodding av første ben.

 

Resultat:

 

 

bedresmdlodding.jpg

 

 

 

Jeg er veldig fornøyd med resultatet, det hjalp virkelig på smd lodding. Nå er det riktignok relativt store komponenter vi snakker om(0805), men føler meg nærmere ett mål om å begynne med 0603 komponenter etterhvert. Loddetinnet jeg bruker har for lite flussmiddel i seg, så her kommer flussmiddelet mitt til å hjelpe på.

 

Jeg har forresten glemt å file ned størrelsen på kortet før jeg begynte å lodde, men det er ikke så farlig, blir bare litt mere jobb å rengjøre etterpå.

 

-

Kolbjørn

  • Liker 1
Lenke til kommentar

Da har jeg loddet ferdig den nye tiny24-headeren og for å feire det har jeg tenkt å vise fram en sammenligning mellom den gamle og den nye... Klarer du å gjette hvilken som er den gamle?

 

 

 

 

goddarligsammenlign.jpg

 

Og en under UV lys:

 

goddarligsammenlignuv.jpg

 

 

 

Som vi ser hadde jeg visse problemer under byggingen av den gamle :p Klarte å rive bort ett par baner i prosessen også, så måtte legge en snarvei mellom to punkter...

 

Flussmiddelet mitt gjør forresten underverker, loddetinnet flyter mye lettere og jeg trenger mindre loddetinn per punkt.

 

-

Kolbjørn

Lenke til kommentar

Da var flussmiddelet i egnet beholder(dvs noe av det, enda en dæsj igjen i flasken).

flussmiddel.jpg

 

Har også en sprøytespiss(type rosa, dvs relativt stor) om det trengs.

 

Har vært lange dager denne uka, derfor har det blitt lite jobbing med prosjekter, får håpe det roer seg litt utover mot helga.

 

-

Kolbjørn

Lenke til kommentar

Har utsatt og utsatt frekvensmeterprosjektet mitt, men nå bestemte jeg meg for å ta ett tak, drive prosjektet litt videre.

Det jeg har konsentrert meg om idag er en utvidelse av funksjonalitet, jeg har tatt en 555 koblet opp i astabil vippe, der jeg har montert et socket istedetfor kondensatoren. Hvis jeg plugger inn en "ukjent" kondensator i socketen vil 555-en oscillere, frekvensen bestemmes av motstandene i kretsen og kapasitansen til den ukjente kondensatoren; Vi kan bruke enkel matematikk for å regne ut hvor stor kondensator vi har i kretsen, basert på frekvensen vi måler.

 

Dette er 555 kretsen:

555thereal.png

 

R1 og R2 er begge på 1k. C2 er bypasskondensator og ikke med på å bestemme kretsens oscillasjon. Kondensatoren vi skal måle dyttes inn på C1 og den resulterende frekvensen tas ut på JP3. JP2/4/5/6 er bare ekstra jordpunkter.

 

Vi regner ut frekvensen basert på denne formelen:

 

chart?cht=tx&chl=f = \frac{1.44}{(R1+2R2)C1}

 

Hvis vi snur om på dette for å finne C1 blir det:

 

chart?cht=tx&chl=C1 = \frac{1.44}{(R1+2R2)f}

 

Setter vi så inn motstandsverdiene våre(1k på begge):

 

chart?cht=tx&chl=C1 = \frac{1.44}{3000f}

 

Hvis vi da foreksempel får 1000 som frekvens, vil det se slik ut:

 

chart?cht=tx&chl=C1 = \frac{1.44}{3000 * 1000} = \frac{1.44}{3000000} = 0.00000048 = 480nF

 

Men, dette er litt slik slit for en enkel microkontroller å regne ut, og hvordan i all verden skal vi behandle tall som er laaaangt under 1?

Formelen måtte forandres(jeg prøvde først uten å regne om, programmet gikk ifra ~1700bytes til ~4600bytes, litt trangt når vi har 4096bytes å rutte med):

 

chart?cht=tx&chl=C1 = \frac{1440000000}{3000 * 1000} = 480

 

Glimrende, her får vi svaret ut i hele nanoFarad, som forøvrig er helt greit, tester viser at vi klarer å måle opp til iallefall 10μF, dog en smule unøyaktig siden vi bruker frekvensen oppgitt i hele tall(ingen desimaler), ved 10uF er frekvensen beregnet til 48hz, går vi opp til 49hz vil målingen vise 9.79uF og ved 47hz er vi oppe i 10.21. Veldig unøyaktig på så høye kapasitanser med andre ord. Dette kan bøtes på ved omregning i kontrolleren, eller ha forskjellige nivåer å velge mellom, der man kan bytte ut motstandene til noe som blir mere nøyaktig. Men for øyeblikket er jeg veldig fornøyd med resultatet.

 

Her er ett bilde av kretsen i virksomhet:

freqslashcapmeter.jpg

 

Her måler jeg en filmkondensator med påstemplet verdi 180nF, vi er i nabolaget iallefall :D

 

-

Kolbjørn

Lenke til kommentar

Kom til å tenke på at jeg fant en app.note til en frekvensomformer som omhander det å gjøre desimaltall til heltall. Det omhandler riktig nok synkronisering av akslinger, og ikke frekvenstelling og kondensatorer. Men det kan hende at du kan bruke noe av de samme framgangsmåtene for å kunne gjøre det du ønsker. Det er forresten bare de 14 første sidene som er relevante.

Her (klikkbar) er dokumentet.

Endret av Dj_eLmO
Lenke til kommentar

Da har man vært i aktivitet og resultatet ble slik:

 

sinnsyktsmatt.jpg

 

 

Er nok ikke de peneste loddingene jeg har sett, men sammenligner vi med loddebolten er det egentlig helt greit:

 

sinnsyktsmattbolt.jpg

 

 

Lys ble det også:

 

sinnsyktsmattpaa.jpg

 

 

 

Ett morro prosjekt iallefall, var ikke så ille som jeg hadde forventet det. Loddingene har også potensiale for forbedring, så med litt øvelse blir vel ting supert :)

 

-

Kolbjørn

Lenke til kommentar

Jeg tenkte at idag skulle jeg forklare hvordan en 74HC595 kan brukes for å øke antall ut porter på en microkontroller.

 

Slik ser en MM74HC595N ut(eller to om du vil):

74hc595.jpg

 

 

Og slik er pinnene arrangert:

74hc595schem.png

 

 

En 74HC595 er definert som "8-Bit Shift Register with Output Latches".

I mitt eksempel vil vi bruke tre utganger på en microkontroller til å kontrollere 8 utganger på shift-registeret.

 

Først må vi koble opp kretsen:

Pinne 16(VCC) = Supply Voltage(2 til 6v)
Pinne  8(GND) = Ground
Pinne 13(G)   = Output Enable, den har en strek over, så den er aktiv lav. Denne skal da til jord.
Pinne 10(SCLR)= Shift Register Clear, også strek over, så den skal til VCC.

Pinne 14(SER) = Serial Data Input, her kommer dataene inn
Pinne 11(SCK) = Shift Register Clock Input, her klokkes dataene inn, mer om det lengere ned.
Pinne 12(RCK) = Storage Register Clock Input, her shiftes dataene til output pinnene.

 

Når dette er satt opp riktig kan vi bruke følgende kode i en microkontroller:

#define SPI_SERIAL PA0
#define SPI_SCK PA1
#define SPI_RCK PA2
#define SPI_PORT PORTA
#define SPI_DDR DDRA

SPI_DDR |= (1 << SPI_SERIAL) | (1 << SPI_SCK) | (1 << SPI_RCK);         //SPI Output

uint8_t byteToToss = 0xB6; // 10110110
for(uint8_t teller = 0; teller != 8; ++teller)
{
   if((byteToToss >> teller) & 1)
       SPI_PORT |= (1 << SPI_SERIAL);
   else
       SPI_PORT &= ~(1 << SPI_SERIAL);
   SPI_PORT |= (1 << SPI_SCK);
   SPI_PORT &= ~(1 << SPI_SCK);
}

 

Her er PA0 porten satt opp som serial data, PA1 som SCK og PA2 som RCK.

Det koden gjør er å overføre 8bits(1 byte) til shift-registeret en etter en.

 

Først setter vi Serial Port til 0 eller 1, dette er datapinnen vår.

Så setter vi SCK pinnen til 1, og deretter 0, dette registrerer biten på Serial Port i shift-registeret.

Gjenta disse to til vi har kjør igjennom 1 byte.

Da setter vi RCK pinnen til 1, og deretter 0, dette setter utgangene, alle på en gang, til dataene vi sendte.

 

 

Hvorfor vi trenger å bruke shift-register kan det være mange svar på, i mine tilfeller har det vært når

jeg vil bruke microkontrollere som rett og slett har for få utganger. I frekvensmeter prosjektet mitt bruker jeg

to MM74HC595-ere for å kontrollere to stk 4-desimals-7segmentdisplay. Der bruker jeg 16 pinner kontrollert av bare tre.

 

Man kan kjedekoble 74HC595-er også, SCK og RCK er felles for brikkene da, mens Q'H utgangen på første 595 kobles til serial input på neste, osv osv.

 

En annen ting som kan være litt greit å holde styr på er hvor havner første og siste bit? Sender jeg første eller siste bit først? Hva blir riktigst?

 

Håper denne posten var litt informativ iallefall, till next time!

 

-

Kolbjørn

Lenke til kommentar

Coolbeer, du kunne ikke gitt noen tips om hvordan man simulerer i LTspice? Har testet det ut litt og fikk ikke noe problem med å tegne kretser, men derimot simulering ville den ikke være med på.

 

Syntes det var vanskelig å sette opp simulering. Ville egentlig trodd at du hadde mulighet til å grafisk "sette" målepunkter i skjemaet som viser hvilke verdier det punktet har osv. Eller dytte inn et oscilloskop på passende sted og trykke "kjør", men neida.

 

Virker som om simuleringsmodusen er mer eller mindre kommando-basert, så du må sette opp alle mulige parametere, start, stopp, variasjon av komponenter osv. og til slutt få ut resultatet som et tekstdokument, eller muligens via graf.

 

Prøvde å simulere en simpel krets med en vekselspenningskilde og et par motstander, men klarte ikke få den til å simulere hvilke spenning som skulle komme ut mellom motstandene. Derimot klarte den det fint om jeg valgte en likespenningskilde. Hva gjør jeg feil?

Lenke til kommentar

Syntes det var vanskelig å sette opp simulering. Ville egentlig trodd at du hadde mulighet til å grafisk "sette" målepunkter i skjemaet som viser hvilke verdier det punktet har osv. Eller dytte inn et oscilloskop på passende sted og trykke "kjør", men neida.

 

Virker som om simuleringsmodusen er mer eller mindre kommando-basert, så du må sette opp alle mulige parametere, start, stopp, variasjon av komponenter osv. og til slutt få ut resultatet som et tekstdokument, eller muligens via graf.

 

Prøvde å simulere en simpel krets med en vekselspenningskilde og et par motstander, men klarte ikke få den til å simulere hvilke spenning som skulle komme ut mellom motstandene. Derimot klarte den det fint om jeg valgte en likespenningskilde. Hva gjør jeg feil?

 

Skal ikke være noe hokus pokus dette.

Sett inn en spenningskilde (voltage komponenten). For å få en AC kilde, bruk function SINE og pakk inn noen av parametrene (høyreklikk på komponenten for å få opp konfigurasjonsboksen). Gå til Simulate->Edit somulation cmd, skriv her ".tran 50m" for å simulere 50ms. Kjør simuleringen. Trykk nå på de nodene i kretskjema du vil se og grafer skal sprette opp.

Lenke til kommentar

Syntes det var vanskelig å sette opp simulering. Ville egentlig trodd at du hadde mulighet til å grafisk "sette" målepunkter i skjemaet som viser hvilke verdier det punktet har osv. Eller dytte inn et oscilloskop på passende sted og trykke "kjør", men neida.

 

Virker som om simuleringsmodusen er mer eller mindre kommando-basert, så du må sette opp alle mulige parametere, start, stopp, variasjon av komponenter osv. og til slutt få ut resultatet som et tekstdokument, eller muligens via graf.

 

Prøvde å simulere en simpel krets med en vekselspenningskilde og et par motstander, men klarte ikke få den til å simulere hvilke spenning som skulle komme ut mellom motstandene. Derimot klarte den det fint om jeg valgte en likespenningskilde. Hva gjør jeg feil?

 

Skal ikke være noe hokus pokus dette.

Sett inn en spenningskilde (voltage komponenten). For å få en AC kilde, bruk function SINE og pakk inn noen av parametrene (høyreklikk på komponenten for å få opp konfigurasjonsboksen). Gå til Simulate->Edit somulation cmd, skriv her ".tran 50m" for å simulere 50ms. Kjør simuleringen. Trykk nå på de nodene i kretskjema du vil se og grafer skal sprette opp.

 

Takk for tipset. :) Ble straks litt lettere da. Får bare leke meg og se hva som skjer med strøm og spenninger når jeg putter inn diverse komponenter og verdier.

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...