Ik ben bezig met een projectje.

Wat ik wil doen is een audio input aansluiten op een adc kanaal van een avr, bijvoorbeeld een mp3 speler ofzo.

Maar ik ga ervan uit dat gewoon aansluiten niet echt veel gaat doen, dus vraag ik me af hoe ik dit moet doen?

Wat ik in gedachte had was dat het op adc komt zodat ik het kan gebruiken om een uitgang (bijvoorbeeld led) te pwm'en.

Iemand een idee?

Wil je een audio-uitgang aansluiten op de ADC-ingang van een AVR, om een LED'je te PWM'men op het ritme van de muziek? Dan zal je op z'n minst een gelijkrichter tussen audio-bron en AVR moeten plaatsen.

Gebruik dan een PWM-mode, waarbij je TOP kan instellen door een waarde naar een register te schrijven, en de puls-pauze verhouding op dezelfde manier kan instellen.
Voorbeeld voor een ATmega88:


// Initialiseer Timer1B als PWM-bron
void PWMB_init(void)
{
    DDRD |= (1 << PD4);				// PD4 (OC1B) = PWM-uitgang
    TCCR1A |= _BV(COM1B1) | _BV(WGM11);		// Clear OC1B on compare match, set on TOP
    TCCR1B |= _BV(WGM13) | _BV(WGM12) | _BV(CS10); // Fast PWM, TOP = ICR1
    OCR1B = 512;				// PWM duty cycle = 50%
    ICR1 = 1024;				// PWM maxcnt = ICR1
}

Al wat je nu nog moet doen, is telkenmale de ADC inlezen en de bekomen waarde in OCR1B plaatsen.

Nee, sorry ik moet de aansluiting weten , sommige mensen zeggen dat ik een opamp moet gebruiken enzo, maar ik weet het niet.

Als het audio-signaal klein is --laten we zeggen 1V topspanning-- kan je het met een opamp versterken en vervolgens gelijkrichten. Maar je kan de opamp ook schakelen als versterker en actieve gelijkrichter in één. Zo, bv:

http://home.scarlet.be/prosje/Audio2ADC.png

Anderzijds kan je hetzelfde signaal gelijkrichten zonder versterking, en een AVR kiezen die een ADC-referentiespanning van 1.1V ter beschikking heeft.

iemand heeft me dit gestuurd, zou dit ook gaan (mits paar aanpassingen
want natuurlijk wel minder onderdelen
http://img138.imageshack.us/img138/92/audioaanavrpr5.th.jpg

De uitgangsspanning v/d LM386 zal --als er geen audio-signaal aan de ingang aanwezig is-- zowat de halve voedingsspanning bedragen. 2.5V, dus. Niet echt handig...

En als er wel een hele kleine spanning is zal die zakken?

De uitgangsspanning v/d LM386 zal zich om die 2.5V heen-en-weer bewegen. Daar heb je dus weinig aan.

Op 14 april 2008 09:43:14 schreef pros:
De uitgangsspanning v/d LM386 zal zich om die 2.5V heen-en-weer bewegen. Daar heb je dus weinig aan.

Waarom zou dat niet kunnen? Je moet alleen elke keer als je de adc inleest de ingelezen waarde - de digitale waarde van 2.5v doen en opslaan als signed int.

Zover had ik nog niet nagedacht. Het is wat ongebruikelijk, maar niet onmogelijk.

Ik kan natuurlijk dat gelijkrichten he?

Omdat ik dan een signaal van 0 tot 255 kan krijgen?

Even iets duidelijk maken: als je het signaal van jouw schema gaat gelijkrichten, bekom je een nuttige spanning tussen 2.5V en 5V. Lager dan 2.5V kan de gelijkgerichte spanning wel worden, maar 1V wijst op hetzelfde ingangsvolume als 4V.
Dat levert dus geen winst op - integendeel, als je een passieve gelijkrichter gebruikt (louter dioden), wordt de nauwkeurigheid juist kleiner omdat je over elke diode 0.6 ... 0.7V "verliest".

Wat is dan de beste manier om een zo simpel mogelijk getal te krijgen in een avr dat gaat van 0 tot 100 om het zo te zeggen.

Ik wil dit zo simpel mogelijk houden met zo min mogelijk code omdat er al wat code in zal zitten.

Audio -> actieve gelijkrichter met versterking -> ADC -> OCR1B.

Het schema heb ik al gegeven - je kan in de plaats van R4 een instelpot van 50k of meer plaatsen, om 5V te bekomen bij het maximale ingangssignaal. De initialisatiecode heb je ook. Al wat je nog moet doen, is om de zoveel tijd de ADC inlezen en het resultaat daarvan in OCR1B plaatsen (of in een vergelijkbaar register als je een andere AVR of een ander PWM-kanaal kiest).

Sorry voor de oude topic kick, maar vraag gaat over de schakeling die hier genoemd werd.

Op 13 april 2008 21:33:50 schreef pros:
Als het audio-signaal klein is --laten we zeggen 1V topspanning-- kan je het met een opamp versterken en vervolgens gelijkrichten. Maar je kan de opamp ook schakelen als versterker en actieve gelijkrichter in één. Zo, bv:

[afbeelding]

Anderzijds kan je hetzelfde signaal gelijkrichten zonder versterking, en een AVR kiezen die een ADC-referentiespanning van 1.1V ter beschikking heeft.

Ik wil voor een project ook een audio signaal gebruiken (line-out van pc). Is deze schakeling daar ook geschikt voor?
Zo ja, dan deel twee van de vraag.
Wat voor een type diode is D1 (schottky diode?) en welk type is daar geschikt voor (een bestelnr van Conrad zou helemaal mooi zijn).

Het idee was eerst de schakeling van ELM-chan te bouwen, maar Conrad heeft geen max293.

Die diode is een 1,5V zener, de zenerspanning staat er onder.

Oke, dom van me. Maar zo laag gaan de zenerdiodes bij Conrad ook niet met de spanning. Of zoek ik nu echt zo verkeerd?

Je kan ook twee stuks 1N4148 in serie plaatsen, maar dan met de kathode aan GND.

[Aanvulling]
En parallel daaraan nog een enkele 1N4148 met de anode aan GND.

Dit kan ook:



----xxxx------------
             |      |
             |      |
            ---    ===
     RODE   \ /     ^   1N4148
      LED    V     / \
            ===    ---
             |      |
             |      |
---------------------

[Bericht gewijzigd door pros op (46%)]

Hartelijk dank. Gaan we dat proberen.

Maar wat wil je nu eigenlijk gaan maken?

Als je een audio signaal inleest van bijv 1kHz, dan geeft de ADC max ongeveer 20 samples voor elke periode. Als je dat dan gebruikt om een PWM aan te sturen dan kun je daar een luidspreker op aansluiten, en dan krijg je het oorspronkelijke signaal weer op terug (wel met wat vervorming).

Je kunt ook wel een led aansluiten, maar die gaat dan op 1 kHz staan knipperen. Lijkt me niet erg zinvol.

Maar de schakeling van PROS geeft een laagfrequent signaal af die gelijkloopt met het volume van het audio ingangssignaal. Dan kan een led wel zinvol zijn, want de helderheid van de led loopt dan gelijk met het volume van de audio.

Op 26 juli 2012 23:46:01 schreef deKees:
Maar wat wil je nu eigenlijk gaan maken?

Op 26 juli 2012 10:14:59 schreef RazeR:
Het idee was eerst de schakeling van ELM-chan te bouwen.

Ik wil het audio signaal door het ADC halen en via de functies van FFT library wat LEDs laten knipperen op de muziek. En stukje spectrum analyzer dus eigenlijk.
Het zou handig zijn als dit redelijk onafhankelijk is van het volume wat ik instel.
Maar als ik het goed begrijp is de schakeling van Pros al een versterker en gelijkrichter in één, dus zou geen probleem moeten geven?

[Bericht gewijzigd door RazeR op (18%)]