Show Posts
Pages: [1] 2 3 ... 5
1  International / Deutsch / Re: Inbetriebnahme Atmega324P-20AU - Bootloader brennen on: December 12, 2013, 04:05:41 am
Steht oben, er nutzt den Uno
2  International / Deutsch / Re: Heizungssteuerung für einen Behälter on: December 01, 2013, 05:33:58 am
Ja, die Library rechnet mit double.
Versuche die mal demnächst umzustricken.

In der Board.txt ist der maximale Speicher falsch angegeben. Hatte die Daten ohne zu überlegen kopiert und die Reserve für den Bootloader nicht beachtet.

Code:
atmega8a.name=ATmega8-16PU (standalone without OSZ)

atmega8a.upload.protocol=stk500
atmega8a.upload.maximum_size=7168
atmega8a.upload.speed=19200

atmega8a.bootloader.low_fuses=0xE4
atmega8a.bootloader.high_fuses=0xD9
atmega8a.bootloader.path=atmega8
atmega8a.bootloader.file=ATmegaBOOT-prod-firmware-2009-11-07.hex
atmega8a.bootloader.unlock_bits=0x3F
atmega8a.bootloader.lock_bits=0x0F

atmega8a.build.mcu=atmega8
atmega8a.build.f_cpu=8000000L
atmega8a.build.core=arduino
atmega8a.build.variant=standard

Könnte damit dann sogar klappen.
3  International / Deutsch / Re: Mega328P seriell programmieren on: December 01, 2013, 05:00:29 am
Der einfache Weg ist mit einen ISP-Programmer.
http://www.ebay.de/itm/USB-ISP-USBASP-Programmiergerat-Programmierer-fur-Atmel-AVR-ATMEGA8-ATTiny-NEU-/400509256882?pt=Wissenschaftliche_Ger%C3%A4te&hash=item5d403644b2

Ansonsten kannst du ein anderes Board als ISP-Programmer für standalone nutzen.

Serielle Kommunikation muss nur in den Fuses freigegeben sein, dann kannst du die Hardware-Serial-Pins nutzen.

Dann die Touturials zu Standalone lesen udn verstehen und alles geht seinen weg smiley-wink

EDIT:
Kommt halt drauf an was du machen möchtest.
Wenn du den Arduino Bootloader nutzen möchtest, dann am einfachsten so wie im nächsten Post.
4  International / Deutsch / Re: Heizungssteuerung für einen Behälter on: December 01, 2013, 04:24:35 am
Quote
Sketchgröße: 7.706 Bytes (von einem Maximum von 7.168 Bytes)
Tja, 8kB Flash ist knapp, mit Arduino Software.
Nicht umsonst ist Arduino gleich auf den 168 umgestiegen und selbst der UNO ist heute ein 328.
Aber hat der ATMEGA8 nicht auch eine Hardware-Serial Schnittstelle?  Wofür brauchst du AltSoftSerial?

sonst:
A) Benutzt du/deine PID library float - Arithmetik. Das macht zwar vieles einfacher, kostet aber...
     Eine sportliche Herausforderung : PID in 16 bit Integer-Arithmetik ... ( Besser als 2Punkt ?)
B) ATMEGA328 statt ATMEGA8  - hat die gleichen 28 Pins, kostet im Guloshop das Doppelte (2,50 statt 1,25 EUR)
C) Bootloader raus (ist da überhaupt einer din, in den letzten 1000 Bytes ?)

Hardware Serial Pins hatte ich belegt. Da die ganzen fertigen LIBs jedoch kein 8MHz (nutze den internen Takt) unterstützen, habe ich die Belegung geändert und nutze nun Hardware-Serial, da soft eh nicht geht und ich nicht so tief drinnen stecke, um mal gerade eine Lib zu ändern.


A) Nein, Nur ganzzahlige Werte werden verarbeitet
B) Habe den ATMEGA8 genommen, weil ich den nicht wegschmeissen will und den hier liegen hatte
C) Bootloader ist raus. Mit Extremburner geprüft. Flash in dem Bereich sauber.

Das Programm bläht sich auf, sobald ich den Regler einbinde.
Mal schauen, vllt baue ich mir bei gelegenheit einen Regler mit Aufheizphase und darin begrenzter Leistung. Sowie eine Leistungsbegrenzung während der restlichen Laufzeit. Ohne komplexen PID. Mein Problem ist ja nur, dass der Heizkörper so heiß wird.
5  International / Deutsch / Re: Heizungssteuerung für einen Behälter on: November 30, 2013, 01:28:10 pm
Und das war es dann auch mit dem PID-Regler  smiley-zipper

Code:
Binäre Sketchgröße: 7.706 Bytes (von einem Maximum von 7.168 Bytes)

Toll... Naja, das Ergebniss vom Zweipunktregler ist nicht sehr schön, aber erfüllt seinen Zweck:
6  International / Deutsch / Re: Fragen zur Anwendung der PID Library on: November 30, 2013, 01:08:32 pm
Genau. der Regler Arbeitet ja mit der Differenz von Setpoint - Input
7  International / Deutsch / Re: Fragen zur Anwendung der PID Library on: November 30, 2013, 12:24:57 pm
Setpoint abhängig davon, wie du deine Temperatur erfasst.

Rechne mir meine in °C um und der Setpoint ist dann auch °C.

Die Parameter über Einstellverfahren wie Ziegler und Nichols bzw. Chien Hrones Reswick ermitteln und einstragen smiley-wink
8  International / Deutsch / Re: Heizungssteuerung für einen Behälter on: November 29, 2013, 01:31:48 pm
Würd ich ja auch nutzen, nur mag die Lib scheinbar keine 8MHz Taktfrequenz smiley-cry
9  International / Deutsch / Re: Heizungssteuerung für einen Behälter on: November 29, 2013, 01:25:12 pm
versuche nun auch die Alt zu nutzen.

Aber ich kann noch nicht mal die Beispiele kompilieren...

Code:
In file included from C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:25:
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\/config/known_boards.h:101:2: error: #error "Please define your board timer and pins"
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp: In static member function 'static void AltSoftSerial::init(uint32_t)':
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:64: error: 'CONFIG_TIMER_NOPRESCALE' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:68: error: 'CONFIG_TIMER_PRESCALE_8' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:75: error: 'INPUT_CAPTURE_PIN' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:76: error: 'OUTPUT_COMPARE_A_PIN' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:85: error: 'ENABLE_INT_INPUT_CAPTURE' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp: In static member function 'static void AltSoftSerial::end()':
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:90: error: 'DISABLE_INT_COMPARE_B' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:91: error: 'DISABLE_INT_INPUT_CAPTURE' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:94: error: 'DISABLE_INT_COMPARE_A' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp: In static member function 'static void AltSoftSerial::writeByte(uint8_t)':
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:119: error: 'ENABLE_INT_COMPARE_A' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:120: error: 'CONFIG_MATCH_CLEAR' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:121: error: 'GET_TIMER_COUNT' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:121: error: 'SET_COMPARE_A' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp: At global scope:
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:127: warning: 'COMPARE_A_INTERRUPT' appears to be a misspelled signal handler
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp: In function 'void COMPARE_A_INTERRUPT()':
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:134: error: 'GET_COMPARE_A' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:142: error: 'CONFIG_MATCH_SET' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:144: error: 'CONFIG_MATCH_CLEAR' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:146: error: 'SET_COMPARE_A' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:156: error: 'CONFIG_MATCH_SET' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:157: error: 'SET_COMPARE_A' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:164: error: 'CONFIG_MATCH_NORMAL' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:165: error: 'DISABLE_INT_COMPARE_A' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:172: error: 'CONFIG_MATCH_CLEAR' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:173: error: 'SET_COMPARE_A' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp: At global scope:
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:190: warning: 'CAPTURE_INTERRUPT' appears to be a misspelled signal handler
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp: In function 'void CAPTURE_INTERRUPT()':
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:197: error: 'GET_INPUT_CAPTURE' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:200: error: 'CONFIG_CAPTURE_FALLING_EDGE' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:203: error: 'CONFIG_CAPTURE_RISING_EDGE' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:209: error: 'SET_COMPARE_B' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:210: error: 'ENABLE_INT_COMPARE_B' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:225: error: 'DISABLE_INT_COMPARE_B' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:232: error: 'CONFIG_CAPTURE_FALLING_EDGE' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp: At global scope:
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:245: warning: 'COMPARE_B_INTERRUPT' appears to be a misspelled signal handler
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp: In function 'void COMPARE_B_INTERRUPT()':
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:250: error: 'DISABLE_INT_COMPARE_B' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp:251: error: 'CONFIG_CAPTURE_FALLING_EDGE' was not declared in this scope

Es liegt nicht an der Hardware. Irgendwas passt mit meiner IDE nicht, oder?

Autsch...
Liegt an meiner Board.txt...
10  International / Deutsch / Re: Heizungssteuerung für einen Behälter on: November 29, 2013, 01:19:18 pm
Hat niemand eine Idee warum die ganzen Serial-Libs bei mir nicht gehen?

Habe mittlerweile 3 ausprobiert und bei allen sind Probleme in der .cpp smiley-cry smiley-cry

Ich komme nicht weiter...
11  International / Deutsch / Re: Platinen herstellen in Eigeninitiative on: November 29, 2013, 06:16:50 am
hehe... Durch die Seite bin ich erst auf Mikrocontroller gekommen smiley-mr-green

Und ich ätze auch selber. Belichte aber noch nicht mit UV, sondern mache das ganze über Tonertransfer.
(Ist mir zu umständlich. Muss man belichten, entwickeln, dann ätzen)
12  International / Deutsch / Re: Stromversorgung für LED-Matrix (Und ein paar Fragen nebenbei) on: November 29, 2013, 03:32:52 am
Sorry, NPN ist richtig.

Es gibt Emitter und Kollektorschaltung. Und die ist unabhängig von Typ. NPN und PNP stehen nur für die Ansteuerung des Transisors.
NPN bzw. so wie in deinen Plänen, ist es schon ok.
Mit dem einen schaltest du die Versorgung durch, mit dem anderen die Masse. D.h. du hast im Betrieb vor der Diode und nach der Diode einen Transistor.

Zur Belastbarkeit:
Berechne mal, wieviel Strom max fließen kann.
Das ist der Fall wenn du alle Zeilen ansteuerst.

12 x 0,02A = 0,24A  fließen dann über den Transistor der ersten Zeile sowie der letzten Spalte, genauso wie für die anderen Zeilen.
smiley-wink

EDIT:
Jetzt schreibe ich hier mist...
Für die Zeilen max. 5*20mA = 100mA
Für die Spalten max. 8*20mA = 160mA
13  International / Deutsch / Re: Shiftregister, Transistoren und Freilaufdioden und mehr on: November 29, 2013, 02:58:58 am
Achja... den Transistor für den OE habe ich vergessen smiley-red

EDIT:
Das Blinken im Video mache ich über den OE Pin.
https://www.dropbox.com/s/jhsdhnqr7oye8i6/2013-09-15%2022.57.30.mp4
Zudem gebe ich den im Setup erst nach leeren der Register die Ausgänge frei.
Das ganze über einen Pullup und einem Transistor
14  International / Deutsch / Re: Stromversorgung für LED-Matrix (Und ein paar Fragen nebenbei) on: November 29, 2013, 02:44:59 am
Du kannst die LEDs auch mit 7V laufen lassen. Dem Transistor ist das in diesem Fall egal. Nur die Vorwiderstände anpassen.

EDIT:
Würde den BC337 PNP Transistor nehmen. Und alle gleich. In dieser Schaltung fungieren die nur als Schalter.
15  International / Deutsch / Re: Heizungssteuerung für einen Behälter on: November 29, 2013, 02:08:16 am
Habe ein kleines Problem.
Möchte nun SoftwareSerial in meinen Code einbauen.
Bekomme beim Kompilieren Fehlermeldungen bezüglich der Library.

Code:
C:\Program Files (x86)\Arduino\libraries\SoftwareSerial\SoftwareSerial.cpp:81: warning: only initialized variables can be placed into program memory area
C:\Program Files (x86)\Arduino\libraries\SoftwareSerial\SoftwareSerial.cpp: In member function 'void SoftwareSerial::begin(long int)':
C:\Program Files (x86)\Arduino\libraries\SoftwareSerial\SoftwareSerial.cpp:399: error: 'PCICR' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\SoftwareSerial\SoftwareSerial.cpp:402: error: 'PCMSK2' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\SoftwareSerial\SoftwareSerial.cpp:402: error: 'PCMSK0' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\SoftwareSerial\SoftwareSerial.cpp:402: error: 'PCMSK1' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\SoftwareSerial\SoftwareSerial.cpp: In member function 'void SoftwareSerial::end()':
C:\Program Files (x86)\Arduino\libraries\SoftwareSerial\SoftwareSerial.cpp:417: error: 'PCMSK2' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\SoftwareSerial\SoftwareSerial.cpp:417: error: 'PCMSK0' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\SoftwareSerial\SoftwareSerial.cpp:417: error: 'PCMSK1' was not declared in this scope

Wenn ich Beispielprogramme öffne, ist das ebenso.
Hat jemand AHnung, was die Ursache sein kann?

Habe bei dem ATMega8-16PU Einschränkungen bezüglich der RX/TX Pins oder kann ich den frei wählen?
Pages: [1] 2 3 ... 5