bot
Vytvořené odpovědi
-
AutorPříspěvky
-
botÚčastník
Děkuji za Vaše rady.
Pomocí těchto návodů jsem to již předtím zprovoznil.
Teď bych si chtěl napsat něco svého jednoduchého, jelikož to poté chci přepsat do Cečka pro attiny13a. Potřebuji spínat vysílačem 3 nezávislé relé(každé bude mít svůj přijímač). Tedy dle sepnutého tlačítka se odešle patřičný paket, který dešifruje jeden zvolený přijímač (jedno relé). Vesměs jsem našel i hotové řešení a odzkoušené na attiny13a, ale mě zcela nefunguje korektně (vysílač musím držet v prstech ve správné poloze, až poté začne vysílat)
Co jsem tak zkoušel, tak je problém s funkcí delay(). Po odstranění, se již arduino „nezasekne“, ale i tak se chová divně. Nehledě na to, že by měla fungovat bez problému pokud se nepoužije přímo v ISR.
Zkoušel jsem vypnout i přerušení poté co přijme správný packet(„10011100“) a opět ho poté zapnout. To bohužel také nezabralo. Zdá se mi, že je problém s časovači, nejspíše někde přetečou, a proto se arduino chová divně(náhodně), ale vůbec se v tom nevyznám a nevím, kde může být chyba.
Vysílač je dle mě správný, oba signály (z vysílače i přijímače) sleduji na osciloskopu – paket se vždy odešle a přijme správně, ale problém je se zpracováním(u přijímače).botÚčastníkPodařilo se mi aktualizovat USBasp přes arduino, ani nevím jak. Nic méně, už jsem nahrál bootloader do čipu a i sketch(vše proběhlo v pořádku :D).
Děkuji všem zdejším mudrcům, za jejich nevídanou ochotu a čas strávený nad tím.
botÚčastníkPropojil jsem piny, ale když připojím programátor do usb s propojenými piny (nesvítí led a OS nerozezná zařízení) v avrdudess při detectu vyskočí toto:
„Unable to detect MCUavrdude.exe: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor=’www.fischl.de‘ product=’USBasp‘
avrdude.exe done. Thank you.“
Když piny propojím, až po připojení do USB. Tak výsledek detectu je:
„Unable to detect MCUavrdude.exe: set SCK frequency to 1500000 Hz
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: error: programm enable: target doesn’t answer. 1
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.avrdude.exe done. Thank you.“
botÚčastníkAno máte pravdu. Je tam atmega8a, takže jeden neosazený pin je reset(PIN29) a druhý PB2(PIN14).
botÚčastníkFotky jsou zde: https://postimg.org/image/bq7cnr073/ , https://postimg.org/image/9mwxg30e7/
Kupoval jsem ho z ebay: http://www.ebay.com/itm/130682846209?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
Mohl by jste mi prosím poradit ohledně updateu?
Návody, které jsem našel vyžadovali druhý programátor a bojím se, abych si ten oc mám nějak nezničil.
Děkuji.
botÚčastníkTak už mi přišel programátor USBasp.
Když jsem zkoušel vypálit bootloader, hlásí to chybu: „avrdude: warning: cannot set sck period. please check for usbasp firmware update.“
Co jsem tak četl měl by to být problém u starších USBasp programátoru, kterými nešli programovat čipy, běžící o více než 1/2 clock samotného USBasp. Řešením bylo aktualizovat firmware za pomocí jiného programátoru a přepnutím jumperu. Dále jsem se dočetl, že nové USBasp si detekují clock sami a už není nutný update. Což by vysvětlovalo proč na USBasp žádný jumpery nemám.
Nevíte kde může být problém?
Děkuji
botÚčastníkNo asi počkám až mi přijde progrramátor USBasp. Zkusil jsem vymazat čip, vše proběhne asi v pořádku, ale nejde přepsat pojitsku E – při vymazání se nastaví na 0x07.
Převodník jsem zapojoval s rezistorem včetně kondíku, ale pořád to nechce komunikovat (asi tam ten bootlaoder nebude 🙁 ).
Zatím děkuji za všechny vaše návody a rady.
botÚčastníkMyslím, že to byla verze 1.5.9 (byl to první pokus) potom IDE chtělo aktualizovat nějaké desky a začal jsem mít problém již při kompilaci sketche, tak jsem stáhl 1.6.11, ale problém přetrval. Stáhl jsem tedy 1.5.8 – tím jsem zkoušel i ostatní čipy.
Odpor mám zapojený i kondík, ale nejde to.
A lze nějak čip vymazat pomocí arduina? Nebo mám počkat, až mi přijde USBasp programátor?
botÚčastníkTak jsem nahrál upravený sketch a v avrdudess mi to už detekuje a bezproblému přečte pojistky. Všechny brouky to detekuje pokud je zapojen 16MHz krystal.
4 z 5 čipů mají tohle nastavené: https://postimg.org/image/ds1c80r2z/
1 z 5 čip to má takhle: https://postimg.org/image/t1h70c5d7/
má jiné LB.Ale pořád ses mi nedaří do nich nahrát sketch přes ten převodník.
Zkusil jsem dát i 100n ker. kond. DTR -> pin1 (reset), ale i tak to nejde (ani na převodníku nesvítí ledky Rx,Tx).
Jakou desku, programátor při nahrávání sketche mám mít?botÚčastníkMoc se omlouvám nahrál jsem omylem špatnou fotku (je to ta stará špatná).
Tedy druhý link na fotku je špatný.Zde je správná fotka. Je to jenom zapojení toho převodníku – https://postimg.org/image/q2inj563j
botÚčastníkDá se použít tenhle(http://www.gme.cz/prevodnik-usb-uart-reset-pin) převodník?
Když jsem připojil převodník do USB a jeho RX,TX jsem připojil (křížem) k čipu (nahraný bootloader pomocí opitloaderu), skončilo to chybou. Když jsem to stejné udělal s arduino UNO deskou, tedy RX a TX jsem připojil na piny 0, 1, tak to také hodilo desku přičemž arduino normálně funguje. Takže mi ten převodník asi nefunguje správně. Udělal jsem fotky zapojení (https://postimg.org/image/55izd6erd/, https://postimg.org/image/y6nbmkz7d/).
Když zapojím čip podle ISP zapojení – zkusím detekovat v avrdudess, napíše mi to chybu (Unknown signature 000000(retrying)), pokud odendám čip vypíše chybu (Unknown signature FFFFFF(retrying)).
Když nastavím programátor Arudino (v avrdudess), nastavím správný port a baud rate na 115200, detekuje mi to desku arduina, když si přečtu fuse, tak mi to napíše že jsou nastavené na:
L = 0x00
H = 0x00
E = 0x00
LB = 0x00Což je asi špatně? (Deska, ale funguje normálně)
No jinak už včera jsem si objednal USBasp, tak to snad s tím půjde :).
botÚčastníkMěl jsem 5 čipů. Když jsem vzal zcela nový čip ani jednou použitý a vypálil bootloader přes arduinoISP, tak to hodilo chybu a když do toho samého čipu zkusím nahrát bootloader pomocí optiloader, tak to vyhodí chybu:
Target power on! …
Starting Program Mode – Failed, result = 0x0Target power OFF!
Takže nahrát bootlaoder se mi podařilo pouze na nedotknutý čip a pomocí optiLoaderu.
Nevím co z toho lze vyvodit, ale možná se to někomu bude hodit.Tím mě napadá, že čipy nemusí být poškozené ale například jen špatně nastavené pojistky?
Lze čip úplně smazat a přehrát?Jinak moc všem děkuji za Váš čas a ochotu mi pomoc. Opravdu si toho vážím.
PS: Odhaduji, že takhle vypálený bootloader přes OptiLoader využívá interní hodiny 8MHz? Lze to nějak upravit, abych mohl použít externí krystal (16MHz)? Ještě jednou díky.
botÚčastníkTak jsem zkusil optiloader – hodilo fail (na čipu, který jsem dnes zkoušel), dal jsem tam jiný (ze stejného balení) a asi se to tam nahrálo 😀 (jupííí).
V monitoru mi to vypsalo tohle:
ptiLoader Bootstrap programmer.
2011 by Bill Westfield (WestfW)Target power on! …
Starting Program Mode [OK]Reading signature:950F
Searching for image…
Found „optiboot_atmega328.hex“ for atmega328P
Start address at 7E00
Total bytes read: 502Setting fuses for programming
Lock: 3F ABE000 Low: FF ABA000 High: DE ABA800 Ext: 5 ABA400Programming bootloader: 512 bytes at 0x3F00
Commit Page: 3F00:4C3F00
Commit Page: 3F40:4C3F40
Commit Page: 3F80:4C3F80
Commit Page: 3FC0:4C3FC0Restoring normal fuses
Lock: 2F ABE000Target power OFF!
Type ‚G‘ or hit RESET for next chip
botÚčastníkZapojení na fotce jsem udělal dnes nové (už se tím morduji 3 dny, tak jsem se upočítal :D).
Teď jsem zapojení opravil, 5x zkontroloval a mělo by být v pořádku, ale výsledek je stejný :(.
Link na nové zapojení (snad v pořádku): https://postimg.org/image/s431m55an/
botÚčastníkJop, toho napájení jsem si teď také všiml. Mám to špatně jen na obrázku, jinak to zapojení je správné.
Můžu se zeptat jak je špatně zapojený krystal?
Děkuji.botÚčastník1. Měl by být asi oficiální (kupoval jsem ho na ebayi, na desce je napsáno pouze UNO)
2. Ano na čipu je napsáno Atmega328P-PU
A nejde bootloader nahrát jiným způsobem – mám sériový port na pc, tak jestli nejde udělat jednoduchý programátor (koukal jsem na nějaký schémata, kde využili pár odporů a jeden tranzistor – to bych doma našel), ale moc tomu nerozumím…
botÚčastníkStejný výsledek.
botÚčastníkKdyž chci jakýkoliv sketch zkompilovat (IDE 1.6.11) nastane chyba:
exec: „C:\\Users\\matej\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\4.9.2-atmel3.5.3-arduino2/bin/avr-g++“: file does not exist
Nastala chyba při kompilaci u desky Arduino/Genuino Uno.Podařilo sem i nainstalovat avrdudess a při detekci se mi vypsalo v konzoli toto:
Unknown signature 000000(retrying)
botÚčastníkZkusil jsem přidat i kondenzátor, ale bez úspěchu.
Také jsem zkusil stáhnout nový arduino IDE (1.6.11), ale to nefunguje, už při kompilaci – nemůžu mít něco špatně nastavené?
Jinak používám arduino IDE 1.5.8
Udělal jsem foto zapojení s krystalem a kondíkem.
Link na foto: https://postimg.org/image/z3eu1yhnt/
botÚčastníkAno jako programátor mám nastaveno arduino as ISP.
Zkoušej sem to i bez krystalu.
Postupoval jsem dle několika návodů např: (https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard, http://www.itnetwork.cz/hardware-pc/arduino/arduino-samostatny-cip-atmega328p, https://bastlirna.hwkitchen.cz/nas-prvni-klon-arduina/)Zítra bych udělal nějakou dokumentaci a hodím ji sem.
Čipy jsou nové ani jednou použité. Koupil jsem je na ebayi.
Ještě dotaz jakou desku mám mít nastavenou při vypalování?
Jelikož dle návodu na ITnetwork mám mít „Atmega328 on breadbord (8Mhz internal clock)“ a když tak učiním vyhodí to chybu :
Chyba při vypalování zavaděče.
processing.app.debug.RunnerException: Please select a programmer from Tools->Programmer menu
at cc.arduino.packages.uploaders.SerialUploader.burnBootloader(SerialUploader.java:261)
at processing.app.Editor$47.run(Editor.java:2564)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)botÚčastníkMám k dispozici funkční arduino UNO (s smd čipem). To používám jako arduino as ISP, tedy jsem do něj nahrál sketch arduinoISP, připojil i externí LEDky na piny 7, 8, 9 pro signalizaci. Při zapojení arduina do PC mi pulzuje led na pinu 9, když dám vypálit bootlaoder, tak mi jednou blikne led na pinu 7 a v IDE vypíše chyba viz. výše. Zapojení s prázdným čipem používám co je na oficiálním webu s 16mhz krystalem.
Ještě takový poznatek, zapojení mám realizované na bezkontaktním poli, pokud vyjmu prázdný čip ze zapojení hlásí to stejnou chybu.
-
AutorPříspěvky