Behydro Skrevet 4. mai 2006 Forfatter Del Skrevet 4. mai 2006 weee... fasiten jo hehe... bra at her er noen med litt peiling blandt oss amatører Lenke til kommentar
Behydro Skrevet 28. desember 2006 Forfatter Del Skrevet 28. desember 2006 (endret) KAN RETTE VEDKOMMENE FLYTTE DENNE TIL ELEKTRONIKK....... TAKKER BUMP! Jaggu, bumper meg selv..... Da skal den gamle - nye ubrukte kontrolleren settes i gang. I ett prosjekt litt langt ute skal denne styre en fjernstyrt bil/ting basert på en elektrisk rullestol. Planen er å bruke kontrollerens PWM funksjon til å styre motorene. Det er to 48V motorer. Er uante krefter i dem for å si det sann Forhistorien er enkel, jeg fikk en elektrisk rullestol i julegave med brudern. Litt spesielt, men vi er en spesiell familie..... Og han jobber med den slags. Fikk tilfeldigvis også en BMW 732iA...... (Oppussings objekt) Bra jul Så nå må jeg begynne på det grunnleggende med AVR programmering. Må nokk mase litt her for hjelp Kodingen og forberedningen på koden skjer her: https://www.diskusjon.no/index.php?showtopic=690004 Elektronikken bak styringen blir i denne tråden. Kanskje en Worklog og alt samment blir selfølgelig lagt opp på hjemmesiden. Blir nokk ett langtekkelig prosjekt, men skal realiseres Endret 31. desember 2006 av Behydro Lenke til kommentar
gamleerik Skrevet 31. desember 2006 Del Skrevet 31. desember 2006 Dette høres spennende ut. Hva skal du bruke som fjernstyring? Lenke til kommentar
Dr_VingTor Skrevet 31. desember 2006 Del Skrevet 31. desember 2006 må bare spørre; er det en spessiell grunn til at du bruker assembler? brukte det helt i begynnelsen jeg også, men bare til helt enkle ting (LED blinking o.l.). Innså fort at C er en del enklere og lettere å holde kontroll på. For all del bruk assembler hvis du synes det er greit, men vil tru det er litt enklere å få hjelp med C. Hvis det er noe som må optimaliseres så kan du bruke assembler i C koden også. Selv bruker jeg WinAVR og AVR studio Lenke til kommentar
Behydro Skrevet 31. desember 2006 Forfatter Del Skrevet 31. desember 2006 (endret) Nei, var egentlig bare der jeg begynnte..... Har programert litt i assembly på commnadore 64 prosessorer, men det var reint hexadesimalt, skole greier. Ellers så har jeg også skrevet en del pls programm i assembly (mener det er assembly, med rein logikk og sann). Men for all del, mener du at C er bedre så er jo saken klar.... Har du noe enkle koder som er godt kommentert som er fine å begynne med. Jeg burker AVR studio 4 og MEGA32ISP til å laste over. Er WinAVR bedre til å laste over med? Eller er det kun får å kompilere. Hvorfor da ikke bruke AVR studio sin kompilator? Eller er det kanskje den som følger med....? Er litt fersk ennå Til fjernstyring så var foreløbig plan å bruke vanlig rc kontroller og få to servoer til å vri på to pot meter. Så bruke analog til digital omformerene i microkontrolleren til å tryre PWM ut til motorene. For eks bruke en til fram og tilbake(brems) og en til sving. Program messig vet jeg ikke ennå hva som er enklest, men det kommer nokk etterhvert. For å styre motorene hadde jeg tenkt å koble optokoblere til PWM utgangen på mC, i tilfelle jeg blåser styringen til himmels, så bruke MOSFET til å styre motorene via noe buffer og sant Endret 31. desember 2006 av Behydro Lenke til kommentar
gamleerik Skrevet 31. desember 2006 Del Skrevet 31. desember 2006 Artig, artig! Hvis du er helt fersk i gamet, vil jeg anbefale deg å kikke litt på programmeringsspråket Basic for AVR. Det er veldig intuitivt, og du kan skrive kode omtrent uten å vite noen ting fra før av. Folk sier at dette er tregere og mye mindre funksjonelt enn C, men det er ikke tilfellet. Vil anbefale deg å se på "Bascom AVR", helt genialt. Jeg bruker utelukkende basic for AVR programmering, og har ennå ikke støtt på noe som basic ikke kan, men som C kan. Ang. RC så skjønte jeg ikke helt hva du mente, så det er mulig du er klar over det, men du kan kjøre servo-PWM rett inn på MCU'en, hvis du bruker vanlige RC-PPM mottager. Da trenger du bare en ledning per kanal mellom mottager og MCU. Lenke til kommentar
Behydro Skrevet 31. desember 2006 Forfatter Del Skrevet 31. desember 2006 Åkei..... hmmm... da har jeg noe å se på i morra når jeg er fyllesjuk Har tenkt på det med PWM rett inn, men aner ikke hvordan jeg skal få det til.... men fortell gjerne Nå er det avgårde til feiring. GODT NYTT ÅR FOLKENS!!!! Lenke til kommentar
gamleerik Skrevet 31. desember 2006 Del Skrevet 31. desember 2006 Hvis du f.eks. kobler PWM fra mottager til pinb.1 på MCU'en, så kan du bruke følgende enkle kode i Bascom: Dim A as byte Config Pind.1 = Input Do Pulsein PinB, 1, A Lcd A Loop Denne koden vil hele tiden presentere verdien av PWM-signalet ut på et LCD-display. Kan det bli lettere? Tviler på det.... Godt nyttår! Lenke til kommentar
Behydro Skrevet 1. januar 2007 Forfatter Del Skrevet 1. januar 2007 De her virker jo bare helt genialt..... Regner med at der må en del mer kode til for å sette opp selve programmet, men virker jo greit dette her. Må ta og få mekket til ett lcd og koble på. Noen som har noe formeining på hva som egner seg mest å bruke til mcu? jeg har 40x2, 20x4 og 16x2 liggende? Må finne noe kode om dette..... Lenke til kommentar
gamleerik Skrevet 1. januar 2007 Del Skrevet 1. januar 2007 (endret) De her virker jo bare helt genialt..... Regner med at der må en del mer kode til for å sette opp selve programmet, men virker jo greit dette her. Må ta og få mekket til ett lcd og koble på. Noen som har noe formeining på hva som egner seg mest å bruke til mcu? jeg har 40x2, 20x4 og 16x2 liggende? Må finne noe kode om dette..... 7618042[/snapback] I bascom kan alle de displayene brukes, så lenge de konfigureres korrekt. Det følgende er fullstendig kode for det overnevnte eksempelet. Det er for en Mega8 med 16x2 display, se pseudokode. $regfile = "m8def.dat" ' <- denne endres til korrekt MCU $baud = 9600 $crystal = 8000000 ' <- Denne endres til korrekt krystall Config Lcdbus = 4 Config Lcd = 16 * 2 '<- Denne endres til korrekt display Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4 ' <- Disse endres til korrekte pins for displayet Cursor Off Dim A as byte Config Pind.1 = Input Do Pulsein A, PinB, 1, 1 Lcd A Loop Endret 1. januar 2007 av gamleerik Lenke til kommentar
Dr_VingTor Skrevet 1. januar 2007 Del Skrevet 1. januar 2007 (endret) WinAVR er en programvare pakke som inneholder alt du trenger og kan brukes helt for seg selv, men jeg bruker den sammen med avrstudio. AVRstudio har bare kompilator for assembler, men legger du inn WinAVR (eller en annen pakke som inneholder avr-gcc) så kan du programmere i C og kompilere det fra AVRstudio. Personlig liker jeg editorern i WinAVR (programmers notepad). Stasjonær PCen min er nede for telling så har ikke så mye kode her, men du kan se i kildekoden til viftestyringen min vingtor.kicks-ass.org/filer/prosjekt/viftekontroll/ . Merk at denne koden er gammel og muligens ikke vil kompilere med den nyeste kompilatoren. Ellers så har jeg så vidt begynt å kode på noe nytt hvor jeg prøver å ta i bruk litt mer "avanserte kodeteknikker"; /****************************************************************************** * IR remote reciever * * by VingTor - [email protected] * * rev 1.0 * ******************************************************************************* * MCU: ATmega8515 * * Resorces used: * Timer/counter0 * ext. interrupt 0 (int0) * * ******************************************************************************/ /*** INCLUDE ***/ #include <avr/io.h> #include <avr/interrupt.h> /*** DEFINE ***/ #ifndef F_CPU #define F_CPU 3686000 /* Hz */ #endif /* F_CPU */ #ifndef IR_settings #define IR_settings #define IR_input_port PORTD #define IR_input_ddr DDRD #define IR_input_pin PIND2 //LED port? can use input pin (output from sensor) with buffer/LED driver #endif /* IR_settings */ #define debug /*** sub-rutines ***/ void delay(unsigned int p) { unsigned int i; unsigned char j; for(i=0;i<p;i++) for (j=0;j<100;j++); } void init_IR() { //setup IR port IR_input_ddr &= ~(_BV(IR_input_pin)); //Set input pin IR_input_port |= _BV(IR_input_pin); //enable pull up on pin //setup timer // endre til ...= (1 << navn)|(1 << navn)|(1 << navn) osv. for generisk kode TCCR0 = 0x05; //timer control register //set clk to enable/start TCNT0 = 0x00; //timer register OCR0 = 0x00; //output compare register TIMSK = 0x02; //interrupt mask register //overflow //setup ext.interrupt on IR-pin (default PD2) MCUCR = 0x01; //change on int0 interrupts GICR = 0x40; //ext int0 enable sei(); // enable interrupts } /*** interrupts ***/ SIGNAL(SIG_OVERFLOW0) { //PORTB &= 0x7F; //LED for testing } SIGNAL(SIG_INTERRUPT0) { //PORTB &= 0x7F; //LED for testing } #ifdef debug int main(void) { init_IR(); //LED output for testing DDRB = 0xFF; //Port B as output char temp = 0x00; // PORTB = temp | 0x80; while(1) { temp += 1; PORTB = temp | 0x80; delay(100); } } #endif /* debug */ (denne koden gjør ikke noe spessielt enda da, testa bare litt små ting) Om du velger å programmere i C, så må du bare si i fra om du trenger hjelp til noe. Endret 1. januar 2007 av Dr_VingTor Lenke til kommentar
Gyr0 Skrevet 1. januar 2007 Del Skrevet 1. januar 2007 (endret) hva er forskjellen på en atmel som behydro har og en sånn pic som jeg har? Og enda en ting! Jeg trenger et programeringsspråk Har brukt et program som heter picbasic pro, men det var en trial verson så jeg fikk bare skrivd maks 30 linjer med kode. Er nødt til å kjøpe fullversjonen.. Noe anna program jeg kunne brukt? Programerte da en pic16f84, som nå er ødelagt etter at jeg klarte å knekke noen bein på'n. Har ikke ic klype EDIT: PICBASIC PRO™ Compiler $249.95 Endret 1. januar 2007 av zyfah Lenke til kommentar
Behydro Skrevet 1. januar 2007 Forfatter Del Skrevet 1. januar 2007 Artig, artig! Hvis du er helt fersk i gamet, vil jeg anbefale deg å kikke litt på programmeringsspråket Basic for AVR. Det er veldig intuitivt, og du kan skrive kode omtrent uten å vite noen ting fra før av. Folk sier at dette er tregere og mye mindre funksjonelt enn C, men det er ikke tilfellet. Vil anbefale deg å se på "Bascom AVR", helt genialt. Jeg bruker utelukkende basic for AVR programmering, og har ennå ikke støtt på noe som basic ikke kan, men som C kan. Ang. RC så skjønte jeg ikke helt hva du mente, så det er mulig du er klar over det, men du kan kjøre servo-PWM rett inn på MCU'en, hvis du bruker vanlige RC-PPM mottager. Da trenger du bare en ledning per kanal mellom mottager og MCU. 7613591[/snapback] Har sett litt på "Bascom AVR", er ikke det strengt tatt ett prog man må betale for? Har litt problemer med å bestemme meg for om jeg skal satse på basic eller C..... HJELP!! Lenke til kommentar
gamleerik Skrevet 1. januar 2007 Del Skrevet 1. januar 2007 Joa, man burde vel betale for det. Sånn sett.... Du får mer igjen for å sette deg ned og lære deg C, så jeg synes du burde gjøre det, dersom du har tid og lyst. Fordelen med basic er jo at du ikke trenger å lære det i det hele tatt, det er "basic". Har du et nytt prosjekt en dag, så vil det med basic ihvertfall ikke være programmeringen du står fast ved. Lenke til kommentar
Dr_VingTor Skrevet 1. januar 2007 Del Skrevet 1. januar 2007 jeg hadde helt klart gått for C. trur det er enklere å få hjelp og flere som bruker det. btw: se på www.avrfreaks.net om du ikke har gjort det. Lenke til kommentar
Behydro Skrevet 2. januar 2007 Forfatter Del Skrevet 2. januar 2007 Har vært en del på den siden. Det blir C kode på meg, har inne ett lite (ekstremt lite) knippe C++ fra før, dette er jo en enklere versjon. basic er enkelt, men livet trenger ikke alltid å være så enkelt. Hele prosjektet her kunne vært gjort enkelt ved å bare sette på servoer på joysticken som er på rullestolen og bruke den styringen som er der, men da er jo hele lære verdien forsvunnet..... Kunne også brukt servoer, pot meter, 555 icer og laget enkle pwm kretser..... C it is! Da var det bare å ta på seg lesebrillene og begynne å studere. Lenke til kommentar
Behydro Skrevet 2. januar 2007 Forfatter Del Skrevet 2. januar 2007 (endret) Ai ai ai..... Her er andre som har jobbet med samme saken http://www.avrfreaks.net/index.php?module=...em_type=project Endret 2. januar 2007 av Behydro Lenke til kommentar
Kahuna Skrevet 29. oktober 2009 Del Skrevet 29. oktober 2009 På tide med en bump.. Jeg har tenkt å gå i gang med et aldri så lite hobbyprosjekt og trenger anbefaling til mikrokontroller. Jeg er foreløpig ikke særlig kravstor. Minimum 2 utganger for å styre 'rele' og 1 AD-inngang for 'overvåkning' men siden et sånt prosjekt fort kan balle på seg er det nok greit å gå litt over minimumskrava.. Det står jo endel fint om AVR i denne tråden men jeg lurer jo på om det fortsatt er like aktuelt i dag som i 2007. Håper å komme i gang for ikke alt for mange hundrelappene så jeg lurer på om det er realistisk å få tak i det jeg trenger til den prisen. Jeg har programmert litt av hvert av div språk før og er ikke helt blank på elektro heller(mangler etseutstyr og scope, har veroboard og loddebolt ) Noen forslag? Lenke til kommentar
tingo Skrevet 30. oktober 2009 Del Skrevet 30. oktober 2009 Det står jo endel fint om AVR i denne tråden men jeg lurer jo på om det fortsatt er like aktuelt i dag som i 2007. Håper å komme i gang for ikke alt for mange hundrelappene så jeg lurer på om det er realistisk å få tak i det jeg trenger til den prisen. Tja, Arduino koster jo under 200 hos SparkFun: http://www.sparkfun.com/commerce/product_i...products_id=666 Og det finnes Arduino og kloner som byggesett også. Se på Wikipedia: http://en.wikipedia.org/wiki/Freeduino Dersom du bare skal ha selev microcontrolleren, så vil jeg tro at du kan få den billigere. Futurlec for eksempel har en bråte Atmel (AVR og andre): http://www.futurlec.com/ICAtmel.shtml Lenke til kommentar
Kahuna Skrevet 30. oktober 2009 Del Skrevet 30. oktober 2009 (endret) Hvor mye mer trenger jeg enn mikrokontrolleren? Hvis jeg plasserer en på et testbrett, hvor mye trenger jeg i tilegg? Strømforsyning, drivere til releer, hva mer? En måte å laste inn programmer på, er det grei skuring å få til med en seriellkabel og et terminalprogram/programmeringsmiljø? Hyggelig pris på TinyAVR forresten, hvis det går an å bruke den i et hobbyprosjekt sånn uten videre tror jeg at jeg går for den. Edit: Det ser ut som de fleste av mine spøsmål blir besvart i denne tutorialen. Jeg får komme tilbake med fler spørsmål når jeg har lest den. http://imakeprojects.com/Projects/avr-tutorial/ Endret 30. oktober 2009 av Kahuna 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å