www.kn34pc.com

Форум на силистренските радиолюбители
Дата и час: 30 Май 2024, 22:56

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




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

Регистриран на: 07 Дек 2006, 18:24
Мнения: 1483
Местоположение: Силистра
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 | Прегледано 1580 пъти ]

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

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

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

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


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

Регистриран на: 07 Дек 2006, 18:24
Мнения: 1483
Местоположение: Силистра
При експерименти с вътрешния генератор, при превключване на 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 | Прегледано 1537 пъти ]
ATTinyFuseReset.zip [1.37 KiB]
78 пъти
Върнете се в началото
 Профил  
 
 Заглавие: Re: ATtiny13А
МнениеПубликувано на: 27 Мар 2022, 23:39 
Offline
Аватар

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

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

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

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

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


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

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

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


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

Регистриран на: 07 Дек 2006, 18:24
Мнения: 1483
Местоположение: Силистра
Може и така: с 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 | Прегледано 1477 пъти ]
blink_attiny13a_bascom.zip [40.91 KiB]
79 пъти
Върнете се в началото
 Профил  
 
 Заглавие: Re: ATtiny13А
МнениеПубликувано на: 02 Юли 2022, 19:14 
Offline
Аватар

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

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 | Прегледано 1385 пъти ]
1216500_50oC.jpg
1216500_50oC.jpg [ 513.11 KiB | Прегледано 1385 пъти ]
Върнете се в началото
 Профил  
 
 Заглавие: Re: ATtiny13А
МнениеПубликувано на: 02 Юли 2022, 20:10 
Offline
Аватар

Регистриран на: 07 Дек 2006, 18:24
Мнения: 1483
Местоположение: Силистра
По-горе: 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 | Прегледано 1384 пъти ]
Върнете се в началото
 Профил  
 
 Заглавие: Re: ATtiny13А
МнениеПубликувано на: 23 Апр 2024, 09:41 
Offline
Аватар

Регистриран на: 07 Дек 2006, 18:24
Мнения: 1483
Местоположение: Силистра
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 | Прегледано 135 пъти ]

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


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

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


Кой е на линия

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


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

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