Attiny45 kezdő kérdések

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Válasz küldése
Avatar
kamumak
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2012. május 24. csütörtök, 6:00

Attiny45 kezdő kérdések

Hozzászólás Szerző: kamumak »

Sziasztok!

Hogyan kell ADC-t konfigolni bitekkel bascom alatt?

Attiny13-hoz ez a config jó:

Kód: Egész kijelölése

 Config Adc = Single , Prescaler = Auto , Reference = Internal 
Attiny45-alatt nem jó, elolvastam, az attiny45 leírását , mik a lehetőségek:
(VCC used as Voltage Reference, External Voltage Reference at PB0 (AREF) pin, Internal 1.1V Voltage Reference, Reserved, Internal 2.56V Voltage Reference without external bypass
capacitor, Internal 2.56V Voltage Reference with external bypass capacitor)

Valamint a bascom helpjét:
REFERENCE: Some chips like the M163 have additional reference options.
Value may be OFF , AVCC or INTERNAL. See the data sheets for the different modes.
Some newer micro's support also : INTERNAL_1.1, INTERNAL_2.56,INTERNALEXTCAP

Super, nekem az internál kellene, INTERNAL_1.1 megfelel.
Ezzel próbálkoztam de nem jó:

Kód: Egész kijelölése

 Config Adc = Single , Prescaler = Auto , Reference = Internal_1.1 
Mivel ez így nem jó, hátha bitekkel meg tudom adni, de keveset olvastam valószínű, mert nem jövök rá...
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Hi!
Regiszter Bit állítással:

Kód: Egész kijelölése

Config Adc = Single , Prescaler = Auto                      ', Reference = Internal1.1
Admux.refs0 = 0
Admux.refs1 = 1
Admux.refs2 = 0
8) :?:
Avatar
kamumak
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2012. május 24. csütörtök, 6:00

Hozzászólás Szerző: kamumak »

kapu48 írta:Hi!
Regiszter Bit állítással:

Kód: Egész kijelölése

Config Adc = Single , Prescaler = Auto                      ', Reference = Internal1.1
Admux.refs0 = 0
Admux.refs1 = 1
Admux.refs2 = 0
8) :?:
Köszönöm!
A hozzászólást 1 alkalommal szerkesztették, utoljára kamumak 2012. május 25. péntek, 10:50-kor.
Avatar
kamumak
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2012. május 24. csütörtök, 6:00

Hozzászólás Szerző: kamumak »

Ventilátor vezérlés, hőfok függvényében, avagy hőfokszabályozás ventilátorral


Adott egy Attiny45 (mert ez volt itthon), és egy már más által elkészített project, de nem basicben írva, attiny13-ra:
http://www.hobbielektronika.hu/kapcsola ... _venti.gif
illetve
http://www.hobbielektronika.hu/kapcsola ... mit=%3E%3E

Segítségetekkel az alábbit sikerült össze raknom; szimuláción jónak tűnik /full speed kihagyva!/
Mi a véleményetek?

Kód: Egész kijelölése

$regfile = "attiny45.dat"
$crystal = 1000000

$hwstack = 32
$swstack = 16
$framesize = 40

Config Portb.0 = Output                                     'pin5
Config Portb.1 = Output                                     'pin6
Tccr0a = &B10000001
Tccr0b = &B00000011
Config Adc = Single , Prescaler = Auto
'Reference = Internal1.1
Admux.refs0 = 0
Admux.refs1 = 1
Admux.refs2 = 0

Dim Adcin As Word
Dim Fan As Byte

Start Adc

Do

  Adcin = Getadc(3)                                         'pin2
  If Adcin > 635 Then
   Fan = 255
  Elseif Adcin < 584 Then
   Fan = 90
  Else
   Adcin = Adcin - 584
   Fan = Adcin * 3
   Fan = Fan + 90
  End If
  Ocr0a = Fan

  Adcin = Getadc(2)                                         'pin3
  If Adcin > 635 Then
   Fan = 255
  Elseif Adcin < 584 Then
   Fan = 90
  Else
   Adcin = Adcin - 584
   Fan = Adcin * 3
   Fan = Fan + 90
  End If
  Ocr0b = Fan

  Waitms 60
  Loop

End
Köszönöm az eddigi segítségeteket, sokat segít a fórum és az oldal is, sokat lehet tanulni ...
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

A TUTIT!
Csak ha összedrótozod 1 próba panelon, akkor tudod meg.
:wink:
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A proci belső hőmérőjével nem játszol?

A
Tccr0a = &B10000001
Tccr0b = &B00000011

helyett config timerx=pwm, sorokat lesném meg...


Config Adc = Single , Prescaler = Auto
'Reference = Internal1.1
Admux.refs0 = 0
Admux.refs1 = 1
Admux.refs2 = 0

helyett:

Config Adc = Single , Prescaler = Auto , reference = internal

Ocr0a = Fan helyett
PWM0A = Fan

És így tovább. Bascom alól regiszterek írása a kódot hordozhatatlanná teszi.... ha új chipre fordítod, a lesheted át a regiszterek elnevezését.
Ha meg a PWM0A-ra hivatkozol a T13tól a Mega2560-ig mindre jó lesz:).
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Nem olvastál figyelmesen!

Nem tudja Bascomban be állítani az: Internal 1.1V Voltage Reference-t

Ezért javasoltam a kézi Regiszterírást.
Adatlap szerint:
http://www.atmel.com/Images/doc2586.pdf 138. oldal
17.13.1 ADMUX – ADC Multiplexer Selection Register

De ha van jobb módszer? ….


:?: :!:

Viszont nekem igy elfogadta:

Kód: Egész kijelölése

Config Adc = Single , Prescaler = Auto , Reference = Internal_1.1    
:lol:
Válasz küldése