|
|
Microwave Forum
Sämtliche Inhalte dieses Forums dienen ausschließlich wissenschaftlichen und nichtkommerziellen Zwecken
--- All content is provided for educational and non commercial purposes only
|
|
|
|
|
|
First
Previous
Next
Last
|
Author |
Message |
kleiner-onkel
Administrator
Messages: 412 Location: South-West-G
|
|
back to top |
|
|
richy_64
Administrator
Messages: 198
|
Created: 2008-11-18, 07:26 PM CET Subject: Re: MOTOROLLA 68HC12
print
recommend
|
|
|
Hallo
Na endlich traut sich da mal einer an Mikrocontroller ran... . Was soll´s denn werden, eine Ansteuerung für einen bürstenlosen Motor?
Viele Grüße, Richard
_________________________________________
"Ich liebe es, wenn ein (Schalt-)Plan funktioniert."
|
|
back to top |
|
|
kleiner-onkel
Administrator
Messages: 412 Location: South-West-G
|
|
back to top |
|
|
richy_64
Administrator
Messages: 198
|
Created: 2008-11-19, 10:36 PM CET Subject: Re: MOTOROLLA 68HC12
print
recommend
|
|
|
Hallo Chris,
Infrarot zu dekodieren kann ganz einfach sein oder auch ganz schön schwierig
Vor einiger Zeit habe ich ebenfalls etwas ähnliches zusammengebaut... ein Fernbedienungsempfänger für meinen Röhrenverstärker. Das Motorpoti für die Lautstärke wird damit gesteuert.
Es sollte ansich eine universelle Schaltung werden, die sich an jede vorhandene Fernbedienung anlernen lässt - so die Theorie - und unabhängig von den ganzen verschiedenen Codes läuft. Leider gibt es einfach zu viele Codes, und sie sind zum Teil schlecht im Internet dokumentiert. Irgendwann hatte ich bei meinen Experimenten eine Fernbedienung in der Hand, dessen Protokoll eigentlich nach NEC aussah, das Timing war trotzdem >schneller< (am Oszilloskop angesehen) und damit abweichend von dem, was man nachlesen konnte. ->Warum sollte ein Hersteller nicht auch einfach mal das Timing geringfügig verändern, wenn die Codes nicht mehr reichen? So sah es jedenfalls für mich aus.
-------------
Der ATmega8 dekodiert nicht, sondern er ist nur ein "Datensampler". Er zeichnet eine beliebige Impulsfolge auf des Infrarotempfängers auf und speichert sie ab (EEprom). Kommt die gleiche Pulsfolge nochmal, ist eine Taste erkannt. Codeunabhängig - aber recht speicherintensiv :-/
Hab mich schon lange nicht mehr damit beschäftigt, der Programmcode könnte noch verbessert werden... bislang funktioniert es nur mit einer Fernbedienung zuverlässig. Und das will ich ja gerade nicht.
------
Mit Bascom habe ich keine Erfahrung. Ich programmiere nicht soo oft und benutze daher nur, was es umsonst gibt.
Grüße, Richard
"Ich liebe es, wenn ein (Schalt-)Plan funktioniert."
[edited: 2008-11-19, 10:44 PM CET by richy_64]
Attachment:
PICT0008.JPG (180 kByte, 640 x 480 pixels)
save
PICT0004.JPG (181 kByte, 640 x 480 pixels)
save
|
|
back to top |
|
|
kleiner-onkel
Administrator
Messages: 412 Location: South-West-G
|
Created: 2008-11-20, 06:43 PM CET Subject: Re: MOTOROLLA 68HC12
print
recommend
|
|
|
Der Poti Motor ist echt nicht schlecht... finde ich viel besser, also das Digitale Lautstärken Zeugs... einziger Nachteil.... ist natürlich Staub... aber Hochwertige Potis dürften damit kein Problem haben.
|
|
back to top |
|
|
kleiner-onkel
Administrator
Messages: 412 Location: South-West-G
|
Created: 2008-12-22, 09:07 AM CET Subject: Re: MOTOROLLA 68HC12
print
recommend
|
|
|
Hallo Richard
Ich hab mir für die Weihnachtszeit was zum rumspielen bestellt
Menge Best.Nr. Artikelbezeichnung Einzelpreis Gesamtpreis -------------------------------------------------------------------------------------- 1 94-810038 Bausatz Atmel-Evaluations-Board V2.0 14,95 EUR 14,95 EUR 2 94-100910 AT Mega 8-16PU 1,85 EUR 3,70 EUR 1 94-100907 AT Mega 16-16PU 2,75 EUR 2,75 EUR 1 94-100911 AT Tiny 2313 20PU 1,40 EUR 1,40 EUR 1 94-990140 Sonderliste 3/2008 kostenlos * 0,00 EUR 0,00 EUR -------------------------------------------------------------------------------------- Verpackungspauschale (0,85% von 22,80 EUR) 0,19 EUR Versandkostenpauschale 4,50 EUR Die Gesamtsumme exkl. MwSt. betrΣgt 23,10 EUR Die Gesamtsumme inkl. MwSt. betrΣgt 27,49 EUR
Die Mood Light funktioniert bis jetzt in Assembler, kannst du dein Codebeispiel zum IR Dekoder online stellen?
Grüße
Christian
P.S. Wenn alles fertig ist werde ich das Projekt ausfühlich Dokumentiert für alle online stellen.
|
|
back to top |
|
|
richy_64
Administrator
Messages: 198
|
Created: 2008-12-22, 06:36 PM CET Subject: Re: MOTOROLLA 68HC12
print
recommend
|
|
|
Ah, Pollin machts möglich (wie immer schön preiswert).-
Ist mir jetzt ein wenig peinlich... zum einen ist der IR-Dekoder in realtiv unübersichtlichem Anfänger-Assembler geschrieben. Ich möchte das Projekt nochmal in C aufziehen, wie es jetzt ist gefällt es nicht.
Zum anderen ist der Code natürlich auf dem Rechner in meiner Wohnung (und ich bin über Weihnachten bei den Eltern).
------------------
Naja, erstmal ist die RGB-Steuerung dran. Obwohl das Ansteuern der Timer/PWM-Kanäle schnell gemacht sein wird.
------------------
Was hat Dich davon abgehalten, den IR-Fernbedienungsbausatz 810 024 für 6,95€ mitzubestellen? Der wäre als Moodlight-Basis auch sehr interessant (die IO-Pins sollten sich doch recht schnell in PWMs verwandeln lassen). Andererseits... ich weiß nicht ob Pollin die Quelltexte beim Bausatz mitliefert.
Grüße, Richard
[edited: 2008-12-22, 06:48 PM CET by richy_64]
|
|
back to top |
|
|
kleiner-onkel
Administrator
Messages: 412 Location: South-West-G
|
|
back to top |
|
|
kleiner-onkel
Administrator
Messages: 412 Location: South-West-G
|
Created: 2008-12-30, 06:19 PM CET Subject: Re: MOTOROLLA 68HC12
print
recommend
|
|
|
zudem muss ich noch für die Schule den HC12 programmieren,.. und das mit Visual Studio 2008... das Programm ist zimlich kompliziert für Anfänger.
Schon so ein kleiner blinker ist da ganzschön kompliziert
#include "hc12.h" #include "dbug12.h"
// Funktionprototyping extern void _Startup( void ); // externe Start-Funkt. void initTimer (void); void Tim_Ch7_ISR(void);
unsigned char i=0;
// Hauptfunktion void main() { COPCTL=0x00; // Watchdog deaktivieren DDRB=0xFF; // Port B als Ausgang setzen PORTB=0xFF; // LED's ein initTimer();
asm CLI; while(1); // Endlosschleife }
// Timer initialisieren void initTimer(void) { TSCR=0x80; // Timer aktivieren TIOS=0x80; // TC7 als output compare TMSK2=0x0B; // Timer Reset mit TC7 + Prescaler einstellen (8 -> 1µs) TMSK1=0x80; // Interrupt für TC7 aktiviert TC7=10000; // TC7=10000 TFLG1=0x80; // Interruptflag für TC7 löschen }
// TC7 ISR #pragma TRAP_PROC void Tim_Ch7_ISR(void) // wird alle 10ms aufgerufen { setbit(TFLG1,bit7); // Interrupt-Flag für TC7 löschen ++i; if (i>111) { i=0; PORTB^=0xFF; // Bitweise XOR } }
// Vektor-Tabelle // Bei Bedarf "0" mit ISR-Funktionsname ersetzen #pragma CONST_SEG VECTORS void (* const VectorTable[])() = { 0, // SBI General 0, // SBI Synchron 0, // SBI Receive 0, // reserved 0, // reserved 0, // reserved 0, // Receive Fifo 0, // ATD 0, // reserved 0, // SCI 0, // SPI 0, // Pulsakkumulator Eingangsflanke 0, // Pulsakkumulator Überlauf 0, // Timer Überlauf Tim_Ch7_ISR, // Timer Kanal 7 0, // Timer Kanal 6 0, // Timer Kanal 5 0, // Timer Kanal 4 0, // Timer Kanal 3 0, // Timer Kanal 2 0, // Timer Kanal 1 0, // Timer Kanal 0 0, // Real Time Interrupt 0, // IRQ 0, // XIRQ 0, // Software Interrupt 0, // TRAP Illegal Opcode 0, // COP Watchdog 0, // Clock Monitor _Startup // Hauptprogramm };
|
|
back to top |
|
|
kleiner-onkel
Administrator
Messages: 412 Location: South-West-G
|
Created: 2008-12-30, 06:20 PM CET Subject: Re: MOTOROLLA 68HC12
print
recommend
|
|
|
weißt du was das ist?
#pragma TRAP_PROC
hab im Netz nichts gefunden
Grüße und guten Rutsch
Chris
P.S: Hab grad wieder kein Internet bei meiner Freundin.. daher die langen Antwortperioden
|
|
back to top |
|
|
richy_64
Administrator
Messages: 198
|
Created: 2009-01-01, 11:47 AM CET Subject: Re: MOTOROLLA 68HC12
print
recommend
|
|
|
"Minjour" sagt man hier, kommt aus dem Plattdeutschen und bedeutet soviel wie gutes, neues Jahr! :-)
Das Hochschulboard ist doch ein toller Fang... für den Preis bekommt man ja nicht mal die Hälfte der Teile... . Und JTAG ist praktisch zum Debuggen während der Laufzeit.
Was den Code angeht... ich teile Deine Meinung, ganz schon mächtig für einen Blinker. Andererseits wird offensichtlich an alles Mögliche gedacht, d.h. die ganzen Initialisierungen, Sprungtabellen usw. . Ich müsste mir den Aufwand auch angewöhnen, sonst bleibt es immer nur Spaghetticode der sich schlecht erweitern lässt.
Die #pragma-Anweisung kenne ich nicht. Sicherlich hast Du schon nachgelesen, dass es sich um was compilerspezifisches handelt.
Viele Grüße, Richard
[edited: 2009-01-01, 11:47 AM CET by richy_64]
|
|
back to top |
|
|
|
powered by carookee.com - group communication for you
Layout © subBlue design
|