Forum Électro-Bidouilleur

Merci de vous connecter ou de vous inscrire.

Connexion avec identifiant, mot de passe et durée de la session
Recherche avancée  

Nouvelles:

Le Forum est maintenant chiffré (préambule https). Bien sûr, des liens externes insérés dans les sujets vont demeurer inchangés. Mais la composition des pages du Forum est désormais sécurisée. Si des problèmes d'affichage surviennent, veillez à vider votre cache pour ce site.

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.

Messages - Électro-Bidouilleur

Pages: 1 ... 41 42 [43] 44 45 ... 62
631
C'est quand même bien! Beau travail. La seule lecture douteuse est la 10000... 5% d'écart.

632
Bravo pour la persévérence! Ça entre dans la banque d'expérience!  :D

633
Merci Fsgraph,

De bonnes suggestions de vidéo. Je les ajoute à  ma liste. Celle des transfos est particulièrement intéressante.

Pour ce qui est de testeurs maison, il existe tellement de testeurs de composants chinois bon marchés qui font un bon travail... Une combinaison de testeur chinois, multimètre et même un traceur de courbe de composants "octopus" tel que montré dans ma vidéo # 87 sont plus que suffisants pour vérifier les composants en récup. Bien sûr il faut savoir comment les tester...

Cordialement,

634
Bonjour,

Merci des gentils commentsires sur ma chaîne!  :D 8)

Ça fait depuis 2009 que je n'ai pas touché à  un LCD 44780 en mode parallèle. Alors mon aide sera limitée. Mais avez-vous bien fait l'ajustement du contraste du LCD? Ça peut nous faire croire que rien ne fonctionne...

De mémoire, je l'adressais en 4 bits. Voici la partie de code C PIC pertinent à  l'affichage. Peut-être verrez-vous une instruction que vous avez oubliée.

// LCD Initialisation
send_cmd_lcd(FOUR_BIT_INIT); // Sets the interface to 4 bits. Must be sent first.
send_cmd_lcd(FOUR_BIT_INIT2); // Sets the interface to 4 bits, display to 2-lines, character size to 5x8. Must be sent second.
send_cmd_lcd(ENTRY_INC); // Set the character entry mode to cursor increment to the right
send_cmd_lcd(DDRAM_L1_C1); // Set the DDRAM address location

// transfer custom-made characters into CGRAM of display
// Right arrow character transfer into CGRAM
send_cmd_lcd(CGRAM_CHAR_1_ADDR); //Position the pointer to first CGRAM character line-1 address
for (i=0; i<=6; i++)
{
send_char_lcd(Arrow_rgt_Array[i]);
}
// Left arrow character transfer into CGRAM
send_cmd_lcd(CGRAM_CHAR_2_ADDR); //Position the pointer to second CGRAM character line-1 address
for (i=0; i<=6; i++)
{
send_char_lcd(Arrow_lft_Array[i]);
}
// Complete LCD Initialisation
send_cmd_lcd(CLR_DISP); // Clear display and bring cursor home
send_cmd_lcd(DISP_ON); // Turn on display

// Character displaying section. Here, a simulation of an antenna rotator is shown.
while(1)
{
/* i=0;
send_cmd_lcd(DDRAM_L1_C1); // Set the DDRAM address location for line 1, column 1.
send_char_lcd('A'); // Sends character
send_char_lcd('z'); // Sends character
send_char_lcd('\x00'); // Sends character
send_char_lcd(' '); // Sends character
send_char_lcd('2'); // Sends character
send_char_lcd('8'); // Sends character
send_char_lcd('5'); // Sends character
send_char_lcd('\xDF'); // Sends character
send_cmd_lcd(DDRAM_L2_C1); // Set the DDRAM address location for line 2, column 1.
send_char_lcd('E'); // Sends character
send_char_lcd('l'); // Sends character
send_char_lcd('\x01'); // Sends character
send_char_lcd(' '); // Sends character
send_char_lcd('3'); // Sends character
send_char_lcd('7'); // Sends character
send_char_lcd('\xDF'); // Sends character
*/
send_str_lcd(DDRAM_L1_C1,"ALLO toi!\x00");
}

Voici le fichier header des fonctions:
/* lcd_driver.h
v1, February 2009

TARGET device: PIC18F2220
Compiler: SourceBoost's BoostC for PIC
IDE: SourceBoost IDE

Make sure you assign the LCD lines as follows:
- In the main program .c object file, assign the lcd_port variable to @PORTA, @PORTB, @PORTC or @PORTD
  based on the PIC port to which the LCD is wired to.

- In the main program .c object file, assign the lcd_tris variable to @TRISA, @TRISB, @TRISC or @TRISD
  based on the PIC port to which the LCD is wired to.

- Connect the LCD signals to the selected PIC port as follows:
PIC port pin 0: LCD DB0 signal
PIC port pin 1: LCD DB1 signal
PIC port pin 2: LCD DB2 signal
PIC port pin 3: LCD DB3 signal
PIC port pin 4: LCD E   signal
PIC port pin 5: LCD RW  signal
PIC port pin 6: LCD RS  signal
*/

// Constants and Masks Definition
#define LCD_READ_TRIS 0b00001111  //The mask used to set the LCD port to read
#define LCD_DATA_CLEAR_MASK 0b11110000 //Used to clear the LCD transmitted character nibble on the LCD port.
#define LOW_NIBBLE_MASK 0b00001111 //Used to isolate the low nibble of a char.
#define RS 6 // LCD Register Select control line
#define RW 5 // LCD Read/Write control line
#define E 4 // LCD Enable control line
#define LCD_BUSY_FLAG 3 // This is the LCD Busy flag bit position
#define DISP_ON 0b00001100 // Display on
#define DISP_ON_CURS_ON 0b00001110 // Display on, Cursor on
#define DISP_ON_CURS_ON_BLNK 0b00001111 // Display on, Cursor on, Blink cursor
#define DISP_OFF 0b00001000 // Display off
#define CLR_DISP 0b00000001 // Clear the Display
#define RET_HOME 0b00000010 // Bring the cursor back home
#define LCD_SHIFT_RIGHT         0b00011100 // Shift entire display right by one position
#define LCD_SHIFT_LEFT          0b00011000 // Shift entire display left by one position
#define CURS_SHIFT_RIGHT 0b00010100 // Moves cursot right by one position
#define CURS_SHIFT_LEFT 0b00010000 // Moves cursot left by one position
#define ENTRY_INC 0b00000110 // Sets the cursor move / display shift mode to move right
#define ENTRY_INC_S 0b00000111 // Sets the cursor move / display shift mode to move and shift right
#define ENTRY_DEC 0b00000100 // Sets the cursor move / display shift mode to move left
#define ENTRY_DEC_S 0b00000101 // Sets the cursor move / display shift mode to move and shift left
#define FOUR_BIT_INIT 0b00000010 // Sets the cursor move / display shift mode to move and shift left
#define FOUR_BIT_INIT2 0b00101000 // Sets the cursor move / display shift mode to move and shift left
#define DDRAM_L1_C1 0b10000000 // Least Significant 7-bit are for DDRAM address
#define DDRAM_L2_C1 0b11000000 // Least Significant 7-bit are for DDRAM address
#define CGRAM_CHAR_1_ADDR 0b01000000 // Least Significant 6-bit are for CGRAM address
#define CGRAM_CHAR_2_ADDR 0b01001000 // Least Significant 6-bit are for CGRAM address


char check_busy_lcd(void) // Checks if LCD is busy or ready. 1=busy, 0=ready
{
unsigned char lcd_busy;
lcd_tris = LCD_READ_TRIS; // Set RA6 - 4 = outputs, RA3 - 0 = inputs
clear_bit(lcd_port, RS ); // Set LCD for Command mode
set_bit(lcd_port, RW ); // Setup to read busy flag
set_bit(lcd_port, E ); // Set E high
delay_ms(1);
lcd_busy = test_bit(lcd_port,LCD_BUSY_FLAG); // Read Busy flag value
clear_bit(lcd_port,E); // Set E low
delay_ms(1);
set_bit(lcd_port,E); // Set E high to read other nibble (to flush LCD buffer)
delay_ms(1);
clear_bit(lcd_port,E); // Set E low
clear_bit(lcd_port, RW ); // Setup to write to LCD later
lcd_tris = 0b00000000; // Set RA6 - 4 = outputs, RA3 - 0 = outputs
return lcd_busy; // Send the busy flag to calling code
}


void send_char_lcd(char lcd_char) // This routine checks the busy flag, returns when not busy       
{
while(check_busy_lcd() == 1); // Wait for LCD to become idle
lcd_port = 0; //Clear all bits on the LCD port
lcd_port = lcd_port | (lcd_char >> 4); // transfer the high character nibble into the data bits)
clear_bit(lcd_port, RW ); // Setup to write to LCD
set_bit(lcd_port, RS ); // Set LCD for Data mode
set_bit(lcd_port, E ); // Set E high
delay_ms(1);
clear_bit(lcd_port,E); // Set E low
lcd_port = lcd_port & LCD_DATA_CLEAR_MASK; // Clear the character bits on the port
lcd_port = lcd_port | (lcd_char & LOW_NIBBLE_MASK); // transfer the low character nibble into the data bits
set_bit(lcd_port, E ); // Set E high
delay_ms(1);
clear_bit(lcd_port,E); // Set E low
}

void send_cmd_lcd(char lcd_char) // This routine checks the busy flag, returns when not busy       
{
while(check_busy_lcd() == 1); // Wait for LCD to become ready
lcd_port = 0; //Clear all bits on the LCD port
lcd_port = lcd_port | (lcd_char >> 4); // transfer the high character nibble into the data bits)
clear_bit(lcd_port, RW ); // Setup to write to LCD
clear_bit(lcd_port, RS ); // Set LCD for Command mode
set_bit(lcd_port, E ); // Set E high
delay_ms(1);
clear_bit(lcd_port,E); // Set E low
lcd_port = lcd_port & LCD_DATA_CLEAR_MASK; // Set LCD for 4-bit interface and clear the character bits on the port
lcd_port = lcd_port | (lcd_char & LOW_NIBBLE_MASK); // transfer the low character nibble into the data bits
set_bit(lcd_port, E ); // Set E high
delay_ms(1);
clear_bit(lcd_port,E); // Set E low
}

void send_str_lcd(char lcd_addr, const char* lcd_str)  //This routine sends a string of characters to the display in consecutive positions.
{
send_cmd_lcd(lcd_addr); // Set the DDRAM address location for line 1, column 1.
for(i = 0; i <= (strlen(lcd_str) - 1); i++) // Repeat sending characters until the null terminator (0x00) is found
{
send_char_lcd(lcd_str[i]);
}
}




635
Très bonne idée, Pascal.

Est-ce de la récupération, ou c'est du neuf?
À combien ces commutateurs de détaillent?
Combien de courant est permis dans les contacts?

Le seul inconvénient des CMS est la puissance admissible plus faible. 1/4W vs. 1//2 ou 1W dépendamment de la boîte. Mais les inductances parasites seront en effet plus faibles.

636
Voici le croquis que j'avais annexé.

637
Il vient un temps où il faut déduire des valeurs d'après les infos que l'on possède, et les essayer... Que voulez-vous! Votre estimation est aussi bonne que la mienne.

Bon succès  ;)

638
Oscilloscopes USB à  bas coût, avec des bogues et des limites évidentes, comme la plupart des oscillos d'entrée de gamme de ce prix. En anglais, on dit "You get what you pay for". Il y a plusieurs évaluations de disponibles sur YouTube.

Avez-vous vu les Owon? La chaîne Cyrob en a fait une éval du modèle VDS1022. Ça lui semblait correct. Mais il n'a pas trop poussé les essais.
https://www.youtube.com/watch?v=HMMLI9UNzsk

639
Très bien. Non, ce n'est pas une sonde. À 1us de résolution, il y a seulement des instruments basés sur des ADC rapides qui pourront faire le travail. Oubliez donc les multimètres. Un oscilloscope est ce qu'il vous faut. Et avec une telle quantité d'échantillons à  stocker, vous devrez vous fier sur la mémoire du PC pour faire le travail. Il n'y a pas beaucoup d'oscilloscopes autonomes qui possèdent 10 M-Octets de mémoire intégrée.

Concernant l'oscillo Instrustar ISDS205, il existe une version sans analyseur logique, et sans générateur de fonction, et qui coûte moins cher (60 euros). Je fournirai un lien dans ma vidéo de demain. Il a de petits défauts, que je montre dans la vidéo, mais il ne coûte pas cher...

640
Bonjour, bienvenue sur le forum!

Malgré les détails de votre question, il nous manque un peu d'info, par exemple la durée de l'enregistrement, l'intervalle des mesures et le genre d'exactitude que vous cherchez...

Il est possible d'automatiser (contrôler) la lecture avec certains multimètres. Je le fais parfois avec mes multimètres HP à  port GPIB. Mais pourquoi ne pas utiliser un oscilloscope numérique? Vous pourriez configurer le déclenchement pour qu'il ne se déclenche que lors de la présence des pointes. Il existe un mode d'enregistreur de données sur certains oscillos PC. Avez-vous vraiment besoin de saisir des valeurs de tension précises à  intervalles réguliers?

Demain je vais publier un banc d'essai d'un oscilloscope Instrustar ISDS205X, qui possède, entre autres, un mode enregistreur de données à  long terme. Je ne sais pas si cela rencontrerait vos besoins...

Cordialement.

Bertrand.

641
J'ai bien trouver un datasheet pour une diode rectifier S3V80 qui est une diode de 800v 3.5 A .. dois je en déduire que ma référence S3V84 serais une 840V ?

Non.

À l'impossible, nul n'est tenu. Si vous ne possédez pas plus d'info, et si les pièces que vous recherchez sont grillées, il n'y a rien que vous puissiez faire. Et moi non plus... J'ai épuisé mes idées. Peut-être que d'autres en auront?

642
Et mettez le trigger en front descendant!

643
Votre "vendeur" n'est pas très informé... ::)

FSQ510 est toujours actif. Digikey: https://www.digikey.ca/product-detail/en/fairchild-on-semiconductor/FSQ510/FSQ510-ND/1642601
S3V60: Diode au silicium de redressement 600V 3.5A. Bien commune. Cherchez un équivalent par recherche paramétrique chez Digikey ou autres.
D106: Je crois que c'est un transil, en effet. Car voici la datasheet pour un ST02D-82:
http://pdf1.alldatasheet.com/datasheet-pdf/view/44050/SHINDENGEN/ST02D-82.html
Voici un lien vers différents ST02D. Malheureusement, 83 ne s'y trouve pas:
www.mouser.com/catalog/specsheets/S1ZB60%20Catalog.pdf

Bon, j'en laisse pour les autres!


644
Devrait pas être sorcier. Je n'ai pas cet appareil mais je me réfère à  la fiche technique.

-Utiliser la voie (CH) 1
-Trigger Mode: Normal ou Single.
-Trigger Source: CH1
-Trigger Level: Ajuster la tension de trigger quelque part entre 0V et la tension de votre alimentation, plus près de la tension de l'alim,
pour capturer une descente partielle de la tension.
-Trigger coupling: DC
-Display mode: Store

Ca devrait suffire. Il faut évidemment ajuster les échelles verticale et horizontales en fonction de ce qu'on s'attend de voir...

645
Oubliez les 78xx tel que proposés. Si vous les sous-alimentez, ils ne fonctionneront pas.

"À l'impossible, nul n'est tenu"... Vous demandez quelque chose de simple et presque sans chute de tension... Toutes les solutions simples causeront une chute de tension car il faut mesurer le courant à  travers un élément résistif.

Avez-vous pensé au fusibles ré-armables (PTC)? C'est la façon la plus simple de couper sur un sur-courant. Pas cher et fiable.
https://fr.wikipedia.org/wiki/Fusible_r%C3%A9armable_PTC

Pages: 1 ... 41 42 [43] 44 45 ... 62