Jelgenerátor AVR-el

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Válasz küldése
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Legegyszerűbb, ha a másik ágat 1 külső inverterrel hajtod meg az eredeti jelről.
Ha beválik, ráérsz megírni a programot, két ellenütemű vezérelhető PWM-re.

A kérdés, amire nem ismerjük a választ: Hány fokos jel eltolás kel (90 vagy 180)?
Avatar
DOGMAN
Chipgyilok
Hozzászólások: 293
Csatlakozott: 2006. augusztus 27. vasárnap, 6:00

Hozzászólás Szerző: DOGMAN »

Ez lesz a megoldás, kész kapcsrajz:
http://www.x-simulator.de/forum/downloa ... er_sch.png

Azt hogy a 360 fok melyik negyedében álljon a mutató a MOT1A-C lábakkal adom meg, a PWM kitöltéssel pedig azt hogy a 90 fokon belül hol álljon.

itt a kapcsolás doksija, igazságtáblával mindennek együtt: http://www.x-simulator.de/forum/downloa ... hp?id=5367
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Sajnos van valami ismeretlen név (PIC18F2XX)?
Innentől Passzolom!
:?
Avatar
DOGMAN
Chipgyilok
Hozzászólások: 293
Csatlakozott: 2006. augusztus 27. vasárnap, 6:00

Hozzászólás Szerző: DOGMAN »

Tök mindegy mi hajtja, nyugodtan be lehet helyettesíteni olyan AVR-el amin van 4 pwm csatorna.

Találtam kódot is igaz Arduinohoz (kommenteket én írtam bele, szerintem jól értem, majd Robi ha idetalál akkor ellenőrzi úgyis :)):

Kód: Egész kijelölése

void setAircore(float pos){

  // kiszámolja a szöget
  float sinCoilValue = 255*sin(pos/40.58); 
  float cosCoilValue = 255*cos(pos/40.58);

  // eldönti melyik negyedben van, gyk. beállítja a tekercsek polaritását
  if (sinCoilValue<=0) {
    digitalWrite(14, LOW); 
    digitalWrite(15, HIGH); 
  } 
  else {
    digitalWrite(14, HIGH);
    digitalWrite(15, LOW); 
  }
  if (cosCoilValue<=0) {
    digitalWrite(8, LOW); 
    digitalWrite(4, HIGH); 
  } 
  else {
    digitalWrite(8, HIGH); 
    digitalWrite(4, LOW); 
  }

  sinCoilValue = abs(sinCoilValue);
  cosCoilValue = abs(cosCoilValue);

  // kiküldi a tekercsekre a kiszámlot kitöltési tényezőt
  analogWrite(6, sinCoilValue);
  analogWrite(5, cosCoilValue);
}
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

SIN,COS a Bascom is tud számolni.
A program többi része pedig már gyerekjáték.
8)

Neked 3 vagy 4 kivezetéses a műszered?
Ez a program mintha 6 kimenetet birizgálna.
Szerintem a lengőtekercs a kisebb ellenállású.
Hova kötöd a PWMet
:?:
Avatar
DOGMAN
Chipgyilok
Hozzászólások: 293
Csatlakozott: 2006. augusztus 27. vasárnap, 6:00

Hozzászólás Szerző: DOGMAN »

4 kivezetéses.
Köszi kapu48 a kérdéseket, azok nélkül sosem lett volna mega a megoldás.
http://www.youtube.com/watch?v=FKeWfvM8 ... ata_player
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Szivesen!

Bár jobbára csak a képeket és rajzokat nézegettem.
Az adta a kérdéseket.

A rengeteg angol irományt nem volt időm megfejteni.

Végül nagyon szuperül sikerült megoldanod!
:lol:
Avatar
DOGMAN
Chipgyilok
Hozzászólások: 293
Csatlakozott: 2006. augusztus 27. vasárnap, 6:00

Hozzászólás Szerző: DOGMAN »

Még van gond vele azért, finomítani kell majd a kapcsolást.
L293DNE volt itthon és eléggé felforrósodik, L293B majd bírni fogja (1A-ig)
plusz kellenek védődiódák a tekercsekhez mert szerintem elég induktívan rugdossák irányváltáskor az L293-at.
Ráadásul egy óra két pwm-et használ hiszen a tekercseknek bizonyos állásban ellentétes kitöltési tényező kell, hogy legyen. Plusz a 4 láb a polaritásváltáshoz.
Egy Mega32P-vel 3 órát tudok vezérelni majd, és még marad 12 láb egy shift regiszterrel meghajtott 1 digites Sebességfokozat kijelzőre, és még pár visszajelző lámpára (olajnyomás, váltásjelző, stb...)
Avatar
DOGMAN
Chipgyilok
Hozzászólások: 293
Csatlakozott: 2006. augusztus 27. vasárnap, 6:00

Hozzászólás Szerző: DOGMAN »

DOGMAN írta:Még van gond vele azért, finomítani kell majd a kapcsolást.
L293DNE volt itthon és eléggé felforrósodik, L293B majd bírni fogja (1A-ig)
plusz kellenek védődiódák a tekercsekhez mert szerintem elég induktívan rugdossák irányváltáskor az L293-at.
Ha valaki régi bontott műszert használna mint én:
A tekercsek áramfelvétele 10 mA, ezért gyanús lett az mérőóra eredeti panelja ami még mindig rajta van a műszer hátulján (ott is van egy IC, hogy az milyen jelet kér be azt nem sikerült megfejtenem), na szóval el kellett vágnom a nyákot a régi IC irányába, és most már nem melegszik, leszedni sajnos nem tudom róla, mert rá van szegecselve és a szegecsen belül vannak a kivezetések.
Válasz küldése