Bascom dynamický "alias"

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Crifodo
Příspěvky: 14471
Registrován: 11 říj 2005, 02:00

#31 Příspěvek od Crifodo »

Pro Bascom je dost velká diskuzní komunita např. v Německu, tady v Kocourkově je pusto prázdno jako u spousty jiných věcí.

Uživatelský avatar
Mahoney
Příspěvky: 347
Registrován: 26 říj 2019, 02:00

#32 Příspěvek od Mahoney »

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.
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ě.

Uživatelský avatar
scorpions-cz
Příspěvky: 1760
Registrován: 19 bře 2011, 01:00
Bydliště: Jižní Čechy Dačicko

#33 Příspěvek od scorpions-cz »

Tak jsem to napsal pro ATMEGA 32 pro 8 výstupů pomocí CASE a chodí to dobře :lol:

Uživatelský avatar
Crifodo
Příspěvky: 14471
Registrován: 11 říj 2005, 02:00

#34 Příspěvek od Crifodo »

bdn píše: Tak prosím sem s tím kódem bitového posunu a mapování přes union na 3 řádky. :D
Rád se něčemu přiučím.
K prosbě se taky připojuju, taky bych rád viděl to mistrovství...

Uživatelský avatar
Mahoney
Příspěvky: 347
Registrován: 26 říj 2019, 02:00

#35 Příspěvek od Mahoney »

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…

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#36 Příspěvek od rnbw »

Musis mat istotu, ze obvod je uzavrety. Nestaci, ze to "dobre vyzera" vizualne. Palnik je vlastne odpor. Malym prudom preveris obvod a velkym to odpalis.

Uživatelský avatar
scorpions-cz
Příspěvky: 1760
Registrován: 19 bře 2011, 01:00
Bydliště: Jižní Čechy Dačicko

#37 Příspěvek od scorpions-cz »

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
Přílohy
schema.jpg

Kremik
Příspěvky: 3467
Registrován: 30 bře 2012, 02:00
Bydliště: Havířov

#38 Příspěvek od Kremik »

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í.

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#39 Příspěvek od termit256 »

Drobna nevyhoda takoveho postupu se ukaze, kdyz zapomene ten prepinac mereni/odpalovani ve spatne poloze :-)

Kremik
Příspěvky: 3467
Registrován: 30 bře 2012, 02:00
Bydliště: Havířov

#40 Příspěvek od Kremik »

Ve špatné poloze takový test nesmí jít spustit, to považuju za samozřejmé.
V "ostré" poloze by obecně neměl být nikdy, krom odpalování ohňostroje.

Uživatelský avatar
Mahoney
Příspěvky: 347
Registrován: 26 říj 2019, 02:00

#41 Příspěvek od Mahoney »

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 :D Nebylo by dobré, kdyby to kromě klíčku (a tedy obsluhy) měl pod kontrolou i MCU? Napadá mě třeba RFID karta..?

Uživatelský avatar
scorpions-cz
Příspěvky: 1760
Registrován: 19 bře 2011, 01:00
Bydliště: Jižní Čechy Dačicko

#42 Příspěvek od scorpions-cz »

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ě.

Uživatelský avatar
Mahoney
Příspěvky: 347
Registrován: 26 říj 2019, 02:00

#43 Příspěvek od Mahoney »

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.

Uživatelský avatar
scorpions-cz
Příspěvky: 1760
Registrován: 19 bře 2011, 01:00
Bydliště: Jižní Čechy Dačicko

#44 Příspěvek od scorpions-cz »

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.

Uživatelský avatar
samec
Příspěvky: 3692
Registrován: 19 pro 2017, 01:00

#45 Příspěvek od samec »

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

Kód: Vybrat vše

unsigned char p[3] = {0, 0, 0};
#define p123 *((unsigned long int*)p)
obsluha prerušenia časovača

Kód: Vybrat vše

p123 = !p123 ? 1 : p123 << 1;
PORTA = p[0]; PORTB = p[1]; PORTC = p[2];

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“