« Projet DDS » : différence entre les versions
Ligne 106 : | Ligne 106 : | ||
[[Fichier:carte DDS ad9959.png|400px]] | [[Fichier:carte DDS ad9959.png|400px]] | ||
=Projet condensat STRONTIUM antenne RF 375-400MHz= | =Projet condensat STRONTIUM antenne RF 375-400MHz= |
Version du 12 octobre 2024 à 11:32
Programme Python pour la liaison USB-Série : Pour charger les fréquences et les amplitudes des sorties RF j'ai utilisé Pyserial et Python 3.7
Ci-dessous le code Python éditer avec l'IDE Thonny ( pour les débutants comme moi c'est pas mal ;) !)
il suffit d'installer Python 3.7 puis d'importer la bibliothèque PySerial.
IMPORTANT : le code c pour transmettre et recevoir les données via l'UART ci-dessous un exemple:
void write_immediate() //AD9959
{
//frequency DDS0//
frequency_value_f1_DDS0 = temp[3]<<24|temp[2]<<16|temp[1]<<8|temp[0];
FTW0_DDS0 = frequency_value_f1_DDS0 * 4294967296 / 500000000; //Convert to command for DDS //ad9959
frequency_value_f2_DDS0 = temp[7]<<24|temp[6]<<16|temp[5]<<8|temp[4];
FTW1_DDS0 = frequency_value_f2_DDS0 * 4294967296 / 500000000; //Convert to command for DDS //ad9959
frequency_value_f3_DDS0 = temp[11]<<24|temp[10]<<16|temp[9]<<8|temp[8];
FTW2_DDS0 = frequency_value_f3_DDS0 * 4294967296 / 500000000; //Convert to command for DDS //ad9959
frequency_value_f4_DDS0 = temp[15]<<24|temp[14]<<16|temp[13]<<8|temp[12];
FTW3_DDS0 = frequency_value_f4_DDS0 * 4294967296 / 500000000; //Convert to command for DDS //ad9959
....
}
//*****************************************************************************
//
// The UART interrupt handler.
//
//*****************************************************************************
void UARTIntHandler(void)
{
uint32_t ui32Status;
ui32Status = UARTIntStatus(UART0_BASE, true);
UARTIntClear(UART0_BASE, ui32Status);
while(UARTCharsAvail(UART0_BASE)) //loop while there are chars
{
//send data to uC via USB/Uart for change one output frequency ( 4 octets)
temp[t++] = UART0_DR_R; //Read from buffer
if(t >...)
{
write_immediate();
t = 0; //Reset read length
}
}
}
Code Python: Fichier:Code python.pdf Ci-dessous Code Python avec l'interface graphique Fichier:Code python avec l'interface numérique.pdf
Projet diffusion Raman expérience condensat CHROME
Conception et réalisation d'un ensemble de deux pilotes acous-optiques d'une puissance unitaire de 2W. L'objectif est de régler le décalage en fréquence de deux faisceaux "Raman" corrélés en phase. Réalisation de deux sources RF@80MHz en corrélation de phase avec une fréquence centrale de 80MHz. Pilotage sur liaison USB-Série@10MHz (en cours de tests). Les signaux RF sont synchronisés sur une même horloge@500MHz à l'aide d'un DDS AD9959 qui dispose de plusieurs sorties RF basse puissance (5dBm).Les circuits sont implémentés sur des cartes au format Europe et insérées dans un châssis 19 pouces entièrement réalisé à l'atelier d'électronique.
Projet condensat STRONTIUM antenne RF 375-400MHz
Projet Antenne RF: RF CARD 375 to 400MHz Frequency Sweep control for RF antenna. Le but est de générer des sweeps de fréquence arbitraire pour une antenne RF dans la gamme de fréquence 375 à 400 MHz avec des pas de qqs KHz. J'utilise deux DDS , l'AD9911 pour asservir un VCO ultra low noise à 1GHZ (ROS-1000-519+) minicircuits et le second l'AD9858 pour générer les fréquences arbitraires. Ce dernier est “clocké” grâce au 1GHz provenant du VCO sur la carte. J'utilise également le MSP430F169 pour piloter les deux DDS en mode SPI 2wire single bit (bus SPI commun, un master et deux slaves en utilisant le chip select (CS) de chaques DDS).
Caractéristiques Programmation en mode SPI maître-esclave 2-wire mode single-bit. L’AD9911 et l’AD9858 en mode esclaves via les Chip Select (CS). Horloge commune le ROS-1000C-519@1GHz. Pente de la rampe de fréquence programmée via l’interface CVI. TTL externe commande rampe up et rampe down. Nécessite un signal d’horloge externe 10MHz 5dBm. Une sortie RF (AD9858) programmable 0-400MHz 0dBm.
DDS pour détection synchrone et asservissement PDH sur cavité ultra stable
Système de lock laser sur cavité ultra stable voir synoptique ci-dessous: DDS card for PDH AD9959 on uC TM4C123 and LCD 2x16 and encodeur
Programme ARM for PDH Fichier:Programme uC TM4C123GH6PM for PDH module.pdf
Même si l'encodeur est utilisé dans un programme en c je fourni pour les amateurs de VHDL le programme pour l'encodeur numérique.VHD Fichier:Encodeur.pdf