Das Projekt Think City
Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese
Re: Das Projekt Think City
Der Winter naht!
Das Thinkheizungsthema wird wieder rausgekramt und mir zugeschoben.
Erstmal die letzten Änderungen wegen dem LM135 Tempsensor eingebaut:
Und einen Kleinleistungsteststand improvisiert:
Dem LM335 hab ich mit ner Schelle an den Bratwiderstand geklemmt, die Glimmlampe zeigt "Heizen" an.
Die mit dem Thermoelement neben dem LM335 gemessene Temperatur schwankt zwischen 65°C und 85°C.
Wenn man dem System genug Zeit gibt, einen stationären Zustand zu erreichen, stellt sich was um und bei 70...75°C ein.
Die Regelung tut soweit und reagiert korrekt auf Störgrößen.
Die Einschaltverzögerung tut, Lowbat und Zenerdiodenüberwachung hab ich erstmal abgeklemmt.
Der MOSFET (seinerzeit aus einem TFT-Schaltnetzteil geerntet) schaltet einwandfrei.
Tahtfrequenz ist ca. 1,4Hz, Lastwiderstand sind ca. 8kOhm, Spannung war 360V.
Leistungsteststände (mittlere Last/Vollast) sind in Arbeit.
Mal sehen woran die FETs bei Arndt reihenweise abgeraucht sind.
Das Thinkheizungsthema wird wieder rausgekramt und mir zugeschoben.
Erstmal die letzten Änderungen wegen dem LM135 Tempsensor eingebaut:
Und einen Kleinleistungsteststand improvisiert:
Dem LM335 hab ich mit ner Schelle an den Bratwiderstand geklemmt, die Glimmlampe zeigt "Heizen" an.
Die mit dem Thermoelement neben dem LM335 gemessene Temperatur schwankt zwischen 65°C und 85°C.
Wenn man dem System genug Zeit gibt, einen stationären Zustand zu erreichen, stellt sich was um und bei 70...75°C ein.
Die Regelung tut soweit und reagiert korrekt auf Störgrößen.
Die Einschaltverzögerung tut, Lowbat und Zenerdiodenüberwachung hab ich erstmal abgeklemmt.
Der MOSFET (seinerzeit aus einem TFT-Schaltnetzteil geerntet) schaltet einwandfrei.
Tahtfrequenz ist ca. 1,4Hz, Lastwiderstand sind ca. 8kOhm, Spannung war 360V.
Leistungsteststände (mittlere Last/Vollast) sind in Arbeit.
Mal sehen woran die FETs bei Arndt reihenweise abgeraucht sind.
- Arndt
- Beiträge: 2589
- Registriert: Fr 28. Jun 2013, 13:42
- Wohnort: einen Schritt über den Abgrund hinaus
Re: Das Projekt Think City
Naja, sagen wir es mal so, dass ich inkompatibel zur forensik in der Analog-proktologie bin.ESDKittel hat geschrieben:Der Winter naht!
Das Thinkheizungsthema wird wieder rausgekramt und mir zugeschoben.
Und es gibt ja doch Interesse daran, warum ich einen Schnellwechsler für Mosfets bräuchte um das langfristig im Elektrokarren zu betreiben
Ich bin schonmal froh, dass Du im kleinen Aufbau nachweisen konntest, was wir bei unserer letzten Session gesehen haben, spannend wird das jetzt natürlich im großen.
Meine digitale Version wächst und gedeiht, nähere Doku folgt,
basieren tut das im Groben und Ganzen auf dieser Idee von anno dunnemals:
->zoom
https://www.fingers-welt.de/phpBB/viewt ... 50#p204039
Als DC-DC sitzt da im Augenblick ein Meanwell oder Recom DCDC 1212 drauf, ich will aber nochmal messen, ob ich nicht doch mit einer Z-Diode hinkomme um Gatetreiber und Optokoppler zu verarzten.
Derzeit doktere ich am Attiny861 rum und versuche den PWM auf PB5 (OC1D) ans laufen zu kriegen... man ist das lange her, "kaum macht man mal 10 Jahre nix mit Controllern, schon gibts was neues!", oder wie war das
ESD, wäre schön, wenn wir meine Endstufe dann an besagtem Termin auch mal stressen könnten.
BTW, sei bitte mit den FCH040N65S3 sparsam, da haben wir nicht so viele von und die Biester sind Ar...teuer
Re: Das Projekt Think City
Heute mal einen dicken IXFR80N50 als FET eingelötet.
Hier mal Oszilettenbilder von Gatespannung (mit 100MOhm Tastkopf gemessen) und Drainstrom über Stromzange:
Last weiterhin 8kOhm Drahtwiderstand.
Schaltet sauber ein und aus, konnte auch keine Störimpulse finden, minimale Pulsbreite sind ca. 60ms, bei weiter steigender Temperatur geht die PWM sofort auf 0%.
Zener_OK und LowBat funktionieren entsprechend der Sim.
Für den kleinen Lasttest habe ich ein vor vielen Jahren wegen bröseligem Stecker/Schnur stillgelegtes (Kabel bündig abgeschnitten ) und seitdem feucht gelagertes Tauchsieder (220V 1kW) reaktiviert. R_iso ist...quasi nicht vorhanden...erstmal trockenheizen...
Hier mal Oszilettenbilder von Gatespannung (mit 100MOhm Tastkopf gemessen) und Drainstrom über Stromzange:
Last weiterhin 8kOhm Drahtwiderstand.
Schaltet sauber ein und aus, konnte auch keine Störimpulse finden, minimale Pulsbreite sind ca. 60ms, bei weiter steigender Temperatur geht die PWM sofort auf 0%.
Zener_OK und LowBat funktionieren entsprechend der Sim.
Für den kleinen Lasttest habe ich ein vor vielen Jahren wegen bröseligem Stecker/Schnur stillgelegtes (Kabel bündig abgeschnitten ) und seitdem feucht gelagertes Tauchsieder (220V 1kW) reaktiviert. R_iso ist...quasi nicht vorhanden...erstmal trockenheizen...
- Fritzler
- Beiträge: 12600
- Registriert: So 11. Aug 2013, 19:42
- Wohnort: D:/Berlin/Adlershof/Technologiepark
- Kontaktdaten:
Re: Das Projekt Think City
Die nehmen doch Drogen bei den neuen AVR.
Damit der PWM an OC1D funktioniert muss auch PWM1A oder PWM1B aktiv sein.
Anstatt, dass das über die normalen Timermode Bits geht (früher war alles besser?)
Zudem wird der >8Bit Zugriff nicht mehr wegabstrahiert und man darf ihn jetzt auch in C per Hand machen?!?!
Welche PWM Frequenz willste haben?
Bei 16MHz CPU Takt kommen da jetzt ~15kHz PWM raus.
Hier mal Code, eben trocken zusammengeworfen, probier mal:
TCCR1 A bis E, das wird langsam lächerlich :/
edit:
Oh ja man muss über 8 Bit große Zugriffe jetz wohl wirklich selber machen
Hier nen Tiny20 Beispiel vom 16Bit Timer1 aus dem DB:
Das C Beispiel des Tiny861 ist oben in der Funktion "TIM1_WritePWM" zu sehen.
Nunja, ich bin auf ARM aka STM32 umgestiegen.
Damit der PWM an OC1D funktioniert muss auch PWM1A oder PWM1B aktiv sein.
Anstatt, dass das über die normalen Timermode Bits geht (früher war alles besser?)
Zudem wird der >8Bit Zugriff nicht mehr wegabstrahiert und man darf ihn jetzt auch in C per Hand machen?!?!
Welche PWM Frequenz willste haben?
Bei 16MHz CPU Takt kommen da jetzt ~15kHz PWM raus.
Hier mal Code, eben trocken zusammengeworfen, probier mal:
Code: Alles auswählen
// Der Pin muss auf Ausgang sonst kommt da keine PWM raus
DDRB |= (1<<PB5);
TCCR1A = (1<<PWM1A);// PWM1A muss gesetzt sein um PWM Mode für ganzen Timer zu aktivieren
TCCR1B = (1<<CS10); // Timer läuft mit CPU Takt
TCCR1C = (1<<COM1D0) | (1<<PWM1D); //PWM Pin Cleared on Compare Match. Set when TCNT1=0x000.
TCCR1D = 0; // Fast PWM!
TCCR1E = 0; // hier brauchts nix
PLLCSR = 0; // CPU Takt = Timer Takt
DT1 = 0; // nix hier mit Toten Zeiten
// OCR1C ist Timer TOP, ab hier springt er wieder auf 0, muss aber auf 1023
TC1H = 3;
OCR1C = 255;
// 0 = "aus" -> 1023 = Vollstoff
void TIM1_WritePWM(uint16_t pwmval) {
unsigned char sreg;
/* Save global interrupt flag */
sreg = SREG;
/* Disable interrupts */
cli();
/* Set OCR1D to i */
TC1H = (pwmval >> 8);
OCR1D = (unsigned char)pwmval;
/* Restore global interrupt flag */
SREG = sreg;
}
edit:
Oh ja man muss über 8 Bit große Zugriffe jetz wohl wirklich selber machen
Hier nen Tiny20 Beispiel vom 16Bit Timer1 aus dem DB:
Code: Alles auswählen
C Code Example(1)
unsigned int i;
...
/* Set TCNT1 to 0x01FF */
TCNT1 = 0x1FF;
/* Read TCNT1 into i */
i = TCNT1;
Nunja, ich bin auf ARM aka STM32 umgestiegen.
- Arndt
- Beiträge: 2589
- Registriert: Fr 28. Jun 2013, 13:42
- Wohnort: einen Schritt über den Abgrund hinaus
Re: Das Projekt Think City
Ui, das geht ja wieder Schlag auf Schlag
Als PWM-Takt würde irgendwas um 1Hz rum reichen, die Heizung ist extrem träge...
der Attiny läuft mit dem interenen Oszillator mit 8MHz, grundsätzlich kann der wohl auch noch irgendwie einen Comparemode, so könnte eine Idee sein, den Temperaturfühler der analog am PA6 sitzt direkt auf den Comparevalue zu setzten und damit den dutycycle zu regeln. Ob das geht weiß ich aber noch nicht, soweit habe ich das Handbuch noch nicht durch..
Als PWM-Takt würde irgendwas um 1Hz rum reichen, die Heizung ist extrem träge...
der Attiny läuft mit dem interenen Oszillator mit 8MHz, grundsätzlich kann der wohl auch noch irgendwie einen Comparemode, so könnte eine Idee sein, den Temperaturfühler der analog am PA6 sitzt direkt auf den Comparevalue zu setzten und damit den dutycycle zu regeln. Ob das geht weiß ich aber noch nicht, soweit habe ich das Handbuch noch nicht durch..
- Fritzler
- Beiträge: 12600
- Registriert: So 11. Aug 2013, 19:42
- Wohnort: D:/Berlin/Adlershof/Technologiepark
- Kontaktdaten:
Re: Das Projekt Think City
Der Timer nimmt keine externen Signale zum Komparator entgegen.
Da musste dann schon den ADC in Software auslesen, etwas rechnen und dann den PWM Wert dem Timer geben.
Für 0,95Hz:
TCCR1B = (1<<CS10); --> TCCR1B = (1<<CS13) | (1<<CS12) | (1<<CS11); //Timer läuft mit F_CPU/8192
Da musste dann schon den ADC in Software auslesen, etwas rechnen und dann den PWM Wert dem Timer geben.
Für 0,95Hz:
TCCR1B = (1<<CS10); --> TCCR1B = (1<<CS13) | (1<<CS12) | (1<<CS11); //Timer läuft mit F_CPU/8192
- Arndt
- Beiträge: 2589
- Registriert: Fr 28. Jun 2013, 13:42
- Wohnort: einen Schritt über den Abgrund hinaus
Re: Das Projekt Think City
Wow, meinen Respekt!
Habe das mal eben implantiert und ein bisl gespielt, da gibt es aber wohl noch eine Herausforderung, auf ca.8Sec kommt ein Blib von ca.2Sec... da läuft die Uhr wohl doch noch etwas lahm...
Habe das mal eben implantiert und ein bisl gespielt, da gibt es aber wohl noch eine Herausforderung, auf ca.8Sec kommt ein Blib von ca.2Sec... da läuft die Uhr wohl doch noch etwas lahm...
Code: Alles auswählen
/*
Interner RC Oszillator mit 8MHz (Teiler/X eingeschaltet)
PIN 01 PB0 (MOSI/DI/SDA/OC1A/PCINT8)
PIN 02 PB1 (MISO/DO/OC1A/PCINT9)
PIN 03 PB2 (SCK/USCK/SCL/OC1B/PCINT10)
PIN 04 PB3 (OC1B/PCINT11)
PIN 05 VCC
PIN 06 GND
PIN 07 PB4 (ADC7/OC1D/CLKI/XTAL1/PCINT12)
PIN 08 PB5 (ADC8/OC1D/CLKO/XTAL2/PCINT13) --- PWM für Heizung
PIN 09 PB6 (ADC9/INT0/T0/PCINT14)
PIN 10 PB7 (ADC10/RESET/PCINT15)
PIN 11 PA7 (ADC6/AIN1/PCINT7)
PIN 12 PA6 (ADC5/AIN0/PCINT6) --- Tempsensor LM135
PIN 13 PA5 (ADC4/AIN2/PCINT5) --- Referenzpoti
PIN 14 PA4 (ADC3/ICP0/PCINT4)
PIN 15 AVCC
PIN 16 AGND
PIN 17 PA3 (AREF/PCINT3)
PIN 18 PA2 (ADC2/INT1/USCK/SCL/PCINT2)
PIN 19 PA1 (ADC1/DO/PCINT1)
PIN 20 PA0 (ADC0/DI/SDA/PCINT0)
*/
#define F_CPU 8000000UL /* CPU clock in Hertz */
#include <util/delay.h>
#include <avr/io.h>
#define BIT0 1
#define BIT1 2
#define BIT2 4
#define BIT3 8
#define BIT4 16
#define BIT5 32
#define BIT6 64
#define BIT7 128
//-----------------------------------------------------------------------------
void init_avr(void){
//-----------------------------------------------------------------------------
// Ausgänge definieren
DDRA = BIT1 |BIT5; //PB5 als Ausgang für PWM, alle anderen sind Eingänge
//Pull-up Widerstände
PORTA = 0; //Keine
PORTB = 0; //Keine
}
void init_pwm(void){
// Der Pin muss auf Ausgang sonst kommt da keine PWM raus
DDRB |= (1<<PB5);
TCCR1A = (1<<PWM1A);// PWM1A muss gesetzt sein um PWM Mode für ganzen Timer zu aktivieren
TCCR1B = (1<<CS13) | (1<<CS12) | (1<<CS11); //Timer läuft mit F_CPU/8192 = 0,95Hz
TCCR1C = (1<<COM1D0) | (1<<PWM1D); //PWM Pin Cleared on Compare Match. Set when TCNT1=0x000.
TCCR1D = 0; // Fast PWM!
TCCR1E = 0; // hier brauchts nix
PLLCSR = 0; // CPU Takt = Timer Takt
DT1 = 0; // nix hier mit Toten Zeiten
// OCR1C ist Timer TOP, ab hier springt er wieder auf 0, muss aber auf 1023
TC1H = 3;
OCR1C = 255;
}
void init_adc(void) {
}
void TIM1_WritePWM(uint16_t pwmval) {
//unsigned char sreg;
/* Save global interrupt flag */
//sreg = SREG;
/* Disable interrupts */
//cli();
/* Set OCR1D to i */
TC1H = (pwmval >> 8);
OCR1D = (unsigned char)pwmval;
/* Restore global interrupt flag */
//SREG = sreg;
}
int main(void)
{
// wait a little before starting setup
_delay_ms(1000);
//init stuff
init_avr();
init_pwm();
init_adc();
TIM1_WritePWM(240);
while (1) //get me warm!!!
{
}
}
Zuletzt geändert von Arndt am Di 21. Aug 2018, 22:01, insgesamt 1-mal geändert.
- Fritzler
- Beiträge: 12600
- Registriert: So 11. Aug 2013, 19:42
- Wohnort: D:/Berlin/Adlershof/Technologiepark
- Kontaktdaten:
Re: Das Projekt Think City
Code: Alles auswählen
DDRA = BIT1 |BIT5; //PB5 als Ausgang für PWM, alle anderen sind Eingänge
Da is wohln vertipper, glücklicherweise rückts mein Code grade.
Kanns sein, dass die CLK/8 Fuse gesetzt ist?
Dann läuft die Kiste mit 1MHz und das 8fache von 1Hz is ne Periodendauer von 8sek
Wenne kein Bock hast mit Fusebits rumzuspielen, dann:
Code: Alles auswählen
CLKPR = (1<<CLKPCE); //Schreibfreigabe
CLKPR = 0; //F_CPU = F_RC/1 statt /8
Zuletzt geändert von Fritzler am Di 21. Aug 2018, 22:07, insgesamt 2-mal geändert.
- Arndt
- Beiträge: 2589
- Registriert: Fr 28. Jun 2013, 13:42
- Wohnort: einen Schritt über den Abgrund hinaus
Re: Das Projekt Think City
Hmm, jetzt wo Du es sagst!
hatte den Ausgang erst auf PA5 geplant und nur die Hälfte umgeschrieben... interessanertweise hat der Ausgang beim Rumtesten trotzdem funktioniert
Fusen sind folgende gesetzt:
Edit: Knirsch und wenn man mal liest, was man da eigentlich tut, dann sieht man, dass der Fritzler recht hat!
Danke!!!
hatte den Ausgang erst auf PA5 geplant und nur die Hälfte umgeschrieben... interessanertweise hat der Ausgang beim Rumtesten trotzdem funktioniert
Fusen sind folgende gesetzt:
Edit: Knirsch und wenn man mal liest, was man da eigentlich tut, dann sieht man, dass der Fritzler recht hat!
Danke!!!
- Arndt
- Beiträge: 2589
- Registriert: Fr 28. Jun 2013, 13:42
- Wohnort: einen Schritt über den Abgrund hinaus
Re: Das Projekt Think City
@ESD, brauchst Du noch weitere Dummyloads?
Ich hätte hier noch ein Raclette mit Isofehler, zwei Ölradiatoren, oder eine alte Backofenheizwendel.
Oder sollen wir dann mit den originalheizern weitermachen?
Dann bringe ich noch das Pumpenmodul mit
Sollen wir spontan einen Jacuzzi improvisieren?
Quelle und Bauanleitung: https://www.instructables.com/id/Cheap- ... b-Jacuzzi/
Ich hätte hier noch ein Raclette mit Isofehler, zwei Ölradiatoren, oder eine alte Backofenheizwendel.
Oder sollen wir dann mit den originalheizern weitermachen?
Dann bringe ich noch das Pumpenmodul mit
Sollen wir spontan einen Jacuzzi improvisieren?
Quelle und Bauanleitung: https://www.instructables.com/id/Cheap- ... b-Jacuzzi/
- Arndt
- Beiträge: 2589
- Registriert: Fr 28. Jun 2013, 13:42
- Wohnort: einen Schritt über den Abgrund hinaus
Re: Das Projekt Think City
Hallo liebe Gemeinde der Reparatur und Wiederverwendung
Ich muss da gerade eine Lanze für den kleinen Think brechen, der (wider erwarten) immer noch treu seinen Dienst verrichtet!
Der Elektrorollstuhl hat jetzt 67000km auf der Uhr (zur Erinnerung, mit knapp 25000km habe ich ihn als wirtschaftlichen Totalschaden bekommen).
Wir sind mit ihm jetzt also nach der Reparatur einmal um die Welt und schon wieder bis nach Süd-Italien gefahren!
Man stelle sich das mal vor, das sind fast 420 000 Fußballfelder!
Ich muss da gerade eine Lanze für den kleinen Think brechen, der (wider erwarten) immer noch treu seinen Dienst verrichtet!
Der Elektrorollstuhl hat jetzt 67000km auf der Uhr (zur Erinnerung, mit knapp 25000km habe ich ihn als wirtschaftlichen Totalschaden bekommen).
Wir sind mit ihm jetzt also nach der Reparatur einmal um die Welt und schon wieder bis nach Süd-Italien gefahren!
Man stelle sich das mal vor, das sind fast 420 000 Fußballfelder!
Zuletzt geändert von Arndt am So 3. Mär 2024, 22:22, insgesamt 1-mal geändert.
Re: Das Projekt Think City
grossen Respekt! Mein Smart hat grade auch die erste
Erdumrundung mit mir hinter sich gebracht, allerdings
nutze ich ihn auch nicht *jeden* Tag... nur fast.
(mit 78k bekommen, jetzt 121k drauf....)
btw, was für Fussballfelder habt ihr denn da oben im Norden?
Erdumrundung mit mir hinter sich gebracht, allerdings
nutze ich ihn auch nicht *jeden* Tag... nur fast.
(mit 78k bekommen, jetzt 121k drauf....)
btw, was für Fussballfelder habt ihr denn da oben im Norden?
- Arndt
- Beiträge: 2589
- Registriert: Fr 28. Jun 2013, 13:42
- Wohnort: einen Schritt über den Abgrund hinaus
Re: Das Projekt Think City
Hopsa, Du hast ja recht, gut Du das gesehen hast
Ich habe so absolut keinen Hang zu Fußball, ich fand die Analogie nur witzig.
Ich korrigiere das sofort
Ich habe so absolut keinen Hang zu Fußball, ich fand die Analogie nur witzig.
Ich korrigiere das sofort
Re: Das Projekt Think City
Beeindruckend für so eine zusammen gewürfelte Kiste
Kennst du eigentlich das "Review Video" von Aging Wheels? https://www.youtube.com/watch?v=kn1gMnvFJIY
Kennst du eigentlich das "Review Video" von Aging Wheels? https://www.youtube.com/watch?v=kn1gMnvFJIY
- ProgBernie
- Beiträge: 593
- Registriert: Fr 16. Sep 2022, 21:59
- Wohnort: Zwischen Hamburg und Haiti ^W Lübeck
Re: Das Projekt Think City
Übrigens ist die Vergleichsangabe 1 Fußballfeld gegenüber 1 Saarland kompletter Blödsinn, denn ein Fußballfeld hat keine definierte einheitliche Größe.
Das Saarland schon.
Das Saarland schon.
Re: Das Projekt Think City
War da nicht was mit 7100 qm für ein Fußballfeld als internationaler Standard?
Re: Das Projekt Think City
"Saarland" ist die alte Bezeichnung, das heißt "Kosovo-Frankreich".
... zumindest aus Pfälzer Sicht.
... zumindest aus Pfälzer Sicht.
Re: Das Projekt Think City
Grundsaetzlich sind die Dinger ja auch recht zu zuverlaessig, wenn da nicht die kleinen Serienprobleme waerenm, die Arndt aber vermutlich bei der Reparatur schon beachtet hat.Arndt hat geschrieben: ↑So 3. Mär 2024, 20:23 Hallo liebe Gemeinde der Reparatur und Wiederverwendung
Ich muss da gerade eine Lanze für den kleinen Think brechen, der (wider erwarten) immer noch treu seinen Dienst verrichtet!
Der Elektrorollstuhl hat jetzt 67000km auf der Uhr (zur Erinnerung, mit knapp 25000km habe ich ihn als wirtschaftlichen Totalschaden bekommen).
Wir sind mit ihm jetzt also nach der Reparatur einmal um die Welt und schon wieder bis nach Süd-Italien gefahren!
Man stelle sich das mal vor, das sind fast 420 000 Fußballfelder!
Bei den Lithium Modellen ist das hauptsaechlich Kondenswasser an den BMS Frontends der Zellbloecke.
Die haben zwar ein Coating zum Schutz nach nunmehr aber ueber 10 Jahren in Betrieb wirkt das Coating nicht mehr so gut und es entstehen ungewollte Widerstaende auf den PCBs, die entweder dazu fuehren das die Zellspannungen falsch gemessen werden oder sogar die Balancerswitches eingeschaltet werden und die Zellen unkontrolliert entladen.
Das haben leider viele dieser Fahrzeuge inzwischen.
Ansonsten kann man fuer den Stadtbetrieb aber sehr zufrieden mit den Dingern sein.