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 kun PC laitetaan päälle.
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 myöskään 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 PC 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 voi laittaa 0.3F 5.5V kondensaasaattorin.
Niitä myydään 0.32 e/kpl

0_3F.jpg
Näin teinkin 3.4.2020 ja PC startti lähti toimimaan kunnolla

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 tarvitset siihen piirilevyn.
Sen tekeminen vaatii ensin piirilevyn piirrosohjelman Protel Schematic 3.0 ja sitten piirilevyn tekemiseen Protel Advance PCB 2.8-ohjelman.
http://robotti.wikidot.com/piirilevyt

Seuraavaksi se vaatii piirilevyn valmistuksen.

Nykyään piirilevyt tehdään Kiinassa.
Esim 2 e/ 5kpl + postikulut ( 7e)
https://jlcpcb.com/

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

Sitten tarvitaan siihen c-kielinen ohjelma.
Sen tekeminen 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ärkeimmät asiat ovat 10R vastus ja 0.3F kondensaattori.
Ne estävät servoa ottamasta liikaa virtaa ja oikosulkemaan USB teholähdettä 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/S1 ilmaisua 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 sammutus 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.

void servo_off()
{
unsigned int8 j;

set_tris_b(0b00000110); // servon direction bitti päälle

printf("\rservo on");
for ( j=0; j< 10; j++) { // 10* 20ms on pulssi
output_high(servobit); // servo pois päälle ->2 ms
delay_ms(1); // 1 m on pois bitti
output_low(servobit); // servo pois päältä
delay_ms(19);
}
delay_ms(1000);
printf("\rservo off");
for ( j=0; j<10; j++) { // 10* 20ms on pulssi
output_high(servobit); // servo päälle 2 ms
delay_ms(2); // 2 mm on päälle bitti
output_low(servobit); // servo pois päältä
delay_ms(18); // 18ms tauko
}

}

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.
Myöhemmin laitoin isomman kondensaattorin, niin auttoi.
Se oli 0.3F 5.5V

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 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 100 ms kiinnimenoaika ja 100 ms aukituloaika.

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 kaksi kuukautta.

Tein vielä toiseen tietokoneeseen FTP.exe ohjelman, joka hakee ftp:llä Intenetistä oikean tiedoston ja lataa sen toiselle tietokoneelle.
Siiten tein siihen ohjelmaan sellaisen jutun, että kun kuukausi tai vuosi vaihtuu,
niin ohjelma tekeen hotobox.ini:iin oikean tiedostonimen (esim.202004.log) ja sammuttaa ja käynistää Hotbox.exe ohjelman uudestaan.
Hotbox.exe näyttää mittaukset grafiikalla.
Ohjelma on toiminut noin kaksi vuotta.

Pekka OH3GDO

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