AVR kezdőnek

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
csegebiga
Pákabűvész
Hozzászólások: 225
Csatlakozott: 2015. március 27. péntek, 21:27

Re: AVR kezdőnek

HozzászólásSzerző: csegebiga » 2016. november 2. szerda, 8:55

jó lenne egy kapcsolási rajz és egy kód, amin elindulhatnánk.
ez így nagyon kevés info.

Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 995
Csatlakozott: 2009. február 28. szombat, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: AVR kezdőnek

HozzászólásSzerző: SanyiSay » 2016. november 2. szerda, 20:41

.."csak iránymutatás:"

Kódod tele lehet hibával, esetleg a HW rész sem feltétlen tökéletes és még beeshet kontakt, vagy alkatrész hiba, netán ezekből több is, vagy akár mind egyszerre.
Tulajdonképp ez a szép az egész elektronikában, ha minden egyből működne teljesen unalmas lenne. :)

- kódot részeire bontva külön teszteld kapcsolók és egyéb külső egységek nélkül, időzítés, relévezérlés, stb. Szükség esetén a ledvillogtatásig sem szégyen visszamenni.
- programból, prell ellenőrzés kapcsolónál és Junpereknél
- Vezetékek, külső alkatrészek ellenőrzése, forrasztások átnézése, tisztítása
- tápfesz ellenőrzése, szűrés, stabilitás, áramszükséglet
- kész kód, és kapcsolás átnézése, logikai gubancok kiszűrése, esetleg folyamat ábra készítése a könnyebb átlátásért
- meg amit még esetleg kihagytam.

Úgyhogy ha csak általános megoldást keresel, akkor szépen komótosan menj végig minden részleten és ellenőrizd, hogy minden oké e.

Meg aztán ott vannak azok a mocsok kis bagatell hibák amik az orrod előtt vigyorognak, de már olyan ideg az ember hogy nem lát ki a fejéből, így ezekre is el tud menni sok idő. :)

Avatar
szasza7103
Biztosítékgyilkos
Hozzászólások: 53
Csatlakozott: 2012. október 10. szerda, 6:00
Tartózkodási hely: Budapest/Lenti

Re: AVR kezdőnek

HozzászólásSzerző: szasza7103 » 2017. szeptember 15. péntek, 20:55

Sziasztok!

Szeretnék sebességet mérni egy ATmega328p AVR-el. A timer 1-et beállítom, hogy 1 secundundomonként túlcsorduljon ezáltal generál egy megszakítást. Majd ezt osztom a megtett távolsággal és tárolom a memóriában. Az elképzelésem helyes vagy máshonnan kéne megközelítenem a dolgot?

Köszönet a segítségért!

Avatar
SirLeslie
Pákabűvész
Hozzászólások: 245
Csatlakozott: 2005. április 14. csütörtök, 6:00
Tartózkodási hely: Zalaegerszeg
Kapcsolat:

Re: AVR kezdőnek

HozzászólásSzerző: SirLeslie » 2017. szeptember 16. szombat, 6:31

szasza7103 írta:Sziasztok!

Szeretnék sebességet mérni egy ATmega328p AVR-el. A timer 1-et beállítom, hogy 1 secundundomonként túlcsorduljon ezáltal generál egy megszakítást. Majd ezt osztom a megtett távolsággal és tárolom a memóriában. Az elképzelésem helyes vagy máshonnan kéne megközelítenem a dolgot?

Köszönet a segítségért!


Ez így jó, csak ne mentsd másodpercenként az eeprom-ba (véges az írási ciklus, olvasd el az adatlapban)... csinálj feszültségfigyelést valamelyik lábon (gondolom néha ki lesz kapcsolva), programban ilyen készíts hozzá: ha feszültség kisebb az normál tápfeszültségnél és nincsen elementve az adat, akkor érték elmentése (ezzel a feltétellel kikerülöd, hogy kis feszültségnél táplemerülésig újra és újra mentse az adat - így csak egyszer fogja megtenni).


(most rémlett be honnan voltam ilyen okos: csináltam én hasonlót: távolságmérőt, http://users.atw.hu/sirleslie/projektek/fny-kmsz/index.html)

Avatar
szasza7103
Biztosítékgyilkos
Hozzászólások: 53
Csatlakozott: 2012. október 10. szerda, 6:00
Tartózkodási hely: Budapest/Lenti

Re: AVR kezdőnek

HozzászólásSzerző: szasza7103 » 2017. szeptember 16. szombat, 20:32

Bocsánat, félre érthető voltam. Nem az eepromba mentem csak tárolni akarom egy változóban ideiglenesen. Mindenesetre köszönöm az infót!

Avatar
SirLeslie
Pákabűvész
Hozzászólások: 245
Csatlakozott: 2005. április 14. csütörtök, 6:00
Tartózkodási hely: Zalaegerszeg
Kapcsolat:

Re: AVR kezdőnek

HozzászólásSzerző: SirLeslie » 2017. szeptember 16. szombat, 20:37

szasza7103 írta:Bocsánat, félre érthető voltam. Nem az eepromba mentem csak tárolni akarom egy változóban ideiglenesen. Mindenesetre köszönöm az infót!


Ott nincsen megkötés... ameddig csak bírja memóriával az AVR.

Avatar
szasza7103
Biztosítékgyilkos
Hozzászólások: 53
Csatlakozott: 2012. október 10. szerda, 6:00
Tartózkodási hely: Budapest/Lenti

Re: AVR kezdőnek

HozzászólásSzerző: szasza7103 » 2017. szeptember 19. kedd, 20:10

Üdv!

Bascom könyv hol elérhető?
Nem működik a régi link.

Köszönöm!

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9738
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: AVR kezdőnek

HozzászólásSzerző: Robert » 2017. szeptember 21. csütörtök, 13:10

Bascom könyv jelenleg átírás alatt. Letölthető verzió nem lesz belőle. (Visszaélések voltak)
http://www.tavir.hu - a gazda :)

Avatar
szasza7103
Biztosítékgyilkos
Hozzászólások: 53
Csatlakozott: 2012. október 10. szerda, 6:00
Tartózkodási hely: Budapest/Lenti

Re: AVR kezdőnek

HozzászólásSzerző: szasza7103 » 2017. szeptember 21. csütörtök, 17:24

Robert írta:Bascom könyv jelenleg átírás alatt. Letölthető verzió nem lesz belőle. (Visszaélések voltak)

Nekem nem kell letölhető verzió. elég ha tudom olvasni.... néha nagy segítség volt amikor valamit meg akartam lesni.

Avatar
szasza7103
Biztosítékgyilkos
Hozzászólások: 53
Csatlakozott: 2012. október 10. szerda, 6:00
Tartózkodási hely: Budapest/Lenti

Re: AVR kezdőnek

HozzászólásSzerző: szasza7103 » 2017. szeptember 23. szombat, 21:52

SirLeslie írta:
szasza7103 írta:Sziasztok!

Szeretnék sebességet mérni egy ATmega328p AVR-el. A timer 1-et beállítom, hogy 1 secundundomonként túlcsorduljon ezáltal generál egy megszakítást. Majd ezt osztom a megtett távolsággal és tárolom a memóriában. Az elképzelésem helyes vagy máshonnan kéne megközelítenem a dolgot?

Köszönet a segítségért!


Ez így jó, csak ne mentsd másodpercenként az eeprom-ba (véges az írási ciklus, olvasd el az adatlapban)... csinálj feszültségfigyelést valamelyik lábon (gondolom néha ki lesz kapcsolva), programban ilyen készíts hozzá: ha feszültség kisebb az normál tápfeszültségnél és nincsen elementve az adat, akkor érték elmentése (ezzel a feltétellel kikerülöd, hogy kis feszültségnél táplemerülésig újra és újra mentse az adat - így csak egyszer fogja megtenni).


(most rémlett be honnan voltam ilyen okos: csináltam én hasonlót: távolságmérőt, http://users.atw.hu/sirleslie/projektek/fny-kmsz/index.html)



Sziasztok!

Ez az elképzelésem:






$Regfile="m328pdef.dat"
$Crystal=4000000
$hwstack=32
$swstack=8
$framesize=24
'
' Reset PC6 I U I pc5
' PD0 I I Pc4
' PD1 I I Pc3
' hall ic PD2 I I Pc2
' PD3 I I Pc1
' PD4 I I Pc0 tápfesz figyelés
' VCC I I gnd
' GND I I AREF
' xtal1 PB6 I I AVCC
' xtal2 PB7 I I PB5 LCD DB7
' PD5 I I PB4 LCD DB6
' PD6 I I PB3 LCD DB5
' PD7 I I PB2 LCD DB2
' LCD RS PB0 I_____I PB1 LCD E
'
const Timer1Reload = 3036
Config Timer1 = Timer , Prescale = 64
enable interrupts
declare sub lcdscreen
declare sub adcpc0
declare sub szamol
declare sub fordul
enable ovf1
enable int0
on ovf1 szamol
on int0 fordul
dim adcertek as Word
dim kerekjel as integer
dim tav as Integer
dim sebesseg as Integer
config pind.3=input
config pinc.0=input
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Config Lcd = 16 * 2
load timer1, Timer1Reload
do
start timer1


loop
sub adcpc0
Config Adc = Single , Prescaler = Auto

Start Adc
adcertek=getadc (0)
end sub
sub szamol
disable interrupts
kerekjel=kerekjel*75
kerekjel=kerekjel/100
sebesseg=kerekjel/1
sebesseg=sebesseg*3600
sebesseg=sebesseg/100
kerekjel=0
enable interrupts
load timer1, Timer1Reload

end sub

sub fordul
incr kerekjel
incr tav
end sub

Avatar
szasza7103
Biztosítékgyilkos
Hozzászólások: 53
Csatlakozott: 2012. október 10. szerda, 6:00
Tartózkodási hely: Budapest/Lenti

Re: AVR kezdőnek

HozzászólásSzerző: szasza7103 » 2017. szeptember 24. vasárnap, 19:18

Most nézem a sebesség számításom nem is jó. :(


Vissza: “Bascom-AVR nyelvű programozás (AVR programozásának lehetőségei)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 6 vendég