www.elektronik.si
Komentarji, vprašanja avtorjem projektov
Pojdi na stran Prejšnja  1, 2, 3 ... 11, 12, 13  :||:
www.elektronik.si -> Elektronika

Avtor: arksiKraj: Dolenjska PrispevekObjavljeno: Tor Feb 14, 2017 10:25 am    Naslov sporočila:  
----------------------------------------------------------------------------
aggr3ssiv je napisal/a:
Saj .hex lahko odprem, vendar mi tako ali tako nič ne koristi, ker se je ne da pretvoriti nazaj v C.


Zakaj pa bi pretvarjal nazaj v C? Če znaš popraviti program, potem ga ahko napišeš tudi na novo, a ne?

PIC-ov jaz ne poznam. Kot sam vidiš je tvoj PIC drugačen od Silvota, ne bi rekel, da je vse kompatibilno. Ne moreš HEX zapeči "kar nekam". HEX je narejen za točno določen tip PIC-a.

Še namig za programiranje lastnega programa. Izbereš si dva izhoda, ki ju izmenično prižigaš: 1->0 in 0->1 s frekvenco 50hz. Tiristor prožis na interval cca. ene sekunde na tretjem izhodnem pinu.

Avtor: aggr3ssiv PrispevekObjavljeno: Tor Feb 14, 2017 5:49 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Bom povprašal v šoli, kako je s spremembo programa. Za začetek bom poizkusil z Arduinotom.

Avtor: aggr3ssiv PrispevekObjavljeno: Pon Mar 06, 2017 11:09 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Pozdravljeni!
Imam še eno vprašanje glede električnega pastirja, no bolj prošnjo. Namreč delujoč program za arduinota sem uspel spisat, ustavilo se je pa pri MikroC. Uporabljam PIC12f675 in se ze kar nekaj časa trudim s pisanjem programa, ampak mi ne gre najbolje.
Spisati sem uspel do te mere, a sedaj ne vem več kje tiči problem, zato vas prosim za pomoč.
Hvala za morebitne odgovore.

Program prekopiran iz MikroC:

Koda:
//define 12F675

//ifdef(12F675){
  #define pin2 RB5
  #define pin3 RB4
  #define pin5 RB2
//}


void main() {
  PORTB = 0;
  TRISB &= ~(1 << pin2);
  TRISB &= ~(1 << pin3);
  TRISB &= ~(1 << pin5);

  while(1){

    int i = 0;

    for(i = 0; i < 50; i = i + 1){
      if((PORTB & (1 << pin2)) > 0){
        PORTB &= ~(1 << pin2);
        PORTB |= (1 << pin3);
        delay_ms(10);
      }else{
        PORTB &= ~(1 << pin3);
        PORTB |= (1 << pin2);
        delay_ms(10);
      }
    }

    if((PORTB & (1 << pin5)) > 0){
      PORTB &= ~(1 << pin5);
    }else{
      PORTB |= (1 << pin5);
    }
   
  }
}


... in delujoč arduino program ...


const int pin12 = 12;
const int pin11 = 11;
const int tiristor = 10;

void setup() {
  pinMode(pin12, OUTPUT);
  pinMode(pin11, OUTPUT);
  pinMode(tiristor, OUTPUT);
}


void loop() {

for(int iStevec=1;iStevec>0;iStevec++)
  {
  digitalWrite(pin12, LOW), digitalWrite(pin11, HIGH);   
  delay(20);                       
  digitalWrite(pin11, LOW), digitalWrite(pin12, HIGH);   
  delay(20);
  if(iStevec%50==0)
  {
    digitalWrite(tiristor, HIGH), digitalWrite(tiristor, LOW);   
   
  }
  }
 
}

Avtor: YoutupKraj: Zagradec PrispevekObjavljeno: Pet Mar 10, 2017 8:53 am    Naslov sporočila:  Baterijski električni pastir
----------------------------------------------------------------------------
Pozdravljeni!

Vprašanje se nanaša na električni pastir našega člana Silva.

Vprašanje imam glede programiranja oziroma nastavljanja frekvence in pulzov.

L293, katerega uporabim kot astabilc, prožim s frekvenco 50Hz. Glede na to, da je zadeva na baterije, je mogoče že gdo poskušal frekvenco povečati/pomanjšati. Kakšna prednost v tem ?

Zanima me tudi na kakšen interval prožite tiristor ? Pulze na 1s ? Tukaj slutim; manjkrat ga odpiram manjkrat spraznim kondenzatorje posledično tudi manjša poraba. Bi to držalo ?

LP

Avtor: YoutupKraj: Zagradec PrispevekObjavljeno: Sre Mar 15, 2017 3:11 pm    Naslov sporočila:  Baterijski električni pastir
----------------------------------------------------------------------------
Kod je razvidno iz prilog je pastir sestavljen.

Težave imam s preizkušanjem Sad. Priključim na 12V, poraba cca 220mA. Nekaj je slišat a ne ravno glasno. Preizkusil z iskriščem je 1x vsekal lepo. To je bilo pa to. Sedaj samo lepo mirno nekaj pk pk pk dela. Čip L293 se ogromno greje kljub dodatnemu hladilniku (katerega ni na sliki)...

Takole sem pa programček naštimal:

const int pin12 = 12;
const int pin11 = 11;
const int tiristor = 5;

void setup()
{
pinMode(pin12, OUTPUT);
pinMode(pin11, OUTPUT);
pinMode(tiristor, OUTPUT);
}


void loop()
{
for(int iStevec=1;iStevec>0;iStevec++)
{
digitalWrite(pin12, LOW), digitalWrite(pin11, HIGH);
delay(50);
digitalWrite(pin11, LOW), digitalWrite(pin12, HIGH);
delay(50);
if(iStevec==50)
{
digitalWrite(tiristor, HIGH),
delay(1);
digitalWrite(tiristor, LOW);iStevec=0;
}
}
}

Ima gdo kakšen nasvet kje naj pričnem s previrjanjem ?

LP

Avtor: arksiKraj: Dolenjska PrispevekObjavljeno: Čet Mar 16, 2017 8:28 am    Naslov sporočila:  Re: Baterijski električni pastir
----------------------------------------------------------------------------
Youtup je napisal/a:
.......Zanima me tudi na kakšen interval prožite tiristor ? Pulze na 1s ? Tukaj slutim; manjkrat ga odpiram manjkrat spraznim kondenzatorje posledično tudi manjša poraba. Bi to držalo ? LP


Pri večini pastirjev je impulz na cca 1s. Seveda je tako, kot praviš. Več bo impulzov v časovni enoti, večja bo poraba in obratno.

Youtup je napisal/a:
Kod je razvidno iz prilog je pastir sestavljen.
Težave imam s preizkušanjem Sad. Priključim na 12V, poraba cca 220mA. Nekaj je slišat a ne ravno glasno. Preizkusil z iskriščem je 1x vsekal lepo. To je bilo pa to. Sedaj samo lepo mirno nekaj pk pk pk dela. Čip L293 se ogromno greje kljub dodatnemu hladilniku (katerega ni na sliki).......


Pastir, ki ga je izdelal Silvo je kar "požrešen" s tokom, saj uporablja običajen trafo obrnjen okoli. Večina pastirjev, ki ima manjšo porabo uporablja za zvišanje napetosti svičer (neke vrste feritni transformator).

Najprej preveri, če je na vhodu 12V trafota frekvenca 50Hz.
Če prav vidim je v tvojem programu zakasnitev "delay(50);" kar pomeni verjetno 50ms.
Koliko časa pa traja ena perioda pri frekvenci 50Hz??? Preveri še enkrat.

Tiristor vklopi približno na eno sekundo. Čas vklopa tiristorja naj ne bo predolg niti ne prekratek. malo moraš poeksperimentirati (če se prav spomnim sem jaz uporabil 100ms odprt tiristor).

Ko boš prepričan, da je frekvenca 50Hz preveri, če si trafo obrnil prav.

Žici, iz visokonapetostnega trafota daj cca 2 - 3mm skupaj in, če je vse ok, mora "sekat" iskra.

Avtor: YoutupKraj: Zagradec PrispevekObjavljeno: Pon Mar 27, 2017 12:26 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Zadevo sem nekako spravil k življenju, sicer zamenjal oba kondenzatorja. Izbral sem manjša dva velikosti 1,5 in pa 10 mikrofaradov. Zadeva je na delovnem pultu kazala veliko življenja. Ob vgradnji v dozo pa zopet na starih potah.

Je možno da mi porabo dvignu na 1A Very Happy Mal velik kaj ne ?

Sam l293 se greje zelo hitro...

Avtor: arksiKraj: Dolenjska PrispevekObjavljeno: Pon Mar 27, 2017 12:56 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Kako si zadevo spravil k življenju? A si zamenjal samo kondenzatorja, ali si tudi popravil program. A je frekvenca 50Hz? Zakaj pravzaprav zamenjati kondenzatorja???

Poraba gre pri meni (v sunkih polnjenja) do cca 700mA, kar je že kar "požrešno". Poraba 1A se mi zdi malo veliko.

L293 se sicer med delovanjem greje, ampak ne prehudo (v mojem pastirju). Dodaj na njega hladilno rebro in bo lažje "dihal".

Povej nam še kašen tiristor si uporabil?

Avtor: YoutupKraj: Zagradec PrispevekObjavljeno: Tor Mar 28, 2017 12:43 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Zdravo,

program sem malce spremenil. In sicer takole:

const int pin12 = 12;
const int pin11 = 11;
const int tiristor = 5;

void setup() {
pinMode(pin12, OUTPUT);
pinMode(pin11, OUTPUT);
pinMode(tiristor, OUTPUT);
}


void loop() {

for(int iStevec=1;iStevec>0;iStevec++)
{
digitalWrite(pin12, LOW), digitalWrite(pin11, HIGH);
delay(10);
digitalWrite(pin11, LOW), digitalWrite(pin12, HIGH);
delay(10);
if(iStevec%50==0)
{
digitalWrite(tiristor, HIGH), digitalWrite(tiristor, LOW);

}
}

}


Tiristor sem pa namesto napisanega uporabil BT 152 800R. BT 151 niso imeli na zalogi pri trgovcu zato sem vzel BT 152, kolikor sem razbral iz karakteristik po specifikacijah je le malce močnejši.

Frekvenco sem pomeril s pomočjo multimetra če se lahko zanašam na to. Se giblje med 50Hz. Z osciloskopom imam manjše težave... zaradi neizkušenosti.

Avtor: arksiKraj: Dolenjska PrispevekObjavljeno: Tor Mar 28, 2017 1:20 pm    Naslov sporočila:  
----------------------------------------------------------------------------
No, ta program je pa sedaj že drugačen, čeprav ne vem v katerem jeziku pišeš - ampak bistvo programa razumem.
Sedaj, ko si iz "delay(50);" spremenil na "delay(10);" bi pa že morala biti frekvenca tam okoli 50Hz.
Če prav razumem tvoj program potem šteješ v zanki prehode in, ko se zgodi 50 prehodov skozi zanko postaviš "digitalWrite(tiristor, HIGH),". Odpreš tiristor, vendar ga še v isti "sapi" zapreš. Daj tam, ko odpreš tiristor cca. 100ms pavze, da bo lahko tiristor v miru vklopil in izpraznil kondenzatorja čez VN trafo.

Praviš, da si vzel drugačen tiristor od tistega, ki ga je uporabil Silvo. Daj preveri 100%, če so ostale karakteristike iste kot pri tvojem BT 152. Tiristor se mora odpreti do konca pri 5V napetosti, ker če se ne, ne steče dovolj energije čez njega in se ne izprazni vsa energija iz kondenzatorjev. Posledično je lahko premalo energije za tokovni sunek na VN trafotu.

Stran 13 od 13

Powered by phpBB © 2001,2002 phpBB Group