J'ai créé un Front end graphique pour le programmeur d'EEPROM que j'ai présenté dans mon message précédent. Pour le moment cette version ne fonctionne que sur Ubuntu/Linux.
vidé de démontration
Mes projets et explorations avec micro-contolleurs PIC et autres MCU
J'ai créé un Front end graphique pour le programmeur d'EEPROM que j'ai présenté dans mon message précédent. Pour le moment cette version ne fonctionne que sur Ubuntu/Linux.
J'avais besoin de programmer une EEPROM AT28C64B alors j'ai fabriqué un programmeur à partir de matériel que j'avais en inventaire. Comme toujours ce projet est sur github.com
Ce programmeur permet de programmer aussi les AT28C256 car c'est le même brochage à la différence que les 2 broches marqués NC sur la AT28C64B sont utilisés pour les 2 bits d'adresses supplémentaires A13 et A14 requis pour adresser 32Ko au lieu de 8Ko.
La carte de l'embase est conçue pour se brancher sur les connecteurs CN1 et CN9 de la carte NUCLEO_8S208RB.
L'embase accepte les EEPROM compatibles AT28C64B de 8Ko et AT28C256 de 32Ko au format DIP-28.
Une fois la carte NUCLEO_8S208RB branchée au PC il faut utiliser un émulateur de terminal pour communiquer avec le programmeur.
L'interface reprend le format du WOZMON avec quelques différences aux niveaux des commandes. Au lieu de lire et d'écrire dans la mémoire du STM8 les opérations sont effectuées sur l'EEPROM. dans de qui suit adr et data doivent-être entrés en hexadécimal comme dans le WOZMON.
eeProg, Copyright Jacques Deschenes, 2025 version 1.0.0 #0 0000: 54 T #. 0001: 48 H #. 0002: 45 E #0.2F 0000: 54 48 45 20 51 55 49 43 4B 20 42 52 4F 57 4E 20 THE QUICK BROWN 0010: 46 4F 58 20 4A 55 4D 50 20 4F 56 45 52 20 54 48 FOX JUMP OVER TH 0020: 45 20 4C 41 5A 59 20 44 4F 47 2E 00 01 02 03 04 E LAZY DOG. #0X2F #0.2F 0000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0020: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF #0"THE QUICK BROWN FOX JUMP OVER THE LAZY DOG. #2C: 1 2 3 4 5 6 #32: A B C D E AA 55 #0.3F 0000: 54 48 45 20 51 55 49 43 4B 20 42 52 4F 57 4E 20 THE QUICK BROWN 0010: 46 4F 58 20 4A 55 4D 50 20 4F 56 45 52 20 54 48 FOX JUMP OVER TH 0020: 45 20 4C 41 5A 59 20 44 4F 47 2E 00 01 02 03 04 E LAZY DOG. 0030: 05 06 0A 0B 0C 0D 0E AA 55 FF FF FF FF FF FF FF #
Ce petit circuit simple permet de détecter une inondation et de déclencher une alarme sonore.
Ce multivibrateur utilise 2 transistors, Q1 2N3904 qui est un petit transistor NPN d'usage général dans un boitier TO-92 et Q2 TIP32C qui est un transistor de puissance PNP dans un boitier TO-220 qui alimente le haut-parleur.
Lorsque les 2 électrodes sont mise en contact à travers un milieu conducteur comme l'eau, Q1 reçoit un courant dans sa base et entre en conduction. Le collecteur de Q1 fournie à son tour du courant à la base de Q2 qui lui aussi entre en conduction. Cependant à travers C1 et R2 il y a une rétro-action positive qui fait entrer les 2 transistors en saturation rapidement. C1 se charge et lorsqu'il a atteint sa pleine charge le courant dans la base de Q1 dimininue donc sa conduction aussi et entraîne Q2 dans la même direction. La conséquence est que le courant dans le collecteur de Q2 diminue et donc le voltage sur le haut-parleur. Encore une fois par rétro-action positive à travers C1 et R2 le voltage à la base de Q1 diminue rapidement et les 2 transistors coupent rapidement. À ce moment la tension à la base de Q1 est négative à cause de la charge qui s'est accumulée dans C1 durant la phase 1. Cependant C1 va se décharger à travers R1, R2 et les sondes. Lorsque le voltage aux bornes de C1 deviendra légèrement positif Q1 va se remettre à conduire pour débuter un nouveau cycle. La durée de la première phase est déterminée par la constante de temps (R2+résistance de la base de Q1)*C1 et la durée de la seconde phase est déterminée par la constante de temps (R1+R2+résistance entre les sondes)*C1. Avec les valeurs des composants choisis on on obtient une fréquence d'environ 990 Hertz lorsqu'on met les 2 fils de sonde en court-circuit. Cependant dans l'eau la conduction entre les 2 fils est moins bonne donc la fréquence diminue.
Dans cette capture de l'image à l'oscilloscope la courbe en jaune est le signal sur la base de Q1 et celle en bleu est le signal aux bornes du haut-parleur. Cette capture a étée réalisé avec C1 de 4,7nF et les sondes en court-circuit. L'oscilloscope indique une fréquence 990 Hertz et un rapport cyclique près de 50%. Lorsque les sondes sont dans l'eau la résistance de décharge de C1 augmente donc la phase 2 rallonge, ce qui diminue la fréquence ainsi que le rapport cyclique.
La phase 1 est lorsque les transistors sont en saturation et que C1 se charge et la phase 2 celle ou ils sont bloqués et C1 se décharge.Dans ces conditions l'alimentation draine 100ma à 3 volts.
Dans ce démo on voit que la fréquence lorsque les 2 fils sont en court-circuit est plus élevée que lorsque les fils sont dans l'eau. Ceci est du au fait que la résistance de l'eau s'ajoute à celles de R1 et R2.