www.kn34pc.com

Форум на силистренските радиолюбители
Дата и час: 14 Юни 2025, 09:50

Часовете са според зоната UTC + 2 часа




Напиши нова тема Отговори на тема  [ 8 мнения ] 
Автор Съобщение
 Заглавие: ATtiny13А
МнениеПубликувано на: 21 Яну 2022, 10:38 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1581
Местоположение: Силистра
ATtiny13А през Arduino IDE:

– 1 Kbytes of In-System Self-programmable Flash program memory
– 64 bytes EEPROM
– 64 bytes Internal SRAM

MCUdude/MicroCore
https://github.com/MCUdude/MicroCore
Прикачени файлове:
attiny13_blink.gif
attiny13_blink.gif [ 30.34 KiB | Прегледано 2021 пъти ]

Запис на bootloader с Arduino Nano, през Arduino IDE.
Запис на програми: през Arduino Nano, Arduino ISP.

Blink (от примера по-горе):

Прикачени файлове:
blink_attiny13.zip [680 Байта]
120 пъти

Цитат:
Скицата използва 188 байта (18%) от пространството за програми. Максимумът е 1024 байта.
Глобалните променливи ползват 4 байта (6%) от динамичната памет, оставяйки 60 байта за локални променливи. Максимумът е 64 байта.


Върнете се в началото
 Профил  
 
 Заглавие: Re: ATtiny13А
МнениеПубликувано на: 25 Мар 2022, 15:11 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1581
Местоположение: Силистра
При експерименти с вътрешния генератор, при превключване на 128 kHz ATtiny13A се програмира веднъж. Програмата си работи, но чипът отказа всякакво последващо програмиране. Вярно, имаше червени предупреждения ...

Схема и скетч от конструкцията по-долу върна фюзовете в нормалното им състояние.
Необходими са няколко резистора, транзистор и източник +12V:

Restauration des fuses AVR ATtiny avec un Arduin
https://o0tad0o.wordpress.com/2013/05/1 ... n-arduino/
Код за потвърждение:
The code:
Wayne Holder's arduino project code can be retrieved from the project page:
https://sites.google.com/site/wayneholder/attiny-fuse-reset/ATTinyFuseReset.pde?attredirects=0&d=1
Launch the ‘Arduino IDE’ application and paste/open the .pde patch.

Plug in your arduino
connect the battery to the circuit
compile the patch (check that you are using the correct board, in Tools>Board of the Arduino IDE)
upload the patch
open the arduino console (set to 19200 baud)
You should see this appear in the console:

Signature is: FFFF
LFuse: FF, HFuse: FF, EFuse: FF
LFuse: FF, HFuse: FF, EFuse: EE

In the 'Send' field of the IDE console write anything then click on 'Send', the patch runs and will force the value of the fuses according to the value of the ATtiny detected:

Signature is: 930B
LFuse: C0, HFuse: DF, EFuse: FF
LFuse: 62, HFuse: DF, EFuse: FF

That's it! I hope this will be useful to you!


Прикачени файлове:
fuseresetbat.png
fuseresetbat.png [ 31.17 KiB | Прегледано 1978 пъти ]
ATTinyFuseReset.zip [1.37 KiB]
110 пъти
Върнете се в началото
 Профил  
 
 Заглавие: Re: ATtiny13А
МнениеПубликувано на: 27 Мар 2022, 22:39 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1581
Местоположение: Силистра
Успях с помощта на AVRDUDESS и Arduino като ArduinoISP да програмирам ATtiny13A.
Би трябвало да работи при всички AVR.
---
Зареждане на Arduino като програматор:
от примерите: ArduinoISP
Прикачени файлове:
1.jpg
1.jpg [ 154.33 KiB | Прегледано 1973 пъти ]

---
свързване на AVR към изводите на Arduino:
Прикачени файлове:
2.gif
2.gif [ 17.57 KiB | Прегледано 1973 пъти ]

---
AVRDUDESS оттук:
AVRDUDESS - A GUI for AVRDUDE
https://blog.zakkemble.net/avrdudess-a- ... nt-page-5/

Настройки и четене на предварително записани фюзове преди новия запис!
Прикачени файлове:
Untitled-2.jpg
Untitled-2.jpg [ 238.13 KiB | Прегледано 1973 пъти ]

Зареждаме новия файл за запис и GO!, ATtiny13A е записан успешно.


Върнете се в началото
 Профил  
 
 Заглавие: Re: ATtiny13А
МнениеПубликувано на: 13 Апр 2022, 20:43 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1581
Местоположение: Силистра
ATtiny13A, smd SO-8, програматор USBаsp (обновлен), софтуер eXtreme Burner - AVR
ATtiny13A нормално се чете и записва.
Прикачени файлове:
exb.jpg
exb.jpg [ 165.9 KiB | Прегледано 1932 пъти ]

---
ATtiny13A, smd SO-8, програматор USBаsp (обновен), софтуер AVRdudess v2.13 portable
ATtiny13A нормално се чете и записва.
Прикачени файлове:
avrd.jpg
avrd.jpg [ 123.3 KiB | Прегледано 1932 пъти ]


Прикачени файлове:
Коментар на файл: blink на 3-ти извод
blink_c_01.ino_attiny13a_9600000L.zip [333 Байта]
102 пъти
Върнете се в началото
 Профил  
 
 Заглавие: Re: ATtiny13А
МнениеПубликувано на: 17 Апр 2022, 21:01 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1581
Местоположение: Силистра
Може и така: с BASCOM за AVR.
(за мен е "мъка": от средата за писанe, през променливите, до функциите ... :smile).

В помощ:
BASCOM-AVR
https://avrhelp.mcselec.com/index.html?cursor.htm
Код за потвърждение:
$regfile = "attiny13.dat"
$crystal = 9600000

$HWSTACK=40
$SWSTACK=8
$FRAMESIZE =8

Config Portb.0 = Output

Do

Portb.0 = 1
Waitms 100

Portb.0 = 0
Waitms 100

Loop
End


Прикачени файлове:
blink.jpg
blink.jpg [ 77.52 KiB | Прегледано 1918 пъти ]
blink_attiny13a_bascom.zip [40.91 KiB]
104 пъти
Върнете се в началото
 Профил  
 
 Заглавие: Re: ATtiny13А
МнениеПубликувано на: 02 Юли 2022, 18:14 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1581
Местоположение: Силистра
Точност и температурна стабилност на вътрешния осцилатор:

ATtiny13A (не-китайски), internal clock 9 600 000 Hz, +5V, фабр. с-т на OSCCAL
изход към RB0, no prescaler, OCR0A = 3 -> F = 1 200 000 Hz.

измерена честота (27оC): 1 214 654 Hz, нестабилна (напр. +/-300 Hz).
отклонение от калибрационната честота: +1,22 %.

измерена честота след подгряване (лееекичко с духалката ... температура на "усещане с пръст" ~ ок. 50оC :biggrin ): 1 216 245 Hz
отконение от честотата по-горе за dT ~ 23oC: 0,13%

Следващият опит вероятно ще е и с промяна на OSCCAL, но дотук калибрацията и температурната стабилност ме изненада приятно.
За непретенциозни към времето кодове и схеми използване на вътрешния clock е повече от достатъчно.

По-долу: спектър и честота при 27 и 50 градуса (приемник RTL2832U с конвертер).


Прикачени файлове:
1214000_25oC.jpg
1214000_25oC.jpg [ 510.53 KiB | Прегледано 1826 пъти ]
1216500_50oC.jpg
1216500_50oC.jpg [ 513.11 KiB | Прегледано 1826 пъти ]
Върнете се в началото
 Профил  
 
 Заглавие: Re: ATtiny13А
МнениеПубликувано на: 02 Юли 2022, 19:10 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1581
Местоположение: Силистра
По-горе: jitter на вътрешния генератор?
---
Да разсея съмненията: външен clock по CLKI на 8,192 MHz (компютърен? кв. ген., квадратно метално блокче)
(реално измерена честота: 8 191 987 Hz).
по-долу: честота 1 023 987 Hz


Прикачени файлове:
1023987_ext_clock.jpg
1023987_ext_clock.jpg [ 490.96 KiB | Прегледано 1825 пъти ]
Върнете се в началото
 Профил  
 
 Заглавие: Re: ATtiny13А
МнениеПубликувано на: 23 Апр 2024, 08:41 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1581
Местоположение: Силистра
millis() и micros() в MicroCore за ATtiny13A не работи точно (за разлика напр. в Arduino).
От автора на MicroCore:
Цитат:
The ATtiny13 only has one timer, timer0. On "regular" arduinos like the UNO, this timer is used for generating millis() and micros(). On the ATtiny13 I'm using the watchdog for generating millis and micros, which frees timer0. The reason for the error you're seeing is that WDT_vect

https://github.com/MCUdude/MicroCore/issues/23

Би трябвало да не се използваза отчитане на прецизни времеви интервали.
Код за потвърждение:
// ATtiny13A
//                  _____
// RESET/ADC0/PB5 -|  ^  |- VCC
//       ADC3/PB3 -|     |- PB2/ADC1
//       ADC2/PB4 -|     |- PB1
//            GND -|_____|- PB0

uint32_t t = 0;
bool st = false;

void setup() {
  pinMode(4, OUTPUT);
}
void loop() {
  if ((millis() - t) > 500) {
    st ^= 1;
    digitalWrite(4, st );
    t = millis();
  }
}

Лог. анализатор беше включен на работната маса за друга конструкция. Реших за себе си да видя резултатите за millis(). Вижда се отклонението за 1000 ms. Нагрях компонентите със станцията за горещ въздух от стайна температура 21 oC до примерно 50 oC (на докосване с пръст). Видно е отклонението от температурата.
Прикачени файлове:
millis_1000_attiny13a_microcore.jpg
millis_1000_attiny13a_microcore.jpg [ 242.21 KiB | Прегледано 576 пъти ]

---
Същите данни за Arduino Nano с керамичен резонатор. С кварцов резонатор ще бъде още по-добре.
Прикачени файлове:
millis_1000_arduino_nano_ceramic_r.jpg
millis_1000_arduino_nano_ceramic_r.jpg [ 241.82 KiB | Прегледано 576 пъти ]


Върнете се в началото
 Профил  
 
Покажи мненията от миналия:  Сортирай по  
Напиши нова тема Отговори на тема  [ 8 мнения ] 

Часовете са според зоната UTC + 2 часа


Кой е на линия

Потребители, разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Форумът се задвижва от phpBB® Forum Software © phpBB Group
Преведено от yarnaudov.com