CoolBeer Skrevet 8. august 2010 Forfatter Del Skrevet 8. august 2010 Da er den nye uv-timeren min ferdig: Forbedringer ifra den gamle: -Nøyaktighet: Den gamle var horribel på dette. Den nye har en +-20ppm krystall slik at maksimum feil per time er ca 0.072 sekunder(uten å ta høyde for temperatur som er maks +-30ppm), eller ~ 48 sekunder per uke, en klar forbedring fra den gamle som gjerne kunne være 48 sekunder feil per time. Det går an å måle seg til litt mere nøyaktighet, men i dette tilfellet ser jeg ikke verdien av det. -To kanaler: Denne har to utganger for diode-brett, noe som gjør at den vil kunne brukes når jeg engang skal etse dobbelsidekort. -Buzzer: Den sier ifra når tiden er ute. Hvis jeg blir å lage en ny utgave av denne er det iallefall en ting jeg ville forandret på: avstanden fra kondensatorene til ic-soklene, ble litt for trangt slik at kondensatorene blir stående litt i vinkel. Utenom det er jeg egentlig veldig fornøyd, ble litt mange lasker, hele 8 stk, men tror det skal være vanskelig å bruke færre. - Kolbjørn Lenke til kommentar
CoolBeer Skrevet 10. august 2010 Forfatter Del Skrevet 10. august 2010 Julaften kom tidlig i år: Skal bli godt med litt kraftigere utstyr Av det lille jeg har forsket hittil ser det veldig bra ut, er litt overrasket over størrelsen på dragon, den er jo knøtt liten STK500-en er kun seriell tilkoblet, første gang på mange år at jeg har hatt bruk for en seriellport, dragon er litt mere moderne med usb tilkobling. Det har blitt mye digital-elektronikk i det siste, så jeg satte opp en liten Cmoy forsterker igår, det er egentlig ett textbook eksempel på en negativ-feedback koblet opamp. Den fungerte fint, jeg har dog litt lav driftspenning(9v), så den klarte ikke de høyeste volumene. Den ble litt bedre når jeg koblet meg inn foran spenningsregulatoren, da fikk den ca 15v, fortsatt litt lite, men mye bedre enn 9. Jeg har to typer opamper der ingen av de kan klassifiseres som "hifi" KA4558 strøk glatt på 9v, der var det mer eller mindre klasse B, jo mindre volum, jo mere av lyden ble kuttet bort. TL072 fungerte mye bedre, noe stygg høyfrekvent lyd(ca 13-14KHz), men utenom det så var det ok. Må nesten bygge meg en +- strømforsyning engang, hadde blitt så mye bedre enn spenningsdeling med motstander. - Kolbjørn Lenke til kommentar
CoolBeer Skrevet 10. august 2010 Forfatter Del Skrevet 10. august 2010 Bare ett lite bilde før jeg tar natta: - Kolbjørn Lenke til kommentar
Puke Nukem Skrevet 10. august 2010 Del Skrevet 10. august 2010 Hva betalte du for dette kortet? Lenke til kommentar
BlueEAGLE Skrevet 10. august 2010 Del Skrevet 10. august 2010 [økse] Må nesten bygge meg en +- strømforsyning engang, hadde blitt så mye bedre enn spenningsdeling med motstander. - Kolbjørn Du får vel dyttet to 9v-batterier på op-ampen, gjør du ikke? Da har du jo litt mer å gå på. Lenke til kommentar
CoolBeer Skrevet 11. august 2010 Forfatter Del Skrevet 11. august 2010 Hva betalte du for dette kortet? Betalte 756,78 for STK500-en og 322,32 for Dragon. Dette er selvfølgelig priser uten moms, så det kommer i tillegg. Fri frakt fra mouser på bestillinger over 700 norske. Du får vel dyttet to 9v-batterier på op-ampen, gjør du ikke? Da har du jo litt mer å gå på. Butbutbut, where's the fun in that? - Kolbjørn Lenke til kommentar
CoolBeer Skrevet 12. august 2010 Forfatter Del Skrevet 12. august 2010 (endret) Ettersom jeg etterhvert har opparbeidet meg et relativt stort lass med diverse deler, har jeg gått til innkjøp av ziplock-poser og labels: Nå blir det forhåpentligvis lettere å finne fram i dele-jungelen min - Kolbjørn EDIT: Lablene er selvfølgelig laser-kompatible. Endret 12. august 2010 av CoolBeer Lenke til kommentar
CoolBeer Skrevet 13. august 2010 Forfatter Del Skrevet 13. august 2010 Holder for øyeblikket på med å lære meg litt med stk500-en og dragon: Har satt opp en liten test med ett 10segment bardisplay som jeg vurderer å bruke til viftekontrolleren, tenk 4 slike bak ett halvgjennomsiktig plexiglasspanel. Litt morro å debugge kretsen "live" via "debug-Wire"-interfacen til microen. Enkel kode: #include <avr/io.h> #define SPI_PORT PORTB #define SPI_DDR DDRB #define SPI_SERIAL PB0 #define SPI_SCK PB1 #define SPI_RCK PB2 void pushByte(const uint8_t byteToPush) { for(uint8_t teller = 0; teller != 8; ++teller) { if(byteToPush & (1 << teller)) SPI_PORT |= (1 << SPI_SERIAL); else SPI_PORT &= ~(1 << SPI_SERIAL); SPI_PORT |= (1 << SPI_SCK); SPI_PORT &= ~(1 << SPI_SCK); } SPI_PORT |= (1 << SPI_RCK); SPI_PORT &= ~(1 << SPI_RCK); } int main(void) { SPI_DDR |= (1 << SPI_SERIAL) | (1 << SPI_SCK) | (1 << SPI_RCK); SPI_PORT &= ~(1 << SPI_SERIAL) & ~(1 << SPI_SCK) & ~(1 << SPI_RCK); pushByte(0xF0); while(1) { asm volatile ( "nop" ); } } - Kolbjørn Lenke til kommentar
CoolBeer Skrevet 13. august 2010 Forfatter Del Skrevet 13. august 2010 Her er forresten ett bilde av strømforsyninga jeg holder på med, det er også den som gir strøm til STK500-en: - Kolbjørn Lenke til kommentar
CoolBeer Skrevet 14. august 2010 Forfatter Del Skrevet 14. august 2010 Da har jeg fundert litt nærmere på hvordan jeg vil angripe 4kanals viftekontrolleren. Den blir mest sansynlig basert på en ATtiny2313, en 20pins AVR. Her er ett bilde rappet ifra databladet, jeg har strøket ut de pinnene som foreløpig er i bruk: PA0 PA1 : Ekstern krystall, mest sansynlig 20MHz PB2 PB3 PB4 PD5 : PWM ut, må være på disse portene PD0 PD1 PD2 : SPI til 74hc595-ene for barsegmentene PD3 PD4 PD6 : Brytere, opp ned og valg PA2 : Reset, 10k pullup motstand Da står vi igjen med: PB0 PB1 PB5 PB6 PB7 PB5, PB6 og PB7 brukes sammen med PA2(reset) til ISP(In System Programming), derfor er det greit - så langt det er mulig - å ikke bruke disse i kretsen, eksterne komponenter koblet på disse pinnene kan ødelegge for programmeringen. Jeg har kommet så langt at jeg multiplexer to 10segment bardisplay, har fått opp og ned knappene til å virke med debouncing. Jeg har enda til gode å sette opp PWM, jeg må omsortere pinnebruken til den planlagte og koble opp den siste knappen(valg/select/enter el.). Det har egentlig vært utrolig enkelt å få kretsen til å virke når man har mulighet til å steppe igjennom koden med en hardwaredebugger(dragon), nesten litt for enkelt, ingen skikkelige hodepiner enda. Så jeg må si meg veldig fornøyd med verktøyene hittils. Hvis det er noe av dette som er uklart, eventuelt dårlig forklart, så er det bare å rope ut, så skal jeg prøve å forklare på en bedre måte. - Kolbjørn Lenke til kommentar
Dr_VingTor Skrevet 14. august 2010 Del Skrevet 14. august 2010 Da har jeg fundert litt nærmere på hvordan jeg vil angripe 4kanals viftekontrolleren. Den blir mest sansynlig basert på en ATtiny2313, en 20pins AVR. Her er ett bilde rappet ifra databladet, jeg har strøket ut de pinnene som foreløpig er i bruk: PA0 PA1 : Ekstern krystall, mest sansynlig 20MHz PB2 PB3 PB4 PD5 : PWM ut, må være på disse portene PD0 PD1 PD2 : SPI til 74hc595-ene for barsegmentene PD3 PD4 PD6 : Brytere, opp ned og valg PA2 : Reset, 10k pullup motstand Da står vi igjen med: PB0 PB1 PB5 PB6 PB7 PB5, PB6 og PB7 brukes sammen med PA2(reset) til ISP(In System Programming), derfor er det greit - så langt det er mulig - å ikke bruke disse i kretsen, eksterne komponenter koblet på disse pinnene kan ødelegge for programmeringen. Jeg har kommet så langt at jeg multiplexer to 10segment bardisplay, har fått opp og ned knappene til å virke med debouncing. Jeg har enda til gode å sette opp PWM, jeg må omsortere pinnebruken til den planlagte og koble opp den siste knappen(valg/select/enter el.). Det har egentlig vært utrolig enkelt å få kretsen til å virke når man har mulighet til å steppe igjennom koden med en hardwaredebugger(dragon), nesten litt for enkelt, ingen skikkelige hodepiner enda. Så jeg må si meg veldig fornøyd med verktøyene hittils. Hvis det er noe av dette som er uklart, eventuelt dårlig forklart, så er det bare å rope ut, så skal jeg prøve å forklare på en bedre måte. - Kolbjørn SPI på PD0 PD1 PD2? Er det ikke USART som er på disse pinnene? (eller har USARTen en SPI modus også kanskje?) Jeg ville kanskje brukt PB5,6,7 til SPI. Da kan du bruke de andre til knapper eventuelt chip selects for SPI kretsene om du trenger det. I tillegg synes jeg det er kjekt å bruke TX til å sende debug info til en terminal på PCen (bruk RS232 chipen på STK 500). 10K pull-up på reset linja kan kanskje hindre deg i å bruke debug wire? (jeg hadde noe problemer, kanskje jeg hadde en cap i tillegg husker ikke). Har du testet dette? Jeg brukte PWM på denne kretsen i farts-regulatoren min, se link i signaturen min fom du vil se koden. Ser ut til at den døde etter ca 5min da, så den må jeg fikse litt på. Trur jeg vet hva feilen er da (hardware issue, typen ta noen deler, sette sammen og se om det virker ) Lenke til kommentar
CoolBeer Skrevet 14. august 2010 Forfatter Del Skrevet 14. august 2010 (endret) SPI på PD0 PD1 PD2? Er det ikke USART som er på disse pinnene? (eller har USARTen en SPI modus også kanskje?) Jupp, er USART på PD0 og PD1. Har ikke planlagt en oppkobling mot pc, selv om det faktisk kunne vært litt morro, der fikk jeg noe å gruble på. Jeg ville kanskje brukt PB5,6,7 til SPI. Da kan du bruke de andre til knapper eventuelt chip selects for SPI kretsene om du trenger det. I tillegg synes jeg det er kjekt å bruke TX til å sende debug info til en terminal på PCen (bruk RS232 chipen på STK 500). Blir nok ikke mere enn 2 595-ere på SPI-bussen, så kommer meg unna chipselect. Har enda ikke prøvd meg på RS232 enda, akkurat oppdaget debugWire på dragon Men som sagt, hadde egentlig vært litt morro med en oppkobling til pcen for temperatur, viftehastighet og slikt. 10K pull-up på reset linja kan kanskje hindre deg i å bruke debug wire? (jeg hadde noe problemer, kanskje jeg hadde en cap i tillegg husker ikke). Har du testet dette? Tiny24/44 headeren min har en 10k pullup og det fungerer greit, ikke hatt noen problemer enda. Har dog måttet ta bort jumperen på stk500-en for å programmere/debugge med dragon, det er dokumentert at stk500 har en noe kraftig pullup. Jeg brukte PWM på denne kretsen i farts-regulatoren min, se link i signaturen min fom du vil se koden. Ser ut til at den døde etter ca 5min da, så den må jeg fikse litt på. Trur jeg vet hva feilen er da (hardware issue, typen ta noen deler, sette sammen og se om det virker ) Hmm, hadde du bypass diode over motoren? Kan være induktiv spenningshopp? Jeg har iallefall glemt dioder på den første viftekontrolleren, den ser nå ut til å fungere fortsatt DebugWire er forresten genialt, har kommet meg forbi kneika jeg hadde på frekvensmeteret mitt, fikk veldig fort greie på hvor jeg hadde noe rar kode. Det er enda mye å gå på før ting er perfekt - for all del - men det er godt å ha noe framgang å vise til. ATtiny13A er forresten en liten luring på stk500-en, må legge opp reset manuelt, ellers får man ikke kontakt via ISP. Dette fant jeg ut etter å ha HV programmert den en tre-fire ganger og saumfart dokumentasjonen for info. Takker og bukker for tilbakemelding, setter pris på det. - Kolbjørn EDIT: Ser på skjemaene dine at du har bypass diode, så der gikk den teorien min i vasken Endret 14. august 2010 av CoolBeer Lenke til kommentar
Dr_VingTor Skrevet 14. august 2010 Del Skrevet 14. august 2010 Vet ikke hvordan det er på PC vifter, mulig de har noen dioder innebygget. Men jeg trur nok det kan være lurt å ha dioder i parallell med motorene ja. Skal ikke store spenningshoppet til før ting går i stykker. På fartsregulatoren min er det jo snakk om flere ampere strøm, men de diodene jeg har satt på er jo ikke i nærheten av hva jeg skulle ha hatt der... Tok det jeg hadde som vanlig.... Hvis det er plass på kretskortet skader det i alle fall ikke å lage muligheten for å montere de og så kan en heller la være å montere om det viser seg at de ikke er nødvendige. Har planer om å komme med en ny viftestyring i løpe av høsten jeg også om alt går etter planen. Vil bruke en AVR UC3 krets. Noe overkill å bruke en 32 bit kontroller, men de jeg har best kunnskap om og enklest tilgang på. Den viftekontrolleren jeg har i signaturen min var mitt første prosjekt, og ble vell aldri helt ferdig. Ble mest laget for å lære meg ting den gangen. Tipper jeg vil bestille kretskort til den, så kanskje jeg skal starte en tråd litt tidlig slik at folk komme med ideer og bidra litt... Lenke til kommentar
CoolBeer Skrevet 14. august 2010 Forfatter Del Skrevet 14. august 2010 Jepp, alltid morro med andres synspunkter og kommentarer. Har tatt en kikk på koden til den første viftekontrolleren min... Må nok ta den fram å omskrive noe voldsomt, var ikke noe å skryte så veldig av Lenke til kommentar
Skaten Skrevet 15. august 2010 Del Skrevet 15. august 2010 Må sei det er artig å følja med her Stå på! Lenke til kommentar
Puke Nukem Skrevet 15. august 2010 Del Skrevet 15. august 2010 Ja, artig å følge med! Det å følge med her får meg til å ville begynne selv! Lenke til kommentar
CoolBeer Skrevet 15. august 2010 Forfatter Del Skrevet 15. august 2010 Heisann, flott å høre at jeg inspirerer Lekte meg litt med fuses på en tiny24 her i kveld, med det resultat at jeg måtte lodde opp hv_prog headeren på dragon-en(den er ikke koblet opp fra butikk) for å reparere det med high-voltage programming. High-voltage er i dette tilfellet 12V Etter ett par forsøk fikk jeg tilbake kontrollen over kontrolleren(gee, tok du han?), og alt var fryd og gammen. Fikk tilogmed prosjektet mitt opp å gå: Mitt første vellykkede LCD prosjekt! Det er riktignok bare følgende kode: #include <avr/io.h> #include "main.h" #include "lcd.h" int main(void) { DDRA |= (1 << PA0) | (1 << PA1) | (1 << PA2) | (1 << PA3); DDRB |= (1 << PB0) | (1 << PB1) | (1 << PB2); for(uint16_t teller = 0; teller != 50000; ++teller) asm volatile ( "nop" ); InitLCD(LS_BLINK); LCDClear(); LCDWriteString("Hello World!"); while(1) //Main loop asm volatile ( "nop" ); } Jeg har også brukt ett API herifra grunnet at jeg ikke fikk til på egenhånd Morro å komme over den kneika også! - Kolbjørn Lenke til kommentar
Dr_VingTor Skrevet 15. august 2010 Del Skrevet 15. august 2010 Husker jeg skrev noe kode for slike LCD display engang. Sleit litt i starten jeg også. Initialiseringen av displayet var vell det mest vanskelige, samt å få timingen på pulsene rett. Trur jeg brukte 8 linjer for data i stede for 4 da. Lenke til kommentar
aop9020 Skrevet 16. august 2010 Del Skrevet 16. august 2010 Hva gjør du her ? " DDRA |= (1 << PA0) | (1 << PA1) | (1 << PA2) | (1 << PA3); DDRB |= (1 << PB0) | (1 << PB1) | (1 << PB2); " Kan ikke avr koder.. Kun C og litt annet.. 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å