Ce firmware Arduino permet de piloter un moteur (avec signal PWM) et de contrôler un DAC AD5693R via des commandes hexadécimales ASCII envoyées sur le port série.
| Composant | Détail |
|---|---|
| DAC | AD5693R (16 bits, I2C, 0–5V) |
| Adresse I2C | 0x4C |
| Broche moteur | D2 (ON/OFF via MOSFET ou relais) |
| Broche PWM | D3 (signal TTL avec Tone.h) |
| Vitesse série | 115200 bauds |
| Libs utilisées | Adafruit_AD569x, Tone, Wire |
- Le DAC est réinitialisé et configuré en mode normal.
- Le message "READY" est envoyé si l'initialisation réussit.
Chaque commande est envoyée sous forme d’une ligne ASCII terminée par \n, contenant une instruction en hexadécimal.
| Code hex | Format | Description |
|---|---|---|
| 01 | 01FFFF | Démarre le moteur + PWM à FFFF Hz (16 bits) |
| 02 | 02FFFF | Envoie une tension au DAC (0 à 65535) |
| 03 | 03 | Arrête le moteur et le PWM |
Exemples :
012C00→ Démarrage à 11264 Hz02A8B5→ Envoie une tension correspondant à 3.3 V03→ Stop moteur
| Message | Signification |
|---|---|
| READY | Le système est initialisé |
| MOTOR_STARTED | Le moteur a été démarré |
| PWM_SET: | Le signal PWM a été activé à Hz |
| MOTOR_STOPPED | Le moteur a été arrêté |
| ACK: DATA_RECEIVED | La commande DAC a été traitée |
| ERROR: MOTOR_NOT_RUNNING | DATA reçu alors que moteur arrêté |
| ERROR: DAC_WRITE_FAILED | Échec d’écriture sur le DAC |
| ERR:BAD_CMD | Format de commande invalide ou incomplet |
Tension analogique (0–5V) envoyée via :
uint16_t dacValue = (voltage / 5.0) * 65535;
Exemple :
- 3.3 V → 0xA8B5 ≈ 43253
- Toutes les commandes sont à envoyer en majuscules ASCII sans espace, suivies d’un
\n. - Le système ne traite qu’une commande à la fois.
- L'envoi d'une commande invalide déclenche
ERR:BAD_CMD.
Cette section décrit les réglages nécessaires du traceur B&K 2306 pour une acquisition correcte des données.
Avant de lancer l'impression, réalisez une calibration à l'aide des boutons en façade comme illustré ci-dessous :
- DC Lin. Position : Tourner le bouton pour que la ligne de base du stylet se situe sur le "0" du graphique (souvent autour de la position 7).
- Sensibilité : Appuyez sur le bouton "Calibrate" pour activer un signal sinusoïdal de référence. Réglez le bouton de sensibilité de manière à obtenir un tracé oscillant sans saturation (ne pas coller en haut ou en bas du papier).
Réglez les sélecteurs fixes comme suit :
- Paper Speed : sur
Ext.(car la vitesse est contrôlée par le boîtier externe). - Recording Mode : sur
DC Lin.. - Writing Speed / LF Limit : mettre sur
100 mm/s(valeur à ajuster selon la qualité du tracé souhaitée). - Entrée du signal : Le bouton latéral "Signal Input" doit être sur la position
+(et nonGroundou–).
Activez ensuite les interrupteurs :
Paper DrivePowerPen Drive
Positionnez le papier correctement pour que le tracé démarre à 20 Hz (correspondant au bas de l'échelle log). Reportez-vous à l’image ci-dessous pour un placement correct :




