Stavy spínačov.

Problémy s návrhem, konstrukcí, zapojením, realizací elektronických zařízení

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#46 Příspěvek od procesor »

Keď sa stlačí rozsvietia sa pri krútení postupne všetky LED 101...172 Tlačíko tam nemusí byť.

Chyba vyváženia by sa mala objaviť počas otáčky iba raz, inak sa zobrazí iba posledná.
Uživatelský avatar
kutilmil
Pod dozorem moderátorů
Pod dozorem moderátorů
Příspěvky: 4204
Registrován: 01 lis 2008, 00:00
Bydliště: Skalica

#47 Příspěvek od kutilmil »

Rozumiem a ten impulz meranie?
Musím to ale rozhodiť už na dve dosky. Bolo by to strašne veľké a keďže mám dva snímače, čiže dve chyby merania tak pamätí musím dať 18. ale idem nato za pokus to stojí.
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#48 Příspěvek od procesor »

MERANIE je stav...keď je tam 5V môže sa prepisovať ten druhý register HC574.
Keď je tam 0V nemôže sa prepísať obsah druhého registre. napríklad pri natĺkaní závažia.
Vidím to na tri dosky:
-ENCODER s registrom VPRED/VZAD
do ENCODERA by som zapojil ešte jeden obvod 74HC14 a obvod 74HC08 zamenil za 74HC00. Nakreslím to...
-2x doska 11ks HC138 + 9x HC574 + HC74
Uživatelský avatar
kutilmil
Pod dozorem moderátorů
Pod dozorem moderátorů
Příspěvky: 4204
Registrován: 01 lis 2008, 00:00
Bydliště: Skalica

#49 Příspěvek od kutilmil »

No ja som to myslel tak že by boli dve doska a to:
prvá doska - encoder + 2x hc139+11x hc138
druhá doska - 4x hc74 + 18x hc574.
Led "umiestnené" na doske s encoderom by ukazovali aktuálnu polohu kolesa. a doska s HC574 by ukazovala polohu nevyvážku na pravoboku a lavoboku. Usporiadané by to bolo asi takto:
Tri stĺpce led, pričom stredný by ukazoval aktuálnu polohu, pravý by ukazoval umiestnenie závažia na pravobok a ľavý na ľavobok.
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#50 Příspěvek od procesor »

22 obvodov sa zmestí na jednu, to sa ušetrí 72 drôtov.

Hmm... 11 ks HC138 sa ušetrí, Ok.
Ale tá druhá doska bude mať 220 drôtov. Ako som to nakreslil, z display dosky ide z jednej 150, len 80.
Nakreslil so ti inak, Ten encoder som doplnil na vstupoch 3x rovnaké vstupy (optočlevy), preto je použitý ďalší invertor 74HC04, a keďže signál riadiaci hodimy 74HC74 ide mimo dosky na dispay dosku musí sa oddeliť dvomi invertormi, aby to neblblo.
Přílohy
Kombi_72LED__G.png
(174.04 KiB) Staženo 55 x
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#51 Příspěvek od procesor »

Na úsporu drôtov by sa dal použiť jednoduchý multiplex, výstupy 74HC594 by boli spojené...LED1 a LED 101 spolu majú jeden vodič, LED2 a LED102 atď.
Spoločný odpor lediek 1...72 sa nepripojí na 5V ale na spínací tranzistor.
Spoločný odpor lediek 101...172 sa nepripojí na 5V ale na iný spínací tranzistor.
Cez vstupy 1 sa budú registre 74HC574 striedavo pripájať jednotlivé rady a s ními aj príslušné napájanie cez spomenuté spínacie tranzistory.
Pridám schému...ochvíľu.
Uživatelský avatar
kutilmil
Pod dozorem moderátorů
Pod dozorem moderátorů
Příspěvky: 4204
Registrován: 01 lis 2008, 00:00
Bydliště: Skalica

#52 Příspěvek od kutilmil »

Nerozumieme si. Ak by to bolo akože "pomojom" tak by išlo 72 drôtov medzi dvomi doskami + nejakých zopät napájanie a signál . neviem teraz presne. ďalšie dosky by už neboli.
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#53 Příspěvek od procesor »

MUX pre ledky
18ks HC574
2ks HC74
1ks HC14
2ks PNP BCxxx
Přílohy
MUX_LED.PNG
(35.96 KiB) Staženo 52 x
termit256
Příspěvky: 10029
Registrován: 06 pro 2007, 00:00

#54 Příspěvek od termit256 »

No, jen na usetreni dratu mi to prijde jako ponekud monstrozni podnik :-)
Netusim jak je to mechanicky provedene, jak daleko draty povedou apod. ale nez tohle asi bych oprasil puvodni myslenku se spinaci a nasadil dokola nejake levne optozavory jako napr tyto za necele 3,-Kc/ks http://www.ebay.com/itm/100PCS-TCRT5000 ... 2ec9223534 a spinal jimi primo led. Kabel muzes pouzit taky treba ploche "ksandy" co se davala k IDE HDD apod.
Pripadne bych to videl jako impulz naucit se pracovat s nejakym MCU, neni to zas tak slozite. Pak by se cela vec skladala vicemene ze 1ks snimace, 1ks MCU a 72ks ledek zapojenych do matice.
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#55 Příspěvek od procesor »

Tie spínače, či optozávory (72ks) je ...ako-tak použiteľné pre ukazovanie polohy v manuálnom režime, ale v režime merania nevyváženosti by to potrebovalo aj tak 2x 72 bitový záznam.

Tých lediek tam bude 216, ani s MCU ich neobslúžiš bez 432 vodičov.
Niektoré časti by s MCU boli oveľa jednoduchšie, žiaľ staviteľ nie je MCU priklonený.
Rýchly nástrel MCU
Matica 8x8 na výstup lediek, to sú dva 8bitové porty.
3 bity z encodéra, dva bity z merača nevyváženosti, ešte 3 bity zostávajú do využitia troch 8bit portov.
Matica vy mohla fungovať v režime 1:4.
Ešte by to zvládlo 4-5 sedem-segmetoviek a nejaké indikácie.

Treba povedať, že zobrazovanie aktuálnel polohy a polohy nevyváženosti je to najjednoduchšie čo by mohla MCU robiť. Nakoniec by sa dostalo aj k monštru MCU (aspoň32 biťák s 500MB RAM 500MB HDD, s full HD 40" minitorom). K tomu 10 ajťákov a dvaja strojný inžiniery, ktorým ani po dvoch rokoch to nebude poriadne fungovať.
termit256
Příspěvky: 10029
Registrován: 06 pro 2007, 00:00

#56 Příspěvek od termit256 »

Ja bral v uvahu tech 72 mechanickych spinacu z puvodniho dotazu. Takhle by musel udelat matici 15x15 na coz by musel pouzit vetsi mcu nebo nejaky port expander co dokaze uvest vystupy do stavu vysoke impedance, pripadne 2x "obycejny" mcu. Na tohle bych zadny 32 bit nedaval, to by nemel byt problem za chvili napsat treba na 51 v asm
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#57 Příspěvek od procesor »

S maticou 8x8 som mal skrat v myslení :) .
O 32biťaku hovorím v súvislosti so zjednodušením HW. Zopár senzorov, grafický monitor. Meranie a vyhodnocovanie uhlov pod 1°. K tomu už je len na krok databáza ráfikov, výpočet hmotnosti závaží...adď.
Akuráť, že sw si treba napísať, ...a tam už treba byť expert aj na mechaniku, prípadne napísať samoučiaci sa program.
Ani do toho by investor nechcel ísť :)
Uživatelský avatar
frpr666
Příspěvky: 1051
Registrován: 28 pro 2009, 00:00

#58 Příspěvek od frpr666 »

Co takhle pužít Arduinomega? Na ebay lze koupit pod 500kč. A pak budit 72 LEDek v multiplexu? Ideově nějak takto:

Kód: Vybrat vše

//
// main.c
// program snima signal A, B enkoderu a rozsvicuje ledky
// signal A je pripojen na int0;
//
// neodzkouseno !

#define input_a (PD0)
#define input_b (PD1)
#define ENCODER_TOTAL (72)

const uint16_t c1z16 = {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768};
const uint8_t c1z8  = {1,2,4,8,16,32,64,128};

uint8_t poloha;
uint16_t temp;
uint8_t column, row;

main()
{
  poloha = 0;

  init_portd();
  init_portf();
  init_portk();
  init_portl();
  init_interrupt();
  while(1)
  {
  }
}

ISR(INT0)
{
  if (bit_is_set(PINB, input_b))
  {
    poloha++;
    if (poloha>(ENCODER_TOTAL-1))
    {
      poloha=0;
    }
  }
  else
  {
    poloha--;
    if (poloha>(ENCODER_TOTAL-1))
    {
      poloha=(ENCODER_TOTAL-1);
    }
  }

// vypocet radku a sloupce binarne
  column= 0x07 & poloha; // roste rychle
  row = poloha>>3;       // roste pomaleji

// zobrazeni v matici (16x8 ledek)
//
// PORTF, roste rychle,  COLUMN, aktivni v nule
// PORTK, roste pomaleji, ROW_L
// PORTL, roste nejpomaleji, ROW_H
// zobrazeni v matici (16x8 ledek)

// zhasnout vse

  PORTF = ~0; // katoda sviti v nule, katody proto negujeme
  PORTK = 0;
  PORTL = 0;

// rozsvitit

  temp = c1z16[row];
  PORTK = (uint8_t) temp;         // roste pomaleji, ROW_L
  PORTL = (uint8_t) temp >>8;     // PORTL, roste nejpomaleji, ROW_H
  PORTF = ~ c1z8[column];         // PORTF, roste rychle,
  // katoda sviti v nule, katody proto negujeme
}
Přílohy
130106_72led.png
(5.73 KiB) Staženo 37 x
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#59 Příspěvek od procesor »

LEDiek je 216
-encoder takýmto spôsobom indikuje polohu na dvoch rôznych miestach pri točení vpred a vzad. Taká chyba je pre encoder "smrtelná".

Musí sa INT generovať na "rising edge" a rovnako aj na "falling edge" v tom istom mechnickom mieste , nezávisle od smeru otáčania. A zároveň sa to musí poznať o ktorý prípad ide. V jednom sa inkrementuje, v druhom dekrementuje, a v ďalších dvoch sa počítadlo polohy nemení.
Uživatelský avatar
kutilmil
Pod dozorem moderátorů
Pod dozorem moderátorů
Příspěvky: 4204
Registrován: 01 lis 2008, 00:00
Bydliště: Skalica

#60 Příspěvek od kutilmil »

Procesor prosim o radu. Ak chyba vyváženia bude trvať počas prebliknutia povedzme 10 led ktorá zostane svietiť? Jedná sa mi oto, či aj za HC 574 stačí na všetky led iba jeden rezistor. schema kombi 72 led
Odpovědět

Zpět na „Řešení problémů s různými konstrukcemi“