TODOPIC
Otros Microcontroladores / Dispositivos programables => Arduino => Mensaje iniciado por: aitorsp en 05 de Mayo de 2013, 10:31:08
-
Una librería que he programado para el DAC MCP4821. Os dejo un video donde le hago un test de funcionamiento.
list=UUfybxJF_aV15Y05a4GJ7FFg&index=1
-
Hola necesito ayuda con arduino mega y el dac mcp4821 he intentad adaptar este programa y a la salida del del dac cn el osciloscopio no me sale absolumente nada : :? Por favor necesito ayuda...es muy urgente gracias y besitos
-
Hola necesito ayuda con arduino mega y el dac mcp4821 he intentad adaptar este programa y a la salida del del dac cn el osciloscopio no me sale absolumente nada : :? Por favor necesito ayuda...es muy urgente gracias y besitos
Has conectado bien los pines SPI en el arduino Mega ?. Esa librería en principio la hice para el Arduino UNO.
-
Si lo he cambiado como m dices,pero no m sale nada a la salida y m estoy volviendo loca
-
Si lo he cambiado como m dices,pero no m sale nada a la salida y m estoy volviendo loca
Importante !!. El Pin CS es el 2. Revisa todas las conexiones del DAC.
No utilices la fuente de 5V de Arduino, es poco estable. Utiliza una externa para el DAC BIEN ESTABILIZADA o pon un condensador de bypass de tántalo 1uF. Yo en el video de YouTube me fabriqué la fuente externa con un LM7805
-
Vale mañana lo mirare bien y te cuento,muchas gracias :)
-
Si pudiera hablar contigo x correo t lo agradeceria
-
hola buenos dias tengo conectado el sdi en el pin 51 MOSI el sck en el pin 52 SDK el cs al pin 2 LDAC al pin 4 y SHDN al pin 7 luego vdd a +5v y avss a masa.....pero en vouta no sale nada..... q crees me puede estar pasando???
-
has probado que la señal del spi sale correctamente por un osciloscopio?
-
Mi programa es este que quiero sacar una señal triangular con arduino mega 2560
pero creo q tengo problemas con cs por que se me qda en 5 voltios fijos ..
#include <SPI.h>
const int PIN_CS = 10;// yo aqui lo he cambiado en el pin 53 como dice la libraria spi de arduino pero no se si debo cambiar algo mas
const int GAIN_1 = 0x1;
const int GAIN_2 = 0x0;
void setup()
{
pinMode(PIN_CS, OUTPUT);
SPI.begin();
SPI.setClockDivider(SPI_CLOCK_DIV2);
}
//assuming single channel, gain=2
void setOutput(unsigned int val)
{
byte lowByte = val & 0xff;
byte highByte = ((val >> 8 ) & 0xff) | 0x10;
PORTB &= 0xfb;
SPI.transfer(highByte);
SPI.transfer(lowByte);
PORTB |= 0x4;
}
void setOutput(byte channel, byte gain, byte shutdown, unsigned int val)
{
byte lowByte = val & 0xff;
byte highByte = ((val >> 8 ) & 0xff) | channel << 7 | gain << 5 | shutdown << 4;
PORTB &= 0xfb;
SPI.transfer(highByte);
SPI.transfer(lowByte);
PORTB |= 0x4;
}
void loop()
{
//high-res triangular wave
for (int i=0; i < 4096; i+=32)
{
//setOutput(0, GAIN_2, 1, i);
setOutput(i);
}
}
tengo q conseguir para el miercoles la señal triangular....xfa ayudarme :oops:
-
El pin del CS corresponde con el PORTB que indicas??
He visto un ejemplo y utilizan esto:
digitalWrite(SS, LOW);
SPI.transfer(value);
digitalWrite(ss, HIGH);
prueba a hacerlo tu igual, cambiando SS por PIN_CS todo esto donde pones PORTB=*, he estado mirando esto:
(http://yqezpq.blu.livefilestore.com/y1pAnUbSEMiGl5L9ZzOleeDb8SA7Qg7PLgyTASzuOewOBsaTQYKb3aahLTCdWYhfqBb0doAw8ONobWogi7CjHyw2g/PIN%20MAPPING%20ARDUINO%20MEGA.jpg)
y indica que el puerto 53 es el PB0 sin embargo tu estas cambiando el PB2, en todo caso puedes usarlo con port poniendo:
PORTB&=0xFE;
y
PORTB|=1;
-
ya m sale la señal justo era ese mi problema jejej muchas gracias por la solucion....lo unico malo que m gustaria q fuera la señal a 200 khz y sale a 2khz pero al modificar for (int i=0; i < 4096; i+=32) la señal triangular sale mas escalonada....pero gracias por la ayuda :-/
-
La velocidad ya depende del arduino, en este caso la velocidad maxima es de 16mhz/2=8mhz por cada paso son 2us, lo que puedes hacer es modificar la amplitud, es decir en vez de 0-5V que sea 0-3V y asi tendras mayor frecuencia, para esto cambias el i<4096 por 2458, entre mas bajes el valor menos amplitud tendra la señal pero mas frecuencia tendra, aun asi 200khz no los podras conseguir nunca, necesitarias un SPI de mayor velocidad.
-
Hola, me es de mucha ayuda esta libreria para DAC, pero le agradeceria si me puede pasar el esquema de la conexion para Arduino Uno :oops:, es que estoy un poco confundido con la conexion de los pines