Hi, this is my first assignment in college. My task was to create a prototype for Thermotherapy, so I chose a Peltier Module Tec1-12710 for both heating and cooling. I used a BTS7960 to control the Peltier and reverse the current with an H-Bridge. Unfortunately, when I check with the Voltage meter, the Voltage at M+ M- gates is approximately 0V. I tried with no Motor and the result is still the same. Am I wiring it wrong, or is my BTS7960 damaged? B+ B- got supplied from 12V10A DC, R_EN and L_EN and R_PWM and L_PWM pins are included in the code, R_IS and L_IS are connected to the 5V pin of the Arduino UNO R3. As a new member, I can't post the datasheet of BTS7960 and TEC1-12710, but they are the generic ones, with no change or any modifications. The code is below
const int R_EN = 8;
const int L_EN = 7;
const int RPWM = 5;
const int LPWM = 6;
void setup() {
Serial.begin(9600);
// Set all control pins as outputs
pinMode(R_EN, OUTPUT);
pinMode(L_EN, OUTPUT);
pinMode(RPWM, OUTPUT);
pinMode(LPWM, OUTPUT);
// Enable both sides of the H-bridge
digitalWrite(R_EN, HIGH);
digitalWrite(L_EN, HIGH);
Serial.println("BTS7960 + Peltier test starting...");
}
void loop() {
// Cooling mode: M+ high, M− low
analogWrite(RPWM, 255); // Full speed
analogWrite(LPWM, 0);
Serial.println("Cooling mode: RPWM = 255, LPWM = 0");
delay(5000);
// Stop Peltier
analogWrite(RPWM, 0);
analogWrite(LPWM, 0);
Serial.println("Peltier off");
delay(2000);
// Heating mode: M− high, M+ low (reverse)
analogWrite(RPWM, 0);
analogWrite(LPWM, 255); // Full speed reverse
Serial.println("Heating mode: RPWM = 0, LPWM = 255");
delay(5000);
// Stop again
analogWrite(RPWM, 0);
analogWrite(LPWM, 0);
Serial.println("Peltier off");
delay(2000);
}