Fórum témák
- • Arduino
- • Nagyfeszültségű tápegység
- • Pneumatika végállások reed kapcsolóval
- • Kondenzátor
- • Hangszórójavítás (otthon)
- • Elfogadnám, ha ingyen elvihető
- • Általános antennás kérdések, válaszok
- • Klíma szervizelés, javítás
- • Internetes rádióvevő
- • Alternativ HE találkozó(k)
- • 3D nyomtatás
- • Felajánlás, azaz ingyen elvihető
- • Akkumulátor töltő
- • Elektronikai témájú könyvek újságok
- • Rádióamatőrök topikja
- • LED szalag
- • TDA7294 végerősítő
- • Háromfázisú aggregátor
- • Szintetizátor javítás
- • Dobozolási technikák, műszerdobozok
- • Boombox javítás
- • Sütő javítás
- • Erősítő mindig és mindig
- • Mosógép vezérlők és általános problémáik
- • Számítógép hiba, de mi a probléma?
- • Laptop javítás, tuning
- • Elektromos távirányítós kapunyitó
- • Autós erősítős kérdések, problémák
- • Mikrohullámú sütő javítás, magnetron csere, stb.
- • Villanymotor
- • Vegyes barkácsfogások
- • Digitális óra
- • Hűtőgép probléma
- • TV hiba, mi a megoldás?
- • Szünetmentes táp javítása, élesztése
- • Erősítő építése elejétől a végéig
- • Műhelyünk felszerelése, szerszámai
- • Kombikazán működési hiba
- • Függvénygenerátor építése
- • SMD, mi a típusa?
- • Hibrid erősítő
- • Suzuki Swift elektronika
- • Videomagnó problémák
- • Érdekességek
- • STK erősítők javítások
- • DC-DC konverter max. kapacitív terhelése
- • Audiofil, High End Audio
- • Központi fűtés (vezérlés)
- • IMI villanymotor
- • Borhűtő vezérlő panel
- • Androidos okos telefonok
- • Klíma beszerelése, fűtés-hűtés házilag
- • Súlymérés
- • Varrógép elektronika
- • Analóg oszcilloszkóp javítása
» Több friss téma
|
A klónok CH340 Soros-USB illesztőjének drivere ( Letöltés)
Mit rontok el? Sziasztok!
Egy egyedi gép vezérlését építem, egy joystick segítségével van vezérelve kettő lineáris aktuátor és az egyik gombbal egy villanymotor van indítva, leállítva PWM szabályzással, teljes fordulaton egy relé kiiktatja a FET-et. A motor gombos indítása, megállítása működik (a programban a PTO kezdetű változókat és ki-bemeneteket használó rész), az egyik aktuátor szabályzása, forgásirány váltása működik ( a programban az UD kezdetű változók és ki-bemenetek tartoznak ide), de a másik aktuátornál csak a forgásirány váltó relék kimenetei változnak a joystick mozgatásának megfelelően, pwm jelet sehogysem sikerül kicsalnom, hiába írom át a 11-es pint bármelyik PWM képes lábra, nem működik... Mit nem veszek észre, vagy mit rontok el? Kérlek segítsetek!
int PTOButton = 4;
int UDin = A0;
int LRin = A1;
const int LPin = 12;
const int RPin = 13;
const int UPin = 8;
const int DPin = 7;
const int PTOPin = 9;
const int PTORelay = 2;
const int UDPin = 10;
const int LRPin = 11;
int Rpm = 0;
int PTOLatch =0;
int Buttonlast = 0;
int UD = 0;
int UDduty = 0;
int LR = 0;
int LRduty = 0;
void setup() {
pinMode(PTOButton, INPUT);
pinMode(PTOPin, OUTPUT);
pinMode(PTORelay, OUTPUT);
pinMode(UDin, INPUT);
pinMode(UDPin, OUTPUT);
pinMode(DPin, OUTPUT);
pinMode(UPin, OUTPUT);
pinMode(LRin, INPUT);
pinMode(LRPin, OUTPUT);
pinMode(LPin, OUTPUT);
pinMode(RPin, OUTPUT);
}
void loop() {
if(digitalRead(PTOButton) == LOW && Buttonlast == 1){
PTOLatch = !PTOLatch;
}
if(PTOLatch == 1){
if(Rpm < 255){
Rpm++;
analogWrite(PTOPin, Rpm);
delay(5);
}
if(Rpm == 255){
digitalWrite(PTORelay, HIGH);
}
}
if(PTOLatch == 0){
digitalWrite(PTORelay, LOW);
if(Rpm > 0){
Rpm --;
analogWrite(PTOPin, Rpm);
delay(5);
}
}
Buttonlast = digitalRead(PTOButton);
delay(5);
UD = analogRead(UDin);
if(UD > 525){
digitalWrite(DPin, HIGH);
digitalWrite(UPin, LOW);
UDduty = map(UD, 525, 1023, 1, 255);
if(UDduty < 25){
UDduty = 0;
analogWrite(UDPin, UDduty);
}
analogWrite(UDPin, UDduty);
}
if(UD < 500){
digitalWrite(DPin, LOW);
digitalWrite(UPin, HIGH);
UDduty = map(UD, 500, 0, 1, 255);
if(UDduty < 25){
UDduty = 0;
analogWrite(UDPin, UDduty);
}
analogWrite(UDPin, UDduty);
}
LR = analogRead(LRin);
if(LR < 525){
digitalWrite(LPin, HIGH);
digitalWrite(RPin, LOW);
LRduty = map(LR, 525, 1023, 1, 255);
if(LRduty < 25){
LRduty = 0;
analogWrite(LRPin, LRduty);
}
analogWrite(LRPin, LRduty);
}
if(LR > 500){
digitalWrite(LPin, LOW);
digitalWrite(RPin, HIGH);
LRduty = map(LR, 500, 0, 1, 255);
if(LRduty < 25){
LRduty = 0;
analogWrite(LRPin, LRduty);
}
analogWrite(LRPin, LRduty);
}
}
|
|