ATMega16 + USART +PC [LÖST]

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: ATMega16 + USART +PC [LÖST]

Inlägg av jesse »

Då vet vi ju var störningen sannolikt kom ifrån. Men lösningen kanske inte var den mest optimala. Frihjulsdiod är ju ett "måste", och gärna en mindre kondensator i serie med ett motstånd parallellt med dioden tar upp en del störningar. Jag vet inte vad det ska vara för värde på denna, kanske 100nf + 100 ohm? Men även bra kondensatorer mellan V+ och GND, nära transistorn, är att föredra framför kondensator mellan drain-source. Helst både en keramisk och en elektrolyt.

AVR:en och max232-kretsen (om du har en sådan) har ju 5 volt matning , så den har ju inte direktförbindelse den vägen, men sådana här störningar kan mycket väl gå genom luften en bra bit.
(Jag kopplade in en transformator med likriktare på nätspänning, och varje gång jag kopplade in den så tappade windows kontakten med den trådlösa nätverksdongeln... två meter bort! En sekund senare anslöts den igen :) )
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: ATMega16 + USART +PC [LÖST]

Inlägg av sodjan »

Den 18-nov-2010 17:12 i första inlägget efter att "schemat" var
postat (sidan 2 i tråden) skrev jag :

> Ja, det saknas ju en hel del i schemat (som du inte heller nämner i texten).
> Avkoppling, gate-motstånd, back-EMF-diod bl.a.

Jag vet aldrig om det blev något svar på det, man man antar ju att du
i alla fall läser och (om det är något oklart) kommer tillbaka för förtydliganden.
Annars får man ju bara antaga att du helt enkelt har fixat det.

Det var ju aldeles självklart att *enbart* det som du ritade i schemat
*inte* är tillräckligt för en säker funktion.

Summan av det hela är att du är slarvig. En ordentlig skärpning krävs nog.
*Läs* och begrunda vad andra skriver, det *är* för att hjälpa till.

> AVR:en och max232-kretsen (om du har en sådan) har ju 5 volt matning ,

Och speciellt MAX232 ska enligt datablad/specen ha en egen 1 uF elektrolyt
som glättning/avkoppling eftersom den i sig själv skapar så mycket störningar
så att det kan störa ut en (oavkopplad) AVR (eller PIC).

> Tack för all hjälp och hoppas att ni inte hatar mig pga min okunskap!

Nejdå inte alls. Det har aldrig varit ett problem i sig med okunskap... :-)

Däremot retar jag mig på att du inte verkar läsa de svar du får, och det är
värre för det gör att din (eventuella) okunskap kommer att bestå.
exos
Inlägg: 194
Blev medlem: 24 november 2005, 21:04:25

Re: ATMega16 + USART +PC [LÖST]

Inlägg av exos »

Jag har en annan fråga som jag har försökt lösa i ett par dagar, tänkte jag kunde ställa den här.

Som sagt så skall jag styra fläktar och 2st har vi fått att fungera, sen har jag löst ytterligare en, men jag vill styra 4st.

OC0 - fungerar
OC2 - fungerar
OC1A - fungerar

Men hur jag än gör får jag inte OC1B att funka.

Jag har suttit och grottat in mig i registerna på min Atmega, men får inte in i skallen hur jag skall ställa dom för att få OC1B att lira.

Såhär det koden ut just nu, suttit och testat alla möjliga kominationer.

Kod: Markera allt

    TCCR0|=(1<<WGM00)|(1<<WGM01)|(1<<COM01)|(1<<CS00); // Fungerar OC0

    TCCR2|=(1<<WGM00)|(1<<WGM01)|(1<<COM01)|(1<<CS00);	Fungerar OC2

    TCCR1A|=(1<<WGM10)|(1<<COM1A1)|(1<<COM1B1); //Fungerar OC1A

    TCCR1B|=(1<<WGM12)|(1<<CS10); //Fungerar inte! OC1B

Nån som kan utläsa vad för bit jag missar, eller ställer fel.?
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: ATMega16 + USART +PC [LÖST]

Inlägg av jesse »

databladet skrev:However, note that the Data Direction Register (DDR) bit corresponding to the OC1A or OC1B pin must be set in order to enable the output driver.
Har du fixat det? "fungerar inte" är lite vagt. Är det "etta" eller "nolla" ut, eller fungerar pinnen som en ingång (eventuellt med pull-up)?

Kan pinnen vara trasig? Har du testat att använda den som vanlig port-utgång och få den att ändra värde med PORTx = nnnn? (om du avaktiverar OC1A och OC1B). Hur ser belastningen ut? Kan det vara kortslutning nånstans?

Varför skriver du |= istället för bara = när du tilldelar värde till konfigurationsregistren? Det verkar onödigt och medför en viss risk för fel. Du har väl inga andra inställningar sedan tidigare i dessa register som ska bevaras, eller?
exos
Inlägg: 194
Blev medlem: 24 november 2005, 21:04:25

Re: ATMega16 + USART +PC [LÖST]

Inlägg av exos »

Data Direction Register är satt.
Och den ger en "etta" så om man kopplar in fläkten så är det fullt flås.
kortis är det inte.

Jag får testa mig fram här i kväll och sätta den som en vanlig utgång / ingång och se om det fungerar som det skall.
Men det känns som jag har satt registrerna fel eller nåt, då jag kände mig ganska tappad när jag läser dom. Men dom kanske stämmer. Får läsa på ännu mer.
exos
Inlägg: 194
Blev medlem: 24 november 2005, 21:04:25

Re: ATMega16 + USART +PC [LÖST]

Inlägg av exos »

Nu så har jag fått igång alla PWM utgångar på min ATMega16. Och jag kan styra dom som jag vill.
Men när jag kör fläktarna på OCR1A & B så får jag som ett litet "högfrekvent ljud" från fläktarna på låga varv.

Vet inte riktigt vad det beror ? nån som kan tänkas veta?
Kan det har nåt med att det är 16bitars pwm'er ?

code

Kod: Markera allt

  TCCR0|=(1<<WGM00)|(1<<WGM01)|(1<<COM01)|(1<<CS00);

    TCCR2|=(1<<WGM00)|(1<<WGM01)|(1<<COM01)|(1<<CS00);	

	TCCR1A|=(1<<WGM11)|(1<<COM1A1)|(1<<COM1B1); 

	TCCR1B|=(1<<WGM12)|(1<<WGM13)|(1<<CS11); 

	ICR1 = 255; // sätter TOP VALUE för TCCR1A & B.
Känns som PWM'erna OCR1A & B kanske "uppdaterar" sig för snabbt eller nåt? hoppas ni förstår vad jag menar.
Det är bara en spekulation från min sida;)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: ATMega16 + USART +PC [LÖST]

Inlägg av sodjan »

> Nu så har jag fått igång alla PWM utgångar på min ATMega16...

Går det i ett par enkla och korta ord beskriva "vad det var" ?
exos
Inlägg: 194
Blev medlem: 24 november 2005, 21:04:25

Re: ATMega16 + USART +PC [LÖST]

Inlägg av exos »

Fel i Registerna för TCCR1A och B.

Nu har jag även fått ordning på inlägget ovanför med det "högfrekventa ljudet", samma där, satte CS10(clkI/O/1 (No prescaling)) ist för CS11 c(lkI/O/8 (From prescaler)) som jag hade gjort innan.

Att sitta i databladet och läsa om registerna ger mig huvudvärk, men det är väl bara att nöta på, känns mycket som det är...

sätt A och B och C för att göra såhär, men om du satte B och vill ha ytterligare en funktion då fungerar inte det, ist för A skall det va D....osv... :shock:

jag tappar lätt bort mig bland allt, men NU fungerar det som sagt.
Skriv svar