Autor Tema: Librería DAC MCP4821 para Arduino  (Leído 9941 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado aitorsp

  • PIC18
  • ****
  • Mensajes: 296
Librería DAC MCP4821 para Arduino
« 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

Desconectado luciarv

  • PIC10
  • *
  • Mensajes: 9
Re: Librería DAC MCP4821 para Arduino
« Respuesta #1 en: 16 de Junio de 2013, 06:21:35 »
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

Desconectado aitorsp

  • PIC18
  • ****
  • Mensajes: 296
Re: Librería DAC MCP4821 para Arduino
« Respuesta #2 en: 16 de Junio de 2013, 08:26:36 »
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.

Desconectado luciarv

  • PIC10
  • *
  • Mensajes: 9
Re: Librería DAC MCP4821 para Arduino
« Respuesta #3 en: 16 de Junio de 2013, 08:59:03 »
Si lo he cambiado como m dices,pero no m sale nada a la salida y m estoy volviendo loca

Desconectado aitorsp

  • PIC18
  • ****
  • Mensajes: 296
Re: Librería DAC MCP4821 para Arduino
« Respuesta #4 en: 16 de Junio de 2013, 09:23:49 »
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

Desconectado luciarv

  • PIC10
  • *
  • Mensajes: 9
Re: Librería DAC MCP4821 para Arduino
« Respuesta #5 en: 16 de Junio de 2013, 10:46:35 »
Vale mañana lo mirare bien y te cuento,muchas gracias  :)

Desconectado luciarv

  • PIC10
  • *
  • Mensajes: 9
Re: Librería DAC MCP4821 para Arduino
« Respuesta #6 en: 16 de Junio de 2013, 10:50:52 »
Si pudiera hablar contigo x correo t lo agradeceria

Desconectado luciarv

  • PIC10
  • *
  • Mensajes: 9
Re: Librería DAC MCP4821 para Arduino
« Respuesta #7 en: 17 de Junio de 2013, 05:44:00 »
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???

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Librería DAC MCP4821 para Arduino
« Respuesta #8 en: 17 de Junio de 2013, 08:07:21 »
has probado que la señal del spi sale correctamente por un osciloscopio?
« Última modificación: 17 de Junio de 2013, 08:18:27 por MerLiNz »

Desconectado luciarv

  • PIC10
  • *
  • Mensajes: 9
Re: Librería DAC MCP4821 para Arduino
« Respuesta #9 en: 17 de Junio de 2013, 12:07:54 »
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:
« Última modificación: 17 de Junio de 2013, 12:11:54 por luciarv »

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Librería DAC MCP4821 para Arduino
« Respuesta #10 en: 17 de Junio de 2013, 17:43:21 »
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:


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;

Desconectado luciarv

  • PIC10
  • *
  • Mensajes: 9
Re: Librería DAC MCP4821 para Arduino
« Respuesta #11 en: 18 de Junio de 2013, 05:22:33 »
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 :-/

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Librería DAC MCP4821 para Arduino
« Respuesta #12 en: 18 de Junio de 2013, 06:51:14 »
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.

Desconectado Markos677

  • PIC10
  • *
  • Mensajes: 1
Re: Librería DAC MCP4821 para Arduino
« Respuesta #13 en: 31 de Julio de 2013, 13:15:22 »
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


 

anything