Bascom dynamický "alias"
Moderátor: Moderátoři
Mě je 44, začínal jsem v Basicu na PMD-85, pak na Spectru/Didaktiku, pak GW-basic a Q-basic na PC, Visual Basic, Visual FoxPro... A pak jsem se na PC vyflákl a šel jsem do mikrokontrolérů, a tam to bylo ASM a pak C. Má to cenu, s tím co po tom chceš obzvlášť, a hlavně by ti s tím měl vždycky kdo poradit (a dokonce jsou dnes vesměs všechny ty mikrokontroléry v návrhu čipu optimalizované právě pro C, včetně těch AVR, pro které to píšeš)... ale je to samozřejmě na tobě.scorpions-cz píše:Mahoney
Abych ti odpověděl tak postupně. Je mi 51 roků a začínal jsem na IQ151 kterej byl v Basicu. Ten BASIC se mi tak nějak zamlouvá, neříkám že bych se C nenaučil, ale nevím jestli to má cenu začínat. Bascom mám legálně přes 10 let, ale nedělám toho mnoho a tak se občas potřebuju na něco zeptat.
Zatím to řeším v teoretické rovině a některé věci si zkouším na ATMEGA 32. V tom finálním projektu bude AVR128DB64. Bude tam 20 odalovacích pozic, 1 vstup pro aktivaci, 8 vstupů pro dva palcové BCD přepínače( pro nastavení času) 21 kanálů ADC kde 20 kanálů bude sledovat 20 větví( jako připojení palníku a pod.) a jeden bude sledovat napětí baterie. Bude tam taky 21 adresovatelnejch LEDek pro indikaci připojení palníku atd a jedna bude odrážet stav baterie.
Bohužel BASCOM tento čip bude umět až ve verzi 2085 a ta vyjde někdy koncem roku, teď je ve druhé testovací fázi.
- scorpions-cz
- Příspěvky: 1760
- Registrován: 19 bře 2011, 01:00
- Bydliště: Jižní Čechy Dačicko
Nechal bych to být… Možná si trochu honil ego, možná to jen trochu nadnesl, každopádně nemá cenu si honit ego na něčí chybě (nebo egu, to je jedno) - není to věcné, zapleveluje to diskusi, štve lidi proti sobě, a nic z toho přitom není.
Zajímala by mě úplně jiná věc (teoreticky, čistě ze zvědavosti): Jaký je důvod (tím myslím, že mě to fakt zajímá, ne že bych to chtěl nějak zpochybňovat) k tomu, že se sleduje 20 vstupů (připojení palníku) pomocí A/D převodníku? To se přeci stejně kontroluje vizuálně, ne? A navíc - to má nějakou vodivost? Co s tím pak udělá HW a program, přepne při požadavku odpálení (spuštění sekvence) na výstup a přes nějaký tranzistor to inicializuje (a nezapojené vynechá)? Jinými slovy, nerozumím tomu, jaký je důvod k tomu to detekovat…
Zajímala by mě úplně jiná věc (teoreticky, čistě ze zvědavosti): Jaký je důvod (tím myslím, že mě to fakt zajímá, ne že bych to chtěl nějak zpochybňovat) k tomu, že se sleduje 20 vstupů (připojení palníku) pomocí A/D převodníku? To se přeci stejně kontroluje vizuálně, ne? A navíc - to má nějakou vodivost? Co s tím pak udělá HW a program, přepne při požadavku odpálení (spuštění sekvence) na výstup a přes nějaký tranzistor to inicializuje (a nezapojené vynechá)? Jinými slovy, nerozumím tomu, jaký je důvod k tomu to detekovat…
- scorpions-cz
- Příspěvky: 1760
- Registrován: 19 bře 2011, 01:00
- Bydliště: Jižní Čechy Dačicko
To že připojíš palník do svorek, neznamená, že je opravdu zapojenej. Taky může být palník přerušenej( jasně dal by se změřit před použitím ohmetrem). Takhle to bude fungovat následovně. Pokud nebude připojenej palník, bude u svorky svítit led modře. Pokud ho připojím bude svítit led zeleně a když připojím klíčkem odpalovací napětí, zapojený pelníky budou svítit červeně. Pokud by byl šluslej FET, tak se u daný pozice led nerozsvítí.
Palník má řádově nekolik ohmů. Programově by šlo udělat, aby se nezapojené pozice vynechaly, ale je to zbytečné, přes Rx poteče FETEM min. proud.
Píšu z PC kde nemám EAGLA a tak schéma dávám črtnutý rukou.
Není to celé můj nápad, hodně mě nasměroval a poradil TERMIT256.
Český palníky mají bezpečnej proud palník středně odolný 0,45A a nízko odolnej 0,18A. Tady v testu poteče něco kolem 1-2mA
Palník má řádově nekolik ohmů. Programově by šlo udělat, aby se nezapojené pozice vynechaly, ale je to zbytečné, přes Rx poteče FETEM min. proud.
Píšu z PC kde nemám EAGLA a tak schéma dávám črtnutý rukou.
Není to celé můj nápad, hodně mě nasměroval a poradil TERMIT256.
Český palníky mají bezpečnej proud palník středně odolný 0,45A a nízko odolnej 0,18A. Tady v testu poteče něco kolem 1-2mA
Pro všechny palníky stačí jeden vstup, 19 vstupů tak vůbec nemusíš nikam tahat. Jen napětí nebudeš snímat až za palníkem (spoj palník - FET), ale před ním (uzel 12kΩ - všechny palníky). Postupně vyšleš pulzy do každého FETu a sledovat budeš pořád jeden a tentýž vstup. Pokud bude konkrétní palník příslušející buzenému FETu správně zapojen, na společném uzlu klesne napětí.
Dobře, asi chápu a děkuji za vysvětlení, ale asi jsem se v jednom místě nevyjádřil úplně přesně: Proč pomocí A/D převodníku? Digitální vstupní pin to nedokáže sejmout? A navíc, jestli to dobře chápu, se (podle toho schématu) může stát, že když budeš mít šluslej FET a omylem k tomu připojíš palník, tak bude odpálen, chápu to dobře (ono někdy nemusí stačit, že "světlo svítí", někdy má zatmění člověk, tedy "vizuálně" by nemělo stačit ani tady)? Ten přepínač vpravo nahoře je klíček?
Edit: Aha, je, termit256 to osvětlil Nebylo by dobré, kdyby to kromě klíčku (a tedy obsluhy) měl pod kontrolou i MCU? Napadá mě třeba RFID karta..?
Edit: Aha, je, termit256 to osvětlil Nebylo by dobré, kdyby to kromě klíčku (a tedy obsluhy) měl pod kontrolou i MCU? Napadá mě třeba RFID karta..?
- scorpions-cz
- Příspěvky: 1760
- Registrován: 19 bře 2011, 01:00
- Bydliště: Jižní Čechy Dačicko
Kremik to máš pravdu, ALE když podle tvého přepnu přepínač před začátkem odpalu do polohy PAL, tak skončí testování a ledky mi budou svítit podle posledního proběhlého testu. Pokud potom třeba nějak neodborně pohnu dráty a ztratím kontakt, tak už to neuvidím.
Mahoney Ano pokud bude šluslej FET, tak se nerozsvítí daná kontrolka. Šlo by pomocí dalšího trandu, nebo malého relé udělat, že když bude fet do zkratu, tak nepůjde vůbec připojit odpalovací napětí. Tím bych ale vyřadil celej seqencer.
K proražení trandu by však nemělo dojít, budou předimenzovaný a ikdyž by palníky šly do zkratu, tak nějakoj odpor mají přívodní vodiče a odpor 1R/10W zajistí max proud FETem na 12A (bez odporu palníků a přívodních vodičů)
Nevím jak myslíš to sejmout digitálním pinem. Bude to mít 4 možné stavy:
- poloha test šluslej FET nebude svítit ledka žádnou barvou
- poloha test nezapojenej palník ledka svítí modře
- poloha test zapojenej palník ledka svítí zeleně
- poloha pal nezapojenej palník ledka svítí modře, zapojenej palník ledka svítí červeně.
Mahoney Ano pokud bude šluslej FET, tak se nerozsvítí daná kontrolka. Šlo by pomocí dalšího trandu, nebo malého relé udělat, že když bude fet do zkratu, tak nepůjde vůbec připojit odpalovací napětí. Tím bych ale vyřadil celej seqencer.
K proražení trandu by však nemělo dojít, budou předimenzovaný a ikdyž by palníky šly do zkratu, tak nějakoj odpor mají přívodní vodiče a odpor 1R/10W zajistí max proud FETem na 12A (bez odporu palníků a přívodních vodičů)
Nevím jak myslíš to sejmout digitálním pinem. Bude to mít 4 možné stavy:
- poloha test šluslej FET nebude svítit ledka žádnou barvou
- poloha test nezapojenej palník ledka svítí modře
- poloha test zapojenej palník ledka svítí zeleně
- poloha pal nezapojenej palník ledka svítí modře, zapojenej palník ledka svítí červeně.
Asi chápu… ono je to i o tom, že v tom schématu nejsou uvedeny hodnoty rezistorů, tak se pak hůř chápe, jak to bylo myšleno.
Právěže jo, tak bych to řešil, kdybych to měl stavět já, odstavil bych to celý, když by HW byl někde v nepořádku… Tak nějak se mi příčí myšlenka, že bych něco odpaloval něčím, co není úplně na 100 %… i kdybych kvůli tomu měl mít v batohu ještě jeden náhradní sekvencer.
Právěže jo, tak bych to řešil, kdybych to měl stavět já, odstavil bych to celý, když by HW byl někde v nepořádku… Tak nějak se mi příčí myšlenka, že bych něco odpaloval něčím, co není úplně na 100 %… i kdybych kvůli tomu měl mít v batohu ještě jeden náhradní sekvencer.
- scorpions-cz
- Příspěvky: 1760
- Registrován: 19 bře 2011, 01:00
- Bydliště: Jižní Čechy Dačicko
Já netvrdím, že to tak neudělám. Stejně tam budu muset udělat nějak opožděný připojení odpalovacího napětí, pro případ, že se nechá přepínač v poloze PAL a seqencer se zapne. Myslím tím náhodný stav na portech při zapnutí .
Těch seqencerů budu mít určitě víc, sám pro sebe jich chci postavit aspoň 10.
Těch seqencerů budu mít určitě víc, sám pro sebe jich chci postavit aspoň 10.
Trochu som sa sekol, cez union to asi tak ľahko nepôjde. Registre portov sú pevne v pamäti a asi nie pokope.
definicie, deklarácie
obsluha prerušenia časovača
definicie, deklarácie
Kód: Vybrat vše
unsigned char p[3] = {0, 0, 0};
#define p123 *((unsigned long int*)p)
Kód: Vybrat vše
p123 = !p123 ? 1 : p123 << 1;
PORTA = p[0]; PORTB = p[1]; PORTC = p[2];