Pc Start
PC start
PicStart.jpg

Minulla on vanha Laptop HP 550

Sille on hyvä käyttö tiedonkerääjänä.
http://remotesmart.wikidot.com/bluetooth-humidity-temperature

Näin se on toiminut 10-15 vuotta,

Ainoa ongelma on laitteen käynnistäminen ja sammuttaminen.
Aamulla minä en muista avata sitä ajoissa ja illallakin se pitää sammuttaa.

Tämä on eri asia kuin ohjelman käynnistäminen automaattisesti
https://kotimikro.fi/oheislaitteet/kayttojarjestelma/windows-10/kaynnista-ohjelmat-automaattisesti-windows-10-n-mukana

Miksi se ei voi olla päällä koko ajan?

No, vaimon mukaan se häiritsee unta.

Joka tapauksessa etsin Internetistä tietoa millä PC:n voi käynnistää automaattiisesti.
Löysin HP:n sivulta ohjeen jolla Bioksen avulla voi käynnistää laiteen automaattisesti.

Se ei kuitenkaan toiminnut minun tietokoneessani.
Ei ainakaan WIN10 ole sellaista ominaisuutta.

Mietin lisää.

Laitteen päällä on nappi, jolla sen saa päälle painamalla.
Samoin sen voi laittaa pois päältä.

Miten nappia painetaan?

Ainakin pienellä lentokoneservolla homma onnistuu

servo.jpg

Miten servo saa sähköä kun kone on pois päältä?

USB-liittimestä sitä saa 5V koko ajan. (https://en.wikipedia.org/wiki/USB_hardware)
Tietysti voisi tehdä erillisen teholähteenkin.
Tosin USB liittimestä saa vain 0.5A. Siihen voisi laittaa 0.1F 5.5V kondensaasaattorin.
Niitä myydään 0.32 e/kpl

0.32e.jpg

Miten saan ajan ja servon toiminnan käyttööni?

Tarvitsen siihen erillisen prosessorin.
Esim PIC16F88 (microchip.com https://www.microchip.com/wwwproducts/en/PIC16F88 ) ja
siihen sopivan kääntäjän (c-kääntäjä CCS:n PCM https://www.ccsinfo.com/product_info.php?products_id=PCW_full ) ja
ohjelman latauslaitteen PICKIT2 (microchip.com https://fi.farnell.com/microchip/pg164120/programmer-pickit-2-full-speed/dp/9847170 )
Tietysti tarvitsen siihen piirilevyn. Sen tekeminen vaatii ensin piirilevyn piirrosohjelman ja sitten piirilevyn PCB-ohjelman.
http://robotti.wikidot.com/piirilevyt
Seuraavaksi se vaatii piirilevyn valmistuksen.
Nykyään piirilevyt tehdään aina Kiinassa.
https://jlcpcb.com/

Lisäksi tarvitaan kaikkien komponttien hankkimien ja tietysti piirilevyn komponenttien kiinnittämisen juottamalla.
https://www.tme.eu/fi/

Sitten tarvitaan siihen c-kielinen ohjelma.
Sen tekeminen juuri minua varten oli melkoinen työ.
Sitten sen ohjelman lataus piirilevyyn.

Miten näen siitä ajan koska seuraava käynnistys tai pysäytys tapahtuu?

Tarvitsen siihen oman näytön esim. LCD:n (esim TME:ltä RC1602B4-LLH-JWV https://www.tme.eu/fi/details/rc1602b4-llh-jwv/aakkosnumeeriset-lcd-naytot/raystar-optronics/).

Miten kiinnitän laitteen tietokoneen päälle?

Laitan metallisen vanteen esim Biltemansta tuotteen 19-381.

PCSTART.jpg

Tässä on laitteen hardware. Siinä on vielä 12/5V sisäänmenojännitteen regulaattori.
Tärkein asia on 10R vastus!
Se estää servoa ottamasta liikaa virtaa ja oikosulkemaan USB teholähdetää ja resetoimasta koko prosessoria!

POWER.jpg

Tässä on miten tuo poweri otetaan USB-liittimestä

Siinä on sarjaliikenne aikojen asetusta varten.

Se tulee USB:n kautta USB/RS232 muuntimen välityksellä (http://probyte.fi/html/io-laitteet.html).
Se tulee samasta USB-liittimestä kuin sähkökin.

PCOHJELMA.jpg

Tähän tarvitaan vielä ohjelma PCSTART.EXE PC:lle.
Ohjelma käynnistyy automaattisesti kun PC käynnistyy.

Se saa servo-ohjaimelta "start"- komennon puolen tunnin välein.
Jos PC on päällä, niin tämä PCSTART.EXE lähettää servo-ohjelmalle oikean ajan ja myös uudet aamuherätys ja iltanukutusajat.

Tuo PIC-ohjelma tuntuu pysyvän noin 10 sekunnin tarkkuudella ajassa ainskin viikon, ilman päivitysohjelmaa.
Tuota PIC-ohejlmaa voi vieläkin trimmata, mutta en ole nähnyt sitä tarpeelliseksi.
Puoli tuontiakin rittää.

Näin tuo servo-ohjain pysyy oikeassa ajassa, koska PC-ohjelma tarkastaa ajan Internetin kautta.

Siihen tarvitaan tietysti ohjelma, joka hoitaa servon toiminna yhdessä ajan kanssa.
Tuossa LCD:ssä on ylärivillä nykyinen aika, sitten ollaanko aamu vai iltapäivällä (aamu A1, ilta A0) sitten onko servo jo toiminut aamulla tai illalla
Kun servo ei ole toimint LCD näyttää S0, kun servo on toiminut se näyttää S1.

Tätä viimeistä S0/1ilmaisua ei ole vielä tuossa kuvassa.
Puolen päivän aikana tuo S1 nollataan ja samoin puolen yön aikana.
Tämä siksi, että tarvitaan vain yksi herätys aamupäiväll ja yksi herätys iltapäivällä.

Seuraavalla rivillä on aamuherätyksen aika (07:00) ja iltaherätyksen aika (23:00).

Tässä on osa koodia; servon päälle laitto ja sen pois otto.

// laita servo päälle noin 1 sekunninksi ja sitten myös pois eli tee pieni napin painallus
void servo ()
{
unsigned int8 j;
// käännä servo päälle toiseen asentoon hitaasti ( n 1 s) , jotta virtaa ei kuluisi liikaa
set_tris_b( 0b00000110); // servon direction bitti päälle
for ( j=0; j<10; j++) { // 10* 20ms pulssia
output_high(servobit); // servo pois päältä 2-1 ms 1/10 osan teholla, jotta se ei ottaisi yli 500mA virtaa
delay_us(2000 - j *100); // servo on 0% -100%
output_low(servobit); // servo pois päältä
delay_ms(18); // 18 ms servon väliaika
}
// käännä servo päälle takaisi hitaasti ( n 1 s) , jotta virtaa ei kuluisi liikaa
for ( j=0; j< 10; j++) { // 10* 20ms pulssia
output_high(servobit); // servo pos päälle 1ms->2 ms
delay_us(1000+ j*100); // servo on 100%- 0% 1/10 osan teholla, jotta se ei ottaisi yli 500mA virtaa
output_low(servobit); // servo pois päältä
delay_ms(18); // 18 ms servon väliaika
}
// varmista, että servoin toisessa asennossa viel 1s.
for ( j=0; j< 10; j++) { //10* 20ms on pulssi
output_high(servobit); // servo pois päälltäe ->2 ms
delay_us(2000 ); // servo on 0%
output_low(servobit); // servo pois päältä
delay_ms(18);
}

} // end sub

Miten laite toimiii?

Aluksi oli ongema kun servo toimi, niin LCD meni sillä tavalla sekaisin, että LCD ei osannut laittaa merkkejä oikaan järjestykseen vaan merkit tulivat aina peräjälkeen.
Sain sen ongelman ratkaistua kun tein LCD:n perusasetukset kolme kertaa peräjälkeen kun servoa oli käytetty.
Ilmeisesti tuo servo otti liian paljon virtaa tuolta USB-liittimestä.
Yritin laittaa sinne lisäkondensaattorinkin, mutta se ei auttanut.
Tämä vika korjantui myöhemmin kun rajoitin servon virtaa vastuksella.

Aluksi servon pieni metallipää lähti toiminnassa irti, koska nappi ei antannut yhtään millimetriä anteeksi.

Minä laitoin tuon servon pään vähän enemmän auki, niin alkoi pysyä päällä.

Lisäksi lisäsin siihen virranrajoituksen servoon.
Laiton servon +5V liittimeen 10R vastuksen, jotta se ottaisi kovin paljon virtaa kun sen pitää liikkua.
Tämä helpotti virrankulutusta, mutta vaati pidemmän liikkuma-ajan.
Nyt siiinä on 60 ms kiinnimenoaika ja 60 ms aukituloaika.
Katsotaan nyt kuinka se toimii.

Tämä laite on ollut päällä helmikuusta 2020 alkaen.
==

Uusi löytö

Display.jpg

Minä löysin vielä yhden paremman asian kannetteavan tietokoneen näytön sammuttamiseksi.

Se ei ole yhtä hyvä kuin tuo edelllinen juttu, mutta katsotaan kuinka se toimii.

WIN10 haetaan tuon alareunan etsinnän avaulla ensin Control Panel ja sieltä Power Options ja sieltä alimmanen valinta: Change Plan Settings ja siltä: Turn Off Display.
Tästä valikosta valitset sopivan aja 1 minute - 5 hour tai Never. Painat Save Option ja valmis.
Nyt näyttö pimenee valitsemasi ajan kuluttua.
Saat se päälle heiluttamalla hiirtä (tai laapimalla laitteen pinnalla olevaa hiiren korviketta).

Tämä ei kutenkaan toiminut HP550 kannettavassa koneessa.
Toisaalta se näytön sammuminen toimi kerran itse tehdyssä pöytäkoneessa.
Molemmissa oli WIN10, englanninkielinen versio.
Mutta edes Advanced Power Setting ei toiminut.

Display2.jpg

Pari päivää meni ja tuo Power-juttu ei toiminut lainkaan.
Sitten bootasin koneen ja jo alkoi toimia.
Nyt on toiminut noin vikon.

Pekka OH3GDO

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License