cwbe coordinatez:
101
63533
766908
2016246
6501894

ABSOLUT
KYBERIA
permissions
you: r,
system: public
net: yes

neurons

stats|by_visit|by_K
source
tiamat
K|my_K|given_K
last
commanders
polls

total descendants::3
total children::3
1 ❤️


show[ 2 | 3] flat


robo0
scarce0
Forum o mikrokontroleroch




  • 000001010006353300766908020162460650189407045828
    NiO 08.02.2013 - 02:58:04 (modif: 08.02.2013 - 17:21:13) level: 1 UP [6K] New Content changed
    ibutton - bezne rozsirene elektronicke ID pouzivane na odomykanie vchodovych dveri na barakoch a ktovie na co vsetko

    Mam jeden ibutton na klucoch a denno-denne ho pouzivam tak ma celkom zaujimalo ako sa ta technologia pouziva.

    Vyraba ho firma Maxim, existuje viac variant ibuttonov, niektore obsahuju iba 64 bitove ID, a tiez su take co obsahuju nejakych par kilobitov pamate, niektore sa daju prepisovat a na niektore sa iba zapisuje.

    Zoznam sa da najst napr. tu aj s popisom komunikacie: app74.pdf

    Obal ibuttonu je plochy okruhly a ocelovy a pripomina male ploche baterky. Ma na sebe iba 2 kontaktne plochy:
    - ta co zabera chrbat a bok je GND
    - ta mensia spredu sluzi zaroven na napajanie a data

    Takto vyzera moj provizorne vyrobeny konektor, boli pouzite 2 kusy M3 skrutiek a maly kus preskrabanej DPS:
    ibuttonholder.jpg

    'Paraziticke' napajanie je zaujimave, funguje to vdaka tomu, ze datova zbernica na ktoru sa ibutton pripoji ma 4.7kOhm pullup rezisor, takze je na zbernici pritomne stabilne napajacie napatie, ak sa prave nekomunikuje.

    Komunikacia: je pouzity "1 wire bus",
    principalne ked je zbernica idle, je na nej pritomne napajacie napatie ... HIGH
    komunikaciu zahaji master stahovanim zbernice na 0V... LOW

    Elektricke rozhranie s MCU:
    DATA pin ibuttonu je zapojeny na 5V cez 4k7 pullup rezistor. (Mozno pojde aj 3.3V)
    Na tahanie DAT dolu sa da pouzit NPN tranzistor s bazou pripojenou k vystupnemu digit. pinu na arduine cez rezistor 1k. Potom, vysielanie 1 a 0 je invertovane.
    Tu je ina podobna schema s FET tranzistorom z [2]:
    ibuttonreadcircuit.jpg


    Cely podstatny postup pouzivania zbernice je zhrnuty v tejto tabulke:
    onewirecmds.jpg
    Tabulka je z pohladu mastera, v casovani vysielania nul alebo jednotiek je uz zahrnuta pauza medzi vysielanymi bitmi.

    Datasheet od konkretneho ibuttonu je tu

    So samotnym ibuttonom sa pracuje takto:
    1. resetuje sa zbernica
    2. v istom okamihu po resete sa da zachytit presence impulz od ibuttonu
    3. master odvysiela 8 bitov znaciacich prikaz read ROM (33h alebo 0Fh) v LSB poradi napr 33 hexa bude 1, 1, 0, 0, 1, 1, 0, 0
    4. potom master 64 krat precita bit z ibuttonu
    5. skontroluje sa ci sedi CRC a ak nie moze sa citanie opakovat

    v 64 bitoch sa nachadza (v poradi od prveho po posledny prijaty byte):
    8 bitov pre family code (pride v bitovom poradi LSB)
    48 bitov (iba) je ID kluca (pride v bitovom poradi LSB a navyse prvy byte je LSB byte, takze na puzdre su napisane bytey v opacnom poradi)
    8 bitov je CRC (pride v bitovom poradi LSB)

    ibuttoncode.jpg
    Cely kod je laserom vypaleny na obale kluca ale ten sa nosenim doskriabe tak ze to chvilu trva z neho precitat. Vlavo hore na obrazku 89 hexa znaci checksum, vpravo hore 01 hexa je family code a 00 00 00 FB C5 2B je samotne ID kluca.

    Postup vypoctu CRC je popisany v datasheete.

    Pointa: Precitanie dat z ibuttonu je praca na jeden az 2 nudne vecery, ak sa k tomu prida ten treti az stvrty moze vzniknut projekt elektronickeho dveroveho zamku alebo niecoho trochu ineho... klonovaheho kluca. Tiez sa da dat dokopy siet digitalnych teplomerov (tie este nemam) ktora si vystaci s dvojlinkou.

    Bezpecnost ibuttonov: ibutton sa nelisi od obycajneho kluca tym, ze sa da ukradnut, stratit alebo kopirovat Len netreba zabudat ze jeho skopirovanie/emulacia je po technickej stranke trivialne jednoducha, aj ked sa to neda zariadit na kazdom rohu alebo v Tescu ako s klasickym mechanickym klucom... hotove riesenia sa daju kupit, napr. z ciny.
    Tu je nejake info o utoku na platobny system Bostonskeho metra

    Co treba na (aspon) precitanie ibuttonu:
    arduino, seriovu komunikaciu s PC,
    ibutton konektor, 4k7 rezistor, 1k rezistor a tranzistor.

    rozne odkazy:
    [1] datasheet k ibuttonu DS1990R
    [2] ako komunikovat
    [3] komunikacia s pouzitim PIC uc
    [4] ake existuju 1 wire zariadenia
  • 000001010006353300766908020162460650189406742161
    NiO 14.07.2012 - 13:00:22 (modif: 08.02.2013 - 02:01:17) level: 1 UP [1K] New Content changed
    --work in progress--

    *=*=*=video=*=*=*

    Nejaky nemec navrhol programator USB ASP, je kompatibilny s programom avrdude, bezi na linuxe aj windowse. Nedavno som si ho objednal z ebayu potom co som zbadal ze stoji iba 3.8$ aj s postovnym. Tu su moje skusenosti:

    Programator som objednaval od obchodnika yourlab a prislo to za 10 dni (slusny vykon na Cinu).
    Je na nom napisane USB ASP V2.0 Lcsoft Studio.
    Ma na sebe 2x5 pinovy konektor ktory pasuje do samoreznych konektorov na ploche datove kable (ako stary IDE/floppy kabel).

    Doma som si urobil breadboard s paticou pre atmega8, takym 2x5 pinovym konektorom aby som mal kde zapojit USB ASP a este som pridal kopu 2.54 kolikov aby som sa dostal ku kazdemu pinu procesora.

    Mam Windows 7 64 bit a software pre programator som zlozil z tychto 2 archivov:
    USBasp-win-driver-x86-x64-ia64-v1.2.4.zip
    avrdude-5.11-Patch7610-win32.zip

    Pri pouzivani s avrdude vyhadzuje warning ze sa neda zmenit rychlost SCK hodin.
    Podarilo sa mi nahrat blikaci test do 5 roznych AVR-iek a to 3x atmega8, atmega168 a atmega32 a to niektore boli prepoistkovane :)
    S tymi co nereagovali som si poradil tak ze som im pustil do vstupu XTAL1 16MHz obdlznik, potom sa zase dali prepoistkovat. Ten obdlznik som ziskal z monolitickeho oscilatora z GME.

    UPDATE: na mojom kuse su naletovane 3 piny vdaka ktorym sa da vybrat medzi 3.3V a 5V ako napajacim napatim ktore doda programator mikroprocesoru.
  • 000001010006353300766908020162460650189406497579
    Synapse creator 13.02.2012 - 01:27:26 (modif: 15.02.2012 - 19:28:16) level: 1 UP [2K] New Hardlink Content changed

    TI Launchpad


    Vyvojova doska za 4.3$, doprava z USA zdarma, clo zdarma, no nekupte to.

    300px-LaunchPad_wireframe.PNG

    doska


    Pripaja sa k PC pomocou USB, ma to obvody umoznujuce nahravat novy kod, ladenie - krokovat kod v mikrokontroleri, pozerat do registrov a pod.
    Na doske su 2 LED a jedno user a reset tlacitko. Okrem toho tu je patica na uc, volne miesto na krystal 'napajkuj si sam prilozeny mikrokrystal'. Vsetky piny su vyvedene na 2x jednoradove 2.54 koliky (prilozene su dutinky kto si chce vymenit...)
    Prilozene su: MSP430G2553 a MSP430G2452, oba su 16 bitove.

    software


    Na linuxe je mspdebug, ktorym sa da do uc nahrat novy kod a ladit ho. Kod v linuxe skompiluje msp430-gcc. Vo windows staci mat Code Composer Studio za registraciu na TI stranke, dokaze sa spojit priamo s doskou a ukazovat ktory riadok sa prave spustil a pod., obsahuje demo kody.

    napaleny demo kod


    blika striedavo s LED, po stlaceni user buttonu zacne vysielat ASCII znak so zmeranou teplotou vo fahrenheitoch cez sw seriovy port -> obvody na doske -> USB -> na virtualny COM port na PC

    zadrhely


    CCS web instalator vo windows zlyhal s chybou cannot create socket... stahoval som ten kompletny
    Skusal som kompilovat msp430-gcc pomocou navodu v odkazoch, no zastavilo sa to, neviem preco... pouzil som verziu z Fedora repozitaru. Hlavickove subory pre jednotlive modely uc su nedokoncene... chybaju napr. tie pre model MSP430G2553 a treba dohladavat premenne v hlavickach pre ine modely.

    User tlacitko na pine P1.3 nema v hw pullup rezistor takze sa stale javi v log. 0 az kym sa nezapne interny pullup rezistor v uc...
    pre moj MSP430G2553:
    P1DIR&=~0x08; // P1.3 bude vstup
    P1OUT|=0x08; // bude to pull-up
    P1REN|=0x08; // povoli pullup rezistor

    V linuxe na 2 strojoch sposobuje prilozene demo nepredvidatelne chovanie seriovej komunikacie, na jednom stroji treba:
    1. odpojit kit z USB
    2. zapojit kit
    3. resetovat kit
    4. az potom sa pokusat nastavit a otvorit COM port /dev/ttyACM0

    odkazy


    hackaday, ako na launchpad v linuxe
    nejaky tutorial
    datasheet od MSP430G2553, nieje tam vsetko
    datasheet od rodiny MSP430x2xx, popisane periferie
    o pull-up rezistore pre push button
    more children: (3)
  • 000001010006353300766908020162460650189406497579
    NiO 13.02.2012 - 01:27:26 (modif: 15.02.2012 - 19:28:16) level: 1 UP [2K] New Content changed

    TI Launchpad


    Vyvojova doska za 4.3$, doprava z USA zdarma, clo zdarma, no nekupte to.

    300px-LaunchPad_wireframe.PNG

    doska


    Pripaja sa k PC pomocou USB, ma to obvody umoznujuce nahravat novy kod, ladenie - krokovat kod v mikrokontroleri, pozerat do registrov a pod.
    Na doske su 2 LED a jedno user a reset tlacitko. Okrem toho tu je patica na uc, volne miesto na krystal 'napajkuj si sam prilozeny mikrokrystal'. Vsetky piny su vyvedene na 2x jednoradove 2.54 koliky (prilozene su dutinky kto si chce vymenit...)
    Prilozene su: MSP430G2553 a MSP430G2452, oba su 16 bitove.

    software


    Na linuxe je mspdebug, ktorym sa da do uc nahrat novy kod a ladit ho. Kod v linuxe skompiluje msp430-gcc. Vo windows staci mat Code Composer Studio za registraciu na TI stranke, dokaze sa spojit priamo s doskou a ukazovat ktory riadok sa prave spustil a pod., obsahuje demo kody.

    napaleny demo kod


    blika striedavo s LED, po stlaceni user buttonu zacne vysielat ASCII znak so zmeranou teplotou vo fahrenheitoch cez sw seriovy port -> obvody na doske -> USB -> na virtualny COM port na PC

    zadrhely


    CCS web instalator vo windows zlyhal s chybou cannot create socket... stahoval som ten kompletny
    Skusal som kompilovat msp430-gcc pomocou navodu v odkazoch, no zastavilo sa to, neviem preco... pouzil som verziu z Fedora repozitaru. Hlavickove subory pre jednotlive modely uc su nedokoncene... chybaju napr. tie pre model MSP430G2553 a treba dohladavat premenne v hlavickach pre ine modely.

    User tlacitko na pine P1.3 nema v hw pullup rezistor takze sa stale javi v log. 0 az kym sa nezapne interny pullup rezistor v uc...
    pre moj MSP430G2553:
    P1DIR&=~0x08; // P1.3 bude vstup
    P1OUT|=0x08; // bude to pull-up
    P1REN|=0x08; // povoli pullup rezistor

    V linuxe na 2 strojoch sposobuje prilozene demo nepredvidatelne chovanie seriovej komunikacie, na jednom stroji treba:
    1. odpojit kit z USB
    2. zapojit kit
    3. resetovat kit
    4. az potom sa pokusat nastavit a otvorit COM port /dev/ttyACM0

    odkazy


    hackaday, ako na launchpad v linuxe
    nejaky tutorial
    datasheet od MSP430G2553, nieje tam vsetko
    datasheet od rodiny MSP430x2xx, popisane periferie
    o pull-up rezistore pre push button
    more children: (3)