Weihnachtsprojekt Bleiakkuwächter

Wer seine kompletten Projekte vorstellen möchte, kann dies hier tun

Moderator: Sebi

Re: Weihnachtsprojekt Bleiakkuwächter

Beitragvon topas » 11.01.2013, 22:29

Jau! :D gun8!
topas
 
Beiträge: 3795
Registriert: 16.08.2010, 12:47

Re: Weihnachtsprojekt Bleiakkuwächter

Beitragvon alterhase » 11.01.2013, 22:30

topas hat geschrieben:Jau! :D gun8!

GN8 :wink:
Löten verbindet ...manchmals. :mrgreen:
73 55
alterhase
 
Beiträge: 12046
Registriert: 14.11.2008, 08:58
Wohnort: Wien/Kapfenberg

Re: Weihnachtsprojekt Bleiakkuwächter

Beitragvon Anse » 12.01.2013, 10:06

topas hat geschrieben:Ich finde ja, Anse sollte eine Klaviatur anschliessen und die Toccata von Bach in D-Dur vorspielen. Macht er aber wohl nicht. Muss ich wohl irgendwann einmal selbst machen. Zeit müsste man haben.
Das habe ich Dir gerade abgenommen. Es waren gerade mal 30Min Programmierzeit nötig. Jetz muss ich es nur noch testen. Dann gibts das Programmm :mrgreen:
Anse
 
Beiträge: 1442
Registriert: 09.06.2011, 14:18

Re: Weihnachtsprojekt Bleiakkuwächter

Beitragvon topas » 12.01.2013, 10:55

Anse hat geschrieben:Es waren gerade mal 30Min Programmierzeit nötig

...langsam wirst Du mir unheimlich...

Aber das mit der Toccata? :D - braucht es eh Polyphonie für. Bist noch mal davon gekommen.

Also ist das "Orgelprojekt" doch noch realisiert. Für ein Nachbauprojekt schlage ich deshalb als Klaviatur weisse und schwarze Digitaster vor. Da könnte man ein kleines Platinchen machen mit - sagen wir mal 2 Oktaven. (oder besser: was so auf eine Europlatine passt.) cool!
topas
 
Beiträge: 3795
Registriert: 16.08.2010, 12:47

Re: Weihnachtsprojekt Bleiakkuwächter

Beitragvon Anse » 12.01.2013, 16:19

...langsam wirst Du mir unheimlich...
Das Debugen hat noch mal doppelt so lange gedauert.

Die Idee mit den Digitasten ist nicht schlecht. Der Tonumgang beträgt jetzt 21 Töne. Ob man das noch auf eine Eurokarte bekommt. Jetz fehlen mir nur noch die Tasten :wink:
Hier das Programm:
Spoiler: show
Code: Alles auswählen
'Chip Attiny24
$regfile "attiny24.dat"
$crystal = 8000000

'Berechnung der Tonnummern
Const 1a = 10
Const 1b = 1a + 1
Const 1c = 1b + 1
Const 1d = 1c + 1
Const 1e = 1d + 1
Const 1f = 1e + 1
Const 1g = 1f + 1

Const 2a = 17
Const 2b = 2a + 1
Const 2c = 2b + 1
Const 2d = 2c + 1
Const 2e = 2d + 1
Const 2f = 2e + 1
Const 2g = 2f + 1

Const 3a = 24       '
Const 3b = 3a + 1
Const 3c = 3b + 1
Const 3d = 3c + 1
Const 3e = 3d + 1
Const 3f = 3e + 1
Const 3g = 3f + 1

'Portb.2 als Ausgang
'Ddrb.2 = 1
'Timer0 im fast PWM Mode, Prescale = 1
Tccr0a = &B10000011
Tccr0b = &B00000001

'### Timer1 Im Ctc Mode , Prescale = 1
Tccr1a = &B00000000
Tccr1b = &B00001001
Timsk1.1 = 1

'Enable Timer1
On Oc1a Isr_timer1


Enable Interrupts

'Ein und Ausgäge
Ddra = &B10000000
Ddrb.0 = 1
Ddrb.1 = 1
Ddrb.2 = 1

Dim Reload As Word
Dim Tonh As Byte
Dim Tonh2 As Byte
Tonh2 = 1
Dim A As Byte
Dim B As Byte
Dim Tone As Byte
Dim Bitmuster As Byte




Do

If Pinb = 0 Then Tonh = 0       ' wenn keine Taste gedrückt ist, gibts keinen Ton

Portb.0 = 1
Bitmuster = Pina
Select Case Bitmuster       '
Case 1 : Tonh = 1a
Goto Auswertung
Case 2 : Tonh = 1b
Goto Auswertung
Case 4 : Tonh = 1c
Goto Auswertung
Case 8 : Tonh = 1d
Goto Auswertung
Case 16 : Tonh = 1e
Goto Auswertung
Case 32 : Tonh = 1f
Goto Auswertung
Case 64 : Tonh = 1g
Goto Auswertung
End Select
Portb.0 = 0
Portb.1 = 1

Bitmuster = Pina
Select Case Bitmuster
Case 1 : Tonh = 2a
Goto Auswertung
Case 2 : Tonh = 2b
Goto Auswertung
Case 4 : Tonh = 2c
Goto Auswertung
Case 8 : Tonh = 2d
Goto Auswertung
Case 16 : Tonh = 2e
Goto Auswertung
Case 32 : Tonh = 2f
Goto Auswertung
Case 64 : Tonh = 2g
Goto Auswertung
End Select
Portb.1 = 0

Porta.7 = 1
Bitmuster = Pina
Bitmuster.7 = 0
Select Case Bitmuster
Case 1 : Tonh = 3a
Goto Auswertung
Case 2 : Tonh = 3b
Goto Auswertung
Case 4 : Tonh = 3c
Goto Auswertung
Case 8 : Tonh = 3d
Goto Auswertung
Case 16 : Tonh = 3e
Goto Auswertung
Case 32 : Tonh = 3f
Goto Auswertung
Case 64 : Tonh = 3g
Goto Auswertung
End Select

Auswertung:
Portb.0 = 0
Portb.1 = 0
Porta.7 = 0
If Tonh <> Tonh2 Then
Tonh2 = Tonh
Reload = Lookup(tonh , Ton_data)
If Reload = 0 Then
Tccr1b.cs10 = 0
Else
Tccr1b.cs10 = 1
End If
Ocr1a = Reload
End If


Loop
End









'Der Timer läd mit variabler Frequenz die Werte aus der Sinustabelle
'in das Vergleichsregister des PWM-Timer0

Isr_timer1:
B = Lookup(a , Sinus_data)       'Wert aus der Sinustabelle holen
Ocr0a = B 'Wert in das Vergleichsregister des Timer0 laden
Incr A
'wenn das Tabellenende erreicht ist, wird der Zeiger wieder auf den Anfang gesetzt
If A = 32 Then
A = 0
End If
Return










Sinus_data:
'#### Sinustabelle mit 32 Werten
Data 128 , 153 , 177 , 199 , 218 , 234 , 246 , 254 , 255 , 254 , 246 , 235 , 219 , 199 , 177 , 153 , 128 , 103 , 79 , 57 , 38 , 22 , 10 , 3 , 0 , 2 , 10 , 21 , 37 , 57 , 79 , 103 , 128


Ton_data:
'Vergleichswerte für die Tonhöhe für den Timer1
   '  0    1      2       3      4      5      6     7       8      9     10      11     12
Data 0% , 956% , 902% , 851% , 804% , 758% , 716% , 676% , 638% , 602% , 568% , 536% , 506%
'     13    14     15     16     17     18     19     20     21      22    23      24
Data 478% , 451% , 426% , 402% , 379% , 358% , 338% , 319% , 301% , 284% , 268% , 253%
'     25    26     28     29      30     31   32       33     34    35      36     37
Data 239% , 225% , 213% , 201% , 190% , 179% , 169% , 159% , 150% , 142% , 134% , 127%
   '  38      39     40     41    42    43
Data 119% , 113% , 106% , 100% , 95% , 89%

Schaltplan
Orgel.sch
(93.1 KiB) 188-mal heruntergeladen
Anse
 
Beiträge: 1442
Registriert: 09.06.2011, 14:18

Re: Weihnachtsprojekt Bleiakkuwächter

Beitragvon Anse » 21.01.2013, 18:53

Kleine Änderung am Schaltplan, Pulldowns eingefügt.
Dateianhänge
Orgel (1).sch
(94.78 KiB) 156-mal heruntergeladen
Anse
 
Beiträge: 1442
Registriert: 09.06.2011, 14:18

Re: Weihnachtsprojekt Bleiakkuwächter

Beitragvon Max346 » 27.01.2013, 14:05

Hallo Leute!

Ich habe gelesen, dass noch die finale Software Version fehle... Habe sie aber hier gepostet. So wie sie für meine Akkus hier ausreichend is.
Mit dem Zusatztext, dass sie angepasst werden muss für eventuelle Messungen der Temperatur und nem Tiny25 mit dem integrierten Temperatursensor.

Aber jetzt zu nem andren Thema.
Ich möchte den Strom messen mit dem AVR. Vorerst mal im Bereich bis zu einem Ampere mit 1mA Auflösung.
Am Steckbrett is als Shunt ein 1 Ohm/2 Watt Widerstand. Messe im Moment bei einem ausgebauten PC Lüfter den Strom.
Laut Multimeter hab ich stabile 221mV Stromabfall am Widerstand bei 12V. Kommt auch hin mit dem Aufkleber am Lüfter (0.2A) und der Strommessung
mit dem Multimeter selbst.
Wenn ich das ganze mit dem AVR verbinde, schwanken die Messwerte. Da bekomm ich Anzeigen von 180 bis 250mA. Die Messung mit dem Multimeter zeigt
gleichbleibende Werte. Warum schwankt die AVR Messung so? hin und wieder sind sogar Spikes mit < 100mA dabei.
Hab schon nen 100nF zwischen Lüfter + und - gegeben. Hilft auch nur eingeschränkt. Messintervall ist 500ms. Aref is Internal 1.1V.
Max346
 
Beiträge: 229
Registriert: 17.05.2010, 14:40
Wohnort: Pottenstein

Re: Weihnachtsprojekt Bleiakkuwächter

Beitragvon alterhase » 27.01.2013, 14:21

Die Stromaufnahme des Lüfters schwankt tatsächlich so stark. An einem Oszilloskop sieht man das auch.
Der AVR nimmt immer einen Augenblickswert und wandelt den in eine Zahl um
Das Multimeter hat eine andere Methode, die diese Schwankungen ausmittelt. siehe Dual slope Verfahren. klickmich
Du kannst das softwaremäßig lösen indem du n mal misst und den Mittelwert bildest. Oder Hardwaremäßig mit einem Tiefpass oder einen größeren Stützkondensator nehmen.
Löten verbindet ...manchmals. :mrgreen:
73 55
alterhase
 
Beiträge: 12046
Registriert: 14.11.2008, 08:58
Wohnort: Wien/Kapfenberg

Re: Weihnachtsprojekt Bleiakkuwächter

Beitragvon Max346 » 27.01.2013, 14:42

Ok. Dann Softwareanpassung. :)
Danke für die schnelle Antwort!
Max346
 
Beiträge: 229
Registriert: 17.05.2010, 14:40
Wohnort: Pottenstein

Re: Weihnachtsprojekt Bleiakkuwächter

Beitragvon topas » 28.01.2013, 06:20

Max346 hat geschrieben:Ich habe gelesen, dass noch die finale Software Version fehle... Habe sie aber hier gepostet. So wie sie für meine Akkus hier ausreichend is.

Sorry, falls ich da was falsches gesagt habe.
Der relativ grosse Shunt kann die Schwankungen der Stromaufnahme verstärken.
topas
 
Beiträge: 3795
Registriert: 16.08.2010, 12:47

Re: Weihnachtsprojekt Bleiakkuwächter

Beitragvon Max346 » 28.01.2013, 08:24

@topas: Ne passt schon. :)

Das mit der Strommessung is schon was komisches.... Lüfterstrom kann ich messen, so ne Heizfolie (um die 800mA) schafft das ding auch.
Aber bei ner kleinen Led gibt es auf. Da bekomm ich "0" als Anzeige. Selbst als ich die Led gegrillt hab mit > 30mA , was einem schönen
satten gelb entspricht, statt dem normalen grün, gabs keine Reaktion.

Wie kann das sein bei ner Auflösung von 1mV beim ADC?
Max346
 
Beiträge: 229
Registriert: 17.05.2010, 14:40
Wohnort: Pottenstein

Re: Weihnachtsprojekt Bleiakkuwächter

Beitragvon topas » 28.01.2013, 17:04

Du weisst ja, wer misst, misst Mist.
Möglicherweise fliesst der Messstrom durch die Schaltung und erzeugt gegenläufige Spannungsabfälle? Der Messstrom wird auch nicht aus der Versorgung des µC gewonnen?
topas
 
Beiträge: 3795
Registriert: 16.08.2010, 12:47

Vorherige

Zurück zu Komplette Projekte

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast